95a9a875a3acb8784046370c7386aa7a7c7eebd5
[gnulib.git] / ChangeLog
1 2011-06-13  Bruno Haible  <bruno@clisp.org>
2
3         fseeko: Provide a non-inline replacement of fseek().
4         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
5         * modules/fseeko (Depends-on): Add fseek.
6         * modules/fseek (License): Change to LGPLv2+.
7
8 2011-06-13  Bruno Haible  <bruno@clisp.org>
9
10         ftello: Provide a non-inline replacement of ftell().
11         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
12         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13         not have ftello() (such as on mingw).
14         * modules/ftello (Depends-on): Add ftell.
15         * modules/ftell (License): Change to LGPLv2+.
16
17 2011-05-07  Bruno Haible  <bruno@clisp.org>
18
19         ftell: Move AC_LIBOBJ invocations to module description.
20         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
21         * modules/ftell (configure.ac): ... to here.
22
23 2011-05-07  Bruno Haible  <bruno@clisp.org>
24
25         ftello: Respect rules for use of AC_LIBOBJ.
26         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
27         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
28         here...
29         * modules/ftello (configure.ac): ... to here.
30
31 2011-05-07  Bruno Haible  <bruno@clisp.org>
32
33         fseeko: Simplify.
34         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
35         (gl_FUNC_FSEEKO): Inline it here.
36
37 2011-05-07  Bruno Haible  <bruno@clisp.org>
38
39         fseek: Move AC_LIBOBJ invocations to module description.
40         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
41         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
42         * modules/fseek (configure.ac): ... to here.
43
44 2011-05-07  Bruno Haible  <bruno@clisp.org>
45
46         fseek: Respect rules for use of AC_LIBOBJ.
47         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
48         here...
49         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
50
51 2011-05-07  Bruno Haible  <bruno@clisp.org>
52
53         fseeko: Respect rules for use of AC_LIBOBJ.
54         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
55         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
56         here...
57         * modules/fseeko (configure.ac): ... to here.
58
59 2011-06-13  Bruno Haible  <bruno@clisp.org>
60
61         gnulib-tool: Allow comments in the 'Depends-on' section.
62         * doc/gnulib.texi (Module description): Mention comment syntax in the
63         Depends-on section.
64         * gnulib-tool (func_get_dependencies): Filter out comment lines.
65
66 2011-06-13  Bruno Haible  <bruno@clisp.org>
67
68         file-set.h: guard __attibute__ use, now that it's not always defined
69         * lib/file-set.h (record_file): Use __attribute__ only with compiler
70         versions that support it.  This fixes a coreutils build failure with
71         the vendor cc on HP-UX 11.31.
72
73 2011-06-12  Bruno Haible  <bruno@clisp.org>
74
75         acl: Add support for HP-UX >= 11.11 JFS ACLs.
76         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
77         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
78         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
79         (acl, aclsort): New declarations.
80         (aclv_nontrivial): New declaration.
81         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
82         (file_has_acl): Read also the second kind of HP-UX ACLs.
83         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
84         kind of HP-UX ACLs if the first kind fails.
85         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
86         second kind of HP-UX ACLs.
87         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
88         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
89         agree.
90         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
91         hpuxjfs.
92         Handle hpuxjfs.
93         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
94         hpuxjfs.
95         Handle hpuxjfs.
96         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
97         (func_test_same_acls): Use both lsacl and getacl.
98         Handle hpuxjfs.
99         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
100         (func_test_same_acls): Use both lsacl and getacl.
101         Handle hpuxjfs.
102
103 2011-06-12  Bruno Haible  <bruno@clisp.org>
104
105         acl: Complete the 2010-08-10 fix.
106         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
107         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
108         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
109         explicitly.
110         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
111         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
112
113 2011-06-12  Bruno Haible  <bruno@clisp.org>
114
115         spawn-pipe tests: Comments.
116         * tests/test-spawn-pipe-child.c (main): Update comment.
117         Reported by James Youngman <jay@gnu.org>.
118
119 2011-06-11  James Youngman  <jay@gnu.org>
120
121         New module 'stat-size'.
122         * modules/stat-size: New module.  Provides macros for accessing
123         file size information in instances of struct stat.  Depends on the
124         fileblocks module because it calls st_blocks.
125         * lib/stat-size.h: New file, adapted from coreutils' system.h.
126         * doc/gnulib.texi: Include stat-size.texi.
127         * doc/stat-size.texi: Documentation for this module.
128         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
129         * m4/fileblocks.m4: Mention that stat-size depends on the call to
130         AC_STRUCT_ST_BLOCKS.
131
132 2011-06-09  Bruno Haible  <bruno@clisp.org>
133
134         thread: Support pthreads-win32.
135         * lib/glthread/thread.h (gl_thread_self): Define differently on
136         pthreads-win32.
137         (gl_null_thread): New declaration.
138         (gl_thread_self_pointer): New macro.
139         * lib/glthread/thread.c (gl_null_thread): New constant.
140         * tests/test-lock.c: Use gl_thread_self_pointer instead of
141         gl_thread_self.
142         * tests/test-tls.c: Likewise.
143         Suggested by Paul Eggert. Reported by Eric Blake.
144
145 2011-06-09  Bruno Haible  <bruno@clisp.org>
146
147         thread: Fix confusion between NULL and 0.
148         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
149         Reported by Paul Eggert.
150
151 2011-06-09  Bruno Haible  <bruno@clisp.org>
152
153         spawn-pipe tests: Avoid test failure on HP-UX 11.
154         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
155         is closed.
156
157 2011-06-09  Bruno Haible  <bruno@clisp.org>
158
159         acl tests: Fix compilation error on HP-UX 11.
160         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
161
162 2011-06-09  Bruno Haible  <bruno@clisp.org>
163
164         rmdir: Avoid test failure on HP-UX 10.20.
165         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
166         EEXIST.
167
168 2011-06-08  Eric Blake  <eblake@redhat.com>
169
170         perror: fix test on mingw
171         * modules/perror-tests (Depends-on): Add dup2.
172
173         strerror_r-posix: fix on MacOS
174         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
175         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
176         logic bug.
177         * lib/strerror_r.c (strerror_r): Fix the bug.
178         * lib/strerror.c (strerror): Likewise.
179         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
180         problem.
181         * doc/posix-functions/strerror.texi (strerror): Likewise.
182         * doc/posix-functions/perror.texi (perror): Likewise.
183         * tests/test-strerror.c (main): Enhance test.
184         * tests/test-strerror_r.c (main): Likewise.
185
186 2011-06-08  Bruno Haible  <bruno@clisp.org>
187
188         gnulib-tool: Better isolation between different gnulib-tool invocations.
189         * gnulib-tool: New option --witness-c-macro.
190         (witness_c_macro): New variable.
191         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
192         AM_CPPFLAGS define it as a C macro.
193         (func_emit_tests_Makefile_am): Likewise.
194         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
195         read it from there.
196         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
197         m4_define, not AC_DEFUN.
198         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
199         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
200         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
201         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
202         s|...|...|, to substitute the values of the GNULIB_* module indicator
203         variables.
204         * modules/dirent (Makefile.am): Likewise.
205         * modules/fcntl-h (Makefile.am): Likewise.
206         * modules/iconv-h (Makefile.am): Likewise.
207         * modules/langinfo (Makefile.am): Likewise.
208         * modules/locale (Makefile.am): Likewise.
209         * modules/math (Makefile.am): Likewise.
210         * modules/netdb (Makefile.am): Likewise.
211         * modules/poll-h (Makefile.am): Likewise.
212         * modules/pty (Makefile.am): Likewise.
213         * modules/search (Makefile.am): Likewise.
214         * modules/signal (Makefile.am): Likewise.
215         * modules/spawn (Makefile.am): Likewise.
216         * modules/stdio (Makefile.am): Likewise.
217         * modules/stdlib (Makefile.am): Likewise.
218         * modules/string (Makefile.am): Likewise.
219         * modules/sys_ioctl (Makefile.am): Likewise.
220         * modules/sys_select (Makefile.am): Likewise.
221         * modules/sys_socket (Makefile.am): Likewise.
222         * modules/sys_stat (Makefile.am): Likewise.
223         * modules/sys_times (Makefile.am): Likewise.
224         * modules/sys_utsname (Makefile.am): Likewise.
225         * modules/sys_wait (Makefile.am): Likewise.
226         * modules/termios (Makefile.am): Likewise.
227         * modules/time (Makefile.am): Likewise.
228         * modules/unistd (Makefile.am): Likewise.
229         * modules/wchar (Makefile.am): Likewise.
230
231 2011-06-08  Eric Blake  <eblake@redhat.com>
232
233         strerror: simplify replacement
234         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
235         * modules/strerror (configure.ac): No prereqs needed here...
236         * modules/strerror-override (configure.ac): ...but this needs it.
237         (Files): Add file for needed prereq macro.
238
239 2011-06-08  Bruno Haible  <bruno@clisp.org>
240
241         strerror_r-posix: Tweaks.
242         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
243         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
244         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
245         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
246         (gl_FUNC_STRERROR_R): ... to here.
247         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
248
249 2011-06-07  Eric Blake  <eblake@redhat.com>
250
251         perror: document fixed bugs
252         * doc/posix-functions/perror.texi (perror): Document recent
253         patches.
254
255 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
256
257         stat-time: get_stat_birthtime failure is better-defined
258         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
259         return a timestamp whose tv_sec and tv_nsec values are both -1.
260         Previously, the spec said only that the tv_nsec value was negative.
261         This upward-compatible change simplifies GNU tar a bit.
262
263 2011-06-07  Eric Blake  <eblake@redhat.com>
264
265         strerror_r-posix: work around cygwin 1.7.9
266         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
267         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
268         bug without replacing strerror_r.
269         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
270         strerror_r is buggy, but without requiring strerror_r compilation.
271         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
272
273         test-perror: relax test to ignore cygwin bug
274         * tests/test-perror2.c (main): Relax test on requiring detection
275         of stream errors, and use unbuffered stream.
276         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
277         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
278         * doc/posix-functions/fputc.texi (fputc): Likewise.
279         * doc/posix-functions/fputs.texi (fputs): Likewise.
280         * doc/posix-functions/fputws.texi (fputws): Likewise.
281         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
282         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
283         * doc/posix-functions/getopt.texi (getopt): Likewise.
284         * doc/posix-functions/perror.texi (perror): Likewise.
285         * doc/posix-functions/printf.texi (printf): Likewise.
286         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
287         * doc/posix-functions/psignal.texi (psignal): Likewise.
288         * doc/posix-functions/putc.texi (putc): Likewise.
289         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
290         Likewise.
291         * doc/posix-functions/putchar.texi (putchar): Likewise.
292         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
293         Likewise.
294         * doc/posix-functions/puts.texi (puts): Likewise.
295         * doc/posix-functions/putwc.texi (putwc): Likewise.
296         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
297         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
298         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
299         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
300         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
301         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
302         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
303         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
304
305 2011-05-22  Bruno Haible  <bruno@clisp.org>
306
307         strerror: Move AC_LIBOBJ invocations to module description.
308         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
309         gl_PREREQ_STRERROR invocations from here...
310         * modules/strerror (configure.ac): ... to here.
311
312 2011-05-21  Bruno Haible  <bruno@clisp.org>
313
314         perror: Use common idiom.
315         * modules/perror (configure.ac): Reorder statements.
316
317 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
318
319         tests: fix usage message in 'mktempd_'
320         * tests/init.sh (mktempd_): In the usage message, use literal
321         'mktempd_', not '$ME' (which is even undefined), as the name of
322         the subroutine.
323
324 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
325
326         tests init: new function 'fatal_', for hard errors
327         Before this patch, the only way offered by tests/init.sh to
328         properly signal a hard error was the `framework_failure_'
329         function.  But the error message issued by that function,
330         as its name would suggest, refers to a set-up failure in the
331         testsuite, while hard errors can obviously also be due to
332         other reasons.  The best way to fix this inconsistency is to
333         introduce a new function with a more general error message.
334         * tests/init.sh (fatal_): New function.
335
336 2011-06-06  Eric Blake  <eblake@redhat.com>
337
338         canonicalize-lgpl: use common idiom
339         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
340         over newer POSIX -Rf.
341         Reported by Bruno Haible.
342
343         canonicalize-lgpl: work around AIX realpath bug
344         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
345         * doc/posix-functions/realpath.texi (realpath): Document it.
346         Reported by Bruno Haible.
347
348         strerror: work around FreeBSD bug
349         * lib/strerror.c (strerror): Special case 0.
350         Reported by Bruno Haible.
351
352         strerror-override: avoid bloating errno module
353         * modules/errno (Files, configure.ac): Move replacement strings...
354         * modules/strerror-override: ...to new module.
355         * modules/strerror (Depends-on): Add strerror-override.
356         * modules/strerror_r-posix (Depends-on): Likewise.
357         * MODULES.html.sh: Document new module.
358         Reported by Bruno Haible.
359
360 2011-06-06  Bruno Haible  <bruno@clisp.org>
361
362         spawn-pipe tests: Rename program.
363         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
364         * tests/test-spawn-pipe-child.c: Update comment.
365         * tests/test-spawn-pipe.sh: Update.
366         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
367
368         spawn-pipe tests: Link the child program only against libc.
369         * tests/test-spawn-pipe-child.c: New file, extracted from
370         tests/test-spawn-pipe.c.
371         (main): Expect only one argument.
372         (is_open): New function, copied from tests/test-pipe.c.
373         * tests/test-spawn-pipe.c: Don't include <errno.h>.
374         (child_main): Remove function.
375         (test_pipe): Pass only one argument to the child program.
376         (main): Remove child process code. Expect the child program's name as
377         first argument.
378         * tests/test-spawn-pipe.sh: Pass the child program's name as first
379         argument.
380         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
381         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
382         test-spawn-pipe-child against no libraries.
383
384 2011-06-06  Bruno Haible  <bruno@clisp.org>
385
386         careadlinkat: Avoid mismatch between ssize_t and int.
387         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
388         * lib/careadlinkat.c (careadlinkatcwd): Define always.
389
390 2011-06-06  Jim Meyering  <meyering@redhat.com>
391
392         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
393         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
394         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
395
396 2011-06-05  Bruno Haible  <bruno@clisp.org>
397
398         ansi-c++-opt: Interoperability with libtool.
399         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
400         set the variable to "no", not to ":".
401         * NEWS: Mention the change.
402
403 2011-06-05  Bruno Haible  <bruno@clisp.org>
404
405         acl: Fix test failure on AIX 7.
406         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
407         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
408
409 2011-06-05  Bruno Haible  <bruno@clisp.org>
410
411         pipe-filter-ii: Fix test failure on AIX and IRIX.
412         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
413         with EAGAIN, retry with a smaller buffer size.
414
415 2011-06-05  Bruno Haible  <bruno@clisp.org>
416
417         localename: Fix link dependencies.
418         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
419         * modules/localename-tests (Makefile.am): Link test-localename with
420         $(LIBTHREAD).
421
422 2011-06-05  Bruno Haible  <bruno@clisp.org>
423
424         error: Avoid gcc warning.
425         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
426
427 2011-06-05  Bruno Haible  <bruno@clisp.org>
428
429         unsetenv: Avoid gcc warning.
430         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
431
432 2011-06-05  Bruno Haible  <bruno@clisp.org>
433
434         setenv: Avoid gcc warning.
435         * lib/setenv.c (setenv): Provide declaration if system lacks it.
436
437 2011-06-05  Bruno Haible  <bruno@clisp.org>
438
439         sys_select: Ensure memset is declared also on AIX 7.
440         * lib/sys_select.in.h: Include <string.h> also on AIX.
441         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
442         self-contained also on AIX 7.1.
443
444 2011-06-04  Jim Meyering  <meyering@redhat.com>
445
446         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
447         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
448         function name, "error".
449         (_gl_translatable_diag_func_re): New configurable variable.
450
451 2011-06-04  Bruno Haible  <bruno@clisp.org>
452
453         getopt: Avoid gcc warning.
454         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
455
456 2011-06-04  Bruno Haible  <bruno@clisp.org>
457
458         strerror_r: Fix comments.
459         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
460         commit.
461
462 2011-06-04  Bruno Haible  <bruno@clisp.org>
463
464         perror: Fix compilation error.
465         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
466         Undefine fprintf, not sprintf.
467         * modules/perror (Depends-on): Remove intprops, verify.
468
469 2011-06-04  Bruno Haible  <bruno@clisp.org>
470
471         setlocale: Enable replacement on Cygwin 1.5.
472         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
473         Cygwin 1.5.x.
474         * doc/posix-functions/setlocale.texi: Mention that the problem with the
475         LC_CTYPE category also exists on Cygwin 1.5.x.
476
477 2011-06-04  Bruno Haible  <bruno@clisp.org>
478
479         strerror-override: Don't disable symbol renamings.
480         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
481         * lib/strerror-override.c: Include config.h.
482         (strerror_override): Don't undefine.
483
484 2011-06-03  Bruno Haible  <bruno@clisp.org>
485
486         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
487         * lib/localename.h: Update copyright header.
488         * lib/localename.c: Likewise.
489         * lib/relocatable.h: Likewise.
490         * lib/relocatable.c: Likewise.
491
492 2011-06-02  Bruno Haible  <bruno@clisp.org>
493
494         doc: Fix a module name.
495         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
496
497 2011-06-02  Bruno Haible  <bruno@clisp.org>
498
499         pipe2: Remove dependency on 'nonblocking' module.
500         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
501         O_NONBLOCK is defined by gnulib.
502         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
503         is zero.
504         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
505         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
506         defined by gnulib.
507         (get_nonblocking_flag): New function.
508         (main): Test O_NONBLOCK flag only if it is nonzero.
509         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
510
511 2011-06-03  Jim Meyering  <meyering@redhat.com>
512
513         maint: three new prohibit-header-without-use rules
514         Prohibit use of cloexec.h, posixver.h, same.h without use.
515         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
516         (sc_prohibit_posixver_without_use): Likewise.
517         (sc_prohibit_same_without_use): Likewise.
518
519 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
520
521         allocator: 'die' routine is now given requested size
522         * lib/allocator.h (struct allocator.die): New size arg.
523         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
524         If the actual problem is an ssize_t limitation, not a size_t or
525         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
526
527 2011-06-01  Eric Blake  <eblake@redhat.com>
528
529         strerror: drop strerror_r dependency
530         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
531         * lib/strerror-override.c (strerror_override): ...to new file.
532         * lib/strerror-override.h: Add prototype.
533         * lib/strerror-impl.h: Delete.
534         * lib/strerror.c (strerror): New implementation.
535         * modules/errno (Files): Add new files.
536         (configure.ac): Compile new file as appropriate.
537         * modules/strerror (Files): Drop unused file.
538         (Depends-on): Drop strerror_r-posix.
539         * MODULES.html.sh: Document strerror_r-posix.
540         Requested by Sam Steingold.
541
542         perror: call strerror_r directly
543         * modules/perror (Files): Drop strerror-impl.h.
544         * lib/perror.c (perror): Use our own stack buffer, rather than
545         calling a wrapper that uses static storage.
546         * doc/posix-functions/perror.texi (perror): Document a limitation
547         of our replacement.
548
549         strerror_r: fix includes for FreeBSD
550         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
551         since we use abort on some platforms.
552         Reported by Matthias Bolte.
553
554 2011-05-31  Bruno Haible  <bruno@clisp.org>
555
556         Fix link errors in tests: openat-die uses gettext-h.
557         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
558         against $(LIBINTL).
559         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
560         against $(LIBINTL).
561         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
562         $(LIBINTL).
563         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
564         against $(LIBINTL).
565         * modules/linkat-tests (Makefile.am): Link test-linkat against
566         $(LIBINTL).
567         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
568         $(LIBINTL).
569         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
570         against $(LIBINTL).
571         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
572         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
573         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
574         $(LIBINTL).
575         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
576         $(LIBINTL).
577         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
578         $(LIBINTL).
579         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
580
581 2011-05-31  Bruno Haible  <bruno@clisp.org>
582
583         Fix link errors in tests: wait-process uses gettext-h.
584         * modules/nonblocking-pipe-tests (Makefile.am): Set
585         test_nonblocking_pipe_main_LDADD.
586         * modules/nonblocking-socket-tests (Makefile.am): Link
587         test-nonblocking-socket-main against $(LIBINTL).
588         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
589
590 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
591
592         assert-h: work around 'verify' incompatibility
593         * lib/verify.h: Use @...@ directives, not ifdef.
594         * modules/assert-h (assert.h): Implement the directives.
595         (assert.h): Substitute the symbol-prefix more consistently.
596
597 2011-05-29  Jim Meyering  <meyering@redhat.com>
598
599         trim: remove three superfluous assignments
600         * lib/trim.c (trim2): Remove three superfluous assignments
601         and correct brace positioning.
602
603 2011-05-29  Bruno Haible  <bruno@clisp.org>
604
605         wctype-h: Avoid namespace pollution on Solaris 2.6.
606         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
607         identifiers.
608         * doc/posix-headers/wctype.texi: Mention the problem.
609         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
610
611 2011-05-28  Jim Meyering  <meyering@redhat.com>
612
613         parse-datetime.y: accommodate -Wstrict-overflow
614         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
615         placate -Wstrict-overflow.
616
617         trim: avoid a warning from -O2 -Wstrict-overflow
618         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
619
620 2011-05-29  Bruno Haible  <bruno@clisp.org>
621
622         gnulib-tool: Fix bug in yesterday's commit.
623         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
624         twice.
625
626 2011-05-29  Bruno Haible  <bruno@clisp.org>
627
628         Allow multiple gnulib generated include files to be combined.
629         * gnulib-tool (func_compute_include_guard_prefix): New function.
630         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
631         ${gl_include_guard_prefix} references.
632         (func_import, func_create_testdir): Invoke
633         func_compute_include_guard_prefix.
634         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
635         * lib/ctype.in.h: Likewise.
636         * lib/dirent.in.h: Likewise.
637         * lib/errno.in.h: Likewise.
638         * lib/fcntl.in.h: Likewise.
639         * lib/float.in.h: Likewise.
640         * lib/getopt.in.h: Likewise.
641         * lib/iconv.in.h: Likewise.
642         * lib/langinfo.in.h: Likewise.
643         * lib/locale.in.h: Likewise.
644         * lib/math.in.h: Likewise.
645         * lib/netdb.in.h: Likewise.
646         * lib/netinet_in.in.h: Likewise.
647         * lib/poll.in.h: Likewise.
648         * lib/pthread.in.h: Likewise.
649         * lib/pty.in.h: Likewise.
650         * lib/sched.in.h: Likewise.
651         * lib/se-selinux.in.h: Likewise.
652         * lib/search.in.h: Likewise.
653         * lib/signal.in.h: Likewise.
654         * lib/spawn.in.h: Likewise.
655         * lib/stdarg.in.h: Likewise.
656         * lib/stddef.in.h: Likewise.
657         * lib/stdint.in.h: Likewise.
658         * lib/stdio.in.h: Likewise.
659         * lib/stdlib.in.h: Likewise.
660         * lib/string.in.h: Likewise.
661         * lib/strings.in.h: Likewise.
662         * lib/sys_file.in.h: Likewise.
663         * lib/sys_ioctl.in.h: Likewise.
664         * lib/sys_select.in.h: Likewise.
665         * lib/sys_socket.in.h: Likewise.
666         * lib/sys_stat.in.h: Likewise.
667         * lib/sys_time.in.h: Likewise.
668         * lib/sys_times.in.h: Likewise.
669         * lib/sys_uio.in.h: Likewise.
670         * lib/sys_utsname.in.h: Likewise.
671         * lib/sys_wait.in.h: Likewise.
672         * lib/sysexits.in.h: Likewise.
673         * lib/termios.in.h: Likewise.
674         * lib/time.in.h: Likewise.
675         * lib/unistd.in.h: Likewise.
676         * lib/wchar.in.h: Likewise.
677         * lib/wctype.in.h: Likewise.
678         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
679         * modules/ctype (Makefile.am): Likewise.
680         * modules/dirent (Makefile.am): Likewise.
681         * modules/errno (Makefile.am): Likewise.
682         * modules/fcntl-h (Makefile.am): Likewise.
683         * modules/float (Makefile.am): Likewise.
684         * modules/getopt-posix (Makefile.am): Likewise.
685         * modules/iconv-h (Makefile.am): Likewise.
686         * modules/langinfo (Makefile.am): Likewise.
687         * modules/locale (Makefile.am): Likewise.
688         * modules/math (Makefile.am): Likewise.
689         * modules/netdb (Makefile.am): Likewise.
690         * modules/netinet_in (Makefile.am): Likewise.
691         * modules/poll-h (Makefile.am): Likewise.
692         * modules/pthread (Makefile.am): Likewise.
693         * modules/pty (Makefile.am): Likewise.
694         * modules/sched (Makefile.am): Likewise.
695         * modules/search (Makefile.am): Likewise.
696         * modules/selinux-h (Makefile.am): Likewise.
697         * modules/signal (Makefile.am): Likewise.
698         * modules/spawn (Makefile.am): Likewise.
699         * modules/stdarg (Makefile.am): Likewise.
700         * modules/stddef (Makefile.am): Likewise.
701         * modules/stdint (Makefile.am): Likewise.
702         * modules/stdio (Makefile.am): Likewise.
703         * modules/stdlib (Makefile.am): Likewise.
704         * modules/string (Makefile.am): Likewise.
705         * modules/strings (Makefile.am): Likewise.
706         * modules/sys_file (Makefile.am): Likewise.
707         * modules/sys_ioctl (Makefile.am): Likewise.
708         * modules/sys_select (Makefile.am): Likewise.
709         * modules/sys_socket (Makefile.am): Likewise.
710         * modules/sys_stat (Makefile.am): Likewise.
711         * modules/sys_time (Makefile.am): Likewise.
712         * modules/sys_times (Makefile.am): Likewise.
713         * modules/sys_uio (Makefile.am): Likewise.
714         * modules/sys_utsname (Makefile.am): Likewise.
715         * modules/sys_wait (Makefile.am): Likewise.
716         * modules/sysexits (Makefile.am): Likewise.
717         * modules/termios (Makefile.am): Likewise.
718         * modules/time (Makefile.am): Likewise.
719         * modules/unistd (Makefile.am): Likewise.
720         * modules/wchar (Makefile.am): Likewise.
721         * modules/wctype-h (Makefile.am): Likewise.
722         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
723
724 2011-05-29  Bruno Haible  <bruno@clisp.org>
725
726         assert-h: Allow multiple gnulib generated replacements to coexist.
727         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
728
729 2011-05-29  Bruno Haible  <bruno@clisp.org>
730
731         argp: Allow coexistence with strerror_r-posix module.
732         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
733         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
734         by gnulib's <string.h> replacement), assume it has the POSIX signature,
735         not the glibc signature.
736
737 2011-05-28  Bruno Haible  <bruno@clisp.org>
738
739         gnulib-tool: Alternative structure of testdirs, similar to --import.
740         * gnulib-tool: New option --single-configure.
741         (func_usage): Document it.
742         (single_configure): New variable.
743         (func_modules_transitive_closure_separately,
744         func_modules_transitive_closure_separately,
745         func_determine_use_libtests, func_modules_add_dummy_separately,
746         func_modules_to_filelist_separately): New functions, extracted from
747         func_import.
748         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
749         (func_import): Use the new functions.
750         (func_create_testdir): Set final_modules. Handle $single_configure =
751         true case.
752
753 2011-05-28  Bruno Haible  <bruno@clisp.org>
754
755         getloadavg: Remove an unreliable safety check.
756         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
757         getloadavg.c is in place.
758         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
759         Reported by Sam Steingold <sds@gnu.org>.
760
761 2011-05-28  Bruno Haible  <bruno@clisp.org>
762
763         doc: Cleanup yet another file produced by texinfo.tex.
764         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
765
766 2011-05-28  Bruno Haible  <bruno@clisp.org>
767
768         Finish the conditional dependencies mechanism.
769         * gnulib-tool: New option --no-conditional-dependencies.
770         (func_usage): Document it. Don't mark --conditional-dependencies as
771         experimental.
772         (cond_dependencies): The possible values can now be true, false, empty.
773         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
774         (func_import): Store setting in gnulib-cache.m4 and read it from there.
775         * doc/gnulib-tool.texi (Conditional dependencies): New section.
776
777 2011-05-28  Bruno Haible  <bruno@clisp.org>
778
779         doc: Use a recent texinfo.tex.
780         * doc/Makefile (tex_opts): New variable.
781         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
782
783 2011-05-28  Jim Meyering  <meyering@redhat.com>
784
785         intprops.h: adjust comment to match code change
786         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
787         only once, it *may* have side effects.  Also fix an unrelated typo.
788         (_GL_INT_SIGNED): Likewise.
789
790 2011-05-26  Simon Josefsson  <simon@josefsson.org>
791
792         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
793
794 2011-05-26  Bruno Haible  <bruno@clisp.org>
795
796         mbsrchr: Avoid collision with system function on Interix.
797         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
798         Reported by Markus Duft <mduft@gentoo.org>.
799
800 2011-05-15  James Youngman  <jay@gnu.org>
801
802         getopt: for ambiguous options, enumerate the possibilities.
803         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
804         the ambiguous options when an ambiguous prefix is given. This was
805         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
806         glibc change was
807         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
808
809 2011-05-25  Eric Blake  <eblake@redhat.com>
810
811         getcwd: work around mingw bug
812         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
813         * doc/posix-functions/getcwd.texi (getcwd): Document it.
814         Reported by Matthias Bolte.
815
816 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
817
818         test-intprops: disable -Wtype-limits diagnostics
819         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
820         diagnostics.  Otherwise, the integer overflow macros generate many
821         diagnostics.  Reported by Jim Meyering in
822         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
823
824         intprops: shorten, to pacify gcc -Woverlength-strings
825         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
826         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
827         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
828         likely to run afoul of C compiler limits for string constant lengths.
829         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
830
831 2011-05-24  Eric Blake  <eblake@redhat.com>
832
833         docs: document recently fixed glibc printf bug
834         * doc/posix-functions/fprintf.texi (fprintf): Document it.
835         * doc/posix-functions/printf.texi (printf): Likewise.
836         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
837         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
838
839         closein-tests: convert to init.sh
840         * modules/closein-tests (Files): Add init.sh
841         * tests/test-closein.sh Use it.
842
843         yesno-tests: convert to init.sh
844         * modules/yesno-tests (Files): Add init.sh.
845         * tests/test-yesno.sh: Use it.
846
847         atexit-tests: ensure reliable exit status
848         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
849         Reported by Bruno Haible.
850
851 2011-05-24  Bruno Haible  <bruno@clisp.org>
852
853         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
854         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
855         gl_PREREQ_STRERROR_R invocations from here...
856         * modules/strerror_r-posix (configure.ac): ... to here.
857
858 2011-05-24  Eric Blake  <eblake@redhat.com>
859
860         strerror_r: fix missing header
861         * lib/strerror_r.c: Avoid compiler warning about snprintf.
862
863         strerror_r: fix AIX test failures
864         * lib/strerror_r.c (strerror_r): Convert silent truncation to
865         ERANGE failure.
866
867         strerror_r: fix Solaris test failures
868         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
869         failures.
870         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
871
872         strerror_r: enforce POSIX recommendations
873         * lib/strerror_r.c (safe_copy): New helper method.
874         (strerror_r): Guarantee a non-empty string.
875         * tests/test-strerror_r.c (main): Enhance tests to incorporate
876         recent POSIX rulings and to match our strerror guarantees.
877         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
878
879 2011-05-24  Jim Meyering  <meyering@redhat.com>
880
881         test-perror2.c: avoid warning about unused variable
882         * tests/test-perror2.c (main): Remove declaration of unused "fp".
883
884 2011-05-24  Eric Blake  <eblake@redhat.com>
885
886         perror: avoid spurious test failure on HP-UX
887         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
888
889         tests: fix logic bug in init.sh
890         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
891         shell.
892
893 2011-05-24  Jim Meyering  <meyering@redhat.com>
894
895         utimensat: do not reference an out-of-scope buffer
896         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
897         declared in an inner scope, yet "times" would be dereferenced outside
898         the scope in which "ts" was valid.
899         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
900         of ts[2] "out/up", so that the use of aliased "times" (via
901         "times = ts;") does not end up referencing an out-of-scope "ts"
902
903         opendir-safer.c: don't clobber errno; don't close negative FD
904         * lib/opendir-safer.c (opendir_safer):
905         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
906         file descriptor, and more importantly, don't clobber the
907         offending errno value with EINVAL.  Before, upon failure
908         of dup_safer, we would pass the negative file descriptor to
909         fdopendir, which would clobber errno.
910
911 2011-05-23  Bruno Haible  <bruno@clisp.org>
912
913         idcache: Fix module description.
914         * modules/idcache (Include): Set to "idcache.h".
915
916 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
917
918         gnulib-tool: fix portability problem with MacOS sed
919         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
920         before the "}".  Problem reported by Leo in
921         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
922         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
923         sed_extract_condition1, sed_extract_condition2.
924
925 2011-05-23  Bruno Haible  <bruno@clisp.org>
926
927         hash: Simplify autoconf macro.
928         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
929
930 2011-05-23  Bruno Haible  <bruno@clisp.org>
931
932         getugroups: Fix module description.
933         * modules/getugroups (Include): Set to "getugroups.h".
934
935 2011-05-23  Bruno Haible  <bruno@clisp.org>
936
937         linkat: Simplify autoconf macro.
938         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
939
940 2011-05-23  Bruno Haible  <bruno@clisp.org>
941             Eric Blake  <eblake@redhat.com>
942
943         linkat, renameat: Update dependencies.
944         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
945         * modules/linkat (Depends-on): Likewise. Remove also readlink,
946         symlinkat.
947
948 2011-05-23  Jim Meyering  <meyering@redhat.com>
949
950         maint.mk: more tight_scope improvements
951         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
952         (_gl_TS_headers): Define only in if-0'd block.
953         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
954         sometimes we must *not* use it.  Adjust uses accordingly.
955         (sc_tight_scope): Use much simpler grep-based test to determine
956         whether we skip this rule.
957
958         maint.mk: generalize/improve the tight-scope rule
959         * top/maint.mk: Emit a warning when the test is skipped.
960         (_gl_TS_dir): Add $(srcdir)/ prefix.
961         (_gl_TS_function_match): Simplify, rather than trying
962         to enumerate common types.  Otherwise, it would fail to match an
963         "extern unsigned char const *" declaration in idutils.
964         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
965         a way to support use of that type of macro.
966         (_gl_TS_var_match): Simplify regexp.
967         (_gl_TS_obj_files): New configurable variable.
968         (_gl_TS_headers): Likewise.
969
970 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
971
972         verify: fix bug when gnulib <assert.h> is also included
973         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
974         is defined, not if _GL_STATIC_ASSERT_H is not defined.
975         Perhaps there's a better way, but this fixes the immediate problem.
976         Problem reported by Bruno Haible in
977         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
978
979 2011-05-22  Bruno Haible  <bruno@clisp.org>
980
981         xgetcwd: Simplify autoconf macro.
982         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
983
984 2011-05-22  Bruno Haible  <bruno@clisp.org>
985
986         New module 'mktime-internal'.
987         * modules/mktime-internal: New file.
988         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
989         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
990         mktime_internal as a C macro if libc has __mktime_internal.
991         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
992         conditions.
993         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
994
995 2011-05-22  Bruno Haible  <bruno@clisp.org>
996
997         timegm: Correct mktime replacement statements.
998         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
999         defining mktime as a C macro. This completes a 2009-07-28 commit.
1000
1001 2011-05-22  Bruno Haible  <bruno@clisp.org>
1002
1003         timegm: Simplify autoconf macro.
1004         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
1005
1006 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1007
1008         clock-time: change to LGPLv2+.
1009         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
1010         BSD-like but we have no mark for that; this is good enough for now.
1011
1012 2011-05-21  Bruno Haible  <bruno@clisp.org>
1013
1014         strerror_r: Fix comments.
1015         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
1016
1017 2011-05-21  Bruno Haible  <bruno@clisp.org>
1018
1019         relocatable-prog-wrapper: Fix possible link error.
1020         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
1021         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
1022         (gl_FUNC_SETENV): ... to here.
1023         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
1024         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
1025
1026 2011-05-21  Bruno Haible  <bruno@clisp.org>
1027
1028         relocatable-prog-wrapper: Assume strerror() exists.
1029         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
1030         m4/strerror.m4.
1031         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
1032         * lib/relocwrapper.c: Remove mention of strerror module.
1033         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
1034         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
1035         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
1036         C macro.
1037
1038 2011-05-21  Bruno Haible  <bruno@clisp.org>
1039
1040         select: Simplify replacement idiom.
1041         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
1042         Win32 platforms.
1043         * lib/sys_select.in.h (select): Simplify accordingly.
1044         * modules/select (Depends-on): Likewise.
1045
1046 2011-05-21  Bruno Haible  <bruno@clisp.org>
1047
1048         mkdir-p: Simplify autoconf macro.
1049         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
1050         gl_FUNC_LCHOWN.
1051
1052 2011-05-21  Eric Blake  <eblake@redhat.com>
1053
1054         strerror_r: avoid clobbering strerror on cygwin
1055         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
1056         fall back instead to sys_errlist.
1057         * modules/strerror (configure.ac): Add witness.
1058         * tests/test-strerror_r.c (main): Enhance test.
1059         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1060         * tests/test-perror2.c (main): Free memory before exit.
1061
1062 2011-05-21  Bruno Haible  <bruno@clisp.org>
1063
1064         mkdtemp: Use gnulib naming conventions.
1065         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
1066         * modules/mkdtemp (configure.ac): Update.
1067
1068 2011-05-20  Eric Blake  <eblake@redhat.com>
1069
1070         strerror_r: avoid corrupting errno on Solaris
1071         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
1072         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1073
1074         strerror_r: avoid compiler warning
1075         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
1076
1077         strerror_r: simplify AIX code
1078         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
1079
1080         test-perror: avoid spurious failure on FreeBSD
1081         * modules/perror-tests (Depends-on): Add strerror, now that
1082         strerror_r no longer pulls it in.
1083
1084 2011-05-20  Bruno Haible  <bruno@clisp.org>
1085
1086         strerror_r-posix: Remove unused dependencies.
1087         * modules/strerror_r-posix (Depends-on): Remove strerror.
1088         Reported by Eric Blake.
1089
1090 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
1091
1092         intprops: remove assumption about A|B representation
1093         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
1094         is a valid integer if both A and B are.  Although this is true for
1095         all known practical hosts, the C standard doesn't guarantee it,
1096         and the code need not assume it.  Also, this change may work around
1097         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
1098         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
1099
1100 2011-05-20  Eric Blake  <eblake@redhat.com>
1101
1102         perror: work around FreeBSD bug
1103         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
1104         is broken.  Move AC_LIBOBJ...
1105         * modules/perror (configure.ac): Here.
1106         * doc/posix-functions/perror.texi (perror): Document this.
1107         * tests/test-perror2.c (main): Enhance test.
1108
1109         test-perror: check for strerror interactions
1110         * tests/macros.h (STREQ): Add macro.
1111         * modules/perror-tests (Files): Add second test.
1112         * tests/test-perror2.c (main): New file.
1113         * doc/posix-functions/perror.texi (perror): Document glibc bug.
1114
1115         test-perror: rewrite to use init script
1116         * modules/perror-tests (Files): Add init.sh.
1117         * tests/test-perror.sh: Use temporary directory.
1118
1119 2011-05-20  Jim Meyering  <meyering@redhat.com>
1120
1121         maint: replace misused "a" with "an"
1122         * doc/intprops.texi: "a integer"
1123         * doc/regex.texi: "a explanation"
1124         * lib/alignof.h: "a object"
1125         * lib/argmatch.h: "a explanation"
1126         * lib/argp-help.c: "a option" and "a OPTION_DOC"
1127         * lib/stdint.in.h: "a integer"
1128         * lib/userspec.c: "a owner"
1129         * doc/gnulib.texi: Fix "a idea", and reword.
1130
1131 2011-05-19  Jim Meyering  <meyering@redhat.com>
1132
1133         maint: correct misuse of "a" and "an"
1134         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
1135         * lib/argp-help.c: "an docum...": s/an/a/
1136         * lib/argp-parse.c: "An vector": s/An/A/
1137         * lib/execute.c: "an native": s/an/a/
1138         * lib/spawn-pipe.c: Likewise.
1139         * lib/gc.h: "an Gc_rc": s/an/a/
1140         * lib/unigbrk.in.h: "an grapheme": s/an/a/
1141         * lib/fts.c: "an stat.st_dev": s/an/a/
1142
1143 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1144
1145         intprops-tests: work around HP-UX 11.23 cc bug with constants
1146         * tests/test-intprops.c (VERIFY): New macro.
1147         (main): Use it, instead of verify, to work around the compiler bug; see
1148         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1149
1150         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
1151         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
1152         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
1153         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
1154         (_GL_REMAINDER_OVERFLOW): Use it.
1155
1156         intprops-tests: revert unsigned part of previous change
1157         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
1158         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
1159         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
1160         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
1161
1162 2011-05-19  Bruno Haible  <bruno@clisp.org>
1163
1164         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
1165         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
1166         strerror_r() returned without filling the buffer.
1167         Reported by Eric Blake.
1168
1169 2011-05-19  Eric Blake  <eblake@redhat.com>
1170
1171         strerror_r: guarantee unchanged errno
1172         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
1173         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
1174         failure.
1175         * tests/test-strerror_r.c (main): Enhance test.
1176
1177 2011-05-19  Bruno Haible  <bruno@clisp.org>
1178
1179         strerror_r: Reorder #if blocks.
1180         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
1181         for consistency with the previous commit.
1182
1183 2011-05-19  Bruno Haible  <bruno@clisp.org>
1184
1185         perror: Avoid clobbering the strerror buffer when possible.
1186         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
1187         * lib/strerror.c: Include it.
1188         * modules/strerror (Files): Add lib/strerror-impl.h.
1189         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
1190         (my_strerror): New function, defined through lib/strerror-impl.h.
1191         (perror): Use it instead of strerror.
1192         * modules/perror (Files): Add lib/strerror-impl.h.
1193         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
1194
1195 2011-05-19  Eric Blake  <eblake@redhat.com>
1196
1197         strerror_r: fix on newer cygwin
1198         * lib/strerror_r.c (strerror_r): Cygwin now has
1199         __xpg_strerror_r, use it.
1200
1201 2011-05-19  Bruno Haible  <bruno@clisp.org>
1202
1203         strerror_r: Avoid clobbering the strerror buffer when possible.
1204         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
1205         (sys_nerr, sys_errlist): New declarations.
1206         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
1207         HP-UX, native Win32, IRIX, and 32-bit Solaris.
1208         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
1209
1210 2011-05-19  Bruno Haible  <bruno@clisp.org>
1211
1212         strerror_r: Fix test failure on mingw.
1213         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
1214         EXTEND_STRERROR_R.
1215         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
1216         macros from errno.in.h instead.
1217
1218 2011-05-19  Eric Blake  <eblake@redhat.com>
1219
1220         strerror: relax test for Solaris
1221         * tests/test-strerror.c (main): Permit Solaris behavior.
1222         * tests/test-strerror_r.c (main): Likewise.
1223
1224         strerror: enforce POSIX ruling on strerror(0)
1225         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
1226         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
1227         * lib/strerror_r.c (rpl_strerror_r): Work around it.
1228         * doc/posix-functions/strerror.texi (strerror): Document it.
1229         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
1230         * tests/test-strerror.c (main): Strengthen test.
1231         * tests/test-strerror_r.c (main): Likewise.
1232
1233 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1234
1235         intprop-tests: port to older and more-pedantic compilers
1236         * modules/intprops-tests (Files): Add tests/macros.h.
1237         * tests/test-intprops.c: Include macros.h.
1238         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
1239         it's no longer documented to expand to an integer constant expression.
1240         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
1241         argument is floating point, as it's no longer documented to expand
1242         to an integer constant expression in that case.
1243         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
1244         compiler bugs reported by Bruno Haible.  See
1245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1246         (U0, U1): New constants, to work around the same bugs.  Also,
1247         in tests, use e.g., "(unsigned int) 39" rather than "39u".
1248
1249         intprops: work around C compiler bugs
1250         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
1251         bug in Sun C 5.11 2010/08/13 and other compilers; see
1252         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1253
1254         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
1255         * doc/intprops.texi (Integer Type Determination): Fix
1256         documentation for TYPE_IS_INTEGER: it returns an constant
1257         expression, not an integer constant expression.  Fix doc for
1258         TYPE_SIGNED: it returns an integer constant expression only if its
1259         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
1260         hardly worth documented that way....)
1261
1262 2011-05-18  Bruno Haible  <bruno@clisp.org>
1263
1264         strerror_r: Avoid clobbering the strerror buffer when possible.
1265         * lib/strerror_r.c (strerror_r): Merge the three implementations.
1266         Handle gnulib defined errno values here. When strerror() returns NULL
1267         or an empty string, return EINVAL.
1268         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
1269         gnulib defined errno values here.
1270         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
1271
1272 2011-05-18  Eric Blake  <eblake@redhat.com>
1273
1274         fnmatch: avoid compiler warning
1275         * lib/fnmatch_loop.c (FCT): Use correct type.
1276         Reported by Matthias Bolte.
1277
1278 2011-05-13  Jim Meyering  <meyering@redhat.com>
1279
1280         maint.mk: three new prohibit_<HDR>_without_use rules
1281         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
1282         (sc_prohibit_stdio-safer_without_use): Likewise.
1283         (sc_prohibit_xfreopen_without_use): Likewise.
1284
1285 2011-05-17  Jim Meyering  <meyering@redhat.com>
1286
1287         announce-gen: fail if the NEWS delta is empty
1288         If there's nothing noteworthy in NEWS, then either you forgot
1289         or you shouldn't be releasing.
1290         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
1291
1292 2011-05-17  Pádraig Brady <P@draigBrady.com>
1293
1294         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
1295         reserved symbols starting with double underscore from the check.
1296
1297 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1298
1299         intprops: add doc
1300         * doc/intprops.texi: New file, documenting intprops.
1301         * doc/gnulib.texi (Particular Modules): Include it.
1302
1303         verify: add doc to gnulib manual and fix example
1304         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
1305         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
1306         (Compile-time Assertions): Fix example so it can't overflow.
1307
1308 2011-05-17  Jim Meyering  <meyering@redhat.com>
1309
1310         warnings.m4: don't usurp save_CPPFLAGS variable name
1311         * m4/warnings.m4: Prefix local temporary variable name with gl_.
1312
1313         doc: fix typo
1314         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
1315
1316 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1317             Bruno Haible  <bruno@clisp.org>
1318
1319         doc: Tweak recent change.
1320         * README (Portability guidelines): Tweak new text.
1321         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
1322         Interix 6.1.
1323
1324 2011-05-16  Eric Blake  <eblake@redhat.com>
1325
1326         inttypes: avoid autoconf warning
1327         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
1328         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1329
1330 2011-05-16  Sam Steingold <sds@gnu.org>
1331         and Eric Blake  <eblake@redhat.com>
1332
1333         vc-list-files: accept multiple directory operands
1334         * build-aux/vc-list-files: Iterate over all remaining operands.
1335
1336 2011-05-16  Bruno Haible  <bruno@clisp.org>
1337
1338         Fix confusion regarding deprecated modules.
1339         * modules/calloc (Status, Notice): Mark module as deprecated, not
1340         obsolete.
1341         * modules/fnmatch-posix (Status, Notice): Likewise.
1342         * modules/getdate (Status, Notice): Likewise.
1343         * modules/getopt (Status, Notice): Likewise.
1344         * modules/malloc (Status, Notice): Likewise.
1345         * modules/pipe (Status, Notice): Likewise.
1346         * modules/realloc (Status, Notice): Likewise.
1347         * modules/rename-dest-slash (Status, Notice): Likewise.
1348         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
1349         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
1350         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
1351         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
1352         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
1353
1354 2011-05-16  Bruno Haible  <bruno@clisp.org>
1355
1356         doc: List the target platforms.
1357         * doc/gnulib-intro.texi (Target Platforms): New section.
1358         * doc/gnulib.texi (Introduction): Update menu.
1359         * README (Portability guidelines): Refer to the new section. Update
1360         statement about oldest supported environment. Remove rationale why
1361         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
1362         unportable C89 function.
1363         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
1364         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
1365
1366 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1367
1368         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
1369
1370 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
1371
1372         intprops-tests: new module
1373         * modules/intprops-tests, tests/test-intprops.c: New files.
1374
1375         intprops: add safe, portable integer overflow checking
1376         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
1377         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
1378         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
1379         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
1380         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
1381         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
1382         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
1383         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
1384         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
1385         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
1386         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
1387
1388 2011-05-12  James Youngman  <jay@gnu.org>
1389
1390         Add a test for glibc's Bugzilla bug #12378.
1391         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
1392         doesn't allow the literal matching of a lone "[" (which is
1393         required by POSIX).
1394         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
1395
1396 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
1397
1398         Sync glibc change fixing Bugzilla bug #12378.
1399         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
1400         beginning and fall back to matching as normal character if the
1401         string ends before the matching ']' is found.  This is what POSIX
1402         requires.
1403
1404 2011-05-13  Eric Blake  <eblake@redhat.com>
1405
1406         getcwd-lgpl: relax test for FreeBSD
1407         * doc/posix-functions/getcwd.texi (getcwd): Document portability
1408         issue.
1409         * tests/test-getcwd-lgpl.c (main): Relax test.
1410         Reported by Matthias Bolte.
1411
1412 2011-05-11  Eric Blake  <eblake@redhat.com>
1413
1414         test-fflush: silence compiler warning
1415         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
1416
1417 2011-05-11  Bruno Haible  <bruno@clisp.org>
1418
1419         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
1420         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
1421         * modules/canonicalize (Depends-on): Add 'nocrash'.
1422         * modules/canonicalize-lgpl (Depends-on): Likewise.
1423         * doc/posix-functions/realpath.texi: Update platforms list.
1424         Reported by Ryan Schmidt <ryandesign@macports.org>.
1425
1426 2011-05-11  Bruno Haible  <bruno@clisp.org>
1427
1428         group-member: Declare function in <unistd.h>.
1429         * lib/unistd.in.h (group_member): New declaration.
1430         * lib/group-member.h: Remove file.
1431         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
1432         * tests/test-unistd-c++.cc: Check signature of group_member.
1433         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
1434         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
1435         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
1436         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
1437         HAVE_GROUP_MEMBER.
1438         * modules/group-member (Files): Remove lib/group-member.h.
1439         (Depends-on): Add unistd. Specify conditions.
1440         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1441         (Include): Change to <unistd.h>.
1442         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
1443         HAVE_GROUP_MEMBER.
1444         * NEWS: Mention the change.
1445         * lib/euidaccess.c: Don't include group-member.h.
1446
1447 2011-05-11  Bruno Haible  <bruno@clisp.org>
1448
1449         group-member: Document module.
1450         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
1451         module.
1452
1453 2011-05-11  Bruno Haible  <bruno@clisp.org>
1454
1455         fclose: Fix mistake earlier today.
1456         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
1457
1458 2011-05-11  Eric Blake  <eblake@redhat.com>
1459
1460         fclose: preserve fflush errors
1461         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
1462         Reported by Jim Meyering.
1463
1464         bootstrap: support a prereq of 'rpcgen -' on RHEL5
1465         * build-aux/bootstrap (check_versions): When no specific version
1466         is required, merely check that the app produces an exit status
1467         that indicates its existence.
1468
1469         maint.mk: drop redundant check
1470         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
1471         the same but better.
1472
1473 2011-05-11  Bruno Haible  <bruno@clisp.org>
1474
1475         fclose: Fix possible link error.
1476         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
1477         unregister_shadow_fd. Improve comments.
1478         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
1479         Eric Blake.
1480
1481 2011-05-11  Jim Meyering  <meyering@redhat.com>
1482
1483         maint.mk: improve "can not" detection and generalize rule name
1484         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
1485         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
1486         Use the same technique as in sc_prohibit_doubled_word, so that
1487         we recognize "can not" also when the words are separated by a newline.
1488         Suggested by Eric Blake.
1489         (perl_filename_lineno_text_): Define.  Factored out of...
1490         (prohibit_doubled_word_): ...here.  Use the new definition.
1491         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
1492         (prohibit_undesirable_word_seq_RE_): New overridable variable.
1493         (ignore_undesirable_word_sequence_RE_): New overridable variable.
1494
1495 2011-05-10  Eric Blake  <eblake@redhat.com>
1496
1497         fclose: avoid double close race when possible
1498         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
1499         all but WINDOWS_SOCKETS.
1500
1501 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
1502
1503         openat: correct new comment
1504         * lib/openat-proc.c (openat_proc_name): Correct the comment.
1505
1506 2011-05-10  Jim Meyering  <meyering@redhat.com>
1507
1508         openat: add comments
1509         * lib/openat-proc.c (openat_proc_name): Add comments,
1510         mostly from Eric Blake.
1511
1512 2011-05-09  Eric Blake  <eblake@redhat.com>
1513
1514         openat: reduce syscalls in first probe of /proc
1515         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
1516         be a directory.  Simplify the probe for .. bugs.
1517         * modules/openat (Depends-on): Drop same-inode.
1518         Reported by Bastien ROUCARIES.
1519
1520 2011-05-09  Jim Meyering  <meyering@redhat.com>
1521
1522         maint.mk: change semantics/name of tight_scope variables
1523         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
1524         Rename variables to align with semantics that make them more useful.
1525
1526         maint.mk: tweak new rule's name not to impinge
1527         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
1528         (sc_tight_scope): Use new rule name rather than $@-0.
1529
1530         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
1531         * top/maint.mk (sc_tight_scope): New rule.
1532         (sc_tight_scope-0): New rule, ifdef'd out.
1533         (_gl_TS_dir): Default.
1534         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
1535         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
1536
1537 2011-05-09  Simon Josefsson  <simon@josefsson.org>
1538
1539         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
1540         Haible <bruno@clisp.org>.
1541
1542 2011-05-08  Bruno Haible  <bruno@clisp.org>
1543
1544         Comments.
1545         * m4/isnanf.m4: Add comment.
1546         * m4/isnanl.m4: Likewise.
1547
1548 2011-05-08  Bruno Haible  <bruno@clisp.org>
1549
1550         glob: Remove obsolete macro.
1551         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
1552
1553 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
1554
1555         intprops: Sun C 5.11 supports __typeof__
1556         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
1557         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
1558         which is new.
1559         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
1560
1561         intprops: switch to usual gnulib indenting and naming
1562         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
1563         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
1564
1565         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
1566
1567 2011-05-08  Jim Meyering  <meyering@redhat.com>
1568
1569         maint.mk: suppress "Entering/Leaving directory" diag in announcement
1570         * top/maint.mk (release-prep): Use make's --no-print-directory
1571         option when generating the announcement.  This eliminates the
1572         pesky "make[2]: Entering/Leaving directory" diagnostics in the
1573         generated announcement template.
1574
1575 2011-05-08  Bruno Haible  <bruno@clisp.org>
1576
1577         tzset: Fix gettimeofday wrapper on Solaris 2.6.
1578         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
1579         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
1580
1581 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1582
1583         ignore-value, verify: Omit include files from lib_SOURCES.
1584         * modules/ignore-value, modules/verify (Makefile.am):
1585         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
1586         that leads Automake to duplicate use of am__objects_... variables
1587         in Makefile.in.  See
1588         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
1589
1590 2011-05-07  Bruno Haible  <bruno@clisp.org>
1591
1592         fclose: Simplify autoconf macro.
1593         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
1594         defined.
1595
1596 2011-05-07  Bruno Haible  <bruno@clisp.org>
1597
1598         canonicalize-lgpl: Fix autoconf macro ordering bug.
1599         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
1600         gl_STDLIB_H_DEFAULTS.
1601
1602 2011-05-06  Eric Blake  <eblake@redhat.com>
1603
1604         maintainer-makefile: make sc_po_check easier to tune
1605         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
1606         to probe for strings, such as an alternate location for gnulib.
1607
1608         fclose: guarantee behavior on seekable stdin
1609         * modules/fclose (Depends-on): Add fflush.
1610         * doc/posix-functions/fclose.texi (fclose): Document this.
1611         * tests/test-fclose.c (main): Make test for this unconditional.
1612
1613 2011-05-06  Bruno Haible  <bruno@clisp.org>
1614
1615         fflush, fpurge: Relicense under LGPLv2+.
1616         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
1617         * modules/fpurge (License): Likewise.
1618         With permission from Eric Blake and Jim Meyering.
1619         Suggested by Eric Blake.
1620
1621 2011-05-06  Karl Berry  <karl@gnu.org>
1622
1623         * MODULES.html.sh (func_all_modules): remove exit.
1624
1625 2011-05-06  Jim Meyering  <meyering@redhat.com>
1626
1627         maint.mk: use info-gnu@ as the default only for a stable release
1628         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
1629         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
1630         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
1631         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
1632
1633 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1634
1635         assert-h: new module, which supports C1X-style static_assert
1636         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
1637         * lib/verify.h: Revamp so that this can be copied into assert.h,
1638         while retaining the ability to use it standalone as before.
1639         Rename private identifiers so as not to encroach on the
1640         standard C namespace, since this is now used by assert.h.
1641         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
1642         the old verify_true.
1643         (_GL_VERIFY_TRUE): New macro, with much of the contents of
1644         the old verify_true.  Use _GL_VERIFY_TYPE.
1645         (_GL_VERIFY): New macro, with much of the contents of the old verify.
1646         (static_assert): New macro, if _GL_STATIC_ASSERT_H
1647         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
1648         defined when this file is copied into the replacement assert.h.
1649         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
1650         and _Static_assert is not built in.
1651         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
1652         defined, and use the new macros mentioned above.
1653         * doc/posix-headers/assert.texi: Document this.
1654
1655 2011-05-05  Bruno Haible  <bruno@clisp.org>
1656
1657         fclose, fflush: Respect rules for use of AC_LIBOBJ.
1658         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
1659         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
1660         gl_REPLACE_FCLOSE here.
1661         * modules/fflush (Depends-on): Remove fclose.
1662         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
1663         combination with module 'fclose'.
1664
1665 2011-05-05  Bruno Haible  <bruno@clisp.org>
1666
1667         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
1668         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
1669         gl_FUNC_FFLUSH.
1670         (gl_FUNC_FFLUSH): Use it.
1671         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
1672         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
1673         gl_REPLACE_FSEEKO here.
1674
1675 2011-05-05  Bruno Haible  <bruno@clisp.org>
1676
1677         tzset: Relicense under LGPL.
1678         * modules/tzset (License): Change to LGPL.
1679         No agreement needed; it's a no-op.
1680
1681         strtoimax, strtoumax: Relicense under LGPL.
1682         * modules/strtoimax (License): Change to LGPL.
1683         * modules/strtoumax (License): Likewise.
1684         With permission from Jim Meyering, Paul Eggert:
1685         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
1686         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
1687
1688         getgroups: Relicense under LGPL.
1689         * modules/getgroups (License): Change to LGPL.
1690         With permission from Jim Meyering, Paul Eggert, Eric Blake:
1691         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1693         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1694
1695         nanosleep: Relicense under LGPL.
1696         * modules/nanosleep (License): Change to LGPL.
1697         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
1698         Haible:
1699         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1700         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1701         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1703
1704         futimens: Relicense under LGPL.
1705         * modules/futimens (License): Change to LGPL.
1706         With permission from Eric Blake:
1707         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1708
1709         fflush: Relicense under LGPL.
1710         * modules/fflush (License): Change to LGPL.
1711         With permission from Eric Blake, Bruno Haible, Jim Meyering:
1712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1714         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
1715
1716         tmpfile: Relicense under LGPL.
1717         * modules/tmpfile (License): Change to LGPL.
1718         With permission from Ben Pfaff:
1719         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1720
1721         isfinite: Relicense under LGPL.
1722         * modules/isfinite (License): Change to LGPL.
1723         With permission from Ben Pfaff, Bruno Haible:
1724         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1725         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
1726
1727         acosl..tanl: Relicense under LGPL.
1728         * modules/acosl (License): Change to LGPL.
1729         * modules/asinl (License): Likewise.
1730         * modules/atanl (License): Likewise.
1731         * modules/cosl (License): Likewise.
1732         * modules/expl (License): Likewise.
1733         * modules/logl (License): Likewise.
1734         * modules/sinl (License): Likewise.
1735         * modules/sqrtl (License): Likewise.
1736         * modules/tanl (License): Likewise.
1737         Source code originally from glibc and Paolo Bonzini. Agreements:
1738         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
1739         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
1740
1741 2011-05-05  Bruno Haible  <bruno@clisp.org>
1742
1743         signal: Define sighandler_t.
1744         * lib/signal.in.h (sighandler_t): New type.
1745         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
1746         whether sighandler_t is defined.
1747         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
1748         * modules/signal (Depends-on): Add extensions.
1749         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
1750         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
1751         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
1752
1753 2011-05-05  Eric Blake  <eblake@redhat.com>
1754
1755         maint: remove useless REPLACE_*_H macros
1756         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
1757         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
1758         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
1759         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
1760         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
1761         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
1762         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
1763         * m4/btowc.m4: Update callers.
1764         * m4/dirfd.m4: Likewise.
1765         * m4/duplocale.m4: Likewise.
1766         * m4/fchdir.m4: Likewise.
1767         * m4/fdopendir.m4: Likewise.
1768         * m4/inet_ntop.m4: Likewise.
1769         * m4/inet_pton.m4: Likewise.
1770         * m4/ioctl.m4: Likewise.
1771         * m4/mbrlen.m4: Likewise.
1772         * m4/mbrtowc.m4: Likewise.
1773         * m4/mbsinit.m4: Likewise.
1774         * m4/mbsnrtowcs.m4: Likewise.
1775         * m4/mbsrtowcs.m4: Likewise.
1776         * m4/poll.m4: Likewise.
1777         * m4/setlocale.m4: Likewise.
1778         * m4/wcrtomb.m4: Likewise.
1779         * m4/wcsnrtombs.m4: Likewise.
1780         * m4/wcsrtombs.m4: Likewise.
1781         * m4/wctob.m4: Likewise.
1782         * m4/wcwidth.m4: Likewise.
1783         * modules/posix_spawn: Likewise.
1784         * modules/posix_spawn_file_actions_addclose: Likewise.
1785         * modules/posix_spawn_file_actions_adddup2: Likewise.
1786         * modules/posix_spawn_file_actions_addopen: Likewise.
1787         * modules/posix_spawn_file_actions_destroy: Likewise.
1788         * modules/posix_spawn_file_actions_init: Likewise.
1789         * modules/posix_spawnattr_destroy: Likewise.
1790         * modules/posix_spawnattr_getflags: Likewise.
1791         * modules/posix_spawnattr_getpgroup: Likewise.
1792         * modules/posix_spawnattr_getschedparam: Likewise.
1793         * modules/posix_spawnattr_getschedpolicy: Likewise.
1794         * modules/posix_spawnattr_getsigdefault: Likewise.
1795         * modules/posix_spawnattr_getsigmask: Likewise.
1796         * modules/posix_spawnattr_init: Likewise.
1797         * modules/posix_spawnattr_setflags: Likewise.
1798         * modules/posix_spawnattr_setpgroup: Likewise.
1799         * modules/posix_spawnattr_setschedparam: Likewise.
1800         * modules/posix_spawnattr_setschedpolicy: Likewise.
1801         * modules/posix_spawnattr_setsigdefault: Likewise.
1802         * modules/posix_spawnattr_setsigmask: Likewise.
1803         * modules/posix_spawnp: Likewise.
1804
1805 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
1806
1807         Add option to do-release-commit-and-tag to specify branch.
1808         * build-aux/do-release-commit-and-tag: Add --branch.
1809
1810 2011-05-03  Bruno Haible  <bruno@clisp.org>
1811
1812         Avoid unnecessary compilation units, through conditional dependencies.
1813         * modules/accept (Depends-on): Add conditions to the dependencies.
1814         * modules/acosl (Depends-on): Likewise.
1815         * modules/argz (Depends-on): Likewise.
1816         * modules/asinl (Depends-on): Likewise.
1817         * modules/atanl (Depends-on): Likewise.
1818         * modules/atoll (Depends-on): Likewise.
1819         * modules/bind (Depends-on): Likewise.
1820         * modules/btowc (Depends-on): Likewise.
1821         * modules/canonicalize-lgpl (Depends-on): Likewise.
1822         * modules/ceil (Depends-on): Likewise.
1823         * modules/ceilf (Depends-on): Likewise.
1824         * modules/ceill (Depends-on): Likewise.
1825         * modules/chdir-long (Depends-on): Likewise.
1826         * modules/chown (Depends-on): Likewise.
1827         * modules/close (Depends-on): Likewise.
1828         * modules/connect (Depends-on): Likewise.
1829         * modules/cosl (Depends-on): Likewise.
1830         * modules/dirfd (Depends-on): Likewise.
1831         * modules/dprintf (Depends-on): Likewise.
1832         * modules/dprintf-posix (Depends-on): Likewise.
1833         * modules/error (Depends-on): Likewise.
1834         * modules/euidaccess (Depends-on): Likewise.
1835         * modules/expl (Depends-on): Likewise.
1836         * modules/faccessat (Depends-on): Likewise.
1837         * modules/fchdir (Depends-on): Likewise.
1838         * modules/fclose (Depends-on): Likewise.
1839         * modules/fcntl (Depends-on): Likewise.
1840         * modules/fdopendir (Depends-on): Likewise.
1841         * modules/fflush (Depends-on): Likewise.
1842         * modules/floor (Depends-on): Likewise.
1843         * modules/floorf (Depends-on): Likewise.
1844         * modules/floorl (Depends-on): Likewise.
1845         * modules/fnmatch (Depends-on): Likewise.
1846         * modules/fopen (Depends-on): Likewise.
1847         * modules/fprintf-posix (Depends-on): Likewise.
1848         * modules/frexp (Depends-on): Likewise.
1849         * modules/frexp-nolibm (Depends-on): Likewise.
1850         * modules/frexpl (Depends-on): Likewise.
1851         * modules/frexpl-nolibm (Depends-on): Likewise.
1852         * modules/fseek (Depends-on): Likewise.
1853         * modules/fsusage (Depends-on): Likewise.
1854         * modules/ftell (Depends-on): Likewise.
1855         * modules/ftello (Depends-on): Likewise.
1856         * modules/futimens (Depends-on): Likewise.
1857         * modules/getcwd (Depends-on): Likewise.
1858         * modules/getcwd-lgpl (Depends-on): Likewise.
1859         * modules/getdelim (Depends-on): Likewise.
1860         * modules/getdomainname (Depends-on): Likewise.
1861         * modules/getgroups (Depends-on): Likewise.
1862         * modules/gethostname (Depends-on): Likewise.
1863         * modules/getline (Depends-on): Likewise.
1864         * modules/getlogin_r (Depends-on): Likewise.
1865         * modules/getopt-posix (Depends-on): Likewise.
1866         * modules/getpeername (Depends-on): Likewise.
1867         * modules/getsockname (Depends-on): Likewise.
1868         * modules/getsockopt (Depends-on): Likewise.
1869         * modules/getsubopt (Depends-on): Likewise.
1870         * modules/getusershell (Depends-on): Likewise.
1871         * modules/glob (Depends-on): Likewise.
1872         * modules/grantpt (Depends-on): Likewise.
1873         * modules/iconv_open (Depends-on): Likewise.
1874         * modules/iconv_open-utf (Depends-on): Likewise.
1875         * modules/inet_ntop (Depends-on): Likewise.
1876         * modules/inet_pton (Depends-on): Likewise.
1877         * modules/ioctl (Depends-on): Likewise.
1878         * modules/isapipe (Depends-on): Likewise.
1879         * modules/isfinite (Depends-on): Likewise.
1880         * modules/isinf (Depends-on): Likewise.
1881         * modules/lchown (Depends-on): Likewise.
1882         * modules/ldexpl (Depends-on): Likewise.
1883         * modules/link (Depends-on): Likewise.
1884         * modules/linkat (Depends-on): Likewise.
1885         * modules/listen (Depends-on): Likewise.
1886         * modules/logl (Depends-on): Likewise.
1887         * modules/lstat (Depends-on): Likewise.
1888         * modules/mbrlen (Depends-on): Likewise.
1889         * modules/mbrtowc (Depends-on): Likewise.
1890         * modules/mbsinit (Depends-on): Likewise.
1891         * modules/mbsnrtowcs (Depends-on): Likewise.
1892         * modules/mbsrtowcs (Depends-on): Likewise.
1893         * modules/mbtowc (Depends-on): Likewise.
1894         * modules/memcmp (Depends-on): Likewise.
1895         * modules/mkdir (Depends-on): Likewise.
1896         * modules/mkdtemp (Depends-on): Likewise.
1897         * modules/mkfifo (Depends-on): Likewise.
1898         * modules/mkfifoat (Depends-on): Likewise.
1899         * modules/mknod (Depends-on): Likewise.
1900         * modules/mkostemp (Depends-on): Likewise.
1901         * modules/mkostemps (Depends-on): Likewise.
1902         * modules/mkstemp (Depends-on): Likewise.
1903         * modules/mkstemps (Depends-on): Likewise.
1904         * modules/mktime (Depends-on): Likewise.
1905         * modules/nanosleep (Depends-on): Likewise.
1906         * modules/open (Depends-on): Likewise.
1907         * modules/openat (Depends-on): Likewise.
1908         * modules/perror (Depends-on): Likewise.
1909         * modules/poll (Depends-on): Likewise.
1910         * modules/popen (Depends-on): Likewise.
1911         * modules/posix_spawn (Depends-on): Likewise.
1912         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
1913         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
1914         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
1915         * modules/posix_spawnp (Depends-on): Likewise.
1916         * modules/pread (Depends-on): Likewise.
1917         * modules/printf-posix (Depends-on): Likewise.
1918         * modules/ptsname (Depends-on): Likewise.
1919         * modules/putenv (Depends-on): Likewise.
1920         * modules/pwrite (Depends-on): Likewise.
1921         * modules/readline (Depends-on): Likewise.
1922         * modules/readlink (Depends-on): Likewise.
1923         * modules/readlinkat (Depends-on): Likewise.
1924         * modules/recv (Depends-on): Likewise.
1925         * modules/recvfrom (Depends-on): Likewise.
1926         * modules/regex (Depends-on): Likewise.
1927         * modules/remove (Depends-on): Likewise.
1928         * modules/rename (Depends-on): Likewise.
1929         * modules/renameat (Depends-on): Likewise.
1930         * modules/rmdir (Depends-on): Likewise.
1931         * modules/round (Depends-on): Likewise.
1932         * modules/roundf (Depends-on): Likewise.
1933         * modules/roundl (Depends-on): Likewise.
1934         * modules/rpmatch (Depends-on): Likewise.
1935         * modules/select (Depends-on): Likewise.
1936         * modules/send (Depends-on): Likewise.
1937         * modules/sendto (Depends-on): Likewise.
1938         * modules/setenv (Depends-on): Likewise.
1939         * modules/setlocale (Depends-on): Likewise.
1940         * modules/setsockopt (Depends-on): Likewise.
1941         * modules/shutdown (Depends-on): Likewise.
1942         * modules/sigaction (Depends-on): Likewise.
1943         * modules/signbit (Depends-on): Likewise.
1944         * modules/sigprocmask (Depends-on): Likewise.
1945         * modules/sinl (Depends-on): Likewise.
1946         * modules/sleep (Depends-on): Likewise.
1947         * modules/snprintf (Depends-on): Likewise.
1948         * modules/snprintf-posix (Depends-on): Likewise.
1949         * modules/socket (Depends-on): Likewise.
1950         * modules/sprintf-posix (Depends-on): Likewise.
1951         * modules/sqrtl (Depends-on): Likewise.
1952         * modules/stat (Depends-on): Likewise.
1953         * modules/strchrnul (Depends-on): Likewise.
1954         * modules/strdup-posix (Depends-on): Likewise.
1955         * modules/strerror (Depends-on): Likewise.
1956         * modules/strerror_r-posix (Depends-on): Likewise.
1957         * modules/strndup (Depends-on): Likewise.
1958         * modules/strnlen (Depends-on): Likewise.
1959         * modules/strptime (Depends-on): Likewise.
1960         * modules/strsep (Depends-on): Likewise.
1961         * modules/strsignal (Depends-on): Likewise.
1962         * modules/strstr-simple (Depends-on): Likewise.
1963         * modules/strtod (Depends-on): Likewise.
1964         * modules/strtoimax (Depends-on): Likewise.
1965         * modules/strtok_r (Depends-on): Likewise.
1966         * modules/strtoumax (Depends-on): Likewise.
1967         * modules/symlink (Depends-on): Likewise.
1968         * modules/symlinkat (Depends-on): Likewise.
1969         * modules/tanl (Depends-on): Likewise.
1970         * modules/tcgetsid (Depends-on): Likewise.
1971         * modules/tmpfile (Depends-on): Likewise.
1972         * modules/trunc (Depends-on): Likewise.
1973         * modules/truncf (Depends-on): Likewise.
1974         * modules/truncl (Depends-on): Likewise.
1975         * modules/uname (Depends-on): Likewise.
1976         * modules/unlink (Depends-on): Likewise.
1977         * modules/unlockpt (Depends-on): Likewise.
1978         * modules/unsetenv (Depends-on): Likewise.
1979         * modules/usleep (Depends-on): Likewise.
1980         * modules/utimensat (Depends-on): Likewise.
1981         * modules/vasprintf (Depends-on): Likewise.
1982         * modules/vdprintf (Depends-on): Likewise.
1983         * modules/vdprintf-posix (Depends-on): Likewise.
1984         * modules/vfprintf-posix (Depends-on): Likewise.
1985         * modules/vprintf-posix (Depends-on): Likewise.
1986         * modules/vsnprintf (Depends-on): Likewise.
1987         * modules/vsnprintf-posix (Depends-on): Likewise.
1988         * modules/vsprintf-posix (Depends-on): Likewise.
1989         * modules/wcrtomb (Depends-on): Likewise.
1990         * modules/wcscasecmp (Depends-on): Likewise.
1991         * modules/wcscspn (Depends-on): Likewise.
1992         * modules/wcsdup (Depends-on): Likewise.
1993         * modules/wcsncasecmp (Depends-on): Likewise.
1994         * modules/wcsnrtombs (Depends-on): Likewise.
1995         * modules/wcspbrk (Depends-on): Likewise.
1996         * modules/wcsrtombs (Depends-on): Likewise.
1997         * modules/wcsspn (Depends-on): Likewise.
1998         * modules/wcsstr (Depends-on): Likewise.
1999         * modules/wcstok (Depends-on): Likewise.
2000         * modules/wcswidth (Depends-on): Likewise.
2001         * modules/wctob (Depends-on): Likewise.
2002         * modules/wctomb (Depends-on): Likewise.
2003         * modules/wctype (Depends-on): Likewise.
2004         * modules/wcwidth (Depends-on): Likewise.
2005         * modules/write (Depends-on): Likewise.
2006
2007 2011-05-03  Bruno Haible  <bruno@clisp.org>
2008
2009         Support for conditional dependencies.
2010         * doc/gnulib.texi (Module description): Document the syntax of
2011         conditional dependencies.
2012         * gnulib-tool: New option --conditional-dependencies.
2013         (func_usage): Document it.
2014         (cond_dependencies): New variable.
2015         (func_get_automake_snippet_conditional,
2016         func_get_automake_snippet_unconditional): New functions, extracted from
2017         func_get_automake_snippet.
2018         (func_get_automake_snippet): Use them.
2019         (sed_first_32_chars): New variable.
2020         (func_module_shellfunc_name): New function.
2021         (func_module_shellvar_name): New function.
2022         (func_module_conditional_name): New function.
2023         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
2024         func_cond_module_condition): New functions.
2025         (func_modules_transitive_closure): Add support for conditional
2026         dependencies.
2027         (func_emit_lib_Makefile_am): For a conditional module, enclose the
2028         conditional automake snippet in an automake conditional.
2029         (func_emit_autoconf_snippets): Emit shell functions that contain the
2030         code for conditional modules.
2031         (func_import, func_create_testdir): Update specification.
2032
2033 2011-05-03  Eric Blake  <eblake@redhat.com>
2034
2035         test-getaddrinfo: report error information
2036         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
2037
2038 2011-05-03  Jim Meyering  <meyering@redhat.com>
2039
2040         bootstrap: avoid build failure when $GZIP is set
2041         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
2042         program name.  If defined at all, it is supposed to list gzip options.
2043         Reported by Alan Curry in http://debbugs.gnu.org/8609
2044
2045 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
2046
2047         readme-release: new module with release instructions
2048         * modules/readme-release: New module.
2049         * top/README-release: New file, from coreutils, grep, diffutils.
2050         * MODULES.html.sh (Support for maintaining and releasing): Add it.
2051
2052 2011-05-02  Eric Blake  <eblake@redhat.com>
2053
2054         fflush: also replace fclose when fixing fflush
2055         * modules/fflush (Depends-on): Add fclose.
2056         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
2057         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
2058         memstreams with no backing fd.
2059         * doc/posix-functions/fclose.texi (fclose): Document the use of
2060         fflush module to fix the bug.
2061         * tests/test-fclose.c (main): Relax test when fclose is used in
2062         isolation.
2063
2064         fclose: add some tests
2065         * modules/fclose-tests: New test module.
2066         * tests/test-fclose.c: New file.
2067         * doc/posix-functions/fclose.texi (fclose): Document the bug.
2068
2069         fclose: reduced dependencies
2070         * modules/fclose (Depends-on): Switch from fflush/fseeko to
2071         simpler lseek.
2072         * lib/fclose.c (rpl_fclose): Likewise.
2073         Reported by Simon Josefsson.
2074
2075         exit: drop remaining clients
2076         * modules/argmatch (Depends-on): Replace exit with stdlib.
2077         * modules/copy-file (Depends-on): Likewise.
2078         * modules/execute (Depends-on): Likewise.
2079         * modules/exitfail (Depends-on): Likewise.
2080         * modules/obstack (Depends-on): Likewise.
2081         * modules/pagealign_alloc (Depends-on): Likewise.
2082         * modules/pipe-filter-gi (Depends-on): Likewise.
2083         * modules/pipe-filter-ii (Depends-on): Likewise.
2084         * modules/savewd (Depends-on): Likewise.
2085         * modules/spawn-pipe (Depends-on): Likewise.
2086         * modules/wait-process (Depends-on): Likewise.
2087         * modules/xsetenv (Depends-on): Likewise.
2088         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
2089         * modules/git-merge-changelog (Depends-on): Likewise.
2090         * modules/long-options (Depends-on): Likewise.
2091         * modules/pt_chown (Depends-on): Likewise.
2092         * modules/sysexits (Depends-on): Likewise.
2093
2094         freading: relax license from LGPLv3+ to LGPLv2+
2095         * modules/freading (License): Relax LGPL version.
2096
2097 2011-05-02  Bruno Haible  <bruno@clisp.org>
2098
2099         fchdir: Remove unused dependencies.
2100         * modules/fchdir (Depends-on): Remove include_next.
2101
2102 2011-05-02  Bruno Haible  <bruno@clisp.org>
2103
2104         gnulib-tool: Refactor.
2105         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
2106         from func_emit_autoconf_snippets.
2107         (func_emit_autoconf_snippets): Use it.
2108
2109 2011-05-02  Simon Josefsson  <simon@josefsson.org>
2110
2111         * NEWS: Document removal of 'exit'.
2112         * modules/exit: Remove file.
2113
2114 2011-05-01  Bruno Haible  <bruno@clisp.org>
2115
2116         Update DEPENDENCIES.
2117         * DEPENDENCIES (gettext): Recommend the newest release.
2118         Reported by Simon Josefsson.
2119
2120 2011-05-01  Bruno Haible  <bruno@clisp.org>
2121
2122         gnulib-tool: Reduce code duplication.
2123         * gnulib-tool (func_emit_autoconf_snippets): New function.
2124         (func_import, func_create_testdir): Use it.
2125
2126 2011-04-30  Eric Blake  <eblake@redhat.com>
2127
2128         fclose: don't fail on non-seekable input stream
2129         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
2130         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
2131         since fflush is allowed to fail in that case.
2132
2133 2011-04-30  Bruno Haible  <bruno@clisp.org>
2134
2135         dup3: cleanup
2136         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
2137
2138 2011-04-30  Bruno Haible  <bruno@clisp.org>
2139
2140         netdb: Make it work in C++ mode.
2141         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
2142         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
2143         module.
2144         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
2145         gl_MODULE_INDICATOR_FOR_TESTS.
2146         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
2147         * modules/netdb-c++-tests: New file.
2148         * tests/test-netdb-c++.cc: New file.
2149
2150 2011-04-30  Bruno Haible  <bruno@clisp.org>
2151
2152         New modules 'vfscanf', 'vscanf'.
2153         * modules/vfscanf: New file.
2154         * modules/vscanf: New file.
2155         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
2156         here.
2157         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
2158         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
2159
2160 2011-04-30  Bruno Haible  <bruno@clisp.org>
2161
2162         passfd: Add comments.
2163         * lib/passfd.c: Add comments about platforms.
2164
2165 2011-04-30  Bruno Haible  <bruno@clisp.org>
2166
2167         sys_uio: Make <sys/uio.h> self-contained.
2168         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
2169         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
2170
2171 2011-04-30  Bruno Haible  <bruno@clisp.org>
2172
2173         sys_socket: Ensure 'struct iovec' definition.
2174         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
2175         <sys/socket.h>.
2176         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
2177
2178 2011-04-30  Bruno Haible  <bruno@clisp.org>
2179
2180         sys_uio: Protect definition of 'struct iovec'.
2181         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
2182         it as a C struct.
2183
2184 2011-04-30  Bruno Haible  <bruno@clisp.org>
2185
2186         manywarnings: fix indentation
2187         * m4/manywarnings.m4: Indent by 2 spaces consistently.
2188
2189 2011-04-30  Pádraig Brady <P@draigBrady.com>
2190
2191         manywarnings: add -Wno-missing-field-initializers if needed.
2192         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
2193         option if it's needed to allow initialization with { 0, }
2194
2195 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
2196
2197         announce-gen: cosmetic improvement
2198         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
2199
2200 2011-04-29  Jim Meyering  <meyering@redhat.com>
2201
2202         vc-list-files: indent with spaces, not TABs
2203         * build-aux/vc-list-files: Convert leading TABs to spaces,
2204         to match the style of most other files in gnulib.
2205
2206         announce-gen: indent with spaces, not TABs
2207         * build-aux/announce-gen: Convert all TABs to spaces, to match
2208         the style of most other files in gnulib.
2209
2210 2011-04-29  Eric Blake  <eblake@redhat.com>
2211
2212         quotearg: avoid uninitialized variable use
2213         * lib/quotearg.c (quoting_options_from_style): Initialize
2214         remaining fields, and ensure that custom styles are only used via
2215         quoting_options rather than quoting_style.
2216
2217 2011-04-29  Jim Meyering  <meyering@redhat.com>
2218
2219         maint.mk: remove unused VC-tag variable
2220         * top/maint.mk (VC-tag): Remove unused variable.
2221
2222 2011-04-29  Bruno Haible  <bruno@clisp.org>
2223
2224         netdb: fix gai_strerror replacements
2225         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
2226         * modules/netdb: Substitute it.
2227
2228 2011-04-29  Jim Meyering  <meyering@redhat.com>
2229
2230         test-getcwd.c: avoid new set-but-not-used warning
2231         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
2232         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
2233         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
2234         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
2235
2236         test-hash.c: avoid a new shadowing warning
2237         * tests/test-hash.c (main): Don't shadow "dup".
2238
2239 2011-04-28  Eric Blake  <eblake@redhat.com>
2240
2241         getaddrinfo: fix gai_strerror signature
2242         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
2243         and work around mingw with UNICODE defined.
2244         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
2245         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
2246         * modules/netdb (Makefile.am): Substitute it.
2247         * lib/netdb.in.h (gai_strerror): Declare replacement.
2248         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
2249         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
2250         the fix.
2251
2252         getsockopt: avoid compiler warning
2253         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
2254         Reported by Matthias Bolte.
2255
2256         tests: drop unused link dependency
2257         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
2258         * modules/dirent-safer-tests (Makefile.am): Likewise.
2259         * modules/fdopendir-tests (Makefile.am): Likewise.
2260         * modules/mkfifoat-tests (Makefile.am): Likewise.
2261         * modules/openat-safer-tests (Makefile.am): Likewise.
2262         * modules/openat-tests (Makefile.am): Likewise.
2263         * modules/readlinkat-tests (Makefile.am): Likewise.
2264         * modules/symlinkat-tests (Makefile.am): Likewise.
2265         * modules/linkat-tests (Makefile.am): Likewise.
2266         (Depends-on): Switch to filenamecat-lgpl.
2267         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
2268         LIBINTL.
2269         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
2270         * tests/test-linkat.c (main): Don't require xalloc.
2271
2272         hash, mgetgroups: drop xalloc dependency
2273         * lib/hash.c (includes): Adjust includes.
2274         * lib/mgetgroups.c (includes): Likewise.
2275         (xgetgroups): Move...
2276         * lib/xgetgroups.c: ...to new file.
2277         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
2278         * modules/xgetgroups: New file, split from...
2279         * modules/mgetgroups: ...here.
2280         (Depends-on): Add xalloc-oversized.
2281         * modules/hash (Depends-on): Likewise.
2282         * modules/hash-tests (Depends-on): Drop xalloc.
2283         (test_hash_LDADD): Drop unused library.
2284         * tests/test-hash.c (main): Break xalloc dependency.
2285         (includes): Drop unused include.
2286
2287         xalloc-oversized: new module
2288         * modules/xalloc-oversized: New module.
2289         * modules/xalloc (Depends-on): Add it.
2290         * lib/xalloc.h (xalloc_oversized): Move...
2291         * lib/xalloc-oversized.h: ...into new file.
2292
2293         utimecmp: drop dependency on xmalloc
2294         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
2295         due to memory pressure.
2296         * modules/utimecmp (Depends-on): Drop xalloc.
2297
2298 2011-04-27  Eric Blake  <eblake@redhat.com>
2299
2300         getcwd: fix mingw bugs
2301         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
2302         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
2303         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
2304
2305 2011-04-27  Bruno Haible  <bruno@clisp.org>
2306
2307         mkstemps: Ensure declaration on MacOS X 10.5.
2308         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
2309         * doc/glibc-functions/mkstemps.texi: Document header file problem on
2310         MacOS X.
2311
2312 2011-04-27  Bruno Haible  <bruno@clisp.org>
2313
2314         mkstemp: More documentation.
2315         * doc/posix-functions/mkstemp.texi: Document header file problem on
2316         MacOS X.
2317
2318 2011-04-27  Bruno Haible  <bruno@clisp.org>
2319
2320         mkstemp: Tweak configure message when cross-compiling.
2321         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
2322         result as a guess.
2323
2324 2011-04-27  Bruno Haible  <bruno@clisp.org>
2325
2326         clean-temp: Clarify what it does.
2327         * lib/clean-temp.h: Add more comments.
2328         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
2329         module.
2330         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
2331         * doc/glibc-functions/mkstemps.texi: Likewise.
2332         * doc/glibc-functions/mkostemps.texi: Likewise.
2333
2334 2011-04-27  Eric Blake  <eblake@redhat.com>
2335
2336         fchdir: avoid extra chdir and fix test
2337         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
2338         getcwd-lgpl.
2339         * lib/fchdir.c (get_name): Any absolute name will do; it does not
2340         have to be canonical.
2341         (canonicalize_file_name): Drop unused macro.
2342         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
2343
2344         filenamecat-lgpl: fix licence
2345         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
2346         when it was first created.
2347
2348         linkat, renameat: add missing dependency
2349         * modules/linkat (Depends-on): Require getcwd-lgpl.
2350         * modules/renameat (Depends-on): Likewise.
2351
2352         tests: reduce dependencies
2353         * tests/test-linkat.c (main): Use lighter-weight getcwd.
2354         * tests/test-renameat.c (main): Likewise.
2355         * modules/linkat-tests (Depends-on): Relax dependency.
2356         * modules/renameat-tests (Depends-on): Likewise.
2357         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
2358         dependency explicit.
2359
2360         save-cwd: reduce default dependency
2361         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
2362         * lib/save-cwd.c: Update comments.
2363         * NEWS: Document the semantic change.
2364
2365         getcwd: enhance tests
2366         * tests/test-getcwd-lgpl.c: New file, taken from...
2367         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
2368         repeat long path stress tests from m4 probe.
2369         * modules/getcwd-lgpl-tests: New module.
2370         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
2371         * m4/getcwd-abort-bug.m4: Update comment.
2372         * m4/getcwd-path-max.m4: Likewise.
2373
2374         getcwd-lgpl: new module
2375         * modules/getcwd-lgpl: New module.
2376         * lib/getcwd-lgpl.c: New file.
2377         * doc/posix-functions/getcwd.texi (getcwd): Document it.
2378         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2379         * modules/getcwd (configure.ac): Set C witness.
2380         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
2381
2382         getcwd: tweak comments
2383         * m4/getcwd-abort-bug.m4: Fix comments.
2384         * m4/getcwd-path-max.m4: Likewise.
2385         * m4/getcwd.m4: Likewise.
2386
2387 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2388         and Eric Blake  <eblake@redhat.com>
2389
2390         mkstemp: replace if system version uses wrong permissions
2391         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
2392         read/write mode bits set in file created by mkstemp.
2393         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
2394
2395 2011-04-27  Eric Blake  <eblake@redhat.com>
2396
2397         passfd: avoid compiler warning
2398         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
2399         Reported by Laine Stump.
2400
2401 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
2402
2403         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
2404         required by the NetBSD (and perhaps other 4.4BSD derived) join.
2405
2406 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2407         and Eric Blake  <eblake@redhat.com>
2408
2409         mkstemp: mention clean-temp module
2410         * lib/mkstemp.c: Add comment.
2411         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
2412
2413 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
2414
2415         inttypes: also provide default values for 32-bit tests
2416         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
2417         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
2418
2419 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
2420
2421         strtoumax: remove dependency on strtoimax
2422         This is like the strtoull change of yesterday.
2423         * modules/strtoumax (Files): Add lib/strtoimax.c.
2424         (Depends-on): Remove strtoimax and add verify.
2425
2426         inttypes-incomplete: new module
2427         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
2428         all but the PRI* and SCN* parts of gl_INTTYPES_H.
2429         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
2430         of gl_INTTYPES_H.
2431         (gl_INTTYPES_H): Rewrite in terms of these new macros.
2432         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
2433         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
2434         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
2435         * modules/strtoumax, modules/xstrtol (Depends-on):
2436         Depend on inttypes-incomplete, not inttypes.
2437         * modules/inttypes-incomplete: New module, containing the contents
2438         of the old modules/inttypes module, except that the Files: section
2439         omits m4/inttypes-pri.m4, and the configure.ac section invokes
2440         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
2441         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
2442         (Depends-on): Depend only on inttypes-incomplete.
2443         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
2444
2445         inttypes: omit now-redundant strtoimax and strtoumax work
2446         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
2447         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
2448
2449         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
2450         This supports apps that need pointers to strtoimax and strtoumax,
2451         and ports to HP-UX 11.00 64.bit, which has macros that expand to
2452         nonexistent functions.  See
2453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
2454         et seq.
2455         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
2456         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
2457         a macro.
2458         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
2459
2460 2011-04-25  Simon Josefsson  <simon@josefsson.org>
2461
2462         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
2463
2464 2011-04-25  Bruno Haible  <bruno@clisp.org>
2465
2466         strtol, strtoul: Mark modules as obsolete.
2467         * modules/strtol (Status, Notice): New sections.
2468         * modules/strtoul (Status, Notice): New sections.
2469
2470 2011-04-25  Bruno Haible  <bruno@clisp.org>
2471
2472         strtod: Remove check for strtod, unless supporting old platforms.
2473         * modules/strtod-obsolete: New file.
2474         * m4/strtod-obsolete.m4: New file.
2475         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
2476         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
2477         * modules/strtod (Depends-on): Add strtod-obsolete.
2478         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
2479
2480 2011-04-25  Bruno Haible  <bruno@clisp.org>
2481
2482         strcase: Make module obsolete.
2483         * modules/strcase (Status, Notice): New sections.
2484
2485 2011-04-25  Bruno Haible  <bruno@clisp.org>
2486
2487         dup2: Remove check for dup2, unless supporting old obsolete platforms.
2488         * modules/dup2-obsolete: New file.
2489         * m4/dup2-obsolete.m4: New file.
2490         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
2491         gl_FUNC_DUP2_OBSOLETE is not also defined.
2492         * modules/dup2 (Depends-on): Add dup2-obsolete.
2493         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
2494
2495 2011-04-25  Bruno Haible  <bruno@clisp.org>
2496
2497         strnlen: Avoid memchr related link error on old obsolete platforms.
2498         * modules/memchr-obsolete: New file.
2499         * m4/memchr-obsolete.m4: New file.
2500         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
2501         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
2502         * modules/memchr (Depends-on): Add memchr-obsolete.
2503         * modules/strnlen (Depends-on): Likewise.
2504         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
2505
2506 2011-04-25  Jim Meyering  <meyering@redhat.com>
2507
2508         maint.mk: makefile_at_at_check extend and clean up
2509         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
2510         in addition to */Makefile.am.
2511         Exempt legitimate uses of @VAR@ notation, e.g.,
2512         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
2513         Remove obsolete coreutils-specific comment.
2514         Prompted by discussion here:
2515         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
2516
2517 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
2518
2519         strtoul: remove dependency on strtol
2520         This is so that 'configure' need not check for strtol merely because
2521         the application needs strtoul.
2522         * modules/strtoul (Files): Add lib/strtol.c.
2523         (Depends-on): Remove strtol.
2524
2525         strtoull: remove dependency on strtoul
2526         This is like the strtoll change.
2527         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
2528         (Depends-on): Remove strtoul.
2529
2530         strtoll: remove dependency on strtol
2531         This is so that 'configure' need not check for strtol merely because
2532         the application needs strtoll.
2533         * modules/strtoll (Files): Add lib/strtol.c.
2534         (Depends-on): Remove strtol.
2535
2536 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2537
2538         inttypes: Move some configure check to module 'imaxdiv'.
2539         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
2540         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
2541         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
2542
2543 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2544
2545         inttypes: Move some configure check to module 'imaxabs'.
2546         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
2547         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
2548         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
2549
2550 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2551
2552         inttypes: Remove configure tests that are not needed since 2009-12-31.
2553         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
2554         gl_cv_header_working_inttypes_h.
2555
2556 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2557
2558         * modules/strnlen (Depends-on): Remove memchr.
2559         The strnlen implementation doesn't need the memchr module's fixes; see
2560         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
2561
2562         strtol: remove dependency on wchar
2563         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
2564         * modules/strtol (Depends-on): Remove wchar.
2565
2566 2011-04-21  Eric Blake  <eblake@redhat.com>
2567
2568         passfd: fix test regression on Linux
2569         * modules/passfd-tests (configure.ac): Correct socketpair check.
2570
2571         passfd: speed up configure and drop unused code
2572         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
2573         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
2574         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
2575         Instead of probing at configure for unix_scm_rights_bsd44_way,
2576         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
2577         check to a struct member probe.
2578         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
2579         (sendfd, recvfd): Update preprocessor checks.
2580         * modules/passfd (Files): Reflect rename, and drop unused file.
2581         (Depends-on): Drop unused dependency.
2582
2583         passfd: allow compilation on mingw
2584         * modules/sys_socket (Depends-on): Add sys_uio.
2585         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
2586         iovec and a minimal struct msghdr.
2587         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
2588         * tests/test-sys_socket.c (main): Enhance test.
2589         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
2590         guaranteed to provide what we need.
2591         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
2592         * modules/passfd-tests (Depends-on): Add sys_wait.
2593         * tests/test-passfd.c (main): Skip test on mingw, for now.
2594         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
2595         partial 'struct msghdr' implementation.
2596
2597         sys_uio: new module
2598         * modules/sys_uio: New module.
2599         * modules/sys_uio-tests: Likewise.
2600         * lib/sys_uio.in.h: New file.
2601         * m4/sys_uio_h.m4: Likewise.
2602         * tests/test-sys_uio.c: Likewise.
2603         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
2604         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
2605
2606 2011-04-20  Jim Meyering  <meyering@redhat.com>
2607
2608         useless-if-before-free: avoid false-positive
2609         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
2610         disjunct so that it too requires a terminating ";".  Without that,
2611         this script would identify as useless one statement from gcc that
2612         was not:
2613           if (aligned_ptr)
2614             free (((void **) aligned_ptr) [-1]);
2615
2616 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
2617
2618         doc: update users.txt.
2619         * users.txt: Add barcode.
2620
2621 2011-04-19  Bruno Haible  <bruno@clisp.org>
2622
2623         ioctl: Remove link dependency on native Windows.
2624         * lib/fd-hook.h: Renamed from lib/close-hook.h.
2625         (gl_close_fn, gl_ioctl_fn): New types.
2626         (struct fd_hook): Renamed from struct close_hook. Change type of
2627         private_close_fn field. Add private_ioctl_fn field.
2628         (close_hook_fn): Add parameter for primary close method.
2629         (execute_close_hooks, execute_all_close_hooks): Likewise.
2630         (ioctl_hook_fn): New type.
2631         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
2632         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2633         argument.
2634         (unregister_fd_hook): Renamed from unregister_close_hook.
2635         * lib/fd-hook.c: Renamed from lib/close-hook.c.
2636         Don't include <unistd.h>.
2637         (close): Remove undef.
2638         (anchor): Update.
2639         (execute_close_hooks): Add argument for primary close method.
2640         (execute_all_close_hooks): Likewise.
2641         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
2642         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2643         argument. Allow each argument to be NULL.
2644         (unregister_fd_hook): Renamed from unregister_close_hook.
2645         * lib/close.c (rpl_close): Pass 'close' function pointer to
2646         execute_all_close_hooks.
2647         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
2648         (primary_ioctl): New function.
2649         (ioctl): Don't call ioctlsocket here. Instead, call
2650         execute_all_ioctl_hooks.
2651         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
2652         close method.
2653         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
2654         (fd_sockets_hook): Renamed from close_sockets_hook.
2655         (gl_sockets_startup, gl_sockets_cleanup): Update.
2656         * modules/fd-hook: Renamed from modules/close-hook. Update.
2657         * modules/close (Depends-on): Add fd-hook, remove close-hook.
2658         * modules/sockets (Depends-on): Likewise.
2659         * modules/ioctl (Depends-on): Add fd-hook.
2660         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
2661         GNULIB_SOCKET.
2662
2663 2011-04-19  Bruno Haible  <bruno@clisp.org>
2664
2665         Move the support of O_NONBLOCK in open() to the 'open' module.
2666         * modules/nonblocking (Depends-on): Remove 'open'.
2667         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
2668         gl_cv_have_open_O_NONBLOCK.
2669         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
2670         O_NONBLOCK support.
2671         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
2672
2673 2011-04-17  Bruno Haible  <bruno@clisp.org>
2674
2675         pipe2: Simplify code.
2676         * lib/pipe2.c (pipe2): Reduce code duplication.
2677
2678 2011-04-17  Bruno Haible  <bruno@clisp.org>
2679
2680         nonblocking: Add comment.
2681         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
2682
2683 2011-04-17  Bruno Haible  <bruno@clisp.org>
2684
2685         nonblocking: Add tests for sockets.
2686         * tests/test-nonblocking-socket.sh: New file.
2687         * tests/test-nonblocking-socket-main.c: New file.
2688         * tests/test-nonblocking-socket-child.c: New file.
2689         * tests/test-nonblocking-socket.h: New file.
2690         * tests/socket-server.h: New file.
2691         * tests/socket-client.h: New file.
2692         * modules/nonblocking-socket-tests: New file.
2693         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
2694
2695 2011-04-17  Bruno Haible  <bruno@clisp.org>
2696
2697         nonblocking: Add tests for pipes.
2698         * tests/test-nonblocking-pipe.sh: New file.
2699         * tests/test-nonblocking-pipe-main.c: New file.
2700         * tests/test-nonblocking-pipe-child.c: New file.
2701         * tests/test-nonblocking-pipe.h: New file.
2702         * tests/test-nonblocking-writer.h: New file.
2703         * tests/test-nonblocking-reader.h: New file.
2704         * tests/test-nonblocking-misc.h: New file.
2705         * modules/nonblocking-pipe-tests: New file.
2706         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
2707
2708 2011-04-16  Bruno Haible  <bruno@clisp.org>
2709
2710         gettext: Clarify the needed programmer actions.
2711         * modules/gettext (Notice): New field.
2712         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
2713
2714 2011-04-16  Bruno Haible  <bruno@clisp.org>
2715
2716         strchrnul: Tweak last commit.
2717         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
2718         bug.
2719         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
2720         as in _GL_FUNCDECL_SYS.
2721         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
2722         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
2723
2724 2011-04-15  Eric Blake  <eblake@redhat.com>
2725
2726         strchrnul: work around cygwin bug
2727         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
2728         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
2729         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
2730         * modules/string (Makefile.am): Substitute it.
2731         * lib/string.in.h (strchrnul): Use it.
2732
2733 2011-04-15  Bruno Haible  <bruno@clisp.org>
2734
2735         Don't require lib/stdio-write.c when only module 'stdio' is used.
2736         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
2737         invocation.
2738         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
2739
2740 2011-04-14  Bruno Haible  <bruno@clisp.org>
2741
2742         Support non-blocking pipe I/O in read() on native Windows.
2743         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
2744         (read): New declaration.
2745         * lib/read.c: New file.
2746         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
2747         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
2748         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
2749         vscanf): New declarations.
2750         * lib/stdio-read.c: New file.
2751         * m4/read.m4: New file.
2752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
2753         REPLACE_READ.
2754         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
2755         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2756         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
2757         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
2758         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
2759         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2760         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2761         * modules/read: New file.
2762         * modules/nonblocking (Files): Add lib/stdio-read.c.
2763         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
2764         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
2765         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2766         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2767         * modules/pread (Depends-on): Add read.
2768         * modules/safe-read (Depends-on): Likewise.
2769         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
2770         gets, scanf, vfscanf, vscanf): Verify signatures.
2771         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
2772         problem with non-blocking pipes.
2773         * doc/posix-functions/fgetc.texi: Likewise.
2774         * doc/posix-functions/fgets.texi: Likewise.
2775         * doc/posix-functions/fread.texi: Likewise.
2776         * doc/posix-functions/fscanf.texi: Likewise.
2777         * doc/posix-functions/getc.texi: Likewise.
2778         * doc/posix-functions/getchar.texi: Likewise.
2779         * doc/posix-functions/gets.texi: Likewise.
2780         * doc/posix-functions/scanf.texi: Likewise.
2781         * doc/posix-functions/vfscanf.texi: Likewise.
2782         * doc/posix-functions/vscanf.texi: Likewise.
2783
2784 2011-04-14  Bruno Haible  <bruno@clisp.org>
2785
2786         Support non-blocking pipe I/O in write() on native Windows.
2787         * lib/write.c (rpl_write): Split a write request that failed merely
2788         because the byte count was larger than the pipe buffer's size.
2789         * doc/posix-functions/write.texi: Mention the problem with large byte
2790         counts.
2791
2792 2011-04-14  Bruno Haible  <bruno@clisp.org>
2793
2794         wchar: Ensure that wchar_t gets defined on uClibc.
2795         * lib/wchar.in.h: On uClibc, include <stddef.h>.
2796         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
2797
2798 2011-04-13  Bruno Haible  <bruno@clisp.org>
2799
2800         safe-write, full-read: Avoid unnecessary compilation units.
2801         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
2802         (Depends-on): Remove safe-read. Add ssize_t.
2803         * modules/full-read (Files): Add lib/full-write.c.
2804         (Depends-on): Add full-write.
2805
2806 2011-04-13  Bruno Haible  <bruno@clisp.org>
2807
2808         Support non-blocking pipe I/O and SIGPIPE in pwrite().
2809         * modules/pwrite (Depends-on): Add 'write'.
2810
2811 2011-04-13  Bruno Haible  <bruno@clisp.org>
2812
2813         Support non-blocking pipe I/O in write() on native Windows.
2814         * lib/unistd.in.h (write): Enable replacement also if
2815         GNULIB_UNISTD_H_NONBLOCKING is 1.
2816         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
2817         (rpl_write): When failing to write on a non-blocking pipe, change
2818         errno from ENOSPC to EAGAIN.
2819         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
2820         putchar, puts, vfprintf, vprintf): Enable replacement also if
2821         GNULIB_STDIO_H_NONBLOCKING is 1.
2822         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
2823         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
2824         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
2825         CALL_WITH_SIGPIPE_EMULATION.
2826         (CALL_WITH_SIGPIPE_EMULATION): Use them.
2827         * m4/nonblocking.m4: New file.
2828         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
2829         for non-blocking I/O support.
2830         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2831         GNULIB_UNISTD_H_NONBLOCKING.
2832         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
2833         required for non-blocking I/O support.
2834         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
2835         * modules/nonblocking (Files): Add m4/nonblocking.m4,
2836         lib/stdio-write.c, m4/asm-underscore.m4.
2837         (Depends-on): Add stdio, unistd.
2838         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
2839         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
2840         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
2841         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
2842         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
2843         problem with non-blocking pipes.
2844         * doc/posix-functions/fputc.texi: Likewise.
2845         * doc/posix-functions/fputs.texi: Likewise.
2846         * doc/posix-functions/fwrite.texi: Likewise.
2847         * doc/posix-functions/printf.texi: Likewise.
2848         * doc/posix-functions/putc.texi: Likewise.
2849         * doc/posix-functions/putchar.texi: Likewise.
2850         * doc/posix-functions/puts.texi: Likewise.
2851         * doc/posix-functions/vfprintf.texi: Likewise.
2852         * doc/posix-functions/vprintf.texi: Likewise.
2853         * doc/posix-functions/write.texi: Likewise.
2854
2855 2011-04-10  Jim Meyering  <meyering@redhat.com>
2856
2857         maint.mk: prohibit doubled words
2858         Detect them also when they're separated by a newline.
2859         There are 3 ways to customize it:
2860           - disable the test on a per file basis, as usual with rules using
2861             $(VC_LIST_EXCEPT)
2862           - replace the default doubled-word-selecting regexp (affects all files)
2863           - ignore a particular file-vs-doubled-word match
2864         I nearly used that last one to ignore the "is is" match in
2865         coreutils' NEWS file, since the text was "ls -is is ..."
2866         To do that, I would have added this line to cfg.mk:
2867           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
2868         but it would have ignored any "is is" match in NEWS.
2869         Low probability, but still...
2870         Instead, I changed the text, slightly:
2871           -  ls -is is now consistent with ls -lis in ignoring values returned
2872           +  "ls -is" is now consistent with ls -lis in ignoring values returned
2873         * top/maint.mk (prohibit_double_word_RE_): Provide default.
2874         (prohibit_doubled_word_): Define.
2875         (sc_prohibit_doubled_word): New rule.
2876         (sc_prohibit_the_the): Remove.  Subsumed by the above.
2877
2878 2011-04-10  Jim Meyering  <meyering@redhat.com>
2879
2880         maint: fix doubled-word typo in comment
2881         * m4/gethostname.m4: s/is is/it is/
2882         * m4/getdomainname.m4: Likewise.
2883
2884 2011-04-10  Jim Meyering  <meyering@redhat.com>
2885
2886         maint: remove doubled word: s/it it/it/
2887         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
2888
2889 2011-04-10  Jim Meyering  <meyering@redhat.com>
2890
2891         maint.mk: remove useless semicolon and backslash
2892         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
2893         semicolon and backslash.
2894
2895 2011-04-10  Bruno Haible  <bruno@clisp.org>
2896
2897         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
2898         * modules/stdint-tests (Depends-on): Add wchar.
2899
2900 2011-04-10  Jim Meyering  <meyering@redhat.com>
2901
2902         maint: remove doubled words in comments, e.g., s/a a/a/
2903         * lib/strptime.c (day_of_the_week): s/the the/the/
2904         * tests/test-chown.h (test_chown): s/a a/a/
2905
2906         test-chown.h: correct a cast
2907         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
2908         when the destination is a stat.st_gid.
2909
2910 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
2911
2912         getaddrinfo: Fix test for sa_len member.
2913         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
2914         include <sys/types.h> before <sys/socket.h>.
2915
2916 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
2917
2918         maint: change "can not" to "cannot"
2919         * doc/posix-functions/iconv.texi (iconv): This one crossed line
2920         boundaries.
2921
2922 2011-04-09  Jim Meyering  <meyering@redhat.com>
2923
2924         maint: change "a a" to "a"
2925         * tests/test-lchown.h (test_lchown): s/a a/a/
2926
2927         maint.mk: prohibit \<the the\>
2928         * top/maint.mk (sc_prohibit_the_the): New rule.
2929
2930         maint: fix "the the" in comment
2931         * lib/count-one-bits.h: s/the the/the/
2932
2933         maint: change "can not" to "cannot"
2934         But do not change the occurrences in maintain.texi or in
2935         build-aux/po/Makefile.in.in, which I presume comes from gettext.
2936         * doc/gnulib-tool.texi: s/can not/cannot/
2937         * doc/posix-functions/accept.texi (accept): Likewise.
2938         * doc/posix-functions/socket.texi (socket): Likewise.
2939         * lib/mbrtowc.c: Likewise.
2940
2941         maint.mk: prohibit use of "can not"
2942         * top/maint.mk (sc_prohibit_can_not): New rule.
2943         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
2944
2945 2011-04-09  Bruno Haible  <bruno@clisp.org>
2946
2947         careadlinkat: Guard against misuse of careadlinkatcwd.
2948         * lib/careadlinkat.c: Include <stdlib.h>.
2949         (careadlinkatcwd): Check that the fd argument is as expected.
2950
2951 2011-04-09  Bruno Haible  <bruno@clisp.org>
2952
2953         careadlinkat: Use common coding style.
2954         * lib/careadlinkat.c: Move gnulib includes after system includes.
2955
2956 2011-04-09  Bruno Haible  <bruno@clisp.org>
2957
2958         careadlinkat: Clarify specification.
2959         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
2960         (careadlinkatcwd): Add comment.
2961         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
2962
2963 2011-04-09  Bruno Haible  <bruno@clisp.org>
2964
2965         areadlinkat: Avoid link error on many platforms.
2966         * modules/areadlinkat (Depends-on): Add areadlink.
2967
2968 2011-04-09  Bruno Haible  <bruno@clisp.org>
2969
2970         allocator, careadlinkat: Fix double-inclusion guard.
2971         * lib/allocator.h: Fix double-inclusion guard.
2972         * lib/careadlinkat.h: Likewise.
2973
2974 2011-04-09  Bruno Haible  <bruno@clisp.org>
2975
2976         relocatable-prog-wrapper: Update after module 'areadlink' changed.
2977         * lib/relocwrapper.c: Update dependencies hierarchy.
2978         * build-aux/install-reloc: Update list of files to be compiled.
2979         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
2980         lib/allocator.[hc].
2981
2982 2011-04-08  Eric Blake  <eblake@redhat.com>
2983
2984         strftime: silence gnulib-tool warning
2985         * modules/strftime-tests (Depends-on): Drop automatic dependency.
2986
2987 2011-04-08  Bruno Haible  <bruno@clisp.org>
2988
2989         verify: Fix syntax error with GCC 4.6 in C++ mode.
2990         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
2991         (HAVE_STATIC_ASSERT): New macro.
2992         (verify_true, verify): Use 'static_assert' if it is supported and
2993         '_Static_assert' is not supported.
2994
2995 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
2996
2997         allocator: New module.
2998         * modules/allocator, lib/allocator.c: New files.
2999         * lib/allocator.h (stdlib_allocator): New decl.
3000         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
3001         Remove.  Do not include <stdlib.h>.
3002         (careadlinkat): Use stdlib_allocator instead of rolling our own.
3003         * modules/careadlinkat (Files): Remove lib/allocator.h.
3004         (Depends-on): Add allocator.
3005
3006         stdlib: let modules use system malloc, realloc
3007         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
3008         if !_GL_USE_STDLIB_ALLOC.
3009         (malloc, realloc): Limit this change to a smaller scope.
3010
3011         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
3012         (malloc, realloc): Don't #undef; no longer needed.
3013         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3014         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3015         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3016         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3017         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3018         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3019         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3020         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3021
3022         careadlinkat: rename members to avoid problem
3023         * lib/allocator.h (struct allocator): Rename members from
3024         malloc/realloc to allocate/reallocate, to avoid problems if malloc
3025         and realloc are #define'd.  Reported by Eric Blake in
3026         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
3027         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
3028
3029 2011-04-08  Eric Blake  <eblake@redhat.com>
3030
3031         nonblocking: reduce dependency
3032         * tests/test-nonblocking.c: Only test sockets when in use.
3033         * modules/nonblocking-tests (Depends-on): Drop socket.
3034         (Makefile.am): Link even if sockets are not present.
3035         * modules/pipe2-tests (Makefile.am): Likewise.
3036         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
3037
3038         pipe2: fix O_NONBLOCK support on mingw
3039         * modules/pipe2 (Depends-on): Add nonblocking.
3040         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
3041         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
3042         * tests/test-nonblocking.c (main): Likewise.
3043         * modules/pipe2-tests (Makefile.am): Avoid link failure.
3044
3045         fcntl-h: fix O_ACCMODE on cygwin
3046         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
3047         * lib/fcntl.in.h (O_ACCMODE): Fix it.
3048
3049         pipe-filter: drop O_NONBLOCK workarounds
3050         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
3051         * modules/pipe-filter-ii (Depends-on): Likewise.
3052         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
3053
3054         nonblocking: provide O_NONBLOCK for mingw
3055         * modules/nonblocking (Depends-on): Add open.
3056         (configure.ac): Set new witness macro.
3057         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
3058         * modules/fcntl-h (Makefile.am): Substitute it.
3059         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
3060         nonblocking module is in use.
3061         * lib/nonblocking.c: Adjust portability test.
3062         * lib/open.c (open): Don't let native open see gnulib flag.
3063         * tests/test-fcntl-h.c (main): Enhance test.
3064         * tests/test-open.h (test_open): Likewise.
3065         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
3066
3067         careadlinkat: fix compilation error on mingw
3068         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
3069         within struct allocator.
3070
3071 2011-04-06  Eric Blake  <eblake@redhat.com>
3072
3073         binary-io: relicense under LGPLv2+
3074         * modules/binary-io (License): Relax to LGPLv2+.
3075         Requested for libvirt, and required by pipe2.
3076
3077 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
3078
3079         verify: use _Static_assert if available
3080         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
3081         (verify_true, verify): Use it if available.  This generates better
3082         diagnostics with GCC 4.6.0 and later.
3083
3084 2011-04-05  Bruno Haible  <bruno@clisp.org>
3085
3086         Remove leftover generated .h files after config.status changed.
3087
3088         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
3089         GL_GENERATE_ALLOCA_H.
3090         * modules/alloca-opt (Makefile.am): Remove alloca.h if
3091         GL_GENERATE_ALLOCA_H evaluates to false.
3092
3093         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
3094         GL_GENERATE_ARGZ_H.
3095         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
3096         evaluates to false.
3097
3098         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
3099         GL_GENERATE_BYTESWAP_H.
3100         * modules/byteswap (Makefile.am): Remove byteswap.h if
3101         GL_GENERATE_BYTESWAP_H evaluates to false.
3102
3103         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
3104         GL_GENERATE_ERRNO_H.
3105         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
3106         evaluates to false.
3107
3108         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
3109         GL_GENERATE_FLOAT_H.
3110         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
3111         evaluates to false.
3112
3113         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
3114         GL_GENERATE_FNMATCH_H.
3115         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
3116         GL_GENERATE_FNMATCH_H evaluates to false.
3117
3118         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
3119         GL_GENERATE_GLOB_H.
3120         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
3121         evaluates to false.
3122
3123         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
3124         automake conditional GL_GENERATE_ICONV_H.
3125         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
3126         evaluates to false.
3127
3128         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
3129         GL_GENERATE_NETINET_IN_H.
3130         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
3131         GL_GENERATE_NETINET_IN_H evaluates to false.
3132
3133         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
3134         conditional GL_GENERATE_PTHREAD_H.
3135         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
3136         * modules/pthread (Makefile.am): Remove pthread.h if
3137         GL_GENERATE_PTHREAD_H evaluates to false.
3138
3139         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
3140         GL_GENERATE_SCHED_H.
3141         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
3142         evaluates to false.
3143
3144         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
3145         conditional GL_GENERATE_SELINUX_CONTEXT_H.
3146         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
3147         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
3148
3149         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
3150         GL_GENERATE_STDARG_H.
3151         * modules/stdarg (Makefile.am): Remove stdarg.h if
3152         GL_GENERATE_STDARG_H evaluates to false.
3153
3154         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
3155         GL_GENERATE_STDBOOL_H.
3156         * modules/stdbool (Makefile.am): Remove stdbool.h if
3157         GL_GENERATE_STDBOOL_H evaluates to false.
3158
3159         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
3160         conditional GL_GENERATE_STDDEF_H.
3161         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
3162         * modules/stddef (Makefile.am): Remove stddef.h if
3163         GL_GENERATE_STDDEF_H evaluates to false.
3164
3165         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
3166         GL_GENERATE_STDINT_H.
3167         * modules/stdint (Makefile.am): Remove stdint.h if
3168         GL_GENERATE_STDINT_H evaluates to false.
3169
3170         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
3171         GL_GENERATE_SYSEXITS_H.
3172         * modules/sysexits (Makefile.am): Remove sysexits.h if
3173         GL_GENERATE_SYSEXITS_H evaluates to false.
3174
3175         Reported by Karl Berry and Ralf Wildenhues.
3176
3177 2011-04-05  Bruno Haible  <bruno@clisp.org>
3178
3179         Ensure to rebuild generated .h files when config.status has changed.
3180         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
3181         config.status.
3182         * modules/ctype (Makefile.am): Likewise.
3183         * modules/dirent (Makefile.am): Likewise.
3184         * modules/errno (Makefile.am): Likewise.
3185         * modules/fcntl-h (Makefile.am): Likewise.
3186         * modules/float (Makefile.am): Likewise.
3187         * modules/getopt-posix (Makefile.am): Likewise.
3188         * modules/glob (Makefile.am): Likewise.
3189         * modules/iconv-h (Makefile.am): Likewise.
3190         * modules/inttypes (Makefile.am): Likewise.
3191         * modules/langinfo (Makefile.am): Likewise.
3192         * modules/locale (Makefile.am): Likewise.
3193         * modules/math (Makefile.am): Likewise.
3194         * modules/netdb (Makefile.am): Likewise.
3195         * modules/netinet_in (Makefile.am): Likewise.
3196         * modules/poll-h (Makefile.am): Likewise.
3197         * modules/pthread (Makefile.am): Likewise.
3198         * modules/pty (Makefile.am): Likewise.
3199         * modules/sched (Makefile.am): Likewise.
3200         * modules/search (Makefile.am): Likewise.
3201         * modules/selinux-h (Makefile.am): Likewise.
3202         * modules/signal (Makefile.am): Likewise.
3203         * modules/spawn (Makefile.am): Likewise.
3204         * modules/stdarg (Makefile.am): Likewise.
3205         * modules/stdbool (Makefile.am): Likewise.
3206         * modules/stddef (Makefile.am): Likewise.
3207         * modules/stdint (Makefile.am): Likewise.
3208         * modules/stdio (Makefile.am): Likewise.
3209         * modules/stdlib (Makefile.am): Likewise.
3210         * modules/string (Makefile.am): Likewise.
3211         * modules/strings (Makefile.am): Likewise.
3212         * modules/sys_file (Makefile.am): Likewise.
3213         * modules/sys_ioctl (Makefile.am): Likewise.
3214         * modules/sys_select (Makefile.am): Likewise.
3215         * modules/sys_socket (Makefile.am): Likewise.
3216         * modules/sys_stat (Makefile.am): Likewise.
3217         * modules/sys_time (Makefile.am): Likewise.
3218         * modules/sys_times (Makefile.am): Likewise.
3219         * modules/sys_utsname (Makefile.am): Likewise.
3220         * modules/sys_wait (Makefile.am): Likewise.
3221         * modules/sysexits (Makefile.am): Likewise.
3222         * modules/termios (Makefile.am): Likewise.
3223         * modules/time (Makefile.am): Likewise.
3224         * modules/unistd (Makefile.am): Likewise.
3225         * modules/wchar (Makefile.am): Likewise.
3226         * modules/wctype-h (Makefile.am): Likewise.
3227         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
3228
3229 2011-04-05  Bruno Haible  <bruno@clisp.org>
3230
3231         pipe2: Relicense under LGPLv2+.
3232         * modules/pipe2 (License): Change to LGPLv2+.
3233         Requested by Eric Blake, for libvirt.
3234
3235 2011-04-05  Bruce Korb  <bkorb@gnu.org>
3236
3237         bootstrap: compute gnulib_extra_files after updating build_aux
3238         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
3239         change build_aux or also supply gnulib_extra_files.  Handle correctly.
3240
3241 2011-04-05  Eric Blake  <eblake@redhat.com>
3242
3243         bootstrap: preserve git whitelist item sorting
3244         * build-aux/bootstrap (sort_patterns): New function.
3245         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
3246
3247 2011-04-05  Simon Josefsson  <simon@josefsson.org>
3248
3249         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
3250         sc_space_tab check.
3251
3252 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3253
3254         areadlink, areadlinkat: rewrite in terms of careadlinkat
3255         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
3256         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
3257         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
3258         (malloc, realloc): Remove #undefs.
3259         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
3260         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
3261         readlink, ssize_t, stdint, unistd.
3262         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
3263         areadlink, stdint.
3264
3265         careadlinkat: new module
3266         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
3267         * modules/careadlinkat: New files, written by me with
3268         a review and feedback from Ben Pfaff in
3269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
3270
3271 2011-04-01  Bruno Haible  <bruno@clisp.org>
3272
3273         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
3274         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
3275         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
3276         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3277         Reported by Bruce Korb <bruce.korb@gmail.com>.
3278
3279 2011-04-01  Bruno Haible  <bruno@clisp.org>
3280
3281         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
3282         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
3283         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
3284         * modules/wcpcpy (Depends-on): Add extensions.
3285         * modules/wcpncpy (Depends-on): Likewise.
3286         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
3287         systems.
3288         * doc/posix-functions/wcpncpy.texi: Likewise.
3289         * doc/posix-functions/wcwidth.texi: Likewise.
3290
3291 2011-03-31  Eric Blake  <eblake@redhat.com>
3292
3293         nonblocking: fix mingw test failures
3294         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
3295         non-blocking flag on regular file.
3296         (get_nonblocking_flag): Set errno on invalid fd.
3297         * tests/test-nonblocking.c (main): Avoid test failure on
3298         directories if fchdir is not active.
3299         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
3300
3301 2011-03-31  Bruno Haible  <bruno@clisp.org>
3302
3303         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
3304         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
3305         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
3306         Reported by Simon Josefsson <simon@josefsson.org>.
3307
3308 2011-03-31  Bruno Haible  <bruno@clisp.org>
3309         and Eric Blake  <eblake@redhat.com>
3310
3311         nonblocking: new module
3312         * modules/nonblocking: New module.
3313         * modules/nonblocking-tests: Likewise.
3314         * lib/nonblocking.h: New file.
3315         * lib/nonblocking.c: Likewise.
3316         * tests/test-nonblocking.c: New test.
3317         * lib/ioctl.c (ioctl) [mingw]: Update comment.
3318
3319 2011-03-30  Bruno Haible  <bruno@clisp.org>
3320
3321         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
3322         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
3323         instead of 'printf' format for GCC >= 4.4.
3324         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
3325         (fprintf, printf, vfprintf, vprintf): Declare with
3326         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
3327         the system's vfprintf() function.
3328         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
3329
3330 2011-03-30  Eric Blake  <eblake@redhat.com>
3331
3332         passfd: fix scoping bug
3333         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
3334         before sendmsg/recvmsg.
3335
3336         passfd: standardize coding conventions
3337         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
3338         can be learned at compile time.
3339         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
3340         ifdefs.
3341         (sendfd, recvfd): Follow gnulib code conventions.
3342
3343         passfd: fix incorrect sendmsg arguments
3344         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
3345         incorrect msg_controllen value.
3346         * modules/passfd-tests (Depends-on): Check for alarm.
3347         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
3348         Reported by Bastien ROUCARIES.
3349
3350 2011-03-30  Bruno Haible  <bruno@clisp.org>
3351
3352         c-strcasestr: Relicense under LGPLv2+.
3353         * modules/c-strcasestr (License): Change to LGPLv2+.
3354         Requested by Eric Blake, for libvirt.
3355
3356 2011-03-30  Simon Josefsson  <simon@josefsson.org>
3357
3358         * users.txt: Add libidn2.  Fix libtasn1 link.
3359
3360 2011-03-30  Jim Meyering  <meyering@redhat.com>
3361
3362         tests: readlink* ("",... fails with EINVAL on newer kernels
3363         readlink and readlinkat have typically failed with ENOENT for
3364         the invalid, empty file name,  "".  However, with the advent
3365         of linux-2.6.39, they fail with EINVAL.
3366         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
3367         when operating on the empty file name.
3368         * tests/test-readlink.h (test_readlink): Likewise.
3369
3370 2011-03-29  Bruno Haible  <bruno@clisp.org>
3371
3372         Relicense some modules under LGPLv2+, for libidn2.
3373         * modules/array-mergesort (License): Change to LGPLv2+.
3374         * modules/c-strcaseeq (License): Likewise.
3375         * modules/striconveh (License): Likewise.
3376         * modules/striconveha (License): Likewise.
3377         * modules/uniconv/base (License): Likewise.
3378         * modules/uniconv/u8-conv-from-enc (License): Likewise.
3379         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
3380         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
3381         * modules/unictype/base (License): Likewise.
3382         * modules/unictype/bidiclass-of (License): Likewise.
3383         * modules/unictype/category-M (License): Likewise.
3384         * modules/unictype/category-none (License): Likewise.
3385         * modules/unictype/category-of (License): Likewise.
3386         * modules/unictype/category-test (License): Likewise.
3387         * modules/unictype/category-test-withtable (License): Likewise.
3388         * modules/unictype/combining-class (License): Likewise.
3389         * modules/unictype/joiningtype-of (License): Likewise.
3390         * modules/unictype/scripts (License): Likewise.
3391         * modules/uninorm/base (License): Likewise.
3392         * modules/uninorm/canonical-decomposition (License): Likewise.
3393         * modules/uninorm/composition (License): Likewise.
3394         * modules/uninorm/decompose-internal (License): Likewise.
3395         * modules/uninorm/decomposition-table (License): Likewise.
3396         * modules/uninorm/nfc (License): Likewise.
3397         * modules/uninorm/nfd (License): Likewise.
3398         * modules/uninorm/u32-normalize (License): Likewise.
3399         * modules/unistr/base (License): Likewise.
3400         * modules/unistr/u32-cpy (License): Likewise.
3401         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
3402         * modules/unistr/u32-to-u8 (License): Likewise.
3403         * modules/unistr/u32-uctomb (License): Likewise.
3404         * modules/unistr/u8-check (License): Likewise.
3405         * modules/unistr/u8-mblen (License): Likewise.
3406         * modules/unistr/u8-mbtouc (License): Likewise.
3407         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
3408         * modules/unistr/u8-mbtoucr (License): Likewise.
3409         * modules/unistr/u8-prev (License): Likewise.
3410         * modules/unistr/u8-strlen (License): Likewise.
3411         * modules/unistr/u8-to-u32 (License): Likewise.
3412         * modules/unistr/u8-uctomb (License): Likewise.
3413         * modules/unitypes (License): Likewise.
3414         Requested by Simon Josefsson.
3415
3416 2011-03-29  Simon Josefsson  <simon@josefsson.org>
3417
3418         lib-symbol-visibility: Add a notice.
3419         * modules/lib-symbol-visibility (Notice): New field.
3420
3421 2011-03-29  Bruno Haible  <bruno@clisp.org>
3422
3423         getaddrinfo: Doc fix.
3424         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
3425         section "fixed in Gnulib".
3426
3427 2011-03-28  Simon Josefsson  <simon@josefsson.org>
3428
3429         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
3430         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
3431
3432 2011-03-26  Bruno Haible  <bruno@clisp.org>
3433
3434         unictype/property-byname: Reduce the number of load-time relocations.
3435         * lib/unictype/pr_byname.c: Include <stdlib.h>.
3436         (UC_PROPERTY_INDEX_*): New enumeration values.
3437         (uc_property_byname): Convert an index from the lookup table to an
3438         uc_property_t.
3439         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
3440         values.
3441
3442 2011-03-26  Bruno Haible  <bruno@clisp.org>
3443
3444         unictype/property-byname: Allow omitted word separators and aliases.
3445         * lib/unictype/pr_byname.gperf: Add property names without word
3446         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
3447         for 'space'.
3448
3449 2011-03-26  Bruno Haible  <bruno@clisp.org>
3450
3451         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
3452         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
3453         also hyphens to space.
3454         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
3455         without spaces.
3456         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
3457
3458 2011-03-26  Bruno Haible  <bruno@clisp.org>
3459
3460         unictype/joiningtype-byname: Recognize long names as well.
3461         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
3462         a long name.
3463         * lib/unictype/joiningtype_byname.c: Include <string.h>,
3464         unictype/joiningtype_byname.h.
3465         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
3466         * lib/unictype/joiningtype_byname.gperf: New file.
3467         * modules/unictype/joiningtype-byname (Files): Add
3468         lib/unictype/joiningtype_byname.gperf.
3469         (Depends-on): Add gperf.
3470         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
3471         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
3472         long names.
3473
3474         Tests for module 'unictype/joiningtype-longname'.
3475         * modules/unictype/joiningtype-longname-tests: New file.
3476         * tests/unictype/test-joiningtype_longname.c: New file.
3477
3478         New module 'unictype/joiningtype-longname'.
3479         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
3480         * lib/unictype/joiningtype_longname.c: New file.
3481         * modules/unictype/joiningtype-longname: New file.
3482         * modules/unictype/joiningtype-all (Depends-on): Add
3483         unictype/joiningtype-longname.
3484
3485 2011-03-26  Bruno Haible  <bruno@clisp.org>
3486
3487         unictype/bidiclass-byname: Recognize long names as well.
3488         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
3489         name.
3490         * lib/unictype/bidi_byname.c: Include <string.h>,
3491         unictype/bidi_byname.h.
3492         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
3493         * lib/unictype/bidi_byname.gperf: New file.
3494         * modules/unictype/bidiclass-byname (Files): Add
3495         lib/unictype/bidi_byname.gperf.
3496         (Depends-on): Add gperf.
3497         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
3498         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
3499         long names.
3500
3501         Tests for module 'unictype/bidiclass-longname'.
3502         * modules/unictype/bidiclass-longname-tests: New file.
3503         * tests/unictype/test-bidi_longname.c: New file.
3504
3505         New module 'unictype/bidiclass-longname'.
3506         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
3507         * lib/unictype/bidi_longname.c: New file.
3508         * modules/unictype/bidiclass-longname: New file.
3509         * modules/unictype/bidiclass-all (Depends-on): Add
3510         unictype/bidiclass-longname.
3511
3512 2011-03-26  Bruno Haible  <bruno@clisp.org>
3513
3514         unictype/bidi*: Rename modules.
3515         * modules/unictype/bidiclass-all: Renamed from
3516         modules/unictype/bidicategory-all.
3517         * modules/unictype/bidiclass-name: Renamed from
3518         modules/unictype/bidiclass-name.
3519         (Description): Update.
3520         * modules/unictype/bidiclass-name-tests: Renamed from
3521         modules/unictype/bidicategory-name-tests.
3522         * modules/unictype/bidiclass-byname: Renamed from
3523         modules/unictype/bidicategory-byname.
3524         (Description): Update.
3525         * modules/unictype/bidiclass-byname-tests: Renamed from
3526         modules/unictype/bidicategory-byname-tests.
3527         * modules/unictype/bidiclass-of: Renamed from
3528         modules/unictype/bidicategory-of.
3529         (Description): Update.
3530         * modules/unictype/bidiclass-of-tests: Renamed from
3531         modules/unictype/bidicategory-of-tests.
3532         * modules/unictype/bidiclass-test: Renamed from
3533         modules/unictype/bidicategory-test.
3534         (Description): Update.
3535         * modules/unictype/bidiclass-test-tests: Renamed from
3536         modules/unictype/bidicategory-test-tests.
3537         * modules/unictype/bidicategory-all: New file, a simple redirection.
3538         * modules/unictype/bidicategory-name: Likewise.
3539         * modules/unictype/bidicategory-byname: Likewise.
3540         * modules/unictype/bidicategory-of: Likewise.
3541         * modules/unictype/bidicategory-test: Likewise.
3542         * modules/unictype/property-bidi-* (Dependencies): Update.
3543         * lib/unictype/bidi_*.c: Update comment.
3544
3545 2011-03-26  Bruno Haible  <bruno@clisp.org>
3546
3547         unictype/bidi*: Rename functions, part 2.
3548         * modules/unictype/bidicategory-name (configure.ac): Update required
3549         libunistring version.
3550         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
3551
3552 2011-03-25  Bruno Haible  <bruno@clisp.org>
3553
3554         New module 'unictype/combining-class-all'.
3555         * modules/unictype/combining-class-all: New file.
3556
3557         Tests for module 'unictype/combining-class-byname'.
3558         * modules/unictype/combining-class-byname-tests: New file.
3559         * tests/unictype/test-combiningclass_byname.c: New file.
3560
3561         New module 'unictype/combining-class-byname'.
3562         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
3563         * lib/unictype/combiningclass_byname.c: New file.
3564         * lib/unictype/combiningclass_byname.gperf: New file.
3565         * modules/unictype/combining-class-byname: New file.
3566
3567         Tests for module 'unictype/combining-class-longname'.
3568         * modules/unictype/combining-class-longname-tests: New file.
3569         * tests/unictype/test-combiningclass_longname.c: New file.
3570
3571         New module 'unictype/combining-class-longname'.
3572         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
3573         * lib/unictype/combiningclass_longname.c: New file.
3574         * modules/unictype/combining-class-longname: New file.
3575
3576         Tests for module 'unictype/combining-class-name'.
3577         * modules/unictype/combining-class-name-tests: New file.
3578         * tests/unictype/test-combiningclass_name.c: New file.
3579
3580         New module 'unictype/combining-class-name'.
3581         * lib/unictype.in.h (uc_combining_class_name): New declaration.
3582         * lib/unictype/combiningclass_name.c: New file.
3583         * modules/unictype/combining-class-name: New file.
3584
3585 2011-03-25  Bruno Haible  <bruno@clisp.org>
3586
3587         unictype/combining-class: Rename source files.
3588         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
3589         of unictype/combining.h.
3590         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
3591         Update.
3592         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
3593         * modules/unictype/combining-class (Description): Fix.
3594         (Files, Makefile.am): Update.
3595         * tests/unictype/test-combiningclass.c: Renamed from
3596         tests/unictype/test-combining.c.
3597         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
3598
3599 2011-03-25  Bruno Haible  <bruno@clisp.org>
3600
3601         unictype: Update list of canonical combining classes.
3602         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
3603
3604 2011-03-25  Bruno Haible  <bruno@clisp.org>
3605
3606         unictype/category-byname: Recognize long names as well.
3607         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
3608         a long name.
3609         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
3610         unictype/categ_byname.h.
3611         (UC_CATEGORY_INDEX_*): New enumeration values.
3612         (uc_general_category_byname): Use uc_general_category_lookup and
3613         convert from index to value.
3614         * lib/unictype/categ_byname.gperf: New file.
3615         * modules/unictype/category-byname (Files): Add
3616         lib/unictype/categ_byname.gperf.
3617         (Depends-on): Add gperf.
3618         (Makefile.am): Add rule for generating unictype/categ_byname.h.
3619         * tests/unictype/test-categ_byname.c (main): Test the recognition of
3620         long names.
3621
3622         Tests for module 'unictype/category-longname'.
3623         * modules/unictype/category-longname-tests: New file.
3624         * tests/unictype/test-categ_longname.c: New file.
3625
3626         New module 'unictype/category-longname'.
3627         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
3628         * lib/unictype/categ_longname.c: New file.
3629         * modules/unictype/category-longname: New file.
3630         * modules/unictype/category-all (Depends-on): Add it.
3631
3632 2011-03-25  Bruno Haible  <bruno@clisp.org>
3633
3634         Tests for module 'unictype/category-LC'.
3635         * modules/unictype/category-LC-tests: New file.
3636         * tests/unictype/test-categ_LC.c: New file, automatically generated.
3637
3638         New module 'unictype/category-LC'.
3639         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
3640         (UC_CATEGORY_LC): New declaration.
3641         (UC_CASED_LETTER): New macro.
3642         * lib/gen-uni-tables.c (is_category_LC): New function.
3643         (output_categories): Also handle category LC.
3644         (UC_CATEGORY_MASK_LC): New enumeration value.
3645         (general_category_byname): Also handle category LC.
3646         * lib/unictype/categ_LC.c: New file.
3647         * lib/unictype/categ_LC.h: New file, automatically generated.
3648         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
3649         category LC.
3650         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
3651         * modules/unictype/category-LC: New file.
3652         * modules/unictype/category-byname (Depends-on): Add
3653         unictype/category-LC.
3654         * modules/unictype/category-all (Depends-on): Likewise.
3655
3656 2011-03-25  Eric Blake  <eblake@redhat.com>
3657
3658         xmalloc: revert yesterday's regression
3659         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
3660         realloc's underlying behavior (allowing allocation of zero-size
3661         objects, especially if malloc-gnu is also in use).
3662
3663 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
3664
3665         maint.mk: add missing version to VC-tag
3666         * top/maint.mk: git tag was missing actual tag name; add it.
3667
3668         valgrind: do leak checking, and exit with code 1 on error (not 0)
3669         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
3670         to VALGRIND.
3671
3672 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
3673
3674         posix-modules: say what it does.
3675         * posix-modules: Add a line to the --help output saying what it does.
3676
3677 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
3678
3679         xmalloc: Do not leak if underlying realloc is C99 compatible.
3680         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
3681         This avoids a leak on C99-based systems.  See
3682         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
3683
3684 2011-03-24  Eric Blake  <eblake@redhat.com>
3685
3686         realloc: document portability problem
3687         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
3688         passing 0 size to realloc.
3689
3690 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
3691
3692         doc: update users.txt
3693         * users.txt: Add cvsps, tmpwatch
3694
3695 2011-03-23  Matt Rice  <ratmice@gmail.com>
3696
3697         doc: update users.txt
3698         * users.txt: Add gdb.
3699
3700 2011-03-23  Jim Meyering  <meyering@redhat.com>
3701
3702         doc: update users.txt
3703         Looking through matches up to the following URL (there are still
3704         several more pages), I found several projects that use gnulib:
3705         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
3706         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
3707         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
3708
3709 2011-03-22  Bruno Haible  <bruno@clisp.org>
3710
3711         unictype/bidi*: Rename functions.
3712         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
3713         uc_bidi_class, uc_is_bidi_class): New declarations.
3714         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
3715         uc_bidi_category_byname.
3716         (uc_bidi_category_byname): New function.
3717         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
3718         u_bidi_category_name.
3719         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
3720         (uc_bidi_category_name): New function.
3721         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
3722         uc_bidi_category.
3723         (uc_bidi_category): New function.
3724         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
3725         uc_is_bidi_category. Invoke uc_bidi_class.
3726         (uc_is_bidi_category): New function.
3727         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
3728         instead of uc_bidi_category_byname.
3729         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
3730         instead of uc_bidi_category_name.
3731         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
3732         uc_bidi_category.
3733         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
3734         instead of uc_is_bidi_category.
3735
3736 2011-03-21  Bruno Haible  <bruno@clisp.org>
3737
3738         New module 'unictype/joininggroup-all'.
3739         * modules/unictype/joininggroup-all: New file.
3740
3741         Tests for module 'unictype/joininggroup-of'.
3742         * modules/unictype/joininggroup-of-tests: New file.
3743         * tests/unictype/test-joininggroup_of.c: New file.
3744         * tests/unictype/test-joininggroup_of.h: New file, automatically
3745         generated by gen-uni-tables.
3746
3747         New module 'unictype/joininggroup-of'.
3748         * modules/unictype/joininggroup-of: New file.
3749         * lib/unictype/joininggroup_of.c: New file.
3750         * lib/unictype/joininggroup_of.h: New file, automatically generated by
3751         gen-uni-tables.
3752
3753         Tests for module 'unictype/joininggroup-byname'.
3754         * modules/unictype/joininggroup-byname-tests: New file.
3755         * tests/unictype/test-joininggroup_byname.c: New file.
3756
3757         New module 'unictype/joininggroup-byname'.
3758         * modules/unictype/joininggroup-byname: New file.
3759         * lib/unictype/joininggroup_byname.c: New file.
3760         * lib/unictype/joininggroup_byname.gperf: New file.
3761
3762         Tests for module 'unictype/joininggroup-name'.
3763         * modules/unictype/joininggroup-name-tests: New file.
3764         * tests/unictype/test-joininggroup_name.c: New file.
3765
3766         New module 'unictype/joininggroup-name'.
3767         * modules/unictype/joininggroup-name: New file.
3768         * lib/unictype/joininggroup_name.c: New file.
3769         * lib/unictype/joininggroup_name.h: New file.
3770
3771         New module 'unictype/joiningtype-all'.
3772         * modules/unictype/joiningtype-all: New file.
3773
3774         Tests for module 'unictype/joiningtype-of'.
3775         * modules/unictype/joiningtype-of-tests: New file.
3776         * tests/unictype/test-joiningtype_of.c: New file.
3777         * tests/unictype/test-joiningtype_of.h: New file, automatically
3778         generated by gen-uni-tables.
3779
3780         New module 'unictype/joiningtype-of'.
3781         * modules/unictype/joiningtype-of: New file.
3782         * lib/unictype/joiningtype_of.c: New file.
3783         * lib/unictype/joiningtype_of.h: New file, automatically generated by
3784         gen-uni-tables.
3785
3786         Tests for module 'unictype/joiningtype-byname'.
3787         * modules/unictype/joiningtype-byname-tests: New file.
3788         * tests/unictype/test-joiningtype_byname.c: New file.
3789
3790         New module 'unictype/joiningtype-byname'.
3791         * modules/unictype/joiningtype-byname: New file.
3792         * lib/unictype/joiningtype_byname.c: New file.
3793
3794         Tests for module 'unictype/joiningtype-name'.
3795         * modules/unictype/joiningtype-name-tests: New file.
3796         * tests/unictype/test-joiningtype_name.c: New file.
3797
3798         New module 'unictype/joiningtype-name'.
3799         * modules/unictype/joiningtype-name: New file.
3800         * lib/unictype/joiningtype_name.c: New file.
3801
3802         unictype: Add support for Arabic shaping properties.
3803         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
3804         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
3805         declarations.
3806         (UC_JOINING_GROUP_*): New enumeration values.
3807         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
3808         declarations.
3809         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
3810         (unicode_joining_type): New variable.
3811         (UC_JOINING_GROUP_*): New enumeration values.
3812         (unicode_joining_group): New variable.
3813         (fill_arabicshaping, joining_type_as_c_identifier,
3814         output_joining_type_test, output_joining_type,
3815         joining_group_as_c_identifier, output_joining_group_test,
3816         output_joining_group): New functions.
3817         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
3818         fill_arabicshaping and output_joining_type_test, output_joining_type,
3819         output_joining_group_test, output_joining_group.
3820         Reported by Simon Josefsson.
3821
3822 2011-03-21  Jim Meyering  <meyering@redhat.com>
3823
3824         strftime: fix a bug in yesterday's change
3825         * lib/strftime.c (add): Accommodate width's initial value of -1.
3826         Otherwise, nstrftime would copy uninitialized data into
3827         the result buffer.
3828
3829 2011-03-21  Jim Meyering  <meyering@redhat.com>
3830
3831         tests: add strftime-tests module
3832         * tests/test-strftime.c: New file.
3833         * modules/strftime-tests: New module.
3834
3835 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3836
3837         strftime: don't assume a byte count fits in 'int'
3838         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
3839         found this problem by static analysis, using gcc -Wstrict-overflow
3840         (GCC 4.5.2, x86-64).  This reported an optimization that depended
3841         on an integer overflow having undefined behavior, but it turns out
3842         that the argument is a size, which might not fit in 'int' anyway,
3843
3844 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3845
3846         stdio: don't require ignore_value around fwrite
3847
3848         This patch works around libc bug 11959
3849         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
3850         Without this patch, applications must often write
3851         ignore_value (fwrite (...)) even though the ignore_value is
3852         not helpful here.  It's common to write many objects, using
3853         fwrite/printf/etc., and then use ferror to detect output error.
3854
3855         I considered making this patch optional, but decided against it,
3856         because libc is obviously being inconsistent here: there is no
3857         reason libc should insist that user code must inspect fwrite
3858         return's value without also insisting that it inspect printf's,
3859         putchar's, etc.  If user code wants to have a strict style where
3860         all these functions' values are checked (so that ferror need not
3861         be checked), we could add support for that style in a new gnulib
3862         module, but in the meantime it's better to be consistent and to
3863         support common usage.
3864
3865         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
3866         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
3867         that we are compiling in checking mode, and if not C++, and
3868         if not already wrapping fwrite for some other reason.
3869         (fwrite): #define to rpl_fwrite if the latter is defined.
3870
3871 2011-03-20  Bruno Haible  <bruno@clisp.org>
3872
3873         verror: Fix compilation error introduced on 2011-02-13.
3874         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
3875         instead of __attribute__.
3876         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3877
3878 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3879             Bruno Haible  <bruno@clisp.org>
3880
3881         socklen: do not depend on sys_socket
3882         While trying to modify Emacs to use gnulib's socklen module,
3883         I discovered a circular dependency: socklen depends on sys_socket
3884         and vice versa.  Emacs can use socklen, but it does not need
3885         sys_socket because it has its own substitute for sys/socket.h.
3886         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
3887         gl_TYPE_SOCKLEN_T.
3888         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
3889         gl_PREREQ_SYS_H_SOCKET.
3890         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
3891         gl_PREREQ_SYS_H_SOCKET.
3892         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
3893         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
3894         * modules/socklen (Depends-on): Do not depend on sys_socket.
3895         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
3896
3897 2011-03-20  Jim Meyering  <meyering@redhat.com>
3898
3899         maint.mk: sort file names *after* new transformation
3900         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
3901         prefix would have led to an unwarranted failure in GNU parted.
3902         Sort after that transformation.
3903
3904 2011-03-19  Jim Meyering  <meyering@redhat.com>
3905
3906         maint.mk: fix po-file syntax-check rule
3907         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
3908         Patch by Bruno Haible.
3909
3910 2011-03-19  Bruno Haible  <bruno@clisp.org>
3911
3912         socklen: Update comment.
3913         * m4/socklen.m4: Update comment about platforms.
3914
3915 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3916             Bruno Haible  <bruno@clisp.org>
3917
3918         inet_ntop, inet_pton: Simplify.
3919         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
3920         documented to provide socklen_t and we already depend on sys_socket.
3921         * modules/inet_pton (Depends-on): Likewise.
3922         * lib/arpa_inet.in.h: Adjust comment.
3923
3924 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3925             Bruno Haible  <bruno@clisp.org>
3926
3927         netdb: Simplify.
3928         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
3929         documented to provide socklen_t and we already depend on sys_socket.
3930         * lib/netdb.in.h: Adjust comment.
3931
3932 2011-03-19  Bruno Haible  <bruno@clisp.org>
3933
3934         sys_socket, netdb: Document problem with socklen_t.
3935         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
3936         platforms.
3937         * doc/posix-headers/netdb.texi: Likewise.
3938
3939 2011-03-18  Eric Blake  <eblake@redhat.com>
3940
3941         maint.mk: let po check work in VPATH build
3942         * top/maint.mk (po_file): Allow cfg.mk override.
3943         (sc_po_check): Allow VPATH use.
3944         Reported by Jiri Denemark.
3945
3946 2011-03-16  Jim Meyering  <meyering@redhat.com>
3947
3948         maint.mk: allow fine-grained syntax-check exclusion via Make variables
3949         Before, you would have had to create one .x-sc_ file per rule in order
3950         to exempt offending files.  Now, you may instead use a Make variable --
3951         usually defined in cfg.mk -- whose name identifies the affected rule.
3952         * top/maint.mk (_sc_excl): Define.
3953         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
3954         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
3955
3956 2011-03-13  Bruno Haible  <bruno@clisp.org>
3957
3958         ignore-value tests: Avoid warnings.
3959         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
3960         empty for gcc < 3.4.
3961
3962 2011-03-13  Bruno Haible  <bruno@clisp.org>
3963
3964         passfd: Fix link error on Solaris.
3965         * modules/passfd (Description): Correct.
3966         (Depends-on): Add socketlib.
3967         (Link): New section.
3968         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
3969
3970 2011-03-13  Bruno Haible  <bruno@clisp.org>
3971
3972         passfd: Fix link error on AIX 5.2.
3973         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
3974
3975 2011-03-13  Bruno Haible  <bruno@clisp.org>
3976
3977         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
3978         * lib/sys_socket.in.h: Include <stddef.h>.
3979         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
3980         CMSG_FIRSTHDR. Remove unused variable.
3981
3982 2011-03-13  Bruno Haible  <bruno@clisp.org>
3983
3984         passfd: Fix compilation error on OpenBSD.
3985         * lib/passfd.c: Include <sys/uio.h>.
3986
3987 2011-03-13  Bruno Haible  <bruno@clisp.org>
3988
3989         passfd test: Fix warnings.
3990         * tests/test-passfd.c: Include <sys/wait.h>.
3991         (main): Fix typo.
3992
3993 2011-03-13  Bruno Haible  <bruno@clisp.org>
3994
3995         passfd module, part 4, tweaks.
3996         * tests/test-passfd.c: Reorder includes.
3997         (main): Fix perror and printf calls.
3998
3999 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4000
4001         passfd module, part 4.
4002         * modules/passfd-tests: New file.
4003         * tests/test-passfd.c: New file.
4004
4005 2011-03-13  Jim Meyering  <meyering@redhat.com>
4006
4007         Makefile: rely on GNU make; derive syntax-check rule names
4008         Rather than requiring that each sc_ rule be listed as a dependent
4009         of "check", use features of GNU make to derive the list.
4010         * Makefile (syntax-check-rules): Define.
4011         (check): Depend on the new variable, not the hard-coded list.
4012
4013 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
4014             Bruno Haible  <bruno@clisp.org>
4015
4016         passfd module, part 3.
4017         * lib/passfd.h (recvfd): Add a flags argument.
4018         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
4019         (recvfd): Add a flags argument.
4020         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
4021         exists.
4022         * modules/passfd (Depends-on): Add cloexec.
4023         Suggested by Eric Blake.
4024
4025 2011-03-13  Bruno Haible  <bruno@clisp.org>
4026
4027         passfd module, part 2, tweaks.
4028         * modules/passfd (Files): Reorder.
4029         (Depends-on): Remove errno.
4030         (Include): Remove <sys/socket.h>, <sys/un.h>.
4031         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
4032         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
4033         specification header. Include <sys/socket.h> always. Don't include
4034         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
4035         (sendfd): Clarify that it sets errno when it fails.
4036         (recvfd): Fix specification.
4037
4038 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4039
4040         passfd module, part 2.
4041         * modules/passfd: New file.
4042         * lib/passfd.h: New file.
4043         * lib/passfd.c: New file.
4044
4045 2011-03-12  Bruno Haible  <bruno@clisp.org>
4046
4047         wcswidth, mbswidth: Avoid integer overflow.
4048         * lib/wcswidth.c: Include <limits.h>.
4049         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
4050         * lib/mbswidth.c: Include <limits.h>.
4051         (mbsnwidth): Avoid 'int' overflow.
4052         Reported by Jim Meyering.
4053
4054 2011-03-12  Bruno Haible  <bruno@clisp.org>
4055
4056         futimens, utimensat: Avoid endless recursion on Solaris 10.
4057         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
4058         Solaris.
4059         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
4060         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
4061
4062 2011-03-11  Jim Meyering  <meyering@redhat.com>
4063
4064         maint.mk: relax a regexp to accommodate other formatting styles
4065         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
4066         between "ngettext" and the following "(".
4067
4068 2011-03-11  Pádraig Brady <P@draigBrady.com>
4069
4070         maint.mk: suppress a false positive warning
4071         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
4072         diagnostics are marked with ngettext.
4073
4074 2011-03-10  Eric Blake  <eblake@redhat.com>
4075
4076         wchar: add explicit dependencies, for Tru64
4077         * modules/mbmemcasecoll (Depends-on): Add wchar.
4078         * modules/mbtowc (Depends-on): Likewise.
4079         * modules/vasnprintf (Depends-on): Likewise.
4080         * modules/unistdio/u-printf-args (Depends-on): Likewise.
4081         * modules/wctomb (Depends-on): Likewise.
4082         Reported by Peter O'Gorman.
4083
4084 2011-03-08  Bruno Haible  <bruno@clisp.org>
4085
4086         passfd module, part 1, tweaks.
4087         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
4088         Improve indentation. Improve AC_MSG_CHECKING messages.
4089         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
4090         gl_SOCKET_FAMILIES.
4091
4092 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4093
4094         passfd module, part 1.
4095         * m4/afunix.m4: New file.
4096         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
4097         sockets.
4098
4099 2011-03-08  Bruno Haible  <bruno@clisp.org>
4100
4101         regex-quote: New API.
4102         * lib/regex-quote.h: Include <stdbool.h>.
4103         (struct regex_quote_spec): New type.
4104         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
4105         New declarations.
4106         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4107         'const struct regex_quote_spec *' argument.
4108         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
4109         (pcre_special): New constant.
4110         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
4111         New functions.
4112         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4113         'const struct regex_quote_spec *' argument.
4114         * modules/regex-quote (Depends-on): Add stdbool.
4115         * tests/test-regex-quote.c (check): Update for new API. Add test for
4116         anchored results.
4117         * NEWS: Mention the API change.
4118         Reported by Reuben Thomas and Eric Blake.
4119
4120 2011-03-06  Bruno Haible  <bruno@clisp.org>
4121
4122         regex-quote: Fix creation of POSIX extended regular expressions.
4123         * lib/regex-quote.c (ere_special): Add grouping and alternation
4124         operators.
4125
4126 2011-03-05  Bruno Haible  <bruno@clisp.org>
4127
4128         doc: Improve doc regarding autopoint vs. gnulib.
4129         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
4130         disable autopoint while running autoreconf.
4131         Suggested by Ralf Wildenhues.
4132
4133 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4134
4135         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
4136         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
4137
4138 2011-03-03  Bruce Korb  <bkorb@gnu.org>
4139
4140         parse-duration: remove xalloc.h dependency
4141         * lib/parse-duration.c (parse_period): handle NULL return from
4142         strdup instead of calling xstrdup().
4143         * modules/parse-duration: remove "xalloc" dependency
4144
4145 2011-03-03  Matthew Booth  <mbooth@redhat.com>
4146
4147         bootstrap: honor m4_base when running aclocal
4148         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
4149
4150 2011-03-02  Jim Meyering  <meyering@redhat.com>
4151
4152         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
4153         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
4154         on request from Matt Booth.
4155
4156 2011-03-01  Eric Blake  <eblake@redhat.com>
4157
4158         test-link: work on Hurd
4159         * tests/test-link.h (test_link): Hurd rejects linking directories
4160         with EISDIR instead of the POSIX-mandated EPERM.
4161
4162 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
4163
4164         stdio: simplify by moving files to printf-posix, sigpipe
4165         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
4166         since this symbol is needed only if printf is replaced.
4167         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
4168         Require gl_ASM_SYMBOL_PREFIX.
4169         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
4170         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
4171         (Depends-on): Add 'raise'.
4172         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
4173         * modules/stdio (Files): Remove lib/stdio-write.c,
4174         m4/asm-underscore.m4.
4175         (Depends-on): Remove 'raise'.
4176
4177         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
4178         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
4179         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
4180         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
4181
4182 2011-02-28  Bruno Haible  <bruno@clisp.org>
4183
4184         localcharset: Assume ANSI C behaviour of free().
4185         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
4186         calling free().
4187         Suggested by Simon Josefsson <simon@josefsson.org>.
4188
4189 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
4190             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
4191             Bruno Haible  <bruno@clisp.org>  (tiny change)
4192
4193         On Cygwin, use /proc file system instead of win32 API.
4194         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
4195         Win32 file names.
4196         (DllMain): Simplify by removing Cygwin specific code.
4197         (find_shared_library_fullname): Use Linux specific implementation also
4198         for Cygwin.
4199         (get_shared_library_fullname): Update accordingly.
4200         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
4201         Win32 file names.
4202         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
4203         Cygwin specific code.
4204
4205 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
4206             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
4207
4208         Fix OpenMP flag detection for various Fortran compilers.
4209         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
4210         OpenMP-conditional compilation construct, to force compile
4211         failure with missing OpenMP flag.
4212         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
4213
4214 2011-02-25  Eric Blake  <eblake@redhat.com>
4215
4216         strstr: expand test coverage
4217         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
4218         compilation.
4219         * tests/test-memmem.c (main): Duplicate tests.
4220         * tests/test-strcasestr.c (main): Likewise.
4221         * tests/test-c-strcasestr.c (main): Likewise.
4222
4223 2011-02-25  Jim Meyering  <meyering@redhat.com>
4224
4225         maint.mk: detect missing-NL-at-EOF, too
4226         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
4227         it also detects when a file lacks a newline at EOF.
4228         (require_exactly_one_NL_at_EOF_): Renamed from
4229         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
4230         since people may well have .x-sc_... file names tied to the
4231         existing name.  Suggested by Eric Blake.
4232
4233 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
4234
4235         dirname: move m4/dos.m4 functionality into lib/dosname.h
4236
4237         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
4238         extracts symbols from it, puts them into config.h; but it's much
4239         easier to use the symbols directly.  filename.h already does this,
4240         but it disagrees with dos.m4 in some respects.  This patch
4241         introduces a different include file dosname.h that packages up
4242         dos.m4, and then later we can work on merging filename.h and
4243         dosname.h.  Applications that need only the easy-to-configure
4244         symbols should consider including dosname.h rather than dirname.h.
4245         * NEWS: Mention incompatible changes.
4246         * m4/dos.m4: Remove.
4247         * lib/dosname.h, modules/dosname: New files.
4248         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
4249         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
4250         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
4251         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
4252         Include dosname.h, not dirname.h.
4253         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
4254         Include dosname.h, for definitions of symbols like ISSLASH
4255         that used to be in config.h.
4256         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
4257         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4258         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
4259         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4260         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
4261         * modules/rmdir (Files): Likewise.
4262         * modules/stat (Files): Likewise.
4263         * modules/unlink (Files): Likewise.
4264         * modules/dirname-lgpl (Depends-on): Add dosname.
4265         * modules/lstat (Depends-on): Likewise.
4266         * modules/openat (Depends-on): Likewise.
4267         * modules/rmdir (Depends-on): Likewise.
4268         * modules/savewd (Depends-on): Likewise.
4269         * modules/stat (Depends-on): Likewise.
4270         * modules/unlink (Depends-on): Likewise.
4271         * modules/openat (Depends-on): Remove dirname-lgpl.
4272         * modules/savewd (Depends-on): Likewise.
4273         * tests/test-dirname.c: Do not use removed symbols like
4274         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
4275         the remaining symbols, e.g., ISSLASH ('\\').
4276
4277 2011-02-25  Eric Blake  <eblake@redhat.com>
4278
4279         strstr: revert patches that introduced bug and pessimization
4280         * lib/str-two-way.h: Add another reference.
4281         (two_way_short_needle, two_way_long_needle): Revert changes from
4282         2011-02-24; they pessimize search speed.
4283         (critical_factorization): Partially revert changes from
4284         2010-06-22; they violate the requirement that the left half of the
4285         needle be smaller than the period of the needle.
4286
4287 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4288
4289         filenamecat: remove unnecessary dependency on dirname-lgpl
4290         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
4291         is no direct dependency, just an indirect one via filenamecat-lgpl.
4292
4293         remove: remove unnecessary use of m4/dos.m4
4294         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
4295         * modules/remove (FILES): Remove m4/dos.m4.
4296
4297         * lib/openat-proc.c: Don't include dirname.h; not needed.
4298
4299         backupfile: remove unnecessary use of m4/dos.m4
4300         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
4301         of its symbols are used by the backupfile code.  backupfile.c does
4302         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
4303         for the rare case of programs that want all their backup file
4304         names to live within 8+3 limits, and dos.m4 doesn't address that.
4305         * modules/backupfile (Files): Remove m4/dos.m4.
4306
4307 2011-02-24  Jim Meyering  <meyering@redhat.com>
4308
4309         strstr: fix a bug whereby strstr would mistakenly return NULL
4310         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
4311         in period calculation.
4312         (two_way_long_needle): Likewise.
4313         The original problem was reported by Mike Stump in
4314         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
4315         Ralf Wildenhues provided the short needle and haystack.
4316         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
4317         Add a more involved test to trigger the bug in two_way_long_needle.
4318
4319 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
4320
4321         gnulib-tool: remove use of bold display in help screen
4322         * gnulib-tool (func_usage): Do not use bold display anymore in the
4323         help screen.  That was just meant to be a temporary emphasis for a
4324         backward-incompatible change.
4325
4326 2011-02-23  Bruno Haible  <bruno@clisp.org>
4327
4328         Fix misindentation of preprocessor directives.
4329         * lib/argp-namefrob.h: Reindent preprocessor directives.
4330         * lib/getopt_int.h (struct _getopt_data): Likewise.
4331         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
4332         * lib/vasnprintf.c (decode_long_double): Likewise.
4333         * tests/test-argmatch.c: Insert blank lines, for clarity.
4334         * tests/test-exclude.c: Likewise.
4335
4336 2011-02-22  Bruno Haible  <bruno@clisp.org>
4337
4338         ioctl: Fix for MacOS X in 64-bit mode.
4339         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
4340         value.
4341         Suggested by Eric Blake.
4342         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
4343
4344 2011-02-22  Jim Meyering  <meyering@redhat.com>
4345
4346         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
4347         * Makefile (sc_cpp_indent_check): Don't limit the check to files
4348         in lib/.
4349
4350 2011-02-22  Eric Blake  <eblake@redhat.com>
4351
4352         maint: avoid any CDPATH issue
4353         * Makefile (sc_cpp_indent_check): Anchor cd argument.
4354
4355         maint: adjust cpp indentation for my modules, as well
4356         * Makefile (sc_cpp_indent_check): Add my name.
4357         * lib/fbufmode.c: Filter through cppi.
4358         * lib/fpurge.c: Likewise.
4359         * lib/freadable.c: Likewise.
4360         * lib/freading.c: Likewise.
4361         * lib/fwritable.c: Likewise.
4362         * lib/fwriting.c: Likewise.
4363         * lib/sigaction.c: Likewise.
4364
4365 2011-02-22  Jim Meyering  <meyering@redhat.com>
4366
4367         maint: adjust cpp indentation to reflect nesting depth
4368         I.e., in a block of code that begins with an unnested "#if",
4369         put one space between the "#" in column 1 and following token.
4370         For example,
4371         -#include <sys/vfs.h>
4372         +# include <sys/vfs.h>
4373         Do this only in .c files that are part of a module I maintain.
4374         * lib/linkat.c: Filter through cppi.
4375         * lib/nanosleep.c: Likewise.
4376         * lib/openat.c: Likewise.
4377         * lib/openat-die.c: Likewise.
4378         * lib/dup3.c: Likewise.
4379         * lib/fchownat.c: Likewise.
4380         * lib/flock.c: Likewise.
4381         * lib/fsync.c: Likewise.
4382         * lib/fts.c: Likewise.
4383         * lib/getpass.c: Likewise.
4384         * lib/gettimeofday.c: Likewise.
4385         * lib/userspec.c: Likewise.
4386         * Makefile (sc_cpp_indent_check): New rule, to check this.
4387
4388 2011-02-22  Bruno Haible  <bruno@clisp.org>
4389
4390         New module 'wctomb'.
4391         * lib/stdlib.in.h (wctomb): New declaration.
4392         * lib/wctomb.c: New file.
4393         * lib/wctomb-impl.h: New file.
4394         * m4/wctomb.m4: New file.
4395         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
4396         REPLACE_WCTOMB.
4397         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
4398         REPLACE_WCTOMB.
4399         * modules/wctomb: New file.
4400         * tests/test-stdlib-c++.cc: Test signature of wctomb.
4401         * doc/posix-functions/wctomb.texi: Mention the new module.
4402         * modules/wctob (Depends-on): Add wctomb.
4403
4404 2011-02-22  Bruno Haible  <bruno@clisp.org>
4405
4406         New module 'mbtowc'.
4407         * lib/stdlib.in.h (mbtowc): New declaration.
4408         * lib/mbtowc.c: New file.
4409         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
4410         * m4/mbtowc.m4: New file.
4411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
4412         REPLACE_MBTOWC.
4413         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
4414         REPLACE_MBTOWC.
4415         * modules/mbtowc: New file.
4416         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
4417         * doc/posix-functions/mbtowc.texi: Mention the new module.
4418         * modules/btowc (Depends-on): Add mbtowc.
4419
4420 2011-02-22  Bruno Haible  <bruno@clisp.org>
4421
4422         wcrtomb: Add more tests for native Windows platforms.
4423         * tests/test-wcrtomb-w32-1.sh: New file.
4424         * tests/test-wcrtomb-w32-2.sh: New file.
4425         * tests/test-wcrtomb-w32-3.sh: New file.
4426         * tests/test-wcrtomb-w32-4.sh: New file.
4427         * tests/test-wcrtomb-w32-5.sh: New file.
4428         * tests/test-wcrtomb-w32.c: New file.
4429         * modules/wcrtomb-tests (Files): Add them.
4430         (Makefile.am): Arrange to run these tests.
4431         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
4432         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
4433
4434 2011-02-20  Bruno Haible  <bruno@clisp.org>
4435
4436         wcrtomb: Enhance test.
4437         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
4438
4439 2011-02-20  Bruno Haible  <bruno@clisp.org>
4440
4441         mbrtowc: Tiny optimization.
4442         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
4443
4444 2011-02-20  Jim Meyering  <meyering@redhat.com>
4445
4446         test-exclude.c: remove unmatched #endif
4447         * tests/test-exclude.c: Remove stray #endif, left over from
4448         the change of a week ago.
4449
4450 2011-02-19  Jim Meyering  <meyering@redhat.com>
4451
4452         git-version-gen: skip "-dirty" check when appropriate
4453         * build-aux/git-version-gen: Don't run any git commands when the
4454         version string comes from .tarball-version.  Prior to this, we
4455         would run git update-index --refresh even from a just-unpacked
4456         tarball directory, and that could affect a .git/ directory in a
4457         parent of the build directory.  Reported by Mike Frysinger.
4458
4459 2011-02-19  Bruno Haible  <bruno@clisp.org>
4460
4461         unictype/property-byname: Reduce the size of the 'data' segment.
4462         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
4463
4464 2011-02-19  Bruno Haible  <bruno@clisp.org>
4465
4466         unictype/scripts: Reduce the size of the 'data' segment.
4467         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
4468         '%pic'.
4469         * lib/unictype/scripts_byname.gperf: Regenerated.
4470
4471 2011-02-19  Bruno Haible  <bruno@clisp.org>
4472
4473         stdint: Update documentation.
4474         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
4475
4476 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
4477
4478         stdint: omit redundant check for wchar.h
4479         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
4480         always tests whether wchar.h exists, so remove the now-redundant test.
4481
4482 2011-02-18  Bruno Haible  <bruno@clisp.org>
4483
4484         stdint: Cut dependency to module 'wchar'.
4485         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
4486         include the necessary prerequisites.
4487         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
4488         * modules/stdint (Depends-on): Remove wchar.
4489         (Makefile.am): Substitute HAVE_WCHAR_H.
4490         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
4491
4492 2011-02-18  Eric Blake  <eblake@redhat.com>
4493
4494         longlong: skip, rather than fail, on cross-compilation
4495         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
4496         when cross-compiling; regression from 2011-02-16.
4497
4498 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4499
4500         * NEWS: Mention 2011-02-08 change to stdlib.
4501
4502 2011-02-17  Bruno Haible  <bruno@clisp.org>
4503
4504         getloadavg: Add comments about platforms.
4505         * m4/getloadavg.m4: Add comment.
4506         * lib/getloadavg.c: Likewise.
4507
4508 2011-02-17  Bruno Haible  <bruno@clisp.org>
4509
4510         getloadavg: Fix link error on Solaris 2.6.
4511         * modules/getloadavg (Link): New section.
4512         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
4513         linking test-getloadavg.
4514         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
4515         getloadavg.
4516
4517 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4518
4519         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
4520         It was 'int', but this doesn't match the IRIX 6.5 manual.
4521         Suggested by Bruno Haible in
4522         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
4523
4524 2011-02-17  Bruno Haible  <bruno@clisp.org>
4525
4526         havelib: Fix comments.
4527         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
4528         change.
4529
4530 2011-02-17  Bruno Haible  <bruno@clisp.org>
4531
4532         havelib: Update config.rpath.
4533         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
4534
4535 2011-02-17  Bruno Haible  <bruno@clisp.org>
4536
4537         getloadavg test: Add some plausibility checks.
4538         * tests/test-getloadavg.c (check_avg): Print a warning when the value
4539         is improbable.
4540
4541 2011-02-16  Eric Blake  <eblake@redhat.com>
4542
4543         maintainer-makefile: make syntax-check a no-op from tarballs
4544         * top/maint.mk (no-vc-detected): New rule.
4545         (local-checks-available): Use it to avoid hanging if someone tries
4546         'make syntax-check' from a tarball.  Also append to any non-syntax
4547         checks already defined in cfg.mk.
4548
4549 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
4550
4551         longlong: tune, particularly for common case of c99
4552
4553         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
4554         or running anything if c99, or if unsigned long long int does not
4555         work.  In either case, we know the answer without further tests.
4556         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
4557         it at most once, and use its results for both long long int and
4558         unsigned long long int.  This is more likely to be efficient in
4559         the common case where the program wants to check for both long
4560         long int and unsigned long long int.
4561         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
4562         since the answer is already known.
4563
4564 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
4565
4566         getloadavg: set errno
4567         * lib/getloadavg.c: Set errno when returning -1.  If no other
4568         error number looks appropriate, set it to ENOSYS if the getloadavg
4569         looks like it can't possibly ever work, ENOTSUP otherwise.
4570         Suggested by Bruno Haible in
4571         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
4572
4573         getloadavg: trim unused parts and speed up 'configure'
4574         * NEWS: Document this.
4575         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
4576         always compiled if getloadavg is absent.
4577         Move test code to ...
4578         * tests/test-getloadavg.c: New file, containing previous
4579         contents of test from lib/getloadavg.c.  It also contains
4580         suggestions by Bruno Haible in
4581         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
4582         * modules/getloadavg-tests: New file.
4583         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
4584         Do tests in the same order as they're needed for getloadavg.c.
4585         Omit setgid-related tests that generate symbols KMEM_GROUP,
4586         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
4587         Do only the tests that are needed to see whether the system has
4588         getloadavg, moving the other tests into ...
4589         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
4590         NLIST_NAME_UNION; nobody should be using it.  Do not define
4591         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
4592         relevant, as the user of this module shouldn't care how getloadavg
4593         is implemented.
4594
4595         getloadavg: omit unused var
4596         * lib/getloadavg.c (getloadavg): Omit unused local variable.
4597
4598 2011-02-15  Jim Meyering  <meyering@redhat.com>
4599
4600         doc: update users.txt
4601         * users.txt: Update iwhd's URL.
4602
4603 2011-02-13  Bruno Haible  <bruno@clisp.org>
4604
4605         Consistent macro naming for macros that use GCC __attribute__.
4606         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
4607         _ATTRIBUTE_NONNULL_.
4608         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
4609         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
4610         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
4611         ATTRIBUTE_DEPRECATED.
4612         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
4613         ATTRIBUTE_NORETURN.
4614         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4615         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4616         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4617         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4618         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
4619         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
4620         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
4621         ATTRIBUTE_SENTINEL.
4622         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
4623         ATTRIBUTE_RETURN_CHECK.
4624         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
4625         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
4626         ATTRIBUTE_NORETURN.
4627         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
4628         Reported by Paul Eggert.
4629
4630 2011-02-13  Bruno Haible  <bruno@clisp.org>
4631
4632         Don't interfere with a program's definition of __attribute__.
4633         * lib/argp.h (__attribute__): Remove definition.
4634         (_GL_ATTRIBUTE_FORMAT): New macro.
4635         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
4636         * lib/argp-fmtstream.h (__attribute__): Remove definition.
4637         (_GL_ATTRIBUTE_FORMAT): New macro.
4638         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
4639         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
4640         GCC 3 or newer.
4641         * lib/error.h (__attribute__): Remove definition.
4642         (_GL_ATTRIBUTE_FORMAT): New macro.
4643         (error, error_at_line): Use it.
4644         * lib/hash.h (__attribute__): Remove definition.
4645         (ATTRIBUTE_WUR): Update definition. Define always.
4646         * lib/openat.h (__attribute__): Remove definition.
4647         (ATTRIBUTE_NORETURN): Update definition. Define always.
4648         * lib/sigpipe-die.h (__attribute__): Remove definition.
4649         (ATTRIBUTE_NORETURN): Update definition. Define always.
4650         * lib/vasnprintf.h (__attribute__): Remove definition.
4651         (_GL_ATTRIBUTE_FORMAT): New macro.
4652         (asnprintf, vasnprintf): Use it.
4653         * lib/xalloc.h (__attribute__): Remove definition.
4654         (ATTRIBUTE_NORETURN): Update definition. Define always.
4655         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
4656         * lib/xmemdup0.h (__attribute__): Remove definition.
4657         (ATTRIBUTE_NORETURN): Update definition. Define always.
4658         * lib/xprintf.h (__attribute__): Remove definition.
4659         (_GL_ATTRIBUTE_FORMAT): New macro.
4660         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
4661         * lib/xstrtol.h (__attribute__): Remove definition.
4662         (ATTRIBUTE_NORETURN): Update definition. Define always.
4663         * lib/xvasprintf.h (__attribute__): Remove definition.
4664         (_GL_ATTRIBUTE_FORMAT): New macro.
4665         (xasprintf, xvasprintf): Use it.
4666         * tests/test-argmatch.c (__attribute__): Remove definition.
4667         (ATTRIBUTE_NORETURN): Update definition. Define always.
4668         * tests/test-exclude.c (__attribute__): Remove definition.
4669         (ATTRIBUTE_NORETURN): Update definition. Define always.
4670         Reported by Paul Eggert.
4671
4672 2011-02-13  Bruno Haible  <bruno@clisp.org>
4673
4674         mbrtowc: Add more tests for native Windows platforms.
4675         * tests/test-mbrtowc-w32-1.sh: New file.
4676         * tests/test-mbrtowc-w32-2.sh: New file.
4677         * tests/test-mbrtowc-w32-3.sh: New file.
4678         * tests/test-mbrtowc-w32-4.sh: New file.
4679         * tests/test-mbrtowc-w32-5.sh: New file.
4680         * tests/test-mbrtowc-w32.c: New file.
4681         * modules/mbrtowc-tests (Files): Add them.
4682         (Makefile.am): Arrange to run these tests.
4683         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
4684         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
4685
4686 2011-02-13  Bruno Haible  <bruno@clisp.org>
4687
4688         mbrtowc: Work around native Windows bug.
4689         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
4690         guess when no suitable locale for testing was found.
4691         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
4692
4693 2011-02-13  Bruno Haible  <bruno@clisp.org>
4694
4695         mbsinit: Work around mingw bug.
4696         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
4697         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
4698         Windows.
4699         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
4700
4701 2011-02-13  Bruno Haible  <bruno@clisp.org>
4702
4703         mbsinit: Don't crash for a NULL argument.
4704         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
4705         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
4706
4707 2011-02-13  Bruno Haible  <bruno@clisp.org>
4708
4709         Don't interfere with a program's definition of __attribute__.
4710         * lib/stdio.in.h (__attribute__): Remove definition.
4711         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
4712         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
4713         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
4714         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
4715         * lib/string.in.h (__attribute__): Remove definition.
4716         Reported by Paul Eggert.
4717
4718 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4719
4720         stdlib: don't get in the way of non-GCC __attribute__
4721         See thread starting at
4722         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
4723         Revert previous stdlib change, installing the following instead:
4724         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
4725         to get in the way of a non-GCC compiler that supports __attribute__.
4726         (_GL_ATTRIBUTE_RETURN): New macro.
4727         (_Exit): Use it instead of __attribute__.
4728
4729 2011-02-12  Bruno Haible  <bruno@clisp.org>
4730
4731         quotearg test: Avoid test failure on mingw.
4732         * tests/test-quotearg.sh: Convert the locale identifier from native
4733         Windows syntax to Unix syntax.
4734
4735 2011-02-12  Bruno Haible  <bruno@clisp.org>
4736
4737         setlocale: Prefer gnulib's override over libintl's override.
4738         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
4739         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
4740         GNULIB_defined_setlocale is set.
4741
4742 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4743
4744         stdlib: support non-GCC __attribute__
4745
4746         Fix a serious and tricky problem encountered when attempting to
4747         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
4748         5.5, but it crashed due to memory corruption on Solaris 10 with
4749         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
4750         bits that are otherwise zero.  This tagging is optional inside
4751         Emacs but is preferred and is used when __attribute__ ((__aligned
4752         (8))) works, as it does with both recent-enough GCC and with Sun C
4753         5.11.  However, Sun C 5.11 is not GCC and does not #define
4754         __GNUC__ and __GNUC_MINOR__.
4755
4756         When I added the getloadavg module to Emacs, it brought in
4757         stdlib.in.h, which contained this fragment:
4758
4759            #ifndef __attribute__
4760            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
4761            #  define __attribute__(Spec)   /* empty */
4762            # endif
4763            #endif
4764
4765         When files that include <stdlib.h> were compiled with Sun C 5.11,
4766         the above code disabled __attribute__ ((__aligned (8))), which
4767         caused variables to not be properly aligned, which eventually led
4768         to the pointer corruption mentioned above.  (This was a bit hard
4769         to diagnose, unfortunately.)
4770
4771         Several "#define __attribute__(X) /* empty */" code snippets need
4772         to be eradicated from Gnulib to work with non-GCC compilers that
4773         support __attribute__.  The Autoconf way to do this is to test for
4774         each kind of attribute that we want support for, and selectively
4775         enable that in source code.
4776
4777         Fix this problem just for stdlib.h, by adding a test for the
4778         __noreturn__ attribute, and change stdlib.in.h to use that test
4779         when needed.  This technique can be easily generalized to the
4780         other *.in.h files and attributes, and a similar technique can be
4781         used for *.h and *.c files.  This patch is enough to solve the
4782         problem for Emacs + getloadavg, and I thought I'd publish it for
4783         feedback before undertaking further, similar fixes in other
4784         modules.
4785
4786         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
4787         because it's not needed for stdlib.h.  It merely substitutes the
4788         value directly into stdlib.h.  We may well need to #define it, or
4789         similar symbols, for other modules, but it's nice to also have an
4790         option to not #define it for applications like Emacs that do not
4791         need it.
4792
4793         * lib/stdlib.in.h (__attribute__): Do not #define.
4794         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
4795         be defined only if the _Exit module is also used.
4796         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
4797         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
4798         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
4799         platforms.
4800         * modules/_Exit (Files): Add m4/attribute.m4.
4801         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
4802         * m4/attribute.m4: New file.
4803
4804 2011-02-12  Bruno Haible  <bruno@clisp.org>
4805
4806         wcsrtombs: Work around bug on native Windows.
4807         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
4808         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
4809         instead of len.
4810         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
4811
4812 2011-02-12  Bruno Haible  <bruno@clisp.org>
4813
4814         mbsrtowcs: Work around bug on native Windows.
4815         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
4816         against mingw bug.
4817         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
4818
4819 2011-02-12  Bruno Haible  <bruno@clisp.org>
4820
4821         Avoid setlocale bugs in tests.
4822         * modules/btowc (Dependencies): Add setlocale.
4823         * modules/c-strcase (Dependencies): Likewise.
4824         * modules/mbmemcasecmp (Dependencies): Likewise.
4825         * modules/mbmemcasecoll (Dependencies): Likewise.
4826         * modules/mbrtowc (Dependencies): Likewise.
4827         * modules/mbscasecmp (Dependencies): Likewise.
4828         * modules/mbscasestr (Dependencies): Likewise.
4829         * modules/mbschr (Dependencies): Likewise.
4830         * modules/mbscspn (Dependencies): Likewise.
4831         * modules/mbsinit (Dependencies): Likewise.
4832         * modules/mbsncasecmp (Dependencies): Likewise.
4833         * modules/mbsnrtowcs (Dependencies): Likewise.
4834         * modules/mbspbrk (Dependencies): Likewise.
4835         * modules/mbspcasecmp (Dependencies): Likewise.
4836         * modules/mbsrchr (Dependencies): Likewise.
4837         * modules/mbsrtowcs (Dependencies): Likewise.
4838         * modules/mbsspn (Dependencies): Likewise.
4839         * modules/mbsstr (Dependencies): Likewise.
4840         * modules/nl_langinfo (Dependencies): Likewise.
4841         * modules/quotearg (Dependencies): Likewise.
4842         * modules/unicase/locale-language (Dependencies): Likewise.
4843         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
4844         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
4845         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
4846         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
4847         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
4848         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
4849         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
4850         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
4851         * modules/vasnprintf-posix (Dependencies): Likewise.
4852         * modules/wcrtomb (Dependencies): Likewise.
4853         * modules/wcsnrtombs (Dependencies): Likewise.
4854         * modules/wcsrtombs (Dependencies): Likewise.
4855
4856 2011-02-12  Bruno Haible  <bruno@clisp.org>
4857
4858         setlocale: Workaround native Windows bug.
4859         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
4860         succeeds but sets LC_CTYPE to "C", report a failure.
4861         * tests/test-setlocale2.sh: New file.
4862         * tests/test-setlocale2.c: New file.
4863         * modules/setlocale-tests (Files): Add the new files.
4864         (Makefile.am): Enable test-setlocale2.sh test.
4865         * doc/posix-functions/setlocale.texi: Mention workaround.
4866
4867 2011-02-11  Bruno Haible  <bruno@clisp.org>
4868
4869         Tests for module 'setlocale'.
4870         * modules/setlocale-tests: New file.
4871         * tests/test-setlocale1.sh: New file.
4872         * tests/test-setlocale1.c: New file.
4873
4874         New module 'setlocale'.
4875         * lib/locale.in.h (setlocale): New declaration.
4876         * lib/setlocale.c: New file, based on
4877         gettext/gettext-runtime/intl/setlocale.c.
4878         * m4/setlocale.m4: New file.
4879         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
4880         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
4881         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
4882         REPLACE_SETLOCALE.
4883         * modules/setlocale: New file.
4884         * tests/test-locale-c++.cc: Test the declaration of setlocale.
4885         * doc/posix-functions/setlocale.texi: Mention the new module.
4886
4887 2011-02-11  Bruno Haible  <bruno@clisp.org>
4888
4889         Prepare for locale dependent tests on mingw.
4890         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
4891         because it has the wrong locale encoding.
4892         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
4893         French_France.1252 instead of "fr".
4894         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
4895         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
4896         because it has the wrong locale encoding.
4897         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
4898         native Windows, try Turkish_Turkey.65001.
4899         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
4900         Chinese_China.54936.
4901
4902         Prepare for locale dependent tests on mingw.
4903         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
4904         differently.
4905         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
4906         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
4907         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
4908         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4909
4910 2011-02-11  Eric Blake  <eblake@redhat.com>
4911
4912         strptime: avoid compiler warnings
4913         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
4914         compiler warnings about dead code.
4915         Reported by Daniel P. Berrange.
4916
4917 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
4918
4919         doc: update users.txt
4920         * users.txt: Add rcs.
4921
4922 2011-02-10  John W. Eaton  <jwe@gnu.org>
4923
4924         doc: update users.txt
4925         * users.txt: Add octave.
4926
4927 2011-02-10  Jim Meyering  <meyering@redhat.com>
4928
4929         doc: update users.txt
4930         * users.txt: Add iwhd.
4931
4932 2011-02-09  Bruno Haible  <bruno@clisp.org>
4933
4934         gnulib-tool: Make copyright notice adjustment more robust.
4935         * gnulib-tool (func_import): In sed_transform_main_lib_file,
4936         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
4937         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
4938         License".
4939         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
4940
4941 2011-02-06  Bruno Haible  <bruno@clisp.org>
4942
4943         New module 'towctrans'.
4944         * modules/towctrans: New file.
4945         * lib/wctype.in.h (towctrans): New declaration.
4946         * lib/towctrans.c: New file.
4947         * lib/towctrans-impl.h: New file.
4948         * m4/towctrans.m4: New file.
4949         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
4950         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
4951         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
4952         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
4953         * doc/posix-functions/towctrans.texi: Mention the new module.
4954
4955 2011-02-06  Bruno Haible  <bruno@clisp.org>
4956
4957         New module 'wctrans'.
4958         * modules/wctrans: New file.
4959         * lib/wctype.in.h (wctrans): New declaration.
4960         * lib/wctrans.c: New file.
4961         * lib/wctrans-impl.h: New file.
4962         * m4/wctrans.m4: New file.
4963         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
4964         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
4965         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
4966         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
4967         * doc/posix-functions/wctrans.texi: Mention the new module.
4968
4969 2011-02-06  Bruno Haible  <bruno@clisp.org>
4970
4971         New module 'iswctype'.
4972         * modules/iswctype: New file.
4973         * lib/wctype.in.h (iswctype): New declaration.
4974         * lib/iswctype.c: New file.
4975         * lib/iswctype-impl.h: New file.
4976         * m4/iswctype.m4: New file.
4977         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
4978         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
4979         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
4980         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
4981         * doc/posix-functions/iswctype.texi: Mention the new module and the
4982         HP-UX 11.00 problem.
4983
4984 2011-02-06  Bruno Haible  <bruno@clisp.org>
4985
4986         New module 'wctype'.
4987         * modules/wctype: Change to represent the wctype() substitute.
4988         * lib/wctype.in.h (wctype): New declaration.
4989         * lib/wctype.c: New file.
4990         * lib/wctype-impl.h: New file.
4991         * m4/wctype.m4: New file.
4992         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
4993         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
4994         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
4995         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
4996         * doc/posix-functions/wctype.texi: Mention the new module and the
4997         HP-UX 11.00 problem.
4998
4999 2011-02-06  Bruno Haible  <bruno@clisp.org>
5000
5001         wctype-h: Ensure wctype_t and wctrans_t are defined.
5002         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
5003         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5004         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5005         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
5006         HAVE_WCTRANS_T.
5007         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
5008
5009 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5010
5011         flock: fix license typo
5012
5013         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
5014         omitted.
5015
5016 2011-02-08  Bruno Haible  <bruno@clisp.org>
5017
5018         Split large sed scripts, for HP-UX sed.
5019         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
5020         to avoid HP-UX limit of 99 commands, in the near future.
5021         * modules/stdlib (Makefile.am): Likewise.
5022         * modules/unistd (Makefile.am): Likewise.
5023         * modules/wchar (Makefile.am): Likewise.
5024         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5025         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
5026         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
5027
5028 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5029             Bruno Haible  <bruno@clisp.org>
5030
5031         stdlib: improve random_r modularization
5032         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
5033         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
5034         you also need the random_r module to get this material right.
5035         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
5036         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
5037         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
5038
5039 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5040
5041         stdlib: don't depend on stdint
5042         * lib/stdlib.in.h: Don't include <stdint.h> merely because
5043         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
5044         be independent of whether stdint.h is needed.
5045         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
5046         here, instead of ...
5047         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
5048         struct random_data should be using the random_r module, not just
5049         the stdlib module (which wouldn't make sense: what package needs
5050         just struct random_data without also needing random_r?).
5051         * modules/stdlib (Depends-on): Remove stdint.
5052
5053         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
5054         See the thread rooted at
5055         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
5056         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
5057         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
5058         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
5059         __VMS)); previously it was always included (via fcntl--.h).
5060         (getloadavg): Do not use c_strtod.  Instead, approximate it by
5061         hand; this is good enough for load averages.  Also, do not use
5062         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
5063         flags directly if available and don't bother otherwise.  (Packages
5064         that need the extra reliability should use the modules that define
5065         these flags on older platforms that lack them.)
5066         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
5067         fcntl-safer.
5068
5069 2011-02-08  Jim Meyering  <meyering@redhat.com>
5070
5071         di-set.h, ino-map.h: add multiple-inclusion guard
5072         Technically, the guard is required only for ino-map.h, due to its
5073         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
5074         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
5075         * lib/ino-map.h: Likewise.
5076
5077 2011-02-06  Bruno Haible  <bruno@clisp.org>
5078
5079         iswblank: Ensure declaration on glibc systems.
5080         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
5081         * modules/iswblank (Dependencies): Add 'extensions'.
5082         * doc/posix-functions/iswblank.texi: Document the glibc problem.
5083
5084 2011-02-06  Bruno Haible  <bruno@clisp.org>
5085
5086         New module 'iswblank'.
5087         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
5088         * modules/iswblank: New file.
5089         * modules/wctype-h (Files): Remove lib/iswblank.c.
5090         (Makefile.am): Substitute GNULIB_ISWBLANK.
5091         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
5092         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
5093         (gl_WCTYPE_H_DEFAULTS): New macro.
5094         (gl_WCTYPE_H): Require it. Remove iswblank related code.
5095         * modules/iswblank-tests: New file.
5096         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
5097         * tests/test-wctype-h.c (main): Remove iswblank tests.
5098         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
5099         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
5100         of 'wctype-h'.
5101         * NEWS: Mention the change.
5102         * modules/mbchar (Depends-on): Add iswblank.
5103
5104 2011-02-08  Bruno Haible  <bruno@clisp.org>
5105
5106         di-set tests: Refactor.
5107         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
5108         unnecessary includes.
5109         (ASSERT): Remove macro.
5110         (main): Make C90 compliant by avoiding variable declaration after
5111         statement.
5112         * modules/di-set-tests (Files): Add tests/macros.h.
5113
5114 2011-02-08  Bruno Haible  <bruno@clisp.org>
5115
5116         ino-map tests: Refactor.
5117         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
5118         unnecessary includes.
5119         (ASSERT): Remove macro.
5120         (main): Make C90 compliant by avoiding variable declaration after
5121         statement.
5122         * modules/ino-map-tests (Files): Add tests/macros.h.
5123
5124 2011-02-08  Jim Meyering  <meyering@redhat.com>
5125
5126         di-set: add "const" to a cast
5127         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
5128         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
5129
5130 2011-02-06  Bruno Haible  <bruno@clisp.org>
5131
5132         Rename module 'wctype' to 'wctype-h'.
5133         * modules/wctype-h: Renamed from modules/wctype.
5134         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
5135         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
5136         (Files, Depends-on, Makefile.am): Update.
5137         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
5138         (Files, Makefile.am): Update.
5139         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
5140         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
5141         * doc/posix-headers/wctype.texi: Update.
5142         * doc/posix-functions/iswalnum.texi: Update.
5143         * doc/posix-functions/iswalpha.texi: Update.
5144         * doc/posix-functions/iswblank.texi: Update.
5145         * doc/posix-functions/iswcntrl.texi: Update.
5146         * doc/posix-functions/iswdigit.texi: Update.
5147         * doc/posix-functions/iswgraph.texi: Update.
5148         * doc/posix-functions/iswlower.texi: Update.
5149         * doc/posix-functions/iswprint.texi: Update.
5150         * doc/posix-functions/iswpunct.texi: Update.
5151         * doc/posix-functions/iswspace.texi: Update.
5152         * doc/posix-functions/iswupper.texi: Update.
5153         * doc/posix-functions/iswxdigit.texi: Update.
5154         * doc/posix-functions/towlower.texi: Update.
5155         * doc/posix-functions/towupper.texi: Update.
5156         * NEWS: Mention the change.
5157         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
5158         * modules/mbchar (Dependencies): Likewise.
5159         * modules/mbswidth (Dependencies): Likewise.
5160         * modules/quotearg (Dependencies): Likewise.
5161         * modules/regex (Dependencies): Likewise.
5162         * modules/wcscasecmp (Dependencies): Likewise.
5163         * modules/wcsncasecmp (Dependencies): Likewise.
5164         * modules/wcwidth (Dependencies): Likewise.
5165
5166 2011-02-06  Bruno Haible  <bruno@clisp.org>
5167
5168         New module 'wcswidth'.
5169         * modules/wcswidth: New file.
5170         * lib/wchar.in.h (wcswidth): New declaration.
5171         * lib/wcswidth.c: New file.
5172         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
5173         * m4/wcswidth.m4: New file.
5174         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
5175         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
5176         REPLACE_WCSWIDTH.
5177         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
5178         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
5179         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
5180         * doc/posix-functions/wcswidth.texi: Mention the new module.
5181
5182 2011-02-06  Bruno Haible  <bruno@clisp.org>
5183
5184         New module 'wcstok'.
5185         * modules/wcstok: New file.
5186         * lib/wchar.in.h (wcstok): New declaration.
5187         * lib/wcstok.c: New file.
5188         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
5189         * m4/wcstok.m4: New file.
5190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
5191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
5192         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
5193         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
5194         * doc/posix-functions/wcstok.texi: Mention the new module.
5195
5196 2011-02-06  Bruno Haible  <bruno@clisp.org>
5197
5198         New module 'wcsstr'.
5199         * modules/wcsstr: New file.
5200         * lib/wchar.in.h (wcsstr): New declaration.
5201         * lib/wcsstr.c: New file.
5202         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
5203         * m4/wcsstr.m4: New file.
5204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
5205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
5206         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
5207         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
5208         * doc/posix-functions/wcsstr.texi: Mention the new module.
5209
5210 2011-02-06  Bruno Haible  <bruno@clisp.org>
5211
5212         New module 'wcspbrk'.
5213         * modules/wcspbrk: New file.
5214         * lib/wchar.in.h (wcspbrk): New declaration.
5215         * lib/wcspbrk.c: New file.
5216         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
5217         * m4/wcspbrk.m4: New file.
5218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
5219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
5220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
5221         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
5222         * doc/posix-functions/wcspbrk.texi: Mention the new module.
5223
5224 2011-02-06  Bruno Haible  <bruno@clisp.org>
5225
5226         New module 'wcsspn'.
5227         * modules/wcsspn: New file.
5228         * lib/wchar.in.h (wcsspn): New declaration.
5229         * lib/wcsspn.c: New file.
5230         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
5231         * m4/wcsspn.m4: New file.
5232         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
5233         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
5234         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
5235         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
5236         * doc/posix-functions/wcsspn.texi: Mention the new module.
5237
5238 2011-02-06  Bruno Haible  <bruno@clisp.org>
5239
5240         New module 'wcscspn'.
5241         * modules/wcscspn: New file.
5242         * lib/wchar.in.h (wcscspn): New declaration.
5243         * lib/wcscspn.c: New file.
5244         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
5245         * m4/wcscspn.m4: New file.
5246         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
5247         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
5248         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
5249         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
5250         * doc/posix-functions/wcscspn.texi: Mention the new module.
5251
5252 2011-02-06  Bruno Haible  <bruno@clisp.org>
5253
5254         New module 'wcsrchr'.
5255         * modules/wcsrchr: New file.
5256         * lib/wchar.in.h (wcsrchr): New declaration.
5257         * lib/wcsrchr.c: New file.
5258         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
5259         * m4/wcsrchr.m4: New file.
5260         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
5261         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
5262         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
5263         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
5264         * doc/posix-functions/wcsrchr.texi: Mention the new module.
5265
5266 2011-02-06  Bruno Haible  <bruno@clisp.org>
5267
5268         New module 'wcschr'.
5269         * modules/wcschr: New file.
5270         * lib/wchar.in.h (wcschr): New declaration.
5271         * lib/wcschr.c: New file.
5272         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
5273         * m4/wcschr.m4: New file.
5274         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
5275         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
5276         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
5277         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
5278         * doc/posix-functions/wcschr.texi: Mention the new module.
5279
5280 2011-02-06  Bruno Haible  <bruno@clisp.org>
5281
5282         New module 'wcsdup'.
5283         * modules/wcsdup: New file.
5284         * lib/wchar.in.h (wcsdup): New declaration.
5285         * lib/wcsdup.c: New file.
5286         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
5287         * m4/wcsdup.m4: New file.
5288         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
5289         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
5290         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
5291         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
5292         * doc/posix-functions/wcsdup.texi: Mention the new module.
5293
5294 2011-02-06  Bruno Haible  <bruno@clisp.org>
5295
5296         New module 'wcsxfrm'.
5297         * modules/wcsxfrm: New file.
5298         * lib/wchar.in.h (wcsxfrm): New declaration.
5299         * lib/wcsxfrm.c: New file.
5300         * lib/wcsxfrm-impl.h: New file.
5301         * m4/wcsxfrm.m4: New file.
5302         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
5303         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
5304         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
5305         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
5306         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
5307
5308 2011-02-06  Bruno Haible  <bruno@clisp.org>
5309
5310         New module 'wcscoll'.
5311         * modules/wcscoll: New file.
5312         * lib/wchar.in.h (wcscoll): New declaration.
5313         * lib/wcscoll.c: New file.
5314         * lib/wcscoll-impl.h: New file.
5315         * m4/wcscoll.m4: New file.
5316         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
5317         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
5318         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
5319         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
5320         * doc/posix-functions/wcscoll.texi: Mention the new module.
5321
5322 2011-02-06  Bruno Haible  <bruno@clisp.org>
5323
5324         New module 'wcsncasecmp'.
5325         * modules/wcsncasecmp: New file.
5326         * lib/wchar.in.h (wcsncasecmp): New declaration.
5327         * lib/wcsncasecmp.c: New file.
5328         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
5329         * m4/wcsncasecmp.m4: New file.
5330         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
5331         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
5332         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
5333         HAVE_WCSNCASECMP.
5334         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
5335         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
5336
5337 2011-02-06  Bruno Haible  <bruno@clisp.org>
5338
5339         New module 'wcscasecmp'.
5340         * modules/wcscasecmp: New file.
5341         * lib/wchar.in.h (wcscasecmp): New declaration.
5342         * lib/wcscasecmp.c: New file.
5343         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
5344         * m4/wcscasecmp.m4: New file.
5345         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
5346         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
5347         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
5348         HAVE_WCSCASECMP.
5349         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
5350         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
5351
5352 2011-02-05  Bruno Haible  <bruno@clisp.org>
5353
5354         New module 'wcsncmp'.
5355         * modules/wcsncmp: New file.
5356         * lib/wchar.in.h (wcsncmp): New declaration.
5357         * lib/wcsncmp.c: New file.
5358         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
5359         * m4/wcsncmp.m4: New file.
5360         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
5361         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
5362         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
5363         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
5364         * doc/posix-functions/wcsncmp.texi: Mention the new module.
5365
5366 2011-02-05  Bruno Haible  <bruno@clisp.org>
5367
5368         New module 'wcscmp'.
5369         * modules/wcscmp: New file.
5370         * lib/wchar.in.h (wcscmp): New declaration.
5371         * lib/wcscmp.c: New file.
5372         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
5373         * m4/wcscmp.m4: New file.
5374         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
5375         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
5376         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
5377         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
5378         * doc/posix-functions/wcscmp.texi: Mention the new module.
5379
5380 2011-02-05  Bruno Haible  <bruno@clisp.org>
5381
5382         New module 'wcsncat'.
5383         * modules/wcsncat: New file.
5384         * lib/wchar.in.h (wcsncat): New declaration.
5385         * lib/wcsncat.c: New file.
5386         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
5387         * m4/wcsncat.m4: New file.
5388         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
5389         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
5390         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
5391         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
5392         * doc/posix-functions/wcsncat.texi: Mention the new module.
5393
5394 2011-02-05  Bruno Haible  <bruno@clisp.org>
5395
5396         New module 'wcscat'.
5397         * modules/wcscat: New file.
5398         * lib/wchar.in.h (wcscat): New declaration.
5399         * lib/wcscat.c: New file.
5400         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
5401         * m4/wcscat.m4: New file.
5402         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
5403         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
5404         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
5405         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
5406         * doc/posix-functions/wcscat.texi: Mention the new module.
5407
5408 2011-02-05  Bruno Haible  <bruno@clisp.org>
5409
5410         New module 'wcpncpy'.
5411         * modules/wcpncpy: New file.
5412         * lib/wchar.in.h (wcpncpy): New declaration.
5413         * lib/wcpncpy.c: New file.
5414         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
5415         * m4/wcpncpy.m4: New file.
5416         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
5417         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
5418         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
5419         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
5420         * doc/posix-functions/wcpncpy.texi: Mention the new module.
5421
5422 2011-02-05  Bruno Haible  <bruno@clisp.org>
5423
5424         New module 'wcsncpy'.
5425         * modules/wcsncpy: New file.
5426         * lib/wchar.in.h (wcsncpy): New declaration.
5427         * lib/wcsncpy.c: New file.
5428         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
5429         * m4/wcsncpy.m4: New file.
5430         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
5431         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
5432         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
5433         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
5434         * doc/posix-functions/wcsncpy.texi: Mention the new module.
5435
5436 2011-02-05  Bruno Haible  <bruno@clisp.org>
5437
5438         New module 'wcpcpy'.
5439         * modules/wcpcpy: New file.
5440         * lib/wchar.in.h (wcpcpy): New declaration.
5441         * lib/wcpcpy.c: New file.
5442         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
5443         * m4/wcpcpy.m4: New file.
5444         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
5445         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
5446         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
5447         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
5448         * doc/posix-functions/wcpcpy.texi: Mention the new module.
5449
5450 2011-02-05  Bruno Haible  <bruno@clisp.org>
5451
5452         New module 'wcscpy'.
5453         * modules/wcscpy: New file.
5454         * lib/wchar.in.h (wcscpy): New declaration.
5455         * lib/wcscpy.c: New file.
5456         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
5457         * m4/wcscpy.m4: New file.
5458         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
5459         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
5460         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
5461         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
5462         * doc/posix-functions/wcscpy.texi: Mention the new module.
5463
5464 2011-02-05  Bruno Haible  <bruno@clisp.org>
5465
5466         New module 'wcsnlen'.
5467         * modules/wcsnlen: New file.
5468         * lib/wchar.in.h (wcsnlen): New declaration.
5469         * lib/wcsnlen.c: New file.
5470         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
5471         * m4/wcsnlen.m4: New file.
5472         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
5473         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
5474         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
5475         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
5476         * doc/posix-functions/wcsnlen.texi: Mention the new module.
5477
5478 2011-02-05  Bruno Haible  <bruno@clisp.org>
5479
5480         New module 'wcslen'.
5481         * modules/wcslen: New file.
5482         * lib/wchar.in.h (wcslen): New declaration.
5483         * lib/wcslen.c: New file.
5484         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
5485         * m4/wcslen.m4: New file.
5486         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
5487         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
5488         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
5489         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
5490         * doc/posix-functions/wcslen.texi: Mention the new module.
5491
5492 2011-02-05  Bruno Haible  <bruno@clisp.org>
5493
5494         New module 'wmemset'.
5495         * modules/wmemset: New file.
5496         * lib/wchar.in.h (wmemset): New declaration.
5497         * lib/wmemset.c: New file.
5498         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
5499         * m4/wmemset.m4: New file.
5500         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
5501         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
5502         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
5503         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
5504         * doc/posix-functions/wmemset.texi: Mention the new module.
5505
5506 2011-02-05  Bruno Haible  <bruno@clisp.org>
5507
5508         New module 'wmemmove'.
5509         * modules/wmemmove: New file.
5510         * lib/wchar.in.h (wmemmove): New declaration.
5511         * lib/wmemmove.c: New file.
5512         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
5513         * m4/wmemmove.m4: New file.
5514         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
5515         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
5516         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
5517         HAVE_WMEMMOVE.
5518         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
5519         * doc/posix-functions/wmemmove.texi: Mention the new module.
5520
5521 2011-02-05  Bruno Haible  <bruno@clisp.org>
5522
5523         New module 'wmemcpy'.
5524         * modules/wmemcpy: New file.
5525         * lib/wchar.in.h (wmemcpy): New declaration.
5526         * lib/wmemcpy.c: New file.
5527         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
5528         * m4/wmemcpy.m4: New file.
5529         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
5530         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
5531         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
5532         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
5533         * doc/posix-functions/wmemcpy.texi: Mention the new module.
5534
5535 2011-02-05  Bruno Haible  <bruno@clisp.org>
5536
5537         New module 'wmemcmp'.
5538         * modules/wmemcmp: New file.
5539         * lib/wchar.in.h (wmemcmp): New declaration.
5540         * lib/wmemcmp.c: New file.
5541         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
5542         * m4/wmemcmp.m4: New file.
5543         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
5544         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
5545         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
5546         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
5547         * doc/posix-functions/wmemcmp.texi: Mention the new module.
5548
5549 2011-02-07  Jim Meyering  <meyering@redhat.com>
5550
5551         di-set, ino-map: new modules, from coreutils
5552         * lib/di-set.c: New file.
5553         * lib/di-set.h: Likewise.
5554         * lib/ino-map.c: Likewise.
5555         * lib/ino-map.h: Likewise.
5556         * modules/di-set: Likewise.
5557         * modules/di-set-tests: Likewise.
5558         * modules/ino-map: Likewise.
5559         * modules/ino-map-tests: Likewise.
5560         * tests/test-di-set.c: Likewise.
5561         * tests/test-ino-map.c: Likewise.
5562
5563 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
5564
5565         getloadavg: merge minor changes from Emacs
5566
5567         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
5568         (getloadavg): Use memset, not bzero.
5569
5570         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
5571         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
5572         clash (bug#86).
5573
5574 2010-11-14  Bruno Haible  <bruno@clisp.org>
5575
5576         Allow multiple gnulib generated replacements to coexist.
5577         * lib/getopt.in.h (struct option): Avoid identical redefinition.
5578         * lib/inttypes.in.h (imaxdiv_t): Likewise.
5579         * lib/langinfo.in.h (nl_item): Likewise.
5580         * lib/math.in.h (_NaN, NAN): Likewise.
5581         * lib/netdb.in.h (struct addrinfo): Likewise.
5582         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
5583         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
5584         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
5585         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
5586         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
5587         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
5588         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
5589         pthread_mutexattr_init, pthread_mutexattr_settype,
5590         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
5591         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
5592         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
5593         pthread_spin_trylock, pthread_spin_unlock): Likewise.
5594         * lib/sched.in.h (struct sched_param): Likewise.
5595         * lib/se-selinux.in.h (security_class_t, security_context_t,
5596         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
5597         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
5598         lsetfilecon, fsetfilecon, security_check_context,
5599         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
5600         Likewise.
5601         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
5602         Likewise.
5603         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
5604         _gl_function_taking_int_returning_void_t, union sigval,
5605         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
5606         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
5607         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
5608         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
5609         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
5610         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
5611         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
5612         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
5613         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
5614         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
5615         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
5616         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
5617         socklen_t, rpl_fd_isset): Likewise.
5618         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
5619         * lib/sys_time.in.h (struct timeval): Likewise.
5620         * lib/sys_times.in.h (struct tms): Likewise.
5621         * lib/sys_utsname.in.h (struct utsname):
5622         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
5623         * lib/unistd.in.h (getpagesize): Likewise.
5624         * lib/wchar.in.h (mbstate_t): Likewise.
5625         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
5626         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
5627         towlower, towupper): Likewise.
5628         Reported by Sam Steingold <sds@gnu.org>.
5629
5630 2011-02-05  Eric Blake  <eblake@redhat.com>
5631
5632         unsetenv: work around Haiku issues
5633         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
5634         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
5635
5636 2010-12-30  Bruce Korb  <bkorb@gnu.org>
5637
5638         libposix: avoid calling error() within libposix
5639         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
5640         is defined.
5641
5642 2011-02-05  Eric Blake  <eblake@redhat.com>
5643
5644         strerror_r-posix: port to cygwin
5645         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
5646         implementation.
5647         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
5648         * tests/test-strerror_r.c (main): Fix test.
5649         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
5650         issue.
5651
5652 2011-02-05  Bruno Haible  <bruno@clisp.org>
5653
5654         New module 'wmemchr'.
5655         * modules/wmemchr: New file.
5656         * lib/wchar.in.h (wmemchr): New declaration.
5657         * lib/wmemchr.c: New file.
5658         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
5659         * m4/wmemchr.m4: New file.
5660         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
5661         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
5662         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
5663         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
5664         * doc/posix-functions/wmemchr.texi: Mention the new module.
5665
5666 2011-02-04  Eric Blake  <eblake@redhat.com>
5667
5668         fdopendir: detect FreeBSD bug
5669         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
5670         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
5671
5672 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5673
5674         stdbool: do not define HAVE_STDBOOL_H
5675         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
5676         AC_HEADER_STDBOOL.  All uses changed.  Do not define
5677         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
5678         imported from the latest Autoconf git.  It was motivated by Emacs,
5679         which uses gnulib but does not need HAVE_STDBOOL_H.
5680
5681 2011-02-04  Bruno Haible  <bruno@clisp.org>
5682
5683         wcsnrtombs: Prepare for new module wwcsnrtombs.
5684         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
5685         * lib/wcsnrtombs.c: Include it.
5686         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
5687
5688         wcsrtombs: Prepare for new module wwcsrtombs.
5689         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
5690         * lib/wcsrtombs.c: Include it.
5691         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
5692
5693         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
5694         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
5695         * lib/mbsnrtowcs.c: Include it.
5696         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
5697
5698         mbsrtowcs: Prepare for new module mbsrtowwcs.
5699         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
5700         * lib/mbsrtowcs.c: Include it.
5701         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
5702
5703 2011-02-04  Bruno Haible  <bruno@clisp.org>
5704
5705         vasnprintf: Reduce use of malloc for small format strings.
5706         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
5707         (arguments): Add room for the first 7 arguments.
5708         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
5709         (char_directives, u8_directives, u16_directives, u32_directives): Add
5710         room for the first 7 directives.
5711         * lib/printf-parse.c: Include <string.h>.
5712         (PRINTF_PARSE): Change memory handling code so that it uses the first
5713         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
5714         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
5715         Reported by Pádraig Brady <P@draigbrady.com>.
5716
5717 2011-01-31  Eric Blake  <eblake@redhat.com>
5718
5719         dup2: work around Haiku bug
5720         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
5721         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
5722         * doc/posix-functions/dup2.texi (dup2): Document the bug.
5723         * tests/test-dup2.c (main): Enhance test.
5724
5725 2011-01-31  Simon Josefsson  <simon@josefsson.org>
5726
5727         doc: off_t is not available in eglibc 2.11.2 stdio.h.
5728         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
5729         declared by eglibc 2.11.2.
5730         * lib/stdio.in.h: Likewise.
5731
5732 2011-01-31  Eric Blake  <eblake@redhat.com>
5733
5734         ignore-value: add missing test dependency
5735         * tests/test-ignore-value.c: Revert previous change; stdio.h
5736         provides off_t.
5737         * modules/ignore-value-tests (Depends-on): Add missing dependency.
5738
5739 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
5740
5741         mktime: clarify long_int width checking
5742         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
5743         the top level, to make it clearer that the assumption about
5744         long_int width is being checked.  See
5745         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
5746
5747 2011-01-30  Simon Josefsson  <simon@josefsson.org>
5748
5749         ignore-value: Fix self-test.
5750         * tests/test-ignore-value.c: Include sys/types.h for off_t.
5751
5752 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
5753
5754         TYPE_MAXIMUM: avoid theoretically undefined behavior
5755         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
5756         negative number, which the C Standard says has undefined behavior.
5757         In practice this is not a problem, but might as well do it by the book.
5758         Reported by Rich Felker and Eric Blake; see
5759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
5760         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
5761         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5762         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5763         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
5764         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5765         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
5766
5767         mktime: #undef mktime before #defining it
5768         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
5769
5770         mktime: systematically normalize tm_isdst comparisons
5771         * lib/mktime.c (isdst_differ): New function.
5772         (__mktime_internal): Use it systematically for all isdst comparisons.
5773         This completes the fix for libc BZ #6723, and removes the need for
5774         normalizing tm_isdst.  See
5775         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
5776         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
5777
5778         mktime: fix some integer overflow issues and sidestep the rest
5779
5780         This was prompted by a bug report by Benjamin Lindner for MinGW
5781         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
5782         His bug is due to signed integer overflow (0 - INT_MIN), and I
5783         I scanned through mktime.c looking for other integer overflow
5784         problems, fixing all the bugs I found.
5785
5786         Although the C Standard says the resulting code is still not safe
5787         in the presence of integer overflow, in practice it should be good
5788         enough for all real-world two's-complement implementations, except
5789         for debugging environments that deliberately trap on integer
5790         overflow (e.g., gcc -ftrapv).
5791
5792         * lib/mktime.c (WRAPV): New macro.
5793         (SHR): Also check that long_int and time_t shift right in the
5794         usual way, before using the fast-but-unportable method.
5795         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
5796         used.  The code already assumed two's complement, so there's
5797         no need to test for alternatives.  All uses removed.
5798         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
5799         the C standard.  Problem reported by Rich Felker in
5800         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
5801         (twos_complement_arithmetic): Also check long_int and time_t.
5802         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
5803         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
5804         (__mktime_internal): Avoid integer overflow with unary subtraction
5805         in two instances where -1 - X is an adequate replacement for -X,
5806         since the calculations are approximate.
5807
5808 2011-01-29  Eric Blake  <eblake@redhat.com>
5809
5810         mktime: avoid infinite loop
5811         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
5812         type; behavior is still undefined but portable to all known targets.
5813         Reported by Rich Felker.
5814
5815 2011-01-29  Simon Josefsson  <simon@josefsson.org>
5816
5817         rename, unlink, same-inode: Relicense.
5818         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
5819         * modules/unlink (License): Likewise.
5820         * modules/same-inode (License): Likewise.
5821
5822 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5823
5824         mktime: avoid problems on NetBSD 5 / i386
5825         * lib/mktime.c (long_int): New type.  This works around a problem
5826         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
5827         but time_t is 64 bits, and where I expect the existing code is
5828         wrong in some cases.
5829         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
5830         (ydhms_diff): Bring back the compile-time check for wide-enough
5831         year and yday.
5832
5833         mktime: fix misspelling in comment
5834         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
5835         This merges all recent glibc changes of importance.
5836
5837 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5838
5839         move-if-change: cope with concurrent mv of identical file.
5840         * build-aux/move-if-change (CMPPROG): Accept environment
5841         variable as an override for `cmp'.
5842         (usage): Document CMPPROG.
5843         Adjust comparison to drop stdout.  Cope with failure of mv if
5844         the target file exists and is identical to the source, for
5845         parallel builds.
5846         Report from H.J. Lu against binutils in PR binutils/12283.
5847
5848 2011-01-28  Bruce Korb  <bkorb@gnu.org>
5849
5850         * users.txt: Mention sharutils.
5851
5852 2011-01-28  Simon Josefsson  <simon@josefsson.org>
5853
5854         * users.txt: Mention OATH Toolkit.
5855
5856 2011-01-27  Bruno Haible  <bruno@clisp.org>
5857
5858         Prepare for supporting FreeBSD 10.
5859         * build-aux/config.libpath: Remove handling of freebsd1*.
5860
5861 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
5862
5863         Prepare for supporting FreeBSD 10.
5864         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
5865         match FreeBSD 10.0.
5866
5867 2011-01-27  Bruno Haible  <bruno@clisp.org>
5868
5869         vma-iter, get-rusage-as: Add OpenBSD support.
5870         * modules/vma-iter (configure.ac): Test for mquery.
5871         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
5872         * lib/vma-iter.c: Include <sys/mman.h>.
5873         (vma_iterate): Add an implementation based on mquery().
5874         * lib/resource-ext.h (get_rusage_as): Update comments.
5875         * lib/get-rusage-as.c: Likewise.
5876         * lib/get-rusage-data.c: Likewise.
5877
5878 2011-01-26  Karl Berry  <karl@gnu.org>
5879
5880         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
5881         variables to make it easier to override the makeinfo program used.
5882
5883 2011-01-26  Eric Blake  <eblake@redhat.com>
5884
5885         fcntl: work around Haiku F_DUPFD bugs
5886         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
5887         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
5888         cloexec bit on duplication.
5889         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
5890
5891 2011-01-26  Bruno Haible  <bruno@clisp.org>
5892
5893         Enable memory leak tests on AIX.
5894         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
5895         * tests/test-fprintf-posix3.c (main): Likewise.
5896
5897 2011-01-26  Bruno Haible  <bruno@clisp.org>
5898
5899         Tests for module 'get-rusage-data'.
5900         * modules/get-rusage-data-tests: New file.
5901         * tests/test-get-rusage-data.c: New file.
5902
5903         New module 'get-rusage-data'.
5904         * lib/resource-ext.h (get_rusage_data): New declaration.
5905         * lib/get-rusage-data.c: New file.
5906         * modules/get-rusage-data: New file.
5907
5908 2011-01-25  Bruno Haible  <bruno@clisp.org>
5909
5910         get-rusage-as: Allow for easier testing.
5911         * lib/resource-ext.h (get_rusage_as): Add comment.
5912         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
5913         (main): New function for interactive testing.
5914
5915 2011-01-25  Bruno Haible  <bruno@clisp.org>
5916
5917         vma-iter: Treat Haiku like BeOS.
5918         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
5919         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
5920
5921 2011-01-25  Eric Blake  <eblake@redhat.com>
5922
5923         c-stack: fix regression on cygwin when libsigsegv is present
5924         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
5925
5926 2011-01-24  Bruno Haible  <bruno@clisp.org>
5927
5928         vma-iter: Avoid empty intervals.
5929         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
5930         on an empty interval.
5931
5932 2011-01-24  Jim Meyering  <meyering@redhat.com>
5933
5934         u64: remove unnecessary #include
5935         * lib/u64.h: Don't include <stddef.h>.  It was not used.
5936
5937 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5938
5939         Allow the user to avoid the HAVE_RAW_DECL_* macros.
5940         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
5941
5942 2011-01-23  Bruno Haible  <bruno@clisp.org>
5943
5944         New module 'vma-iter'.
5945         * lib/vma-iter.h: New file.
5946         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
5947         * modules/vma-iter: New file.
5948         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
5949         for get_rusage_as_via_iterator.
5950         (vma_iterate_callback): New function.
5951         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
5952         * modules/get-rusage-as (Depends-on): Add vma-iter.
5953
5954 2011-01-23  Bruno Haible  <bruno@clisp.org>
5955
5956         uninorm: Tweak includes.
5957         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
5958         Reported by Jim Meyering.
5959
5960 2011-01-23  Bruno Haible  <bruno@clisp.org>
5961
5962         get-rusage-as: Improve on NetBSD.
5963         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
5964         /proc, like on FreeBSD.
5965
5966 2011-01-23  Jim Meyering  <meyering@redhat.com>
5967
5968         xreadlink.h: remove unnecessary #include
5969         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
5970
5971         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
5972         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
5973
5974 2011-01-23  Bruno Haible  <bruno@clisp.org>
5975
5976         get-rusage-as: Fix bug.
5977         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
5978         original limit when aborting the first loop.
5979
5980 2011-01-23  Bruno Haible  <bruno@clisp.org>
5981
5982         wctype: Ensure valid C syntax.
5983         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
5984         unconditionally, instead of gl_NEXT_HEADERS conditionally.
5985
5986 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
5987
5988         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
5989         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
5990         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
5991         as they are needed only for configure's test case.
5992         This removes two unnecessary symbols from config.h.
5993
5994         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
5995         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
5996         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
5997         AC_CHECK_HEADERS_ONCE on a header that we also invoke
5998         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
5999         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
6000         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
6001         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6002         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6003         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6004         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
6005         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6006         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6007         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6008         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6009         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6010         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6011         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6012
6013 2011-01-21  Eric Blake  <eblake@redhat.com>
6014
6015         maintainer-makefile: work with older git for submodule check
6016         * top/maint.mk (public-submodule-commit): Rewrite to avoid
6017         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
6018         Reported by Matthias Bolte.
6019
6020         bootstrap: minor portability fixes
6021         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
6022         (usage): Omit leading capital and trailing . on help phrases, per
6023         GNU Coding Standards.
6024         (check_versions, top level): Prefix messages with script name.
6025
6026 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
6027
6028         bootstrap: support --no-git option
6029         * build-aux/bootstrap: Add --no-git option, to be used when
6030         --gnulib-srcdir points to the exact desired checkout.
6031
6032 2011-01-21  Eric Blake  <eblake@redhat.com>
6033
6034         strerror_r-posix: work with glibc 2.13
6035         * lib/strerror_r.c (strerror_r): Fix return type.
6036
6037 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6038             Bruno Haible  <bruno@clisp.org>
6039
6040         uN_strstr: New unit tests.
6041         * modules/unistr/u8-strstr-tests: New file.
6042         * modules/unistr/u16-strstr-tests: New file.
6043         * modules/unistr/u32-strstr-tests: New file.
6044         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
6045         * tests/unistr/test-u8-strstr.c: New file.
6046         * tests/unistr/test-u16-strstr.c: New file.
6047         * tests/unistr/test-u32-strstr.c: New file.
6048
6049 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6050             Bruno Haible  <bruno@clisp.org>
6051
6052         Make uN_strstr functions O(n) worst-case.
6053         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
6054         16-bit and 32-bit unit cases, use the unibyte algorithm from
6055         lib/mbsstr.c.
6056         * lib/unistr/u8-strstr.c: Include <string.h>.
6057         (UNIT_IS_UINT8_T): New macro.
6058         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
6059         (U_STRLEN, U_STRNLEN): New macros.
6060         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
6061         (U_STRLEN, U_STRNLEN): New macros.
6062         * modules/unistr/u8-strstr (Depends-on): Add strstr.
6063         (configure.ac): Update required libunistring version.
6064         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
6065         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
6066         malloca.
6067         (configure.ac): Update required libunistring version.
6068         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
6069         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
6070         malloca.
6071         (configure.ac): Update required libunistring version.
6072
6073 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6074             Bruno Haible  <bruno@clisp.org>
6075
6076         Prepare for faster uN_strstr functions.
6077         * lib/str-kmp.h: Support definable UNITs.
6078         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
6079         needle_len argument.
6080         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
6081         * lib/mbscasestr.c (mbscasestr): Likewise.
6082
6083 2011-01-21  Pádraig Brady <P@draigBrady.com>
6084
6085         malloca-tests: make faster by unsetting MALLOC_PERTURB_
6086         * tests/test-malloca.c (main): Unset the environment variable
6087         to greatly speed up the test.
6088         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
6089         * modules/malloca-tests: Depend on unsetenv.
6090
6091 2011-01-21  Pádraig Brady <P@draigBrady.com>
6092
6093         ignore-value: remove stdint dependency
6094         * lib/ignore-value.h: Remove <stdint.h>
6095         * modules/ignore-value: Remove stdint dependency.
6096
6097 2011-01-21  Jim Meyering  <meyering@redhat.com>
6098
6099         maint.mk: adjust variable name to be consistent with other gl_ vars
6100         * top/maint.mk (gl_public_submodule_commit): Rename the variable
6101         to be lower case.
6102
6103 2011-01-20  Jim Meyering  <meyering@redhat.com>
6104
6105         maint.mk: make "check" depend on public-submodule-commit by default
6106         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
6107
6108 2011-01-20  Bruno Haible  <bruno@clisp.org>
6109
6110         mbfile, mbiter: Complete change from 2008-12-21.
6111         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
6112         * m4/mbiter.m4 (gl_MBITER): Likewise.
6113
6114 2011-01-20  Jim Meyering  <meyering@redhat.com>
6115
6116         init.sh: insert space between each function name and "()"
6117         * tests/init.sh: Make it a little easier to see that a function's
6118         name is "warn_", and not "warn" when looking at the first part of
6119         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
6120
6121 2011-01-20  Jim Meyering  <meyering@redhat.com>
6122
6123         mountlist: clean up code formatting
6124         * lib/mountlist.c (read_file_system_list): Split a long line,
6125         correct bracing style, use NULL in place of "(struct statfs *)0",
6126         don't parenthesize return value, add spaces around "=" and after
6127         ";-in-for-stmt".
6128
6129 2011-01-14  Markus Duft <mduft@gentoo.org>
6130
6131         mountlist: add support for Interix
6132         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
6133         Apply statvfs to all entries of /dev/fs.
6134         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
6135         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
6136
6137 2011-01-20  Jim Meyering  <meyering@redhat.com>
6138
6139         maint.mk: improve the public-submodule-commit rule
6140         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
6141         to suppress printing of its commands... unless V=1.
6142         Add git submodule's --quiet option to suppress printing of e.g.,
6143         "Entering gnulib" output.
6144         "cd" into $(srcdir) before running git submodule.
6145
6146 2011-01-20  Bruno Haible  <bruno@clisp.org>
6147
6148         include_next: Fix bug introduced on 2011-01-18.
6149         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
6150         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
6151         ac_cv_header_... variable if the second argument is not 'check'.
6152         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
6153         gl_NEXT_HEADERS_INTERNAL.
6154
6155 2011-01-20  Bruno Haible  <bruno@clisp.org>
6156
6157         Allow the user to avoid the GNULIB_TEST_* macros.
6158         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
6159         Suggested by Paul Eggert.
6160
6161 2011-01-14  Jim Meyering  <meyering@redhat.com>
6162
6163         bootstrap: avoid failure when there is no .gitmodules file
6164         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
6165         has been assigned to, even when its value is the empty string.
6166         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
6167         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
6168         Reported by John W. Eaton <jwe@gnu.org>.
6169
6170 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
6171
6172         assume <ctype.h>, ..., <time.h> exist
6173         For years gnulib has been assuming the existence of the headers
6174         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
6175         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
6176         them, since they don't appear to be needed.
6177         * README (Portability guidelines): Document this.
6178         * lib/flock.c: Assume <fcntl.h> exists.
6179         * lib/regex_internal.h: Assume <locale.h> exists.
6180         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
6181         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
6182         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
6183         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
6184         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
6185         * m4/regex.m4 (gl_REGEX): Likewise.
6186         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
6187         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
6188         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
6189         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
6190         * tests/test-argp.c: Likewise.
6191         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
6192
6193         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
6194         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
6195         AA_APPLE_UNIVERSAL_BUILD.  See
6196         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
6197         * NEWS: Document this.
6198
6199 2011-01-19  Eric Blake  <eblake@redhat.com>
6200
6201         c-stack: assume stack overflow if SA_SIGINFO unsupported
6202         * lib/c-stack.c (SIGACTION_WORKS): Rename...
6203         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
6204         sigaction will work.
6205         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
6206         behavior match Linux.
6207         * tests/test-c-stack.c (main): Prefer NULL for pointers.
6208
6209         stdbool-tests: accomodate Haiku
6210         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
6211
6212         binary-io: fix O_TEXT on Haiku
6213         * modules/binary-io (Depends-on): Add fcntl-h.
6214         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
6215         than blindly undefining O_TEXT.
6216         Reported by Scott McCreary.
6217
6218 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6219
6220         include_next: do not check for standard headers like stddef.h
6221
6222         I found this problem when modifying Emacs to use gnulib.
6223         I noticed that it added HAVE_STDDEF_H to config.h, even though
6224         gnulib always assumes <stddef.h> exists as per README and this
6225         symbol is unnecessary.
6226         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
6227         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
6228         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
6229         faster for headers like stddef.h that are known to exist.
6230         (gl_CHECK_NEXT_HEADERS): Use it.
6231         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
6232         rather than gl_CHECK_NEXT_HEADERS.
6233         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
6234         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
6235
6236 2011-01-18  Eric Blake  <eblake@redhat.com>
6237
6238         ansi-c++-opt: skip C++ dependency style if C++ is unused
6239         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
6240         tests when we know C++ compilation is not desired.
6241         Reported by Scott McCreary.
6242
6243 2011-01-18  Bruno Haible  <bruno@clisp.org>
6244
6245         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
6246         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
6247         (main): Perform test also when getrlimit and setrlimit don't exist or
6248         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
6249         limiting the address space size using setrlimit, compare the address
6250         space size before and after the the test.
6251         * tests/test-dprintf-posix2.c: Likewise.
6252         * tests/test-fprintf-posix3.sh: Update skip messages.
6253         * tests/test-dprintf-posix2.sh: Likewise.
6254         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
6255         * modules/dprintf-posix-tests (Depends-on): Likewise.
6256         Reported by Bruce Korb <bkorb@gnu.org> and
6257         Gary V. Vaughan <gary@gnu.org>.
6258
6259 2011-01-18  Bruno Haible  <bruno@clisp.org>
6260
6261         get-rusage-as: Improvement for Cygwin.
6262         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
6263         areas that are merely reserved.
6264
6265 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6266
6267         strftime: remove dependencies on multibyte modules
6268
6269         strftime depended on mbrlen, mbsinit, and wchar, but these modules
6270         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
6271         only if __osf__ is defined, and I suspect OSF doesn't need these
6272         other modules.  If my guess is wrong, we'll need to come up with a
6273         variant of strftime that doesn't need the multibyte modules.
6274
6275         I discovered this problem when attempting modify Emacs to use the
6276         strftime module.  With the previous gnulib, this caused Emacs to
6277         need 31 new files, ranging from lib/config.charset to
6278         m4/wint_t.m4.  This was overkill and I expect would be offputting
6279         to the Emacs maintainers.  After this change, only 6 new files are
6280         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
6281         stdbool.m4, and tm_gmtoff.m4.
6282
6283         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
6284         Suggested by Bruno Haible in
6285         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
6286         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
6287         and do not check for wchar.h.
6288         * modules/strftime (Files): Remove m4/mbstate_t.m4.
6289         (Depends-on): Remove mbrlen, mbsinit, wchar.
6290
6291 2011-01-18  Bruno Haible  <bruno@clisp.org>
6292
6293         Tests for module 'get-rusage-as'.
6294         * modules/get-rusage-as-tests: New file.
6295         * tests/test-get-rusage-as.c: New file.
6296
6297         New module 'get-rusage-as'.
6298         * modules/get-rusage-as: New file.
6299         * lib/resource-ext.h: New file.
6300         * lib/get-rusage-as.c: New file.
6301
6302 2011-01-17  Eric Blake  <eblake@redhat.com>
6303
6304         sigaction: relax license from LGPLv3+ to LGPLv2+
6305         * modules/sigaction (License): Relax to LGPLv2+.
6306
6307 2011-01-14  Bruno Haible  <bruno@clisp.org>
6308
6309         filemode: Make function declarations usable in C++ mode.
6310         * lib/filemode.h: Enclose function declarations in extern "C" block.
6311         Reported by John W. Eaton <jwe@gnu.org>.
6312
6313 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
6314
6315         save-cwd: no longer include "xgetcwd.h"
6316         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
6317         This avoids a compilation failure in projects that use save-cwd
6318         without also using the xgetcwd module.
6319
6320 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6321
6322         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
6323         This is so that a program like Emacs, which needs only dtoastr,
6324         does not have to bother with distributing and compiling ftoastr
6325         and ldtoastr.
6326         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
6327         * modules/dtoastr, modules/ldtoastr: New files.
6328         * modules/ftoastr: Now works just for 'float'.
6329         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
6330         (Makefile.am): Remove ftoastr.h (not needed and no effect),
6331         dtoastr.c, ldtoastr.c.
6332
6333 2011-01-11  Jim Meyering  <meyering@redhat.com>
6334
6335         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
6336         There is no need to work around the lack of the fchdir function,
6337         since gnulib can now provide a replacement when required.
6338         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
6339         * modules/save-cwd (Depends-on): Add fchdir.
6340
6341 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6342
6343         openat, save-cwd: avoid xmalloc
6344
6345         This removes a direct (but undocumented) dependency of openat on
6346         xalloc, along with an indirect dependency via save-cwd.  It also
6347         removes a dependency of save-cwd on xgetcwd, and thereby
6348         indirectly on xalloc.  This change causes the openat substitute
6349         to fall back on save_cwd when memory is tight, and for save_cwd to
6350         fail instead of dying when memory is tight, but that's good enough.
6351         Problem and initial idea for fix reported by Bastien Roucaries in
6352         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
6353
6354         * lib/openat-proc.c: Include stdlib.h (for malloc), not
6355         xalloc.h (for xmalloc).
6356         (openat_proc_name): Use malloc, not xmalloc.
6357         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
6358         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
6359
6360         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
6361         This avoids heap allocation for file names whose lengths are in
6362         the range 512..1023, with the upper bound increasing to at most
6363         4031 depending on the platform's PATH_MAX.  (We do not want
6364         pathmax.h here as it might supply a non-constant PATH_MAX.)
6365         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
6366         Perhaps they should be moved to malloca.h?
6367         (OPENAT_BUFFER_SIZE): Use them.
6368
6369 2011-01-10  Bruno Haible  <bruno@clisp.org>
6370
6371         doc: Update users.txt.
6372         * users.txt: Add recutils.
6373
6374 2011-01-09  Karl Berry  <karl@gnu.org>
6375
6376         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
6377
6378         * doc/configmake.texi: New file.
6379         * doc/gnulib.texi: Include it.
6380         * modules/configmake: Move documentation from here.
6381
6382 2011-01-09  Bruno Haible  <bruno@clisp.org>
6383
6384         Update to Unicode 6.0.0.
6385         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
6386         (get_lbp): Update for Unicode 6.0.0.
6387         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
6388         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
6389         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
6390         U+11001, U+11038..U+11046. Remove U+06DE.
6391         (uc_width): Fix bounds of planes.
6392         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6393         lib/uniwidth/width.c.
6394         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
6395         trailing whitespace removed.
6396         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
6397         without comments, but with the original copyright notice.
6398         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
6399         * lib/unicase/ignorable.h: Likewise.
6400         * lib/unicase/tocasefold.h: Likewise.
6401         * lib/unicase/tolower.h: Likewise.
6402         * lib/unicase/totitle.h: Likewise.
6403         * lib/unicase/toupper.h: Likewise.
6404         * lib/unictype/bidi_of.h: Likewise.
6405         * lib/unictype/blocks.h: Likewise.
6406         * lib/unictype/categ_C.h: Likewise.
6407         * lib/unictype/categ_Cn.h: Likewise.
6408         * lib/unictype/categ_L.h: Likewise.
6409         * lib/unictype/categ_Ll.h: Likewise.
6410         * lib/unictype/categ_Lm.h: Likewise.
6411         * lib/unictype/categ_Lo.h: Likewise.
6412         * lib/unictype/categ_Lu.h: Likewise.
6413         * lib/unictype/categ_M.h: Likewise.
6414         * lib/unictype/categ_Mc.h: Likewise.
6415         * lib/unictype/categ_Me.h: Likewise.
6416         * lib/unictype/categ_Mn.h: Likewise.
6417         * lib/unictype/categ_N.h: Likewise.
6418         * lib/unictype/categ_Nd.h: Likewise.
6419         * lib/unictype/categ_No.h: Likewise.
6420         * lib/unictype/categ_P.h: Likewise.
6421         * lib/unictype/categ_Po.h: Likewise.
6422         * lib/unictype/categ_S.h: Likewise.
6423         * lib/unictype/categ_Sc.h: Likewise.
6424         * lib/unictype/categ_Sk.h: Likewise.
6425         * lib/unictype/categ_Sm.h: Likewise.
6426         * lib/unictype/categ_So.h: Likewise.
6427         * lib/unictype/categ_of.h: Likewise.
6428         * lib/unictype/combining.h: Likewise.
6429         * lib/unictype/ctype_alnum.h: Likewise.
6430         * lib/unictype/ctype_alpha.h: Likewise.
6431         * lib/unictype/ctype_graph.h: Likewise.
6432         * lib/unictype/ctype_lower.h: Likewise.
6433         * lib/unictype/ctype_print.h: Likewise.
6434         * lib/unictype/ctype_punct.h: Likewise.
6435         * lib/unictype/ctype_upper.h: Likewise.
6436         * lib/unictype/decdigit.h: Likewise.
6437         * lib/unictype/digit.h: Likewise.
6438         * lib/unictype/numeric.h: Likewise.
6439         * lib/unictype/pr_alphabetic.h: Likewise.
6440         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6441         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
6442         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
6443         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6444         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6445         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6446         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6447         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6448         * lib/unictype/pr_case_ignorable.h: Likewise.
6449         * lib/unictype/pr_cased.h: Likewise.
6450         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
6451         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
6452         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
6453         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
6454         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
6455         * lib/unictype/pr_combining.h: Likewise.
6456         * lib/unictype/pr_composite.h: Likewise.
6457         * lib/unictype/pr_currency_symbol.h: Likewise.
6458         * lib/unictype/pr_decimal_digit.h: Likewise.
6459         * lib/unictype/pr_deprecated.h: Likewise.
6460         * lib/unictype/pr_format_control.h: Likewise.
6461         * lib/unictype/pr_grapheme_base.h: Likewise.
6462         * lib/unictype/pr_grapheme_extend.h: Likewise.
6463         * lib/unictype/pr_grapheme_link.h: Likewise.
6464         * lib/unictype/pr_id_continue.h: Likewise.
6465         * lib/unictype/pr_id_start.h: Likewise.
6466         * lib/unictype/pr_ideographic.h: Likewise.
6467         * lib/unictype/pr_lowercase.h: Likewise.
6468         * lib/unictype/pr_math.h: Likewise.
6469         * lib/unictype/pr_numeric.h: Likewise.
6470         * lib/unictype/pr_other_alphabetic.h: Likewise.
6471         * lib/unictype/pr_other_id_continue.h: Likewise.
6472         * lib/unictype/pr_other_math.h: Likewise.
6473         * lib/unictype/pr_punctuation.h: Likewise.
6474         * lib/unictype/pr_sentence_terminal.h: Likewise.
6475         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6476         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6477         * lib/unictype/pr_unified_ideograph.h: Likewise.
6478         * lib/unictype/pr_uppercase.h: Likewise.
6479         * lib/unictype/pr_xid_continue.h: Likewise.
6480         * lib/unictype/pr_xid_start.h: Likewise.
6481         * lib/unictype/scripts.h: Likewise.
6482         * lib/unictype/scripts_byname.gperf: Likewise.
6483         * lib/unictype/sy_java_ident.h: Likewise.
6484         * lib/unigbrk/gbrkprop.h: Likewise.
6485         * lib/unilbrk/lbrkprop1.h: Likewise.
6486         * lib/unilbrk/lbrkprop2.h: Likewise.
6487         * lib/uninorm/decomposition-table2.h: Likewise.
6488         * lib/uniwbrk/wbrkprop.h: Likewise.
6489         * tests/unicase/test-cased.c: Likewise.
6490         * tests/unicase/test-ignorable.c: Likewise.
6491         * tests/unicase/test-uc_tolower.c: Likewise.
6492         * tests/unicase/test-uc_totitle.c: Likewise.
6493         * tests/unicase/test-uc_toupper.c: Likewise.
6494         * tests/unictype/test-categ_C.c: Likewise.
6495         * tests/unictype/test-categ_Cn.c: Likewise.
6496         * tests/unictype/test-categ_L.c: Likewise.
6497         * tests/unictype/test-categ_Ll.c: Likewise.
6498         * tests/unictype/test-categ_Lm.c: Likewise.
6499         * tests/unictype/test-categ_Lo.c: Likewise.
6500         * tests/unictype/test-categ_Lu.c: Likewise.
6501         * tests/unictype/test-categ_M.c: Likewise.
6502         * tests/unictype/test-categ_Mc.c: Likewise.
6503         * tests/unictype/test-categ_Me.c: Likewise.
6504         * tests/unictype/test-categ_Mn.c: Likewise.
6505         * tests/unictype/test-categ_N.c: Likewise.
6506         * tests/unictype/test-categ_Nd.c: Likewise.
6507         * tests/unictype/test-categ_No.c: Likewise.
6508         * tests/unictype/test-categ_P.c: Likewise.
6509         * tests/unictype/test-categ_Po.c: Likewise.
6510         * tests/unictype/test-categ_S.c: Likewise.
6511         * tests/unictype/test-categ_Sc.c: Likewise.
6512         * tests/unictype/test-categ_Sk.c: Likewise.
6513         * tests/unictype/test-categ_Sm.c: Likewise.
6514         * tests/unictype/test-categ_So.c: Likewise.
6515         * tests/unictype/test-ctype_alnum.c: Likewise.
6516         * tests/unictype/test-ctype_alpha.c: Likewise.
6517         * tests/unictype/test-ctype_graph.c: Likewise.
6518         * tests/unictype/test-ctype_lower.c: Likewise.
6519         * tests/unictype/test-ctype_print.c: Likewise.
6520         * tests/unictype/test-ctype_punct.c: Likewise.
6521         * tests/unictype/test-ctype_upper.c: Likewise.
6522         * tests/unictype/test-decdigit.h: Likewise.
6523         * tests/unictype/test-digit.h: Likewise.
6524         * tests/unictype/test-numeric.h: Likewise.
6525         * tests/unictype/test-pr_alphabetic.c: Likewise.
6526         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6527         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
6528         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
6529         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6530         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6531         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6532         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6533         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6534         * tests/unictype/test-pr_case_ignorable.c: Likewise.
6535         * tests/unictype/test-pr_cased.c: Likewise.
6536         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
6537         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
6538         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
6539         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
6540         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
6541         * tests/unictype/test-pr_combining.c: Likewise.
6542         * tests/unictype/test-pr_composite.c: Likewise.
6543         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6544         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6545         * tests/unictype/test-pr_deprecated.c: Likewise.
6546         * tests/unictype/test-pr_format_control.c: Likewise.
6547         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6548         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6549         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6550         * tests/unictype/test-pr_id_continue.c: Likewise.
6551         * tests/unictype/test-pr_id_start.c: Likewise.
6552         * tests/unictype/test-pr_ideographic.c: Likewise.
6553         * tests/unictype/test-pr_lowercase.c: Likewise.
6554         * tests/unictype/test-pr_math.c: Likewise.
6555         * tests/unictype/test-pr_numeric.c: Likewise.
6556         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6557         * tests/unictype/test-pr_other_id_continue.c: Likewise.
6558         * tests/unictype/test-pr_other_math.c: Likewise.
6559         * tests/unictype/test-pr_punctuation.c: Likewise.
6560         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6561         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6562         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6563         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6564         * tests/unictype/test-pr_uppercase.c: Likewise.
6565         * tests/unictype/test-pr_xid_continue.c: Likewise.
6566         * tests/unictype/test-pr_xid_start.c: Likewise.
6567         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6568         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6569         changes.
6570         * lib/unictype/categ_Cc.h: Likewise.
6571         * lib/unictype/categ_Cf.h: Likewise.
6572         * lib/unictype/categ_Co.h: Likewise.
6573         * lib/unictype/categ_Cs.h: Likewise.
6574         * lib/unictype/categ_Lt.h: Likewise.
6575         * lib/unictype/categ_Nl.h: Likewise.
6576         * lib/unictype/categ_Pc.h: Likewise.
6577         * lib/unictype/categ_Pd.h: Likewise.
6578         * lib/unictype/categ_Pe.h: Likewise.
6579         * lib/unictype/categ_Pf.h: Likewise.
6580         * lib/unictype/categ_Pi.h: Likewise.
6581         * lib/unictype/categ_Ps.h: Likewise.
6582         * lib/unictype/categ_Z.h: Likewise.
6583         * lib/unictype/categ_Zl.h: Likewise.
6584         * lib/unictype/categ_Zp.h: Likewise.
6585         * lib/unictype/categ_Zs.h: Likewise.
6586         * lib/unictype/ctype_blank.h: Likewise.
6587         * lib/unictype/ctype_cntrl.h: Likewise.
6588         * lib/unictype/ctype_digit.h: Likewise.
6589         * lib/unictype/ctype_space.h: Likewise.
6590         * lib/unictype/ctype_xdigit.h: Likewise.
6591         * lib/unictype/mirror.h: Likewise.
6592         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6593         * lib/unictype/pr_bidi_block_separator.h: Likewise.
6594         * lib/unictype/pr_bidi_common_separator.h: Likewise.
6595         * lib/unictype/pr_bidi_control.h: Likewise.
6596         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
6597         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
6598         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6599         * lib/unictype/pr_bidi_pdf.h: Likewise.
6600         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
6601         * lib/unictype/pr_bidi_whitespace.h: Likewise.
6602         * lib/unictype/pr_dash.h: Likewise.
6603         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
6604         * lib/unictype/pr_diacritic.h: Likewise.
6605         * lib/unictype/pr_extender.h: Likewise.
6606         * lib/unictype/pr_hex_digit.h: Likewise.
6607         * lib/unictype/pr_hyphen.h: Likewise.
6608         * lib/unictype/pr_ids_binary_operator.h: Likewise.
6609         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
6610         * lib/unictype/pr_ignorable_control.h: Likewise.
6611         * lib/unictype/pr_iso_control.h: Likewise.
6612         * lib/unictype/pr_join_control.h: Likewise.
6613         * lib/unictype/pr_left_of_pair.h: Likewise.
6614         * lib/unictype/pr_line_separator.h: Likewise.
6615         * lib/unictype/pr_logical_order_exception.h: Likewise.
6616         * lib/unictype/pr_non_break.h: Likewise.
6617         * lib/unictype/pr_not_a_character.h: Likewise.
6618         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
6619         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
6620         * lib/unictype/pr_other_id_start.h: Likewise.
6621         * lib/unictype/pr_other_lowercase.h: Likewise.
6622         * lib/unictype/pr_other_uppercase.h: Likewise.
6623         * lib/unictype/pr_paired_punctuation.h: Likewise.
6624         * lib/unictype/pr_paragraph_separator.h: Likewise.
6625         * lib/unictype/pr_pattern_syntax.h: Likewise.
6626         * lib/unictype/pr_pattern_white_space.h: Likewise.
6627         * lib/unictype/pr_private_use.h: Likewise.
6628         * lib/unictype/pr_quotation_mark.h: Likewise.
6629         * lib/unictype/pr_radical.h: Likewise.
6630         * lib/unictype/pr_soft_dotted.h: Likewise.
6631         * lib/unictype/pr_space.h: Likewise.
6632         * lib/unictype/pr_titlecase.h: Likewise.
6633         * lib/unictype/pr_variation_selector.h: Likewise.
6634         * lib/unictype/pr_white_space.h: Likewise.
6635         * lib/unictype/pr_zero_width.h: Likewise.
6636         * lib/unictype/sy_c_ident.h: Likewise.
6637         * lib/unictype/sy_c_whitespace.h: Likewise.
6638         * lib/unictype/sy_java_whitespace.h: Likewise.
6639         * lib/uninorm/composition-table.gperf: Likewise.
6640         * lib/uninorm/decomposition-table1.h: Likewise.
6641         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
6642         LB8.
6643         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6644         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6645         * modules/unictype/*: Bump version number of expected libunistring
6646         version.
6647
6648 2011-01-09  Bruno Haible  <bruno@clisp.org>
6649
6650         Update to Unicode 5.2.0.
6651         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
6652         trailing whitespace removed.
6653
6654 2011-01-09  Bruno Haible  <bruno@clisp.org>
6655
6656         New Unicode character properties, from Unicode 5.2.0.
6657         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
6658         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
6659         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
6660         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
6661         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
6662         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
6663         uc_is_property_cased, uc_is_property_case_ignorable,
6664         uc_is_property_changes_when_lowercased,
6665         uc_is_property_changes_when_uppercased,
6666         uc_is_property_changes_when_titlecased,
6667         uc_is_property_changes_when_casefolded,
6668         uc_is_property_changes_when_casemapped): New declarations.
6669         * lib/unictype/pr_byname.gperf: Add the new properties.
6670         * modules/unictype/property-byname (Depends-on): Depend on the new
6671         properties modules.
6672         * modules/unictype/property-all (Depends-on): Likewise.
6673         * MODULES.html.sh (Unicode string functions): Add
6674         unictype/property-case-ignorable, unictype/property-cased,
6675         unictype/property-changes-when-casefolded,
6676         unictype/property-changes-when-casemapped,
6677         unictype/property-changes-when-lowercased,
6678         unictype/property-changes-when-titlecased,
6679         unictype/property-changes-when-uppercased.
6680
6681         New module 'unictype/property-changes-when-casemapped'.
6682         * modules/unictype/property-changes-when-casemapped: New file.
6683         * lib/unictype/pr_changes_when_casemapped.c: New file.
6684         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
6685         generated by gen-uni-tables.
6686         * modules/unictype/property-changes-when-casemapped-tests: New file.
6687         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
6688         automatically generated by gen-uni-tables.
6689
6690         New module 'unictype/property-changes-when-casefolded'.
6691         * modules/unictype/property-changes-when-casefolded: New file.
6692         * lib/unictype/pr_changes_when_casefolded.c: New file.
6693         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
6694         generated by gen-uni-tables.
6695         * modules/unictype/property-changes-when-casefolded-tests: New file.
6696         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
6697         automatically generated by gen-uni-tables.
6698
6699         New module 'unictype/property-changes-when-titlecased'.
6700         * modules/unictype/property-changes-when-titlecased: New file.
6701         * lib/unictype/pr_changes_when_titlecased.c: New file.
6702         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
6703         generated by gen-uni-tables.
6704         * modules/unictype/property-changes-when-titlecased-tests: New file.
6705         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
6706         automatically generated by gen-uni-tables.
6707
6708         New module 'unictype/property-changes-when-uppercased'.
6709         * modules/unictype/property-changes-when-uppercased: New file.
6710         * lib/unictype/pr_changes_when_uppercased.c: New file.
6711         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
6712         generated by gen-uni-tables.
6713         * modules/unictype/property-changes-when-uppercased-tests: New file.
6714         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
6715         automatically generated by gen-uni-tables.
6716
6717         New module 'unictype/property-changes-when-lowercased'.
6718         * modules/unictype/property-changes-when-lowercased: New file.
6719         * lib/unictype/pr_changes_when_lowercased.c: New file.
6720         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
6721         generated by gen-uni-tables.
6722         * modules/unictype/property-changes-when-lowercased-tests: New file.
6723         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
6724         automatically generated by gen-uni-tables.
6725
6726         New module 'unictype/property-case-ignorable'.
6727         * modules/unictype/property-case-ignorable: New file.
6728         * lib/unictype/pr_case_ignorable.c: New file.
6729         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
6730         by gen-uni-tables.
6731         * modules/unictype/property-case-ignorable-tests: New file.
6732         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
6733         generated by gen-uni-tables.
6734
6735         New module 'unictype/property-cased'.
6736         * modules/unictype/property-cased: New file.
6737         * lib/unictype/pr_cased.c: New file.
6738         * lib/unictype/pr_cased.h: New file, automatically generated by
6739         gen-uni-tables.
6740         * modules/unictype/property-cased-tests: New file.
6741         * tests/unictype/test-pr_cased.c: New file, automatically generated by
6742         gen-uni-tables.
6743
6744 2011-01-09  Bruno Haible  <bruno@clisp.org>
6745
6746         Update to Unicode 5.2.0.
6747         * lib/gen-uni-tables.c (output_predicate, output_category,
6748         output_combclass, output_bidi_category, output_decimal_digit_test,
6749         output_decimal_digit, output_digit_test, output_digit,
6750         output_numeric_test, output_numeric, output_mirror, output_scripts,
6751         output_scripts_byname, output_blocks, output_ident_category): Fix
6752         comment header.
6753         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
6754         get_wbp.
6755         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
6756         items.
6757         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
6758         Changes_When_Lowercased, Changes_When_Uppercased,
6759         Changes_When_Titlecased, Changes_When_Casefolded,
6760         Changes_When_Casemapped.
6761         (is_property_alphabetic, is_property_default_ignorable_code_point):
6762         Update for Unicode 5.2.0.
6763         (is_property_cased, is_property_case_ignorable,
6764         is_property_changes_when_lowercased,
6765         is_property_changes_when_uppercased,
6766         is_property_changes_when_titlecased,
6767         is_property_changes_when_casefolded,
6768         is_property_changes_when_casemapped): New functions.
6769         (output_properties): Output also the properties cased, case_ignorable,
6770         changes_when_lowercased, changes_when_uppercased,
6771         changes_when_titlecased, changes_when_casefolded,
6772         changes_when_casemapped.
6773         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
6774         Unicode TR#11 revision 17 -> 19.
6775         (LBP_CP): New enumeration value.
6776         (LBP_*): Adjust values accordingly.
6777         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6778         TR#14 revision 22 -> 24.
6779         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
6780         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
6781         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6782         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
6783         is_WBP_MIDLETTER.
6784         (output_composition_tables): Allow for 24 bits instead of 16 bits in
6785         the code1 and code2 of each composition rule.
6786         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
6787         * lib/unicase/ignorable.h: Likewise.
6788         * lib/unicase/tocasefold.h: Likewise.
6789         * lib/unicase/tolower.h: Likewise.
6790         * lib/unicase/totitle.h: Likewise.
6791         * lib/unicase/toupper.h: Likewise.
6792         * lib/unictype/bidi_of.h: Likewise.
6793         * lib/unictype/blocks.h: Likewise.
6794         * lib/unictype/categ_C.h: Likewise.
6795         * lib/unictype/categ_Cf.h: Likewise.
6796         * lib/unictype/categ_Cn.h: Likewise.
6797         * lib/unictype/categ_L.h: Likewise.
6798         * lib/unictype/categ_Ll.h: Likewise.
6799         * lib/unictype/categ_Lm.h: Likewise.
6800         * lib/unictype/categ_Lo.h: Likewise.
6801         * lib/unictype/categ_Lu.h: Likewise.
6802         * lib/unictype/categ_M.h: Likewise.
6803         * lib/unictype/categ_Mc.h: Likewise.
6804         * lib/unictype/categ_Mn.h: Likewise.
6805         * lib/unictype/categ_N.h: Likewise.
6806         * lib/unictype/categ_Nd.h: Likewise.
6807         * lib/unictype/categ_Nl.h: Likewise.
6808         * lib/unictype/categ_No.h: Likewise.
6809         * lib/unictype/categ_P.h: Likewise.
6810         * lib/unictype/categ_Pd.h: Likewise.
6811         * lib/unictype/categ_Po.h: Likewise.
6812         * lib/unictype/categ_S.h: Likewise.
6813         * lib/unictype/categ_Sc.h: Likewise.
6814         * lib/unictype/categ_So.h: Likewise.
6815         * lib/unictype/categ_of.h: Likewise.
6816         * lib/unictype/combining.h: Likewise.
6817         * lib/unictype/ctype_alnum.h: Likewise.
6818         * lib/unictype/ctype_alpha.h: Likewise.
6819         * lib/unictype/ctype_graph.h: Likewise.
6820         * lib/unictype/ctype_lower.h: Likewise.
6821         * lib/unictype/ctype_print.h: Likewise.
6822         * lib/unictype/ctype_punct.h: Likewise.
6823         * lib/unictype/ctype_upper.h: Likewise.
6824         * lib/unictype/decdigit.h: Likewise.
6825         * lib/unictype/digit.h: Likewise.
6826         * lib/unictype/numeric.h: Likewise.
6827         * lib/unictype/pr_alphabetic.h: Likewise.
6828         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6829         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6830         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6831         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6832         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6833         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6834         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6835         * lib/unictype/pr_combining.h: Likewise.
6836         * lib/unictype/pr_composite.h: Likewise.
6837         * lib/unictype/pr_currency_symbol.h: Likewise.
6838         * lib/unictype/pr_dash.h: Likewise.
6839         * lib/unictype/pr_decimal_digit.h: Likewise.
6840         * lib/unictype/pr_deprecated.h: Likewise.
6841         * lib/unictype/pr_diacritic.h: Likewise.
6842         * lib/unictype/pr_extender.h: Likewise.
6843         * lib/unictype/pr_grapheme_base.h: Likewise.
6844         * lib/unictype/pr_grapheme_extend.h: Likewise.
6845         * lib/unictype/pr_grapheme_link.h: Likewise.
6846         * lib/unictype/pr_id_continue.h: Likewise.
6847         * lib/unictype/pr_id_start.h: Likewise.
6848         * lib/unictype/pr_ideographic.h: Likewise.
6849         * lib/unictype/pr_ignorable_control.h: Likewise.
6850         * lib/unictype/pr_logical_order_exception.h: Likewise.
6851         * lib/unictype/pr_lowercase.h: Likewise.
6852         * lib/unictype/pr_numeric.h: Likewise.
6853         * lib/unictype/pr_other_alphabetic.h: Likewise.
6854         * lib/unictype/pr_punctuation.h: Likewise.
6855         * lib/unictype/pr_sentence_terminal.h: Likewise.
6856         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6857         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6858         * lib/unictype/pr_unified_ideograph.h: Likewise.
6859         * lib/unictype/pr_uppercase.h: Likewise.
6860         * lib/unictype/pr_xid_continue.h: Likewise.
6861         * lib/unictype/pr_xid_start.h: Likewise.
6862         * lib/unictype/pr_zero_width.h: Likewise.
6863         * lib/unictype/scripts.h: Likewise.
6864         * lib/unictype/scripts_byname.gperf: Likewise.
6865         * lib/unictype/sy_java_ident.h: Likewise.
6866         * lib/unigbrk/gbrkprop.h: Likewise.
6867         * lib/unilbrk/lbrkprop1.h: Likewise.
6868         * lib/unilbrk/lbrkprop2.h: Likewise.
6869         * lib/unilbrk/lbrktables.h: Likewise.
6870         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
6871         LBP_CP. Implement rule LB30.
6872         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
6873         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
6874         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
6875         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
6876         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
6877         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
6878         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
6879         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
6880         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
6881         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
6882         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
6883         bits instead of 16 bits in the code1 and code2 of each composition
6884         rule.
6885         (uc_composition): Update for Unicode 5.2.0.
6886         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
6887         * lib/uninorm/decomposition-table2.h: Likewise.
6888         * lib/uniwbrk/wbrkprop.h: Likewise.
6889         * tests/unicase/test-cased.c: Likewise.
6890         * tests/unicase/test-ignorable.c: Likewise.
6891         * tests/unicase/test-uc_tolower.c: Likewise.
6892         * tests/unicase/test-uc_totitle.c: Likewise.
6893         * tests/unicase/test-uc_toupper.c: Likewise.
6894         * tests/unictype/test-categ_C.c: Likewise.
6895         * tests/unictype/test-categ_Cf.c: Likewise.
6896         * tests/unictype/test-categ_Cn.c: Likewise.
6897         * tests/unictype/test-categ_L.c: Likewise.
6898         * tests/unictype/test-categ_Ll.c: Likewise.
6899         * tests/unictype/test-categ_Lm.c: Likewise.
6900         * tests/unictype/test-categ_Lo.c: Likewise.
6901         * tests/unictype/test-categ_Lu.c: Likewise.
6902         * tests/unictype/test-categ_M.c: Likewise.
6903         * tests/unictype/test-categ_Mc.c: Likewise.
6904         * tests/unictype/test-categ_Mn.c: Likewise.
6905         * tests/unictype/test-categ_N.c: Likewise.
6906         * tests/unictype/test-categ_Nd.c: Likewise.
6907         * tests/unictype/test-categ_Nl.c: Likewise.
6908         * tests/unictype/test-categ_No.c: Likewise.
6909         * tests/unictype/test-categ_P.c: Likewise.
6910         * tests/unictype/test-categ_Pd.c: Likewise.
6911         * tests/unictype/test-categ_Po.c: Likewise.
6912         * tests/unictype/test-categ_S.c: Likewise.
6913         * tests/unictype/test-categ_Sc.c: Likewise.
6914         * tests/unictype/test-categ_So.c: Likewise.
6915         * tests/unictype/test-ctype_alnum.c: Likewise.
6916         * tests/unictype/test-ctype_alpha.c: Likewise.
6917         * tests/unictype/test-ctype_graph.c: Likewise.
6918         * tests/unictype/test-ctype_lower.c: Likewise.
6919         * tests/unictype/test-ctype_print.c: Likewise.
6920         * tests/unictype/test-ctype_punct.c: Likewise.
6921         * tests/unictype/test-ctype_upper.c: Likewise.
6922         * tests/unictype/test-decdigit.h: Likewise.
6923         * tests/unictype/test-digit.h: Likewise.
6924         * tests/unictype/test-numeric.h: Likewise.
6925         * tests/unictype/test-pr_alphabetic.c: Likewise.
6926         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6927         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6928         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
6929         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6930         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6931         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6932         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6933         * tests/unictype/test-pr_combining.c: Likewise.
6934         * tests/unictype/test-pr_composite.c: Likewise.
6935         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6936         * tests/unictype/test-pr_dash.c: Likewise.
6937         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6938         * tests/unictype/test-pr_deprecated.c: Likewise.
6939         * tests/unictype/test-pr_diacritic.c: Likewise.
6940         * tests/unictype/test-pr_extender.c: Likewise.
6941         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6942         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6943         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6944         * tests/unictype/test-pr_id_continue.c: Likewise.
6945         * tests/unictype/test-pr_id_start.c: Likewise.
6946         * tests/unictype/test-pr_ideographic.c: Likewise.
6947         * tests/unictype/test-pr_ignorable_control.c: Likewise.
6948         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
6949         * tests/unictype/test-pr_lowercase.c: Likewise.
6950         * tests/unictype/test-pr_numeric.c: Likewise.
6951         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6952         * tests/unictype/test-pr_punctuation.c: Likewise.
6953         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6954         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6955         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6956         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6957         * tests/unictype/test-pr_uppercase.c: Likewise.
6958         * tests/unictype/test-pr_xid_continue.c: Likewise.
6959         * tests/unictype/test-pr_xid_start.c: Likewise.
6960         * tests/unictype/test-pr_zero_width.c: Likewise.
6961         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6962         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
6963         changed behaviour: line breaking is now disallowed between a letter
6964         or '=' and '('.
6965         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6966         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6967         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
6968         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
6969         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6970         lib/uniwidth/width.c.
6971         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
6972         without comments, but with the original copyright notice.
6973         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6974         changes.
6975         * lib/unictype/categ_Cc.h: Likewise.
6976         * lib/unictype/categ_Co.h: Likewise.
6977         * lib/unictype/categ_Cs.h: Likewise.
6978         * lib/unictype/categ_Lt.h: Likewise.
6979         * lib/unictype/categ_Me.h: Likewise.
6980         * lib/unictype/categ_Pc.h: Likewise.
6981         * lib/unictype/categ_Pe.h: Likewise.
6982         * lib/unictype/categ_Pf.h: Likewise.
6983         * lib/unictype/categ_Pi.h: Likewise.
6984         * lib/unictype/categ_Ps.h: Likewise.
6985         * lib/unictype/categ_Sk.h: Likewise.
6986         * lib/unictype/categ_Sm.h: Likewise.
6987         * lib/unictype/categ_Z.h: Likewise.
6988         * lib/unictype/categ_Zl.h: Likewise.
6989         * lib/unictype/categ_Zp.h: Likewise.
6990         * lib/unictype/categ_Zs.h: Likewise.
6991         * lib/unictype/ctype_blank.h: Likewise.
6992         * lib/unictype/ctype_cntrl.h: Likewise.
6993         * lib/unictype/ctype_digit.h: Likewise.
6994         * lib/unictype/ctype_space.h: Likewise.
6995         * lib/unictype/ctype_xdigit.h: Likewise.
6996         * lib/unictype/mirror.h: Likewise.
6997         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6998         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
6999         * lib/unictype/pr_bidi_block_separator.h: Likewise.
7000         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
7001         * lib/unictype/pr_bidi_common_separator.h: Likewise.
7002         * lib/unictype/pr_bidi_control.h: Likewise.
7003         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
7004         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
7005         * lib/unictype/pr_bidi_pdf.h: Likewise.
7006         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
7007         * lib/unictype/pr_bidi_whitespace.h: Likewise.
7008         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
7009         * lib/unictype/pr_format_control.h: Likewise.
7010         * lib/unictype/pr_hex_digit.h: Likewise.
7011         * lib/unictype/pr_hyphen.h: Likewise.
7012         * lib/unictype/pr_ids_binary_operator.h: Likewise.
7013         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
7014         * lib/unictype/pr_iso_control.h: Likewise.
7015         * lib/unictype/pr_join_control.h: Likewise.
7016         * lib/unictype/pr_left_of_pair.h: Likewise.
7017         * lib/unictype/pr_line_separator.h: Likewise.
7018         * lib/unictype/pr_math.h: Likewise.
7019         * lib/unictype/pr_non_break.h: Likewise.
7020         * lib/unictype/pr_not_a_character.h: Likewise.
7021         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
7022         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
7023         * lib/unictype/pr_other_id_continue.h: Likewise.
7024         * lib/unictype/pr_other_id_start.h: Likewise.
7025         * lib/unictype/pr_other_lowercase.h: Likewise.
7026         * lib/unictype/pr_other_math.h: Likewise.
7027         * lib/unictype/pr_other_uppercase.h: Likewise.
7028         * lib/unictype/pr_paired_punctuation.h: Likewise.
7029         * lib/unictype/pr_paragraph_separator.h: Likewise.
7030         * lib/unictype/pr_pattern_syntax.h: Likewise.
7031         * lib/unictype/pr_pattern_white_space.h: Likewise.
7032         * lib/unictype/pr_private_use.h: Likewise.
7033         * lib/unictype/pr_quotation_mark.h: Likewise.
7034         * lib/unictype/pr_radical.h: Likewise.
7035         * lib/unictype/pr_soft_dotted.h: Likewise.
7036         * lib/unictype/pr_space.h: Likewise.
7037         * lib/unictype/pr_titlecase.h: Likewise.
7038         * lib/unictype/pr_variation_selector.h: Likewise.
7039         * lib/unictype/pr_white_space.h: Likewise.
7040         * lib/unictype/sy_c_ident.h: Likewise.
7041         * lib/unictype/sy_c_whitespace.h: Likewise.
7042         * lib/unictype/sy_java_whitespace.h: Likewise.
7043         * modules/uni*/*: Bump version number of expected libunistring version.
7044         Reported by Simon Josefsson.
7045
7046 2011-01-09  Karl Heuer  <kwzh@gnu.org>
7047
7048         useless-if-before-free: fix typo in --help and make the internal,
7049         automatic version date update process work once again.
7050         --help output contained a NUL character instead of the
7051         backslash-zero that was intended.  Also, the "must lie within
7052         the first 8 lines" line is on line 9, and hence not getting
7053         automatically updated.
7054         * build-aux/useless-if-before-free: Fix the former by adding a
7055         backslash, and the latter by condensing the three lines of what-it-does
7056         to a single line, leaving one line of slack for the future.
7057
7058 2011-01-09  Bruno Haible  <bruno@clisp.org>
7059
7060         uniwidth/width: Fix width of U+1D173..U+1D17A.
7061         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
7062         symbolic_width, output_width_property_test): New functions.
7063         (main): Invoke output_nonspacing_property, output_width_property_test.
7064         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
7065         U+1D173..U+1D17A.
7066         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
7067         1.
7068         * modules/uniwidth/*: Bump version number of expected libunistring
7069         version.
7070         * modules/unilbrk/*: Likewise.
7071
7072 2011-01-08  Bruno Haible  <bruno@clisp.org>
7073
7074         uninorm tests: Preserve copyright of Unicode data file.
7075         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
7076         Mention modifications.
7077
7078 2011-01-08  Bruno Haible  <bruno@clisp.org>
7079
7080         gen-uni-tables: Prepare for Unicode 5.2.0.
7081         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
7082         (debug_output_lbp, output_lbp): Update.
7083
7084 2011-01-08  Bruno Haible  <bruno@clisp.org>
7085
7086         unilbrk: Clarify gen-uni-tables.c code.
7087         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
7088         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
7089         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
7090
7091 2011-01-07  Bruno Haible  <bruno@clisp.org>
7092
7093         strtod: Restore errno when successfully parsing Infinity or NaN.
7094         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
7095         restore the original errno.
7096
7097 2011-01-07  Bruno Haible  <bruno@clisp.org>
7098
7099         remove test: Avoid failure on HP-UX 11.
7100         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
7101
7102 2011-01-07  Bruno Haible  <bruno@clisp.org>
7103
7104         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
7105         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
7106         error code.
7107
7108 2011-01-07  Pádraig Brady <P@draigBrady.com>
7109
7110         ignore-value: fixup comments, and add Eric Blake
7111         as an author since he rewrote the macros.
7112         * lib/ignore-value.h (ignore_value):  State that
7113         we now support aggregates.  Also specify exactly
7114         when the GCC warn_unused_result feature was added.
7115
7116 2011-01-06  Eric Blake  <eblake@redhat.com>
7117
7118         ignore-value: support aggregate types
7119         * lib/ignore-value.h (ignore_value): Provide separate gcc
7120         definition.
7121         * modules/ignore-value-tests: New test module.
7122         * tests/test-ignore-value.c: New test.
7123
7124         maint.mk: improve sc_prohibit_strcmp regex
7125         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
7126         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
7127         definition of STRNEQ.
7128
7129         signal: work around Haiku issue with SIGBUS
7130         * lib/siglist.h: Add comment.
7131         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
7132         strsignal's favoring of SIGSEGV.
7133         * tests/test-signal.c (main): Avoid test failure.
7134         * doc/posix-headers/signal.texi (signal.h): Document the issue.
7135         Reported by Scott McCreary.
7136
7137         maint.mk: add pre-release check to ensure submodule commits are public
7138         * top/maint.mk (public-submodule-commit): New rule.
7139         (submodule-checks): New variable.
7140         (alpha beta stable): Depend on the variable.
7141
7142 2011-01-05  Pádraig Brady <P@draigBrady.com>
7143         and Jim Meyering  <meyering@redhat.com>
7144
7145         ignore-value: make ignore_value more generic; deprecate ignore_ptr
7146         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
7147         (ATTRIBUTE_DEPRECATED): Define.
7148         (_ignore_case): New function.
7149         (ignore_value): New macro, to replace the old function.
7150         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
7151         * modules/ignore-value (Depends-on): Add stdint.
7152
7153 2011-01-04  Eric Blake  <eblake@redhat.com>
7154
7155         doc: regenerate INSTALL
7156         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
7157         @firstparagraphindent support, now that autoconf dropped it.
7158         (INSTALL_PRELUDE): Reinstate old macro.
7159         * doc/install.texi: Resync from autoconf.
7160         * doc/INSTALL: Reflect recent autoconf update.
7161         * doc/INSTALL.ISO: Likewise.
7162         * doc/INSTALL.UTF-8: Likewise.
7163         Reported by Karl Berry.
7164
7165 2011-01-04  Bruce Korb  <address@hidden>
7166
7167         git-version-gen: avoid a sub-shell
7168         * build-aux/git-version-gen: Redirect stderr in `...` via
7169         "exec 2>...", rather than via an added sub-shell.
7170
7171 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
7172
7173         git-version-gen: use (...) rather than sh -c '...'
7174         * build-aux/git-version-gen: Rather than hard-coding a shell's name
7175         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
7176
7177 2011-01-03  Jim Meyering  <meyering@redhat.com>
7178
7179         git-version-gen: convert leading TABs to spaces
7180         * build-aux/git-version-gen: Expand leading TABs.
7181
7182         git-version-gen: handle failed "git rev-list"
7183         * build-aux/git-version-gen: Rather than leaking a "fatal" error
7184         from git and proceeding as if it had succeeded but printed no SHA1
7185         checksums, suppress the diagnostic and handle the failure.
7186         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
7187
7188         git-version-gen: include command name in one more diagnostic
7189         * build-aux/git-version-gen: When the required .tarball-version file
7190         was missing or unreadable, you might see the diagnostic from "cat",
7191         but no trace of the name of the invoking script.  Now, you still see
7192         the diagnostic from cat, but also get one from "git-version-gen: ".
7193         Inspired by a patch from Bruce Korb.
7194
7195         update-copyright: adjust test to match changed code
7196         * tests/test-update-copyright.sh: Change test's expected output
7197         to match new actual output.
7198
7199 2011-01-02  Bruno Haible  <bruno@clisp.org>
7200
7201         getlogin_r: Avoid test failure on HP-UX 11.
7202         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
7203         ERANGE when the second argument is zero.
7204         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
7205         portability problem.
7206
7207 2011-01-02  Bruce Korb  <bkorb@gnu.org>
7208
7209         * build-aux/update-copyright: doc Simon's changes
7210
7211 2011-01-02  Simon Josefsson  <simon@josefsson.org>
7212
7213         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
7214         environment variable.
7215
7216 2011-01-02  Bruno Haible  <bruno@clisp.org>
7217
7218         unigbrk: Avoid gcc warnings.
7219         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
7220         unused variable.
7221         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
7222         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
7223         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
7224         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
7225         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
7226         Change type of first argument to 'const char *'.
7227         (main): Remove unused variable.
7228         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
7229         type of first argument to 'const char *'.
7230         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
7231         Likewise.
7232         (main): Change type of variable 's'.
7233         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
7234         to 'int'.
7235
7236 2011-01-02  Bruno Haible  <bruno@clisp.org>
7237
7238         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
7239         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
7240         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
7241         bug.
7242         * lib/pwrite.c: Undo 2010-12-31 patch.
7243         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
7244
7245 2011-01-02  Bruno Haible  <bruno@clisp.org>
7246
7247         pread: Fix test whether it works.
7248         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
7249
7250 2011-01-02  Bruno Haible  <bruno@clisp.org>
7251
7252         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
7253         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
7254         ends in "6". Don't require a specific month name. Try also the locale
7255         names found on HP-UX 11 and Solaris 7.
7256
7257 2011-01-02  Bruno Haible  <bruno@clisp.org>
7258
7259         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
7260         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
7261         C linkage.
7262         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
7263
7264 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7265
7266         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
7267         for consistency, since the "cluster" term is not used elsewhere.
7268         * lib/unigbrk.in.h: Update name.
7269         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
7270         * lib/unigbrk/u16-grapheme-next.c: Update name.
7271         * lib/unigbrk/u16-grapheme-prev.c: Update name.
7272         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
7273         * lib/unigbrk/u32-grapheme-next.c: Update name.
7274         * lib/unigbrk/u32-grapheme-prev.c: Update name.
7275         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
7276         * lib/unigbrk/u8-grapheme-next.c: Update name.
7277         * lib/unigbrk/u8-grapheme-prev.c: Update name.
7278         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
7279         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
7280         Suggested by Bruno Haible.
7281
7282 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7283
7284         Remove module 'u8-grapheme-len' as too redundant with
7285         'u8-grapheme-next'.
7286         * modules/unigbrk/u8-grapheme-len: Delete file.
7287         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
7288         * lib/unigbrk.in.h: Remove prototype for deleted function.
7289         * lib/unigbrk/u8-grapheme-len.c: Delete file.
7290         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
7291
7292         Remove module 'u16-grapheme-len' as too redundant with
7293         'u16-grapheme-next'.
7294         * modules/unigbrk/u16-grapheme-len: Delete file.
7295         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
7296         * lib/unigbrk.in.h: Remove prototype for deleted function.
7297         * lib/unigbrk/u16-grapheme-len.c: Delete file.
7298         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
7299
7300         Remove module 'u32-grapheme-len' as too redundant with
7301         'u32-grapheme-next'.
7302         * modules/unigbrk/u32-grapheme-len: Delete file.
7303         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
7304         * lib/unigbrk.in.h: Remove prototype for deleted function.
7305         * lib/unigbrk/u32-grapheme-len.c: Delete file.
7306         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
7307
7308         Suggested by Bruno Haible.
7309
7310 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7311
7312         * unigbrk.in.h: Fix typo: "ben" => "been".
7313         Reported by Bruno Haible.
7314
7315 2011-01-01  Jim Meyering  <meyering@redhat.com>
7316
7317         maint: update almost all copyright ranges to include 2011
7318         Run the new "make update-copyright" rule.
7319
7320 2011-01-01  Jim Meyering  <meyering@redhat.com>
7321
7322         maint: update-copyright: exempt doc/INSTALL*
7323         * Makefile (update-copyright): Also exclude doc/INSTALL*,
7324         since they are generated.  Suggested by Bruno Haible.
7325
7326 2011-01-01  Jim Meyering  <meyering@redhat.com>
7327
7328         maint: refine the update-copyright rule
7329         * Makefile (update-copyright): Also exclude any file that includes
7330         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
7331         code that merely generates the comment.
7332
7333 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7334
7335         New module 'u8-grapheme-len'.
7336         * modules/unigbrk/u8-grapheme-len: New file.
7337         * modules/unigbrk/u8-grapheme-len-tests: New file.
7338         * lib/unigbrk.in.h: Add prototype for new function.
7339         * lib/unigbrk/u8-grapheme-len.c: New file.
7340         * tests/unigbrk/test-u8-grapheme-len.c: New file.
7341
7342         New module 'u16-grapheme-len'.
7343         * modules/unigbrk/u16-grapheme-len: New file.
7344         * modules/unigbrk/u16-grapheme-len-tests: New file.
7345         * lib/unigbrk.in.h: Add prototype for new function.
7346         * lib/unigbrk/u16-grapheme-len.c: New file.
7347         * tests/unigbrk/test-u16-grapheme-len.c: New file.
7348
7349         New module 'u32-grapheme-len'.
7350         * modules/unigbrk/u32-grapheme-len: New file.
7351         * modules/unigbrk/u32-grapheme-len-tests: New file.
7352         * lib/unigbrk.in.h: Add prototype for new function.
7353         * lib/unigbrk/u32-grapheme-len.c: New file.
7354         * tests/unigbrk/test-u32-grapheme-len.c: New file.
7355
7356         New module 'u8-grapheme-next'.
7357         * modules/unigbrk/u8-grapheme-next: New file.
7358         * modules/unigbrk/u8-grapheme-next-tests: New file.
7359         * lib/unigbrk.in.h: Add prototype for new function.
7360         * lib/unigbrk/u8-grapheme-next.c: New file.
7361         * tests/unigbrk/test-u8-grapheme-next.c: New file.
7362
7363         New module 'u16-grapheme-next'.
7364         * modules/unigbrk/u16-grapheme-next: New file.
7365         * modules/unigbrk/u16-grapheme-next-tests: New file.
7366         * lib/unigbrk.in.h: Add prototype for new function.
7367         * lib/unigbrk/u16-grapheme-next.c: New file.
7368         * tests/unigbrk/test-u16-grapheme-next.c: New file.
7369
7370         New module 'u32-grapheme-next'.
7371         * modules/unigbrk/u32-grapheme-next: New file.
7372         * modules/unigbrk/u32-grapheme-next-tests: New file.
7373         * lib/unigbrk.in.h: Add prototype for new function.
7374         * lib/unigbrk/u32-grapheme-next.c: New file.
7375         * tests/unigbrk/test-u32-grapheme-next.c: New file.
7376
7377         New module 'u8-grapheme-prev'.
7378         * modules/unigbrk/u8-grapheme-prev: New file.
7379         * modules/unigbrk/u8-grapheme-prev-tests: New file.
7380         * lib/unigbrk.in.h: Add prototype for new function.
7381         * lib/unigbrk/u8-grapheme-prev.c: New file.
7382         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
7383
7384         New module 'u16-grapheme-prev'.
7385         * modules/unigbrk/u16-grapheme-prev: New file.
7386         * modules/unigbrk/u16-grapheme-prev-tests: New file.
7387         * lib/unigbrk.in.h: Add prototype for new function.
7388         * lib/unigbrk/u16-grapheme-prev.c: New file.
7389         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
7390
7391         New module 'u32-grapheme-prev'.
7392         * modules/unigbrk/u32-grapheme-prev: New file.
7393         * modules/unigbrk/u32-grapheme-prev-tests: New file.
7394         * lib/unigbrk.in.h: Add prototype for new function.
7395         * lib/unigbrk/u32-grapheme-prev.c: New file.
7396         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
7397
7398         New module 'u8-grapheme-breaks'.
7399         * modules/unigbrk/u8-grapheme-breaks: New file.
7400         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
7401         * lib/unigbrk.in.h: Add prototype for new function.
7402         * lib/unigbrk/u8-grapheme-breaks.c: New file.
7403         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
7404
7405         New module 'u16-grapheme-breaks'.
7406         * modules/unigbrk/u16-grapheme-breaks: New file.
7407         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
7408         * lib/unigbrk.in.h: Add prototype for new function.
7409         * lib/unigbrk/u16-grapheme-breaks.c: New file.
7410         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
7411
7412         New module 'u32-grapheme-breaks'.
7413         * modules/unigbrk/u32-grapheme-breaks: New file.
7414         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
7415         * lib/unigbrk.in.h: Add prototype for new function.
7416         * lib/unigbrk/u32-grapheme-breaks.c: New file.
7417         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
7418
7419         New module 'ulc-grapheme-breaks'.
7420         * modules/unigbrk/ulc-grapheme-breaks: New file.
7421         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
7422         * m4/locale-ar.m4: New file.
7423         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
7424         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
7425         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
7426
7427 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7428
7429         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
7430         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
7431         modified how this file was generated before I initially submitted
7432         the module, but failed to regenerate it.  This meant that several
7433         of the level2 entries were wrong.
7434         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
7435         Remove the division-by-2 that is folded into the table now that
7436         gbrkprop.h has been regenerated properly.  Now -1 entries are
7437         handled correctly.
7438
7439         New module 'unigbrk/uc-gbrk-prop-tests'.
7440         * modules/unigbrk/uc-gbrk-prop-tests: New file.
7441         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
7442         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
7443         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
7444
7445 2011-01-01  Bruno Haible  <bruno@clisp.org>
7446
7447         Avoid use of hexadecimal escapes.
7448         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
7449         instead of hexadecimal escapes.
7450
7451 2011-01-01  Jim Meyering  <meyering@redhat.com>
7452
7453         maint: new rule to update copyright year ranges
7454         * Makefile (update-copyright): New rule.
7455
7456         maint: indent with TABs in Makefile
7457         * Makefile: Expand leading sequences of spaces to TABs
7458
7459         version-etc: update the copyright year it reports
7460         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
7461
7462 2010-12-31  Bruno Haible  <bruno@clisp.org>
7463
7464         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
7465         * lib/isfinite.c (zerof, zerod, zerol): New variables.
7466         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
7467         zero.
7468
7469 2010-12-31  Bruno Haible  <bruno@clisp.org>
7470
7471         pwrite: Work around HP-UX 11.11 bug.
7472         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
7473         works and set REPLACE_PWRITE if not.
7474         * lib/pwrite.c (pwrite): Add an implementation that uses the system
7475         function.
7476         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
7477
7478 2010-12-31  Bruno Haible  <bruno@clisp.org>
7479
7480         pread: Work around HP-UX 11 bugs.
7481         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
7482         and set REPLACE_PREAD if not.
7483         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
7484
7485 2010-12-31  Eric Blake  <eblake@redhat.com>
7486
7487         nl_langinfo: fix YESEXPR on Irix 6.5
7488         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
7489         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
7490         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
7491         it.
7492
7493 2010-12-31  Bruno Haible  <bruno@clisp.org>
7494
7495         iconv: Document HP-UX 11 bug.
7496         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
7497
7498 2010-12-31  Bruno Haible  <bruno@clisp.org>
7499
7500         ldexpl: Fix link error on HP-UX 11.
7501         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
7502         LDEXPL_LIBM, using $ISNANL_LIBM.
7503
7504 2010-12-31  Eric Blake  <eblake@redhat.com>
7505
7506         ftello: avoid compilation failure with SunStudio c89
7507         * lib/ftello.c (ftello): Use lseek, not llseek.
7508
7509         tests: avoid failing coreutils tests on cygwin
7510         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
7511         (create_exe_shims_): Return 0 when skipping.
7512
7513 2010-12-31  Bruno Haible  <bruno@clisp.org>
7514
7515         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
7516         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
7517
7518 2010-12-31  Bruno Haible  <bruno@clisp.org>
7519
7520         waitpid: Fix link error in C++ mode.
7521         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
7522
7523 2010-12-31  Bruno Haible  <bruno@clisp.org>
7524
7525         isnan: Use GCC built-ins when possible.
7526         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
7527         __builtin_isnan.
7528         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
7529         (isnan): Define using GCC built-ins for GCC >= 4.0.
7530
7531 2010-12-31  Bruno Haible  <bruno@clisp.org>
7532
7533         isnand: Fix mistake.
7534         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
7535         __builtin_isnand.
7536
7537 2010-12-31  Bruno Haible  <bruno@clisp.org>
7538
7539         open: Avoid C++ error on HP-UX 11.
7540         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
7541
7542 2010-12-31  Bruno Haible  <bruno@clisp.org>
7543
7544         time_r: Add missing declarations on HP-UX 11.
7545         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
7546         instead of HAVE_LOCALTIME_R.
7547         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
7548         HAVE_LOCALTIME_R always.
7549         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
7550         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
7551         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
7552         HAVE_LOCALTIME_R.
7553         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
7554         * doc/posix-functions/localtime_r.texi: Likewise.
7555
7556 2010-12-29  Eric Blake  <eblake@redhat.com>
7557
7558         mountlist: tweak previous commit
7559         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
7560         Reported by Paul Eggert.
7561
7562         mountlist: fix local drive detection on cygwin
7563         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
7564         that works for cygwin.
7565
7566 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
7567
7568         ftoastr, snprintf: ftoastr + snprintf module
7569         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
7570         since the snprintf module now should be good enough here.
7571         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
7572         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
7573         and gl_MODULE_INDICATOR([snprintf]), but the former enables
7574         GNULIB_SNPRINTF only for the test directory, and the latter
7575         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
7576         seems to suffice by itself.
7577
7578 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
7579
7580         alloca: one step towards thread-safety
7581         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
7582         need for a static variable.  All callers changed.  This does not
7583         make the alloca replacement thread-safe, but it's one step.
7584
7585         tests: minor indenting change
7586         * tests/init.sh: Sync from coreutils housekeeping patch
7587         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
7588         to keep lines within 80 columns.
7589
7590 2010-12-28  Jim Meyering  <meyering@redhat.com>
7591
7592         regex: don't infloop on persistent failing calloc
7593         * lib/regexec.c (build_trtable): Return failure indication upon
7594         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
7595         In glibc, this was fixed for version 2.13:
7596         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
7597
7598 2010-12-28  Bruno Haible  <bruno@clisp.org>
7599             Paul Eggert <eggert@cs.ucla.edu>
7600
7601         linkat: Make implementation robust against system behaviour variations.
7602         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
7603         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
7604         way, and to -2 if it needs a generic runtime test.
7605         * lib/linkat.c (solaris_optimized_link_immediate,
7606         solaris_optimized_link_follow): New functions.
7607         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
7608         (check_same_link): Use it.
7609
7610 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
7611
7612         New module 'unigbrk/base'.
7613         * modules/unigbrk/base: New file.
7614         * lib/unigbrk.in.h: New file.
7615
7616         New module 'unigbrk/uc-gbrk-prop'.
7617         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
7618         * modules/unigbrk/uc-gbrk-prop: New file.
7619         * lib/unigbrk/gbrkprop.h: New file.
7620         * lib/unigbrk/uc-gbrk-prop.c: New file.
7621
7622         New module 'unigbrk/uc-is-grapheme-break'.
7623         * modules/unigbrk/uc-is-grapheme-break: New file.
7624         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
7625         * lib/unigbrk/uc-is-grapheme-break.c: New file.
7626         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
7627         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
7628         * tests/unigbrk/GraphemeBreakTest.txt: New file.
7629
7630         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
7631
7632 2010-12-27  Bruno Haible  <bruno@clisp.org>
7633
7634         linkat test: Avoid failure on Solaris 11 2010-11.
7635         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
7636
7637 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7638
7639         utimens: work around glibc rounding bug on more platforms
7640         * lib/utimens.c (fdutimens): Work around rounding bug even if
7641         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
7642         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
7643
7644 2010-12-27  Bruno Haible  <bruno@clisp.org>
7645
7646         select tests: Improve comments.
7647         * tests/test-select.c (do_select): Add comments.
7648
7649 2010-12-27  Bruno Haible  <bruno@clisp.org>
7650
7651         select tests: Safer way of handling timeout.
7652         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
7653         at every invocation.
7654
7655 2010-12-27  Bruno Haible  <bruno@clisp.org>
7656
7657         select tests: Use 'bool' where appropriate.
7658         * tests/test-select.c (connect_to_socket): Change argument type to
7659         'bool'.
7660
7661 2010-12-27  Bruno Haible  <bruno@clisp.org>
7662
7663         select tests: Use existing modules.
7664         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
7665         (configure.ac): Don't test for unistd.h.
7666         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
7667         declared in <unistd.h>.
7668
7669 2010-12-27  Bruno Haible  <bruno@clisp.org>
7670
7671         mbrtowc: Work around a Solaris 7 bug.
7672         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
7673         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
7674         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
7675         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
7676         MBRTOWC_NULL_ARG1_BUG.
7677         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
7678         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
7679         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
7680         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
7681
7682 2010-12-27  Jim Meyering  <meyering@redhat.com>
7683
7684         read-file.c: tweak syntax
7685         * lib/read-file.c (fread_file): Remove space after "*" in function
7686         definitions.
7687
7688 2010-12-27  Bruno Haible  <bruno@clisp.org>
7689
7690         times test: Avoid gcc warnings on OSF/1.
7691         * tests/test-times.c (main): Cast printf arguments from clock_t to
7692         'long int'.
7693
7694 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7695
7696         utimens: work around glibc rounding bug on older Linux kernels
7697         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
7698         on Linux with a glibc whose utimes might not work, then work
7699         around a longstanding glibc bug involving rounding rather than
7700         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
7701         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7702
7703 2010-12-26  Bruno Haible  <bruno@clisp.org>
7704
7705         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
7706         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
7707         _GL_CXXALIAS_SYS.
7708         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7709
7710 2010-12-26  Bruno Haible  <bruno@clisp.org>
7711
7712         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
7713         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
7714         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7715         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
7716         looking for the declaration.
7717         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7718         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
7719         problem.
7720         * doc/posix-functions/inet_pton.texi: Likewise.
7721
7722 2010-12-26  Bruno Haible  <bruno@clisp.org>
7723
7724         arpa_inet: Use the common idioms with C++ support.
7725         * lib/arpa_inet.in.h: Include c++defs.h.
7726         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
7727         support.
7728         * modules/arpa_inet (Depends-on): Add c++defs.
7729         (Makefile.am): Substitute the contents of c++defs.h.
7730         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
7731         * modules/arpa_inet-c++-tests: New file.
7732         * tests/test-arpa_inet-c++.cc: New file.
7733
7734 2010-12-25  Bruno Haible  <bruno@clisp.org>
7735
7736         Fix more C++ link errors on Solaris 8.
7737         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
7738         $(LIB_EACCESS).
7739         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
7740         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
7741         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
7742         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
7743         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
7744
7745 2010-12-25  Bruno Haible  <bruno@clisp.org>
7746
7747         printf-posix: Fix link error when a non-GCC compiler is used.
7748         * lib/stdio.in.h (printf): When not using GCC, override printf
7749         correctly.
7750         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7751
7752 2010-12-25  Bruno Haible  <bruno@clisp.org>
7753
7754         strerror_r-posix: Update doc.
7755         * doc/posix-functions/strerror_r.texi: Update doc about the return
7756         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
7757
7758 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7759
7760         utimens: simplify the logic of the previous change
7761         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
7762         This should not affect whether the test succeeds or fails.
7763
7764         utimens: configure better on hosts with NFS clock skew
7765         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
7766         uses the clock of the local host.  It might use the clock of the
7767         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
7768         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7769
7770 2010-12-25  Bruno Haible  <bruno@clisp.org>
7771
7772         ptsname test: Avoid failure on Solaris.
7773         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
7774         open a pseudo-terminal; don't use BSD-style ptys.
7775         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
7776
7777 2010-12-25  Bruno Haible  <bruno@clisp.org>
7778
7779         ptsname: Avoid ERANGE failure on some systems.
7780         * lib/ptsname.c (buffer): Increase size.
7781
7782 2010-12-25  Bruno Haible  <bruno@clisp.org>
7783
7784         rename, renameat: Avoid test failures at NFS mounted locations.
7785         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
7786         so that subsequent mkdir calls succeed.
7787
7788 2010-12-25  Bruno Haible  <bruno@clisp.org>
7789
7790         iswblank: Fix C++ link error on Solaris 8.
7791         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
7792         _GL_FUNCDECL_SYS.
7793
7794 2010-12-25  Bruno Haible  <bruno@clisp.org>
7795
7796         unistd: Fix C++ link error on Solaris 8.
7797         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
7798
7799 2010-12-25  Bruno Haible  <bruno@clisp.org>
7800
7801         readlink doc: Mention an old glibc bug.
7802         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
7803
7804 2010-12-25  Bruno Haible  <bruno@clisp.org>
7805
7806         fcntl-h: Fix for use of C++ on glibc systems.
7807         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7808         also on glibc systems in C++ mode.
7809         Reported by Gary V. Vaughan <gary@gnu.org>.
7810
7811 2010-12-25  Bruno Haible  <bruno@clisp.org>
7812
7813         roundl-ieee: Make it work on OSF/1 5.1 with cc.
7814         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
7815
7816 2010-12-25  Bruno Haible  <bruno@clisp.org>
7817
7818         truncl-ieee: Make it work on OSF/1 5.1 with cc.
7819         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
7820         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
7821         test whether truncl works according to ISO C 99 with IEC 60559.
7822         * m4/truncl-ieee.m4: New file.
7823         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
7824         m4/signbit.m4.
7825         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
7826
7827 2010-12-25  Bruno Haible  <bruno@clisp.org>
7828
7829         ceill-ieee: Make it work on OSF/1 5.1 with cc.
7830         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
7831         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
7832         test whether ceill works according to ISO C 99 with IEC 60559.
7833         * m4/ceill-ieee.m4: New file.
7834         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
7835         m4/signbit.m4.
7836         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
7837
7838 2010-12-25  Bruno Haible  <bruno@clisp.org>
7839
7840         Ensure all prerequisites of <wchar.h> are included.
7841         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
7842         before <wchar.h>.
7843         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
7844         gl_MBRLEN_NUL_RETVAL): Likewise.
7845         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
7846         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
7847         AC_FUNC_MBRTOWC): Likewise.
7848         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7849         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
7850         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7851         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
7852         Likewise.
7853         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7854         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
7855         (gl_WCHAR_H): Improve comments.
7856         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
7857
7858 2010-12-25  Bruno Haible  <bruno@clisp.org>
7859
7860         strtok_r: Fix C syntax error in autoconf macro.
7861         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
7862         characters in test program.
7863
7864 2010-12-24  Bruno Haible  <bruno@clisp.org>
7865
7866         ceil, trunc, round: Fix gcc warnings.
7867         * lib/ceil.c (MIN): Undefine before redefining.
7868         * lib/trunc.c (MIN): Likewise.
7869         * lib/round.c (MIN): Likewise.
7870         Include <math.h> first.
7871
7872 2010-12-24  Bruno Haible  <bruno@clisp.org>
7873
7874         select tests: Avoid failures on OSF/1 5.1.
7875         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
7876         failure of closing the last socket; it may fail with ECONNRESET.
7877
7878 2010-12-24  Eric Blake  <eblake@redhat.com>
7879
7880         stdint: avoid HP-UX 10.20 preprocessor bug
7881         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
7882         than #if.
7883         * tests/test-floor2.c (main): Likewise.
7884         Reported by Peter O'Gorman.
7885
7886         pipe: make obsoletion transition easier
7887         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
7888         * modules/pipe (Files): Include revived file.
7889         (Include): Drop reference, to mirror getdate's behavior.
7890
7891 2010-12-24  Bruno Haible  <bruno@clisp.org>
7892
7893         sys_socket: Hide mismatch of declarations on NonStop Kernel.
7894         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
7895         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
7896         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7897
7898 2010-12-24  Bruno Haible  <bruno@clisp.org>
7899
7900         gethostname: Ensure declaration on NonStop Kernel.
7901         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
7902         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7903
7904 2010-12-24  Bruno Haible  <bruno@clisp.org>
7905
7906         sys_select: Ensure all necessary types on NonStop Kernel.
7907         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
7908         include <sys/time.h>.
7909         * doc/posix-headers/sys_select.texi: Mention that it's missing on
7910         NonStop Kernel.
7911         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7912
7913 2010-12-24  Bruno Haible  <bruno@clisp.org>
7914
7915         sys_select: Remove unneeded include.
7916         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
7917         have <sys/select.h>.
7918
7919 2010-12-24  Bruno Haible  <bruno@clisp.org>
7920
7921         gethostname: Provide a fallback for HOST_NAME_MAX.
7922         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
7923         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
7924         instead.
7925         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7926
7927 2010-12-24  Bruno Haible  <bruno@clisp.org>
7928
7929         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
7930         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
7931         (SA_RESTART): Likewise.
7932         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7933
7934 2010-12-24  Bruno Haible  <bruno@clisp.org>
7935
7936         signal: Define NSIG.
7937         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
7938         * tests/test-signal.c (nsig): New variable.
7939         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7940
7941 2010-12-24  Bruno Haible  <bruno@clisp.org>
7942
7943         rename, renameat: Avoid test failures on OSF/1 5.1.
7944         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
7945         alternative error codes.
7946         * tests/test-renameat.c (main): Likewise.
7947
7948 2010-12-24  Bruno Haible  <bruno@clisp.org>
7949
7950         *printf: Detect large precisions bug on Solaris 10/SPARC.
7951         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
7952         by Paul Eggert.
7953         * tests/test-snprintf-posix.h (test_function): Add this test code here
7954         too.
7955         * tests/test-sprintf-posix.h (test_function): Likewise.
7956         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7957         * tests/test-vasprintf-posix.c (test_function): Likewise.
7958         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
7959         around by gnulib.
7960         * doc/posix-functions/printf.texi: Likewise.
7961         * doc/posix-functions/snprintf.texi: Likewise.
7962         * doc/posix-functions/sprintf.texi: Likewise.
7963         * doc/posix-functions/vfprintf.texi: Likewise.
7964         * doc/posix-functions/vprintf.texi: Likewise.
7965         * doc/posix-functions/vsnprintf.texi: Likewise.
7966         * doc/posix-functions/vsprintf.texi: Likewise.
7967         * doc/posix-functions/dprintf.texi: Undo last commit.
7968         * doc/posix-functions/vdprintf.texi: Likewise.
7969
7970 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
7971
7972         tests: port test-fdutimensat.c to Solaris 8
7973         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
7974         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
7975         On Solaris 8, it fails with errno == ENOSYS, because there is no
7976         futimens (so it can't use the fd), and there is no lutimens (so it
7977         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
7978
7979         vsnprintf: make more consistent with snprintf; doc fixes
7980
7981         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
7982         the byte count return problem was promoted from the snprintf-posix
7983         to the snprintf module.
7984         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
7985         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
7986         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
7987         * tests/test-snprintf.c (main): Check the byte count returned.
7988         * tests/test-vsnprintf.c (main): Likewise.
7989
7990 2010-12-23  Eric Blake  <eblake@redhat.com>
7991
7992         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
7993         * modules/sigpipe (License): Relax license.
7994
7995 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7996
7997         doc: document Solaris printf bug with large float precisions
7998         * doc/posix-functions/dprintf.texi (dprintf):
7999         * doc/posix-functions/fprintf.texi (fprintf):
8000         * doc/posix-functions/printf.texi (printf):
8001         * doc/posix-functions/snprintf.texi (snprintf):
8002         * doc/posix-functions/sprintf.texi (sprintf):
8003         * doc/posix-functions/vdprintf.texi (vdprintf):
8004         * doc/posix-functions/vfprintf.texi (vfprintf):
8005         * doc/posix-functions/vprintf.texi (vprintf):
8006         * doc/posix-functions/vsnprintf.texi (vsnprintf):
8007         * doc/posix-functions/vsprintf.texi (vsprintf):
8008         Mention that these functions mishandle large floating point
8009         precisions on Solaris 10.  The same bug is also present in Solaris
8010         8, and I assume earlier.  This causes "cd gnulib-tests; make
8011         check" to fail on Solaris 8 (and I assume, later) when building
8012         the latest coreutils, in test-vasprintf-posix's call to
8013         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
8014         the wide flavors (e.g., wprintf) so this patch just updates the
8015         documentation for the narrow ones.
8016
8017         test-posixtm.c: add two tests
8018         * tests/test-posixtm.c: Add two tests, to highlight the
8019         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
8020         around this bug; this is merely to document it.
8021
8022 2010-12-22  Bruno Haible  <bruno@clisp.org>
8023
8024         getlogin_r: Work around portability problem on OSF/1.
8025         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
8026         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
8027         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
8028         test for a truncated result.
8029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
8030         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
8031         * modules/getlogin_r (Depends-on): Add memchr.
8032         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
8033
8034 2010-12-22  Bruno Haible  <bruno@clisp.org>
8035
8036         ptsname: Avoid test failure on OSF/1 5.1.
8037         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
8038         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
8039         (same_slave): New function.
8040         (main): Use it to compare ptsname's result with the expected file name.
8041
8042 2010-12-22  Bruno Haible  <bruno@clisp.org>
8043
8044         Port extended stdio modules to HP NonStop Kernel.
8045         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
8046         macros.
8047         * lib/fbufmode.c: Update comments.
8048         * lib/fflush.c: Likewise.
8049         * lib/fpurge.c: Likewise.
8050         * lib/freadable.c: Likewise.
8051         * lib/freadahead.c: Likewise.
8052         * lib/freading.c: Likewise.
8053         * lib/freadptr.c: Likewise.
8054         * lib/freadseek.c: Likewise.
8055         * lib/fseeko.c: Likewise.
8056         * lib/fseterr.c: Likewise.
8057         * lib/fwritable.c: Likewise.
8058         * lib/fwriting.c: Likewise.
8059         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8060
8061 2010-12-22  Bruno Haible  <bruno@clisp.org>
8062
8063         ttyname_r: Work around bug on OSF/1 5.1.
8064         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
8065         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
8066         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
8067         present.
8068         * lib/ttyname_r.c (ttyname_r): Update comments.
8069
8070 2010-12-22  Bruno Haible  <bruno@clisp.org>
8071
8072         round: Implement result sign according to IEEE 754.
8073         * lib/round.c (MIN, MINUS_ZERO): New macros.
8074         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
8075         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
8076         * tests/test-round-ieee.c (main): Likewise.
8077         * tests/test-roundl-ieee.c (main): Likewise.
8078
8079         trunc: Implement result sign according to IEEE 754.
8080         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
8081         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
8082         * tests/test-trunc2.c: Include minus-zero.h.
8083         (MINUS_ZERO): New macro.
8084         (trunc_reference): Keep in sync with lib/trunc.c.
8085         * tests/test-truncf2.c: Include minus-zero.h.
8086         (MINUS_ZERO): New macro.
8087         (truncf_reference): Keep in sync with lib/trunc.c.
8088         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
8089         * tests/test-trunc-ieee.c (main): Likewise.
8090         * tests/test-truncl-ieee.c (main): Likewise.
8091
8092         ceil: Implement result sign according to IEEE 754.
8093         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
8094         (FUNC): Return -0.0 for -1 < x < 0.
8095         * tests/test-ceil2.c: Include minus-zero.h.
8096         (MINUS_ZERO): New macro.
8097         (ceil_reference): Keep in sync with lib/ceil.c.
8098         * tests/test-ceilf2.c: Include minus-zero.h.
8099         (MINUS_ZERO): New macro.
8100         (ceilf_reference): Keep in sync with lib/ceil.c.
8101         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
8102         * tests/test-ceil-ieee.c (main): Likewise.
8103         * tests/test-ceill-ieee.c (main): Likewise.
8104
8105         floor: Implement result sign according to IEEE 754.
8106         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
8107         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
8108         * tests/test-floorf2.c (floorf_reference): Likewise.
8109         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
8110         * tests/test-floor-ieee.c (main): Likewise.
8111         * tests/test-floorl-ieee.c (main): Likewise.
8112
8113 2010-12-22  Bruno Haible  <bruno@clisp.org>
8114
8115         getaddrinfo: Update doc.
8116         * doc/posix-functions/gai_strerror.texi: Return type is also different
8117         on AIX and HP-UX.
8118
8119 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8120
8121         getaddrinfo, inet_ntop: Update doc for Solaris.
8122         * doc/posix-functions/gai_strerror.texi: Return type is also an
8123         issue on Solaris 9 and earlier.
8124         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
8125         on Solaris 10 and earlier.
8126
8127 2010-12-21  Bruno Haible  <bruno@clisp.org>
8128
8129         New module 'roundl-ieee'.
8130         * modules/roundl-ieee: New file.
8131         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
8132         test whether roundl works according to ISO C 99 with IEC 60559.
8133         * m4/roundl-ieee.m4: New file.
8134         * modules/roundl-ieee-tests: New file.
8135         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
8136         * tests/test-roundl.c (main): Remove signbit tests.
8137         * modules/roundl-tests (Depends-on): Remove signbit.
8138         * doc/posix-functions/roundl.texi: Mention the new module.
8139
8140 2010-12-21  Bruno Haible  <bruno@clisp.org>
8141
8142         New module 'truncl-ieee'.
8143         * modules/truncl-ieee: New file.
8144         * modules/truncl-ieee-tests: New file.
8145         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
8146         * tests/test-truncl.c (main): Remove signbit tests.
8147         * modules/truncl-tests (Depends-on): Remove signbit.
8148         * doc/posix-functions/truncl.texi: Mention the new module.
8149
8150 2010-12-21  Bruno Haible  <bruno@clisp.org>
8151
8152         New module 'ceill-ieee'.
8153         * modules/ceill-ieee: New file.
8154         * modules/ceill-ieee-tests: New file.
8155         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
8156         * tests/test-ceill.c (main): Remove signbit tests.
8157         * modules/ceill-tests (Depends-on): Remove signbit.
8158         * doc/posix-functions/ceill.texi: Mention the new module.
8159
8160 2010-12-21  Bruno Haible  <bruno@clisp.org>
8161
8162         New module 'floorl-ieee'.
8163         * modules/floorl-ieee: New file.
8164         * modules/floorl-ieee-tests: New file.
8165         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
8166         * tests/test-floorl.c (main): Remove signbit tests.
8167         * modules/floorl-tests (Depends-on): Remove signbit.
8168         * doc/posix-functions/floorl.texi: Mention the new module.
8169
8170 2010-12-21  Bruno Haible  <bruno@clisp.org>
8171
8172         New module 'round-ieee'.
8173         * modules/round-ieee: New file.
8174         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
8175         whether round works according to ISO C 99 with IEC 60559.
8176         * m4/round-ieee.m4: New file.
8177         * modules/round-ieee-tests: New file.
8178         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
8179         * tests/test-round1.c (main): Remove signbit tests.
8180         * modules/round-tests (Depends-on): Remove 'signbit'.
8181         * doc/posix-functions/round.texi: Mention the new module.
8182
8183 2010-12-21  Bruno Haible  <bruno@clisp.org>
8184
8185         New module 'trunc-ieee'.
8186         * modules/trunc-ieee: New file.
8187         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
8188         whether trunc works according to ISO C 99 with IEC 60559.
8189         * m4/trunc-ieee.m4: New file.
8190         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
8191         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
8192         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
8193         * modules/trunc-ieee-tests: New file.
8194         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
8195         * tests/test-trunc1.c (main): Remove signbit tests.
8196         * modules/trunc-tests (Depends-on): Remove 'signbit'.
8197         * doc/posix-functions/trunc.texi: Mention the new module.
8198
8199 2010-12-21  Bruno Haible  <bruno@clisp.org>
8200
8201         New module 'ceil-ieee'.
8202         * modules/ceil-ieee: New file.
8203         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
8204         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
8205         ISO C 99 with IEC 60559.
8206         * m4/ceil-ieee.m4: New file.
8207         * modules/ceil (Files): Add lib/ceil.c.
8208         (Depends-on): Add 'float'.
8209         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8210         * lib/math.in.h (ceil): New declaration.
8211         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
8212         REPLACE_CEIL.
8213         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
8214         * modules/ceil-ieee-tests: New file.
8215         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
8216         * tests/test-math-c++.cc: Check the signature of 'ceil'.
8217         * doc/posix-functions/ceil.texi: Mention the new module.
8218
8219 2010-12-21  Bruno Haible  <bruno@clisp.org>
8220
8221         New module 'floor-ieee'.
8222         * modules/floor-ieee: New file.
8223         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
8224         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
8225         ISO C 99 with IEC 60559.
8226         * m4/floor-ieee.m4: New file.
8227         * modules/floor (Files): Add lib/floor.c.
8228         (Depends-on): Add 'float'.
8229         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8230         * lib/math.in.h (floor): New declaration.
8231         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
8232         REPLACE_FLOOR.
8233         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
8234         * modules/floor-ieee-tests: New file.
8235         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
8236         * tests/test-math-c++.cc: Check the signature of 'floor'.
8237         * doc/posix-functions/floor.texi: Mention the new module.
8238
8239 2010-12-21  Bruno Haible  <bruno@clisp.org>
8240
8241         New module 'roundf-ieee'.
8242         * modules/roundf-ieee: New file.
8243         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
8244         test whether roundf works according to ISO C 99 with IEC 60559.
8245         * m4/roundf-ieee.m4: New file.
8246         * modules/roundf-ieee-tests: New file.
8247         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
8248         * tests/test-roundf1.c (main): Remove signbit tests.
8249         * modules/roundf-tests (Depends-on): Remove 'signbit'.
8250         * doc/posix-functions/roundf.texi: Mention the new module.
8251
8252 2010-12-21  Bruno Haible  <bruno@clisp.org>
8253
8254         New module 'truncf-ieee'.
8255         * modules/truncf-ieee: New file.
8256         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
8257         test whether truncf works according to ISO C 99 with IEC 60559.
8258         * m4/truncf-ieee.m4: New file.
8259         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
8260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
8261         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
8262         * modules/truncf-ieee-tests: New file.
8263         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
8264         * tests/test-truncf1.c (main): Remove signbit tests.
8265         * modules/truncf-tests (Depends-on): Remove 'signbit'.
8266         * doc/posix-functions/truncf.texi: Mention the new module.
8267
8268 2010-12-21  Bruno Haible  <bruno@clisp.org>
8269
8270         New module 'ceilf-ieee'.
8271         * modules/ceilf-ieee: New file.
8272         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
8273         test whether ceilf works according to ISO C 99 with IEC 60559.
8274         * m4/ceilf-ieee.m4: New file.
8275         * modules/ceilf-ieee-tests: New file.
8276         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
8277         * tests/test-ceilf1.c (main): Remove signbit tests.
8278         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
8279         * doc/posix-functions/ceilf.texi: Mention the new module.
8280
8281 2010-12-21  Bruno Haible  <bruno@clisp.org>
8282
8283         New module 'floorf-ieee'.
8284         * modules/floorf-ieee: New file.
8285         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
8286         test whether floorf works according to ISO C 99 with IEC 60559.
8287         * m4/floorf-ieee.m4: New file.
8288         * modules/floorf-ieee-tests: New file.
8289         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
8290         * tests/test-floorf1.c (main): Remove signbit tests.
8291         * modules/floorf-tests (Depends-on): Remove 'signbit'.
8292         * doc/posix-functions/floorf.texi: Mention the new module.
8293
8294 2010-12-21  Bruno Haible  <bruno@clisp.org>
8295
8296         Support for minus zero in autoconf macros.
8297         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
8298         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
8299         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
8300         * tests/minus-zero.h: Update comments.
8301
8302 2010-12-21  Bruno Haible  <bruno@clisp.org>
8303
8304         Tests for module 'ceil'.
8305         * modules/ceil-tests: New file.
8306         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
8307         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
8308
8309 2010-12-21  Bruno Haible  <bruno@clisp.org>
8310
8311         Tests for module 'floor'.
8312         * modules/floor-tests: New file.
8313         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
8314         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
8315
8316 2010-12-21  Bruno Haible  <bruno@clisp.org>
8317
8318         math: Fix indentation.
8319         * lib/math.in.h (floorf): Fix indentation.
8320
8321 2010-12-21  Bruno Haible  <bruno@clisp.org>
8322
8323         Fix cross-compilation guesses on Solaris.
8324         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
8325         not match "solaris2.10".
8326         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8327         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
8328         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
8329
8330 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
8331
8332         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
8333         This fixes a problem observed with the latest coreutils snapshot
8334         that caused a test to fail on Solaris 8.  src/csplit.c's call
8335         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
8336         earlier, instead of returning the number of bytes that would have
8337         been generated; this causes csplit to incorrectly report memory
8338         exhaustion.
8339         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
8340         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
8341         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
8342         comments to match.
8343         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
8344         Fix typo in matching older versions of Solaris: "solaris2.10"
8345         is matched by the shell pattern "solaris2.[0-9]*".  This matters
8346         only for guessing while cross-compiling.
8347         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
8348
8349 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
8350
8351         ftoastr: fix comment again
8352         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8353         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
8354         Also, simplify example a bit by using flags = 0.
8355
8356 2010-12-20  Bruno Haible  <bruno@clisp.org>
8357
8358         round*, trunc*: Update documentation regarding glibc.
8359         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
8360         * doc/posix-functions/round.texi: Likewise.
8361         * doc/posix-functions/roundl.texi: Likewise.
8362         * doc/posix-functions/truncf.texi: Likewise.
8363         * doc/posix-functions/trunc.texi: Likewise.
8364         * doc/posix-functions/truncl.texi: Likewise.
8365
8366 2010-12-20  Bruno Haible  <bruno@clisp.org>
8367
8368         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
8369         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
8370         * doc/posix-functions/round.texi: Likewise.
8371         * doc/posix-functions/roundl.texi: Likewise.
8372
8373 2010-12-20  Bruno Haible  <bruno@clisp.org>
8374
8375         ttyname_r: Add missing declaration on HP-UX 11.
8376         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
8377         HAVE_TTYNAME_R.
8378         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
8379         declared. Set HAVE_TTYNAME_R always.
8380         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8381         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
8382         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
8383         HAVE_TTYNAME_R.
8384         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
8385
8386 2010-12-20  Bruno Haible  <bruno@clisp.org>
8387
8388         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
8389         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
8390         * doc/posix-functions/getlogin_r.texi: Likewise.
8391         * tests/test-getlogin.c: Include <errno.h>.
8392         (main): Avoid test failure on HP-UX 11.11.
8393         * tests/test-getlogin_r.c (main): Likewise.
8394
8395 2010-12-20  Bruno Haible  <bruno@clisp.org>
8396
8397         getlogin_r: Add missing declaration on HP-UX 11.
8398         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
8399         declared also when it exists as a function.
8400         * doc/posix-functions/getlogin_r.texi: Document this workaround.
8401
8402 2010-12-20  Bruno Haible  <bruno@clisp.org>
8403
8404         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
8405         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
8406         through wcrtomb.
8407
8408 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8409
8410         ftoastr: fix comment
8411         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8412         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
8413
8414 2010-12-19  Bruno Haible  <bruno@clisp.org>
8415
8416         isnan: Ensure it is a macro.
8417         * lib/math.in.h (isnan): Define as a macro if not already a macro.
8418         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
8419         Solaris.
8420
8421 2010-12-19  Bruno Haible  <bruno@clisp.org>
8422
8423         ldexpl test: Fix link error on OSF/1 5.1.
8424         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
8425
8426 2010-12-19  Bruno Haible  <bruno@clisp.org>
8427
8428         wctype: Make it work in C++ mode on OSF/1 5.1.
8429         * lib/wctype.in.h (iswblank): Declare but not define here.
8430         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
8431         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
8432         * modules/wctype (Files): Add lib/iswblank.c.
8433
8434 2010-12-19  Bruno Haible  <bruno@clisp.org>
8435
8436         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
8437         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
8438         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
8439
8440 2010-12-19  Bruno Haible  <bruno@clisp.org>
8441
8442         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
8443         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
8444         _POSIX_PII_SOCKET.
8445         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
8446         * doc/posix-functions/recvfrom.texi: Likewise.
8447         * doc/posix-functions/send.texi: Likewise.
8448         * doc/posix-functions/sendto.texi: Likewise.
8449
8450 2010-12-19  Bruno Haible  <bruno@clisp.org>
8451
8452         tcgetsid: Add missing declaration on OSF/1 5.1.
8453         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
8454         HAVE_TCGETSID.
8455         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
8456         Don't set HAVE_TCGETSID.
8457         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
8458         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
8459         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
8460         HAVE_TCGETSID.
8461         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
8462
8463 2010-12-19  Bruno Haible  <bruno@clisp.org>
8464
8465         stdio: Fix problem with popen() declaration on OSF/1 5.1.
8466         * lib/stdio.in.h: During the include_next statement, let recursive
8467         includes of this file include only the system header file.
8468
8469 2010-12-19  Bruno Haible  <bruno@clisp.org>
8470
8471         iconv_open: Fix regression from 2010-12-04.
8472         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
8473         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
8474
8475 2010-12-19  Bruno Haible  <bruno@clisp.org>
8476
8477         stdbool test: Avoid a gcc warning.
8478         * tests/test-stdbool.c (main): Fail if e1 is false.
8479         Reported by Jim Meyering.
8480
8481 2010-12-19  Jim Meyering  <meyering@redhat.com>
8482
8483         setenv: restore to working order
8484         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
8485         mistakenly removed.
8486         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
8487         HAVE_SETENV.
8488         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
8489         HAVE_SETENV.
8490
8491 2010-12-19  Bruno Haible  <bruno@clisp.org>
8492
8493         Document some different function declarations on OSF/1 5.1.
8494         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
8495         * doc/posix-functions/inet_ntop.texi: Likewise.
8496         * doc/posix-functions/gethostname.texi: Likewise.
8497         * lib/unistd.in.h (gethostname): Update comment.
8498
8499 2010-12-19  Bruno Haible  <bruno@clisp.org>
8500
8501         doc: Mention vasprintf-posix module.
8502         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
8503         the 'vasprintf-posix' module.
8504         * doc/glibc-functions/vasprintf.texi: Likewise.
8505
8506 2010-12-19  Bruno Haible  <bruno@clisp.org>
8507
8508         unsetenv: Add missing declaration on OSF/1 5.1.
8509         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
8510         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
8511         Don't set HAVE_UNSETENV. In the test program, set _BSD.
8512         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
8513         not HAVE_UNSETENV.
8514         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
8515         HAVE_UNSETENV.
8516         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
8517
8518 2010-12-19  Bruno Haible  <bruno@clisp.org>
8519
8520         setenv: Add missing declaration on OSF/1 5.1.
8521         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
8522         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
8523         declared. Don't set HAVE_SETENV.
8524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
8525         not HAVE_SETENV.
8526         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
8527         HAVE_SETENV.
8528         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
8529
8530 2010-12-19  Bruno Haible  <bruno@clisp.org>
8531
8532         nl_langinfo tests: Avoid gcc warning.
8533         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
8534
8535 2010-12-19  Bruno Haible  <bruno@clisp.org>
8536
8537         mknod: Avoid error in C++ mode on OSF/1 with GCC.
8538         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
8539         _GL_CXXALIAS_SYS.
8540
8541 2010-12-19  Bruno Haible  <bruno@clisp.org>
8542
8543         stdbool: Relax test.
8544         * tests/test-stdbool.c (e): Don't require that casts from a variable's
8545         address to 'bool' work in static initializer, for compilers other than
8546         GCC.
8547
8548 2010-12-19  Bruno Haible  <bruno@clisp.org>
8549
8550         ftello: Add missing declaration on OSF/1 5.1.
8551         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
8552         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
8553         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
8554         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
8555         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
8556
8557 2010-12-19  Bruno Haible  <bruno@clisp.org>
8558
8559         fseeko: Add missing declaration on OSF/1 5.1.
8560         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
8561         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
8562         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
8563         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
8564         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
8565
8566 2010-12-19  Bruno Haible  <bruno@clisp.org>
8567
8568         fchdir: Add missing declaration on OSF/1 5.1.
8569         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
8570         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
8571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
8572         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
8573         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
8574
8575 2010-12-19  Bruno Haible  <bruno@clisp.org>
8576
8577         relocatable-prog-wrapper: Separate from relocatable-prog.
8578         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
8579         uninstall-relocwrapper rule here.
8580         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
8581         Reported by Ian Beckwith <ianb@erislabs.net>.
8582
8583 2010-12-19  Bruno Haible  <bruno@clisp.org>
8584
8585         unistr/u8-mbsnlen: Add missing dependency.
8586         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
8587         Reported by Ian Beckwith <ianb@erislabs.net>.
8588
8589 2010-12-19  Bruno Haible  <bruno@clisp.org>
8590
8591         iconv: Make it possible again to use this module without 'iconv-h'.
8592         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
8593         if it is not defined.
8594         Reported by Ian Beckwith <ianb@erislabs.net>.
8595
8596 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8597
8598         acl: port to Solaris 8 when copying from tmpfs to ufs
8599         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
8600         error number.  Problem observed on Solaris 8 with latest
8601         coreutils, with "mv A B", where A is on a tmpfs file system and B
8602         is on a ufs file system.  This caused coreutils' mv/part-symlink
8603         test to fail.
8604
8605         tests: set fail=0 at start
8606         * tests/init.sh (setup_): Move fail=0 initialization here ...
8607         (mktempd_): ... from here, so that tests can rely on fail being
8608         set to 0 initially.  This fixes a problem in coreutils; see:
8609         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
8610
8611 2010-12-18  Bruno Haible  <bruno@clisp.org>
8612
8613         memmem-simple: Stylistic changes.
8614         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
8615         Fix preprocessor directive indentation.
8616
8617 2010-12-15  Pádraig Brady <P@draigBrady.com>
8618
8619         memmem, memmem-simple: reorganize and expand empty needle check
8620         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
8621         functional checks to memmem-simple so that one has a fully functional
8622         memmem by using just this module.
8623         Restrict the performance only check to the memmem module.
8624         Also expand the empty needle check to ensure the correct
8625         pointer is returned, not just a non NULL pointer.
8626         * doc/glibc-functions/memmem.texi: Rearrange the portability
8627         documentation to correlate with the rearranged checks.
8628         Clarify exactly how the memmem and memmem-simple modules
8629         relate to each other.
8630
8631 2010-12-15  Pádraig Brady <P@draigBrady.com>
8632             Bruno Haible  <bruno@clisp.org>
8633
8634         Improve cross-compilation guesses for uClibc.
8635         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
8636         that uClibc does not have the glibc bug.
8637         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
8638         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
8639
8640 2010-12-14  Eric Blake  <eblake@redhat.com>
8641
8642         configmake: provide fallbacks for oldest supported autotools
8643         * m4/configmake.m4: New file.
8644         * modules/configmake (Files): Ship it.
8645         (configure.ac): Use it to guarantee fallbacks.
8646
8647 2010-12-13  Pádraig Brady <P@draigBrady.com>
8648
8649         read-file: Improve handling of large files
8650         * lib/read-file.c (fread_file): Minimize realloc()s
8651         for regular files, and better manage sizes around SIZE_MAX.
8652
8653 2010-12-13  Eric Blake  <eblake@redhat.com>
8654
8655         cloexec, fcntl: relax license
8656         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
8657         consent from all contributors.
8658         * modules/fcntl (License): Likewise.
8659
8660 2010-12-10  Bruno Haible  <bruno@clisp.org>
8661
8662         Tests for module 'pipe-posix'.
8663         * modules/pipe-posix-tests: New file.
8664         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
8665
8666 2010-12-10  Bruno Haible  <bruno@clisp.org>
8667
8668         pipe-posix: Make it work in C++ mode.
8669         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
8670         (pipe): Use common idiom, not a macro definition.
8671         * lib/pipe.c: New file.
8672         * m4/pipe.m4: New file.
8673         * modules/pipe-posix (Description): Enhance.
8674         (Files): Add lib/pipe.c, m4/pipe.m4.
8675         (configure.ac): Invoke gl_FUNC_PIPE.
8676         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
8677         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
8678         * tests/test-unistd-c++.cc: Check the signature of pipe.
8679
8680 2010-12-10  Bruno Haible  <bruno@clisp.org>
8681
8682         Rename module 'pipe' to 'spawn-pipe'.
8683         * modules/spawn-pipe: New file, renamed from modules/pipe.
8684         (Files, configure.ac, Makefile.am): Update.
8685         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
8686         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
8687         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
8688         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
8689         "spawn-pipe.h" instead of "pipe.h".
8690         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
8691         to gl_SPAWN_PIPE.
8692         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
8693         (Files, Makefile.am): Update.
8694         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
8695         Update.
8696         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
8697         Include "spawn-pipe.h" instead of "pipe.h".
8698         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
8699         * lib/javacomp.c: Likewise.
8700         * lib/javaversion.c: Likewise.
8701         * lib/pipe-filter-gi.c: Likewise.
8702         * lib/pipe-filter-ii.c: Likewise.
8703         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
8704         * modules/javacomp (Depends-on): Likewise.
8705         * modules/javaversion (Depends-on): Likewise.
8706         * modules/pipe-filter-gi (Depends-on): Likewise.
8707         * modules/pipe-filter-ii (Depends-on): Likewise.
8708         * MODULES.html.sh (Executing programs): Update.
8709         * NEWS: Mention the change.
8710
8711 2010-12-10  Eric Blake  <eblake@redhat.com>
8712
8713         pipe-posix: new module
8714         * modules/pipe-posix: New file.
8715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
8716         (gl_UNISTD_H): Check for declaration.
8717         * modules/unistd (Makefile.am): Substitute it.
8718         * lib/unistd.in.h (pipe): Provide it for mingw.
8719         * doc/posix-functions/pipe.texi (pipe): Update documentation.
8720         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
8721
8722 2010-12-07  Bruno Haible  <bruno@clisp.org>
8723
8724         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
8725         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
8726         u8_strcmp_gnu.
8727         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
8728
8729 2010-12-06  Bruno Haible  <bruno@clisp.org>
8730
8731         Update internal documentation.
8732         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
8733
8734 2010-12-04  Bruno Haible  <bruno@clisp.org>
8735
8736         Put more information about failed tests into the test return codes.
8737         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
8738         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
8739         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8740         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8741         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
8742         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8743         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8744         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8745         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
8746         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8747         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
8748         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8749         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8750         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8751         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
8752         returns a bit mask.
8753         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
8754         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
8755         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
8756         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
8757         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8758         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8759         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8760         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8761         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8762         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8763         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8764         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8765         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8766         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8767         * m4/link.m4 (gl_FUNC_LINK): Likewise.
8768         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
8769         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
8770         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
8771         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8772         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
8773         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8774         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
8775         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
8776         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
8777         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8778         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8779         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
8780         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8781         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8782         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
8783         gl_PRINTF_PRECISION): Likewise.
8784         * m4/regex.m4 (gl_REGEX): Likewise.
8785         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
8786         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8787         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
8788         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8789         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8790         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8791         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
8792         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
8793         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
8794         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8795         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
8796         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8797         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8798         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
8799         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8800         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8801         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
8802         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8803         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8804         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
8805         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
8806         enumerated value.
8807         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
8808
8809 2010-12-04  Bruno Haible  <bruno@clisp.org>
8810
8811         Update for Solaris 11 2010-11.
8812         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
8813         Express, released in November 2010.
8814
8815 2010-12-04  Bruno Haible  <bruno@clisp.org>
8816
8817         nproc: Relax license.
8818         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
8819         and Paul Eggert.
8820         Requested by Ludovic Courtès <ludo@gnu.org>.
8821
8822 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
8823
8824         utimecmp: fine-grained src to nearby coarse-grained dest
8825
8826         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
8827         and the source is on a file system with higher-resolution time
8828         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
8829         not work, and the time stamps are close together, the algorithm to
8830         determine the exact resolution from the read-back mtime was buggy:
8831         it had a "!=" where it should have had an "==".  This bug has been
8832         in the code ever since it was introduced to gnulib.
8833         Problem reported by Dan Jacobson in
8834         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
8835
8836 2010-11-30  Bruno Haible  <bruno@clisp.org>
8837
8838         strerror_r-posix: Fix autoconf test.
8839         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
8840
8841 2010-11-28  Bruno Haible  <bruno@clisp.org>
8842             Paul Eggert  <eggert@cs.ucla.edu>
8843
8844         Tests for module 'getdomainname'.
8845         * modules/getdomainname-tests: New file.
8846         * tests/test-getdomainname.c: New file, based on
8847         tests/test-gethostname.c.
8848
8849 2010-11-28  Bruno Haible  <bruno@clisp.org>
8850             Paul Eggert  <eggert@cs.ucla.edu>
8851
8852         getdomainname: Use the system function when possible.
8853         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
8854         (getdomainname): Replace if needed. Provide the declaration if it is
8855         missing. Don't use _GL_CXXALIAS_SYS_CAST.
8856         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
8857         (getdomainname): When the system has getdomainname, call the system
8858         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
8859         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
8860         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
8861         found in libnsl. Look for the declaration also in <netdb.h>. Replace
8862         the function if its second argument is of type 'int' or if it is found
8863         in libnsl.
8864         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
8865         <sys/systeminfo.h> and sysinfo().
8866         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
8867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8868         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
8869         HAVE_GETDOMAINNAME.
8870         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
8871         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
8872         * doc/glibc-functions/getdomainname.texi: Document the problems with
8873         the getdomainname declaration.
8874
8875 2010-11-28  Bruno Haible  <bruno@clisp.org>
8876
8877         sys_socket: Ensure ss_family field on AIX.
8878         * lib/sys_socket.in.h (ss_family): New macro definition.
8879         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
8880         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
8881         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
8882         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8883         * modules/sys_socket (Makefile.am): Substitute
8884         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8885         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
8886
8887 2010-11-27  Bruno Haible  <bruno@clisp.org>
8888
8889         readline: Improve configure output.
8890         * m4/readline.m4 (gl_FUNC_READLINE): Make the
8891         "checking for readline..." result understandable.
8892
8893 2010-11-27  Bruno Haible  <bruno@clisp.org>
8894
8895         *printf-posix: Detect a bug on Solaris 10/x86.
8896         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
8897         for floating-point output.
8898         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
8899         directive.
8900         * tests/test-snprintf-posix.h (test_function): Likewise.
8901         * tests/test-sprintf-posix.h (test_function): Likewise.
8902         * tests/test-vasprintf-posix.c (test_function): Likewise.
8903         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
8904         * doc/posix-functions/printf.texi: Likewise.
8905         * doc/posix-functions/snprintf.texi: Likewise.
8906         * doc/posix-functions/sprintf.texi: Likewise.
8907         * doc/posix-functions/vfprintf.texi: Likewise.
8908         * doc/posix-functions/vprintf.texi: Likewise.
8909         * doc/posix-functions/vsnprintf.texi: Likewise.
8910         * doc/posix-functions/vsprintf.texi: Likewise.
8911         * doc/glibc-functions/obstack_printf.texi: Likewise.
8912         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8913
8914 2010-11-27  Bruno Haible  <bruno@clisp.org>
8915
8916         Fix link error when module libunistring-optional is in use.
8917         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
8918         * modules/striconveha-tests (Makefile.am): Likewise.
8919
8920 2010-11-27  Bruno Haible  <bruno@clisp.org>
8921
8922         regex: Mention link dependencies.
8923         * modules/regex (Link): New section.
8924         * modules/rpmatch (Link): Likewise.
8925         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
8926
8927 2010-11-27  Bruno Haible  <bruno@clisp.org>
8928
8929         ftoastr: Fix compilation error on Solaris.
8930         * lib/ftoastr.c: Include <config.h>.
8931
8932 2010-11-27  Bruno Haible  <bruno@clisp.org>
8933
8934         getloadavg: Update documentation.
8935         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
8936
8937 2010-11-27  Bruno Haible  <bruno@clisp.org>
8938
8939         sys_socket: Fix test whether the functions are declared.
8940         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
8941         not <sys/select.h>.
8942
8943 2010-11-27  Bruno Haible  <bruno@clisp.org>
8944
8945         getpass: Make sure to get system declaration on some platforms.
8946         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
8947         gl_USE_SYSTEM_EXTENSIONS.
8948         * modules/getpass (Depends-on): Add extensions.
8949
8950 2010-11-26  Bruno Haible  <bruno@clisp.org>
8951
8952         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
8953         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
8954         'iconv' module is present.
8955         (ICONV_CONST): New macro.
8956         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
8957         ICONV_CONST.
8958         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
8959         set ICONV_CONST.
8960         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
8961         here.
8962         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
8963         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
8964         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
8965         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
8966         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
8967         present.
8968
8969 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8970
8971         ftoastr: comment fix
8972         * lib/ftoastr.c: "little" -> "little or no" in comment
8973
8974 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8975
8976         stdint: port to GCC 4.3 + OSX + Octave
8977         On this platform, stdint.h is buggy and defines int64_t to long
8978         long int.  The replacement defined it to long int, causing
8979         problems with C++ style name mangling.  Instead, trust the system
8980         definition if INT64_MAX is defined, and likewise for the unsigned
8981         variant.   Problem reported by Jarno Rajahalme in
8982         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
8983         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
8984         and don't mess with int64_t and INT64_MAX in this case.
8985         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
8986
8987 2010-11-24  Bruno Haible  <bruno@clisp.org>
8988
8989         doc: Corrections regarding MacOS X 10.4 and 10.5.
8990         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
8991         MacOS X.
8992         Reported by Simon Josefsson.
8993
8994 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
8995
8996         Uninstall ".bin" files installed by relocwrapper.
8997         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
8998         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
8999         unless it is already there.
9000
9001 2010-11-21  Bruno Haible  <bruno@clisp.org>
9002
9003         Update for NetBSD 5.0.
9004         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9005         NetBSD; the test fails on NetBSD 5.0.
9006         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9007         about NetBSD.
9008
9009 2010-11-21  Bruno Haible  <bruno@clisp.org>
9010
9011         Update for HP-UX 11.23 and HP-UX 11.31.
9012         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
9013         HP-UX.
9014
9015 2010-11-21  Bruno Haible  <bruno@clisp.org>
9016
9017         Update for MacOS X 10.5.
9018         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9019         MacOS X; the test fails on MacOS X 10.5.8.
9020         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9021         about MacOS X.
9022
9023 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
9024
9025         bootstrap: add bootstrap_sync option.
9026         See discussion at
9027         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
9028         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
9029         * build-aux/bootstrap: Accept --bootstrap-sync to update
9030         bootstrap if it is not identical to the local gnulib's
9031         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
9032         enable this by default.  Accept --no-bootstrap-sync to disable
9033         it.
9034
9035 2010-11-20  Bruno Haible  <bruno@clisp.org>
9036
9037         Ensure that <features.h> is included before __GLIBC__ is tested.
9038         * lib/printf-parse.h: Include <features.h>.
9039         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
9040         Reported by Mike Frysinger <vapier@gentoo.org>.
9041
9042         Ensure that <features.h> is included before __GLIBC__ is tested.
9043         * lib/wchar.in.h: Include <features.h>.
9044         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
9045         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
9046         Reported by Mike Frysinger <vapier@gentoo.org>.
9047
9048         Ensure that <features.h> is included before __GLIBC__ is tested.
9049         * lib/arpa_inet.in.h: Include <features.h>.
9050         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
9051         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
9052         Reported by Mike Frysinger <vapier@gentoo.org>.
9053
9054         Ensure that <features.h> is included before __GLIBC__ is tested.
9055         * build-aux/link-warning.h: Include <features.h>.
9056         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
9057         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
9058         Reported by Mike Frysinger <vapier@gentoo.org>.
9059
9060         Ensure that <features.h> is included before __GLIBC__ is tested.
9061         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
9062         Reported by Mike Frysinger <vapier@gentoo.org>.
9063
9064 2010-11-20  Bruno Haible  <bruno@clisp.org>
9065
9066         memmem: Fix autoconf test.
9067         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
9068
9069 2010-11-20  Bruno Haible  <bruno@clisp.org>
9070
9071         Port to uClibc.
9072         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
9073         * lib/fcntl.in.h: Likewise.
9074         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
9075         * lib/mbrtowc.c (mbrtowc): Likewise.
9076         * lib/relocatable.c (find_shared_library_fullname): Likewise.
9077         * lib/strerror_r.c: Likewise.
9078         * lib/unistr/u8-strnlen.c: Likewise.
9079         * lib/vasnprintf.c (decimal_point_char): Likewise.
9080         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
9081         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9082         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
9083         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
9084         * tests/test-sigaction.c (handler, main): Likewise.
9085         * lib/freading.h: Treat uClibc like a non-glibc platform.
9086         * lib/freading.c: Likewise.
9087         * lib/gettext.h: Likewise.
9088         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
9089         Likewise.
9090         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
9091         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9092         * lib/propername.c (proper_name_utf8): Likewise.
9093         * lib/spawn.in.h: Likewise.
9094         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
9095         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
9096         mem_cd_iconveh_internal): Likewise.
9097         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
9098         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
9099         strstr, strcasestr): Likewise.
9100         * lib/unicodeio.c (unicode_to_mb): Likewise.
9101         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
9102         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
9103         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
9104         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
9105         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
9106         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
9107         * lib/unistr/u8-stpncpy.c: Likewise.
9108         * lib/vasnprintf.c (VASNPRINTF): Likewise.
9109         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
9110         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
9111         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
9112         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
9113         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
9114         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
9115         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
9116         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
9117         Likewise.
9118         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9119         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9120         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
9121         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
9122         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9123         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9124         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9125         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9126         * tests/test-getopt.h (OPTIND_MIN): Likewise.
9127         * tests/test-striconveha.c (main): Likewise.
9128         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9129         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
9130         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
9131         * doc/posix-functions/getline.texi: Likewise.
9132         Reported by Mike Frysinger <vapier@gentoo.org>.
9133
9134 2010-11-20  Bruno Haible  <bruno@clisp.org>
9135
9136         nproc: Fix condition.
9137         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
9138         HAVE_PTHREAD_AFFINITY_NP.
9139
9140 2010-11-20  Bruno Haible  <bruno@clisp.org>
9141
9142         Fix a comment.
9143         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
9144
9145 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
9146
9147         ftoastr: don't assume snprintf
9148         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
9149         Implement a subset of snprintf here, by using sprintf safely.
9150         * modules/ftoastr (Depends-on): Remove snprintf.
9151
9152 2010-11-19  Jim Meyering  <meyering@redhat.com>
9153
9154         test-rename.h: fix compilation failure
9155         * tests/test-rename.h (test_rename): Add omitted "}".
9156
9157 2010-11-17  Jim Meyering  <meyering@redhat.com>
9158
9159         maint.mk: add a URL discussing the no-@acronym policy
9160         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
9161
9162 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9163
9164         ftoastr: depend on snprintf, improve comments
9165         * lib/ftoastr.c: Also mention Loitsch's draft.
9166         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
9167         needed in the current implementation, but it might simplify
9168         speeding up the code later.
9169         * modules/ftoastr: Depend on snprintf; this improves portability.
9170         Suggested by Bruno Haible in the same email.
9171
9172         ftoastr: port to hosts lacking strtof and strtold
9173         Problem reported by Bruno Haible in
9174         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
9175         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
9176         environment and strtold (and presumably strtof) are not available.
9177         * modules/ftoastr (Files): Add m4/c-strtod.m4.
9178         (configure.ac): Require gl_C99_STRTOLD.
9179
9180 2010-11-18  Bruno Haible  <bruno@clisp.org>
9181
9182         c-strtold: Avoid link error on AIX 7.
9183         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
9184         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
9185         (gl_C_STRTOLD): Test whether strtold_l exists.
9186         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9187
9188 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9189
9190         intprops: new macro INT_BITS_STRLEN_BOUND
9191         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
9192         ftoastr.h.  This exposes an internal of intprops.h that was formerly
9193         not exposed.  Also, it uses a slightly tighter bound than before;
9194         though this makes no practical difference, we might as well be as
9195         tight as we easily can.
9196
9197         ftoastr: new module, for lossless conversion of floats to short strings
9198         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
9199         * modules/ftoastr: New files.
9200
9201 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9202
9203         bootstrap: port to Solaris sed
9204         * build-aux/bootstrap (get_version): Port to Solaris sed.
9205         See Ralf Wildenhues's note in
9206         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
9207
9208 2010-11-14  Jim Meyering  <meyering@redhat.com>
9209
9210         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
9211         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
9212         and move definition closer to sole use.
9213
9214 2010-11-13  Jim Meyering  <meyering@redhat.com>
9215
9216         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
9217         Now we require at least autoconf-2.59, which means the work-around
9218         is no longer needed.
9219         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
9220         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9221         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
9222         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
9223         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
9224
9225 2010-11-13  Bruno Haible  <bruno@clisp.org>
9226
9227         rename, renameat: Avoid test failures at NFS mounted locations.
9228         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
9229         functions.
9230         (test_rename): Use assert_nonexistent.
9231         * tests/test-rename.c: Include <dirent.h>.
9232         * tests/test-renameat.c: Likewise.
9233         Reported by Gary V. Vaughan <gary@gnu.org>.
9234
9235         rename, renameat: Document Linux bug with NFS
9236         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
9237         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
9238         * doc/posix-functions/renameat.texi: Likewise.
9239         Suggested by Eric Blake.
9240
9241 2010-11-13  Bruno Haible  <bruno@clisp.org>
9242
9243         rename test: Add comments.
9244         * tests/test-rename.h (test_rename): Add structure and comments.
9245
9246 2010-11-13  Eric Blake  <eblake@redhat.com>
9247
9248         maintainer-makefile: cover a few more files
9249         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
9250         scripts generated within C files, for libvirt.
9251
9252 2010-11-13  Bruno Haible  <bruno@clisp.org>
9253
9254         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
9255         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
9256         character, return the number of bytes that belong together, not always
9257         1.
9258         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9259         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9260         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9261         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
9262         number of bytes of an invalid character.
9263         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
9264         (main): Invoke it.
9265         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
9266         results.
9267         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
9268         malformed byte sequences.
9269         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
9270         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
9271         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
9272         Reported by Ben Pfaff and Paolo Bonzini.
9273
9274 2010-11-13  Bruno Haible  <bruno@clisp.org>
9275
9276         openat: Work around glibc bug with fchownat() and empty file names.
9277         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
9278         (gl_FUNC_FCHOWNAT): Invoke it.
9279         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
9280         * doc/posix-functions/fchownat.texi: Document the glibc bug.
9281         Reported by Gary V. Vaughan <gary@gnu.org>.
9282
9283 2010-11-13  Bruno Haible  <bruno@clisp.org>
9284
9285         openat: Ensure autoconf macro ordering.
9286         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
9287         gl_USE_SYSTEM_EXTENSIONS.
9288         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
9289
9290 2010-11-13  Bruno Haible  <bruno@clisp.org>
9291
9292         Update comments.
9293         * lib/unistr/u8-check.c: Update file name in comments.
9294         * lib/unistr/u8-mblen.c: Likewise.
9295         * lib/unistr/u8-prev.c: Likewise.
9296         * lib/unistr/u8-strmblen.c: Likewise.
9297         * lib/unistr/u8-strmbtouc.c: Likewise.
9298
9299 2010-11-13  Jim Meyering  <meyering@redhat.com>
9300
9301         tests: avoid test failure on Solaris 10 due to lack of PATH export
9302         * tests/test-update-copyright.sh: Don't forget to export PATH.
9303
9304         init.sh: ensure that IFS is defined, just in case...
9305         * tests/init.sh (setup_): Ensure that IFS is defined,
9306         so that saving and restoring it works as expected.  This
9307         appears to be useful at least for an old version of dash
9308         from a long time ago (RH 6).  See here for details:
9309         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
9310
9311         maint.mk: tighten "test a == b" check
9312         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
9313         test to files that contain something like #!/bin/sh.
9314         Without this, coreutils would get two false positives in
9315         the comments of C source files.
9316
9317 2010-11-12  Eric Blake  <eblake@redhat.com>
9318
9319         bootstrap: fix typo in previous attempt
9320         * build-aux/bootstrap (buildreq): Correct the grouping.
9321         Reported by Paul Eggert.
9322
9323         maintainer-makefile: prohibit test x == x
9324         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
9325         Based on a report by Matthias Bolte.
9326
9327         bootstrap: allow FreeBSD gzip
9328         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
9329         which has no '.' and goes to stderr.
9330         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
9331         Reported by Matthias Bolte.
9332
9333         maintainer-makefile: check for i18n setup
9334         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
9335         will likely work.
9336
9337 2010-11-12  Bruno Haible  <bruno@clisp.org>
9338
9339         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
9340         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
9341         * lib/nanosleep.c (nanosleep): Likewise.
9342
9343 2010-11-11  Bruno Haible  <bruno@clisp.org>
9344
9345         fcntl-h: Fix for use of C++ on glibc systems.
9346         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
9347         also on glibc systems in C++ mode.
9348         Reported by Gary V. Vaughan <gary@gnu.org>.
9349
9350 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9351
9352         mknod: avoid false failure with dash
9353         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
9354
9355 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9356
9357         unlink: Fix "is it should" typo in diagnostic.
9358         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
9359         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
9360
9361 2010-11-11  Bruno Haible  <bruno@clisp.org>
9362
9363         Tests for module 'strerror_r-posix'.
9364         * modules/strerror_r-posix-tests: New file.
9365         * tests/test-strerror_r.c: New file.
9366         * tests/test-string-c++.cc: Check the signature of strerror_r.
9367
9368         New module 'strerror_r-posix'.
9369         * lib/string.in.h (strerror_r): New declaration.
9370         * lib/strerror_r.c: New file.
9371         * m4/strerror_r.m4: New file.
9372         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
9373         of strerror_r.
9374         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
9375         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9376         * modules/strerror_r-posix: New file.
9377         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
9378         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9379         * doc/posix-functions/strerror_r.texi: Mention the new module and the
9380         portability problems.
9381
9382 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
9383
9384         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
9385         line is also considered for output. Quoted function name in shell
9386         command, so temporary files for functions like MyClass::operator()
9387         are removed correctly without errors.
9388
9389 2010-11-09  Bruno Haible  <bruno@clisp.org>
9390
9391         * doc/posix-functions/strerror.texi: List more failing platforms.
9392
9393         * doc/posix-functions/strerror.texi: Add a comment.
9394
9395 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
9396
9397         fdopendir: fix bug on MacOS X when low on file descriptors
9398
9399         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
9400         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
9401         All callers changed.
9402         (fdopendir): Invoke save_cwd at the top level, not after using
9403         multiple dup() calls to use up file descriptors.  Then retry
9404         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
9405         less than the maximum number of open file descriptors, because
9406         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
9407         on Mac OS X 10.6.4 for tar 1.24
9408         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
9409         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
9410         and for tar 1.25
9411         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
9412
9413 2010-11-07  Bruno Haible  <bruno@clisp.org>
9414
9415         vasnprintf: Support I flag on glibc systems.
9416         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
9417         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
9418         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
9419         snprintf function.
9420         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
9421         glibc systems.
9422         * tests/test-vasnprintf-posix3.c: New file.
9423         * modules/vasnprintf-posix-tests (Files): Add it.
9424         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
9425
9426 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9427
9428         [html] Fix copy/paste bug: Use unique name for compiler warnings.
9429         * MODULES.html.sh: For compiler warnings, use name
9430         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
9431
9432 2010-11-05  Eric Blake  <eblake@redhat.com>
9433
9434         ceil, floor: avoid spurious failure with icc
9435         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
9436         [denormals-as-zero] when optimizing without -mieee-fp option.
9437         * tests/test-floorf2.c (floorf_reference): Likewise.
9438         * tests/test-ceilf1.c (dummy): New function.
9439         (main): Use it to outsmart icc's optimization.
9440         * tests/test-floorf1.c (dummy, main): Likewise.
9441
9442         tests: require working signbit
9443         * modules/ceilf-tests (Depends-on): Add signbit.
9444         * modules/ceill-tests (Depends-on): Likewise.
9445         * modules/floorf-tests (Depends-on): Likewise.
9446         * modules/floorl-tests (Depends-on): Likewise.
9447         * modules/round-tests (Depends-on): Likewise.
9448         * modules/roundf-tests (Depends-on): Likewise.
9449         * modules/roundl-tests (Depends-on): Likewise.
9450         * modules/trunc-tests (Depends-on): Likewise.
9451         * modules/truncf-tests (Depends-on): Likewise.
9452         * modules/truncl-tests (Depends-on): Likewise.
9453
9454         strtod: work around icc bug
9455         * lib/strtod.c (minus_zero): Define to working value.
9456         (strtod): Use it to avoid icc bug.
9457
9458         copysign: enhance tests
9459         * modules/copysign-tests (Files): Add minus-zero.h.
9460         * tests/test-copysign.c (main): Also test zeros.
9461
9462 2010-11-04  Eric Blake  <eblake@redhat.com>
9463
9464         ceil, floor, round, trunc: enhance tests of -0
9465         * tests/test-ceilf1.c (main): Ensure correct sign of result.
9466         * tests/test-ceill.c (main): Likewise.
9467         * tests/test-floorf1.c (main): Likewise.
9468         * tests/test-floorl.c (main): Likewise.
9469         * tests/test-round1.c (main): Likewise.
9470         * tests/test-roundf1.c (main): Likewise.
9471         * tests/test-roundl.c (main): Likewise.
9472         * tests/test-trunc1.c (main): Likewise.
9473         * tests/test-truncf1.c (main): Likewise.
9474         * tests/test-truncl.c (main): Likewise.
9475
9476 2010-11-04  Eric Blake  <eblake@redhat.com>
9477
9478         frexp, tests: work around ICC bug with -zero
9479         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
9480         works with more compilers.
9481         * tests/minus-zero.h: New file.
9482         * modules/ceilf-tests (Files): Include it.
9483         * modules/ceill-tests (Files): Likewise.
9484         * modules/floorf-tests (Files): Likewise.
9485         * modules/floorl-tests (Files): Likewise.
9486         * modules/frexp-nolibm-tests (Files): Likewise.
9487         * modules/frexp-tests (Files): Likewise.
9488         * modules/frexpl-nolibm-tests (Files): Likewise.
9489         * modules/frexpl-tests (Files): Likewise.
9490         * modules/isnan-tests (Files): Likewise.
9491         * modules/isnand-nolibm-tests (Files): Likewise.
9492         * modules/isnand-tests (Files): Likewise.
9493         * modules/isnanf-nolibm-tests (Files): Likewise.
9494         * modules/isnanf-tests (Files): Likewise.
9495         * modules/isnanl-nolibm-tests (Files): Likewise.
9496         * modules/isnanl-tests (Files): Likewise.
9497         * modules/round-tests (Files): Likewise.
9498         * modules/roundf-tests (Files): Likewise.
9499         * modules/roundl-tests (Files): Likewise.
9500         * modules/ldexpl-tests (Files): Likewise.
9501         * modules/signbit-tests (Files): Likewise.
9502         * modules/snprintf-posix-tests (Files): Likewise.
9503         * modules/sprintf-posix-tests (Files): Likewise.
9504         * modules/strtod-tests (Files): Likewise.
9505         * modules/trunc-tests (Files): Likewise.
9506         * modules/truncf-tests (Files): Likewise.
9507         * modules/truncl-tests (Files): Likewise.
9508         * modules/vsnprintf-posix-tests (Files): Likewise.
9509         * modules/vsprintf-posix-tests (Files): Likewise.
9510         * modules/vasnprintf-posix-tests (Files): Likewise.
9511         * modules/vasprintf-posix-tests (Files): Likewise.
9512         * tests/test-ceilf1.c (main): Use it.
9513         * tests/test-ceill.c (main): Likewise.
9514         * tests/test-floorf1.c (main): Likewise.
9515         * tests/test-floorl.c (main): Likewise.
9516         * tests/test-frexp.c (main): Likewise.
9517         * tests/test-frexpl.c (main): Likewise.
9518         * tests/test-isnan.c (main): Likewise.
9519         * tests/test-isnand.h (main): Likewise.
9520         * tests/test-isnanf.h (main): Likewise.
9521         * tests/test-isnanl.h (main): Likewise.
9522         * tests/test-ldexpl.c (main): Likewise.
9523         * tests/test-round.c (main): Likewise.
9524         * tests/test-roundf.c (main): Likewise.
9525         * tests/test-roundl.c (main): Likewise.
9526         * tests/test-signbit.c (test_signbitf, test_signbitd)
9527         (test_signbitl): Likewise.
9528         * tests/test-snprintf-posix.h (test_function): Likewise.
9529         * tests/test-sprintf-posix.h (test_function): Likewise.
9530         * tests/test-strtod.c (main): Likewise.
9531         * tests/test-trunc1.c (main): Likewise.
9532         * tests/test-truncf1.c (main): Likewise.
9533         * tests/test-truncl.c (main): Likewise.
9534
9535         isnanl: work around icc bug
9536         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
9537
9538 2010-11-03  Eric Blake  <eblake@redhat.com>
9539
9540         tests: fix compiler warnings
9541         * tests/test-getopt.h (test_getopt): Fix condition.
9542         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9543         * tests/test-pipe2.c (main): Likewise.
9544         * tests/test-quotearg-simple.c (main): Avoid icc warning.
9545
9546         utimens: fix broken m4 test
9547         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
9548
9549 2010-10-28  Bruno Haible  <bruno@clisp.org>
9550
9551         posix_spawn*, getdtablesize: Relax license.
9552         * modules/posix_spawn (License): Change to LGPLv2+.
9553         * modules/posix_spawnp (License): Likewise.
9554         * modules/posix_spawn-internal (License): Likewise.
9555         * modules/posix_spawnattr_init (License): Likewise.
9556         * modules/posix_spawnattr_getflags (License): Likewise.
9557         * modules/posix_spawnattr_setflags (License): Likewise.
9558         * modules/posix_spawnattr_getpgroup (License): Likewise.
9559         * modules/posix_spawnattr_setpgroup (License): Likewise.
9560         * modules/posix_spawnattr_getschedparam (License): Likewise.
9561         * modules/posix_spawnattr_setschedparam (License): Likewise.
9562         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
9563         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
9564         * modules/posix_spawnattr_getsigdefault (License): Likewise.
9565         * modules/posix_spawnattr_setsigdefault (License): Likewise.
9566         * modules/posix_spawnattr_getsigmask (License): Likewise.
9567         * modules/posix_spawnattr_setsigmask (License): Likewise.
9568         * modules/posix_spawnattr_destroy (License): Likewise.
9569         * modules/posix_spawn_file_actions_init (License): Likewise.
9570         * modules/posix_spawn_file_actions_addclose (License): Likewise.
9571         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
9572         * modules/posix_spawn_file_actions_addopen (License): Likewise.
9573         * modules/posix_spawn_file_actions_destroy (License): Likewise.
9574         * modules/getdtablesize (License): Likewise.
9575         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
9576
9577 2010-10-26  Bruno Haible  <bruno@clisp.org>
9578
9579         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
9580         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
9581         Cygwin and mingw.
9582         Suggested by Eric Blake.
9583
9584 2010-10-26  Bruno Haible  <bruno@clisp.org>
9585
9586         stdio: Work around compilation error due to renameat() on Solaris 10.
9587         * lib/stdio.in.h: Include <unistd.h> on Solaris.
9588         * lib/renameat.c: Don't include <unistd.h> here.
9589         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
9590         Reported by Paul Eggert and Eric Blake.
9591
9592 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9593
9594         renameat: port to Solaris 10, which declares renameat in unistd.h
9595
9596         * lib/renameat.c: Include unistd.h before stdio.h, because
9597         Solaris 10 declares renameat in unistd.h.  Problem encountered
9598         when building GNU tar 1.24 on Solaris 10.
9599
9600 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9601
9602         fdopendir: fix C89 compilation
9603         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
9604         compilers.
9605
9606 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
9607
9608         inttostr: simplify by removing unnecessary redundancy
9609         * lib/anytostr.c: Don't include verify.h.
9610         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
9611         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
9612         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
9613         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
9614         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
9615         Likewise.
9616         * modules/inttostr (Depends-on): Remove 'verify'.
9617
9618 2010-10-23  Bruno Haible  <bruno@clisp.org>
9619
9620         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
9621         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
9622         Reported by Eric Blake.
9623
9624 2010-10-23  Bruno Haible  <bruno@clisp.org>
9625
9626         Tests: Fix LOCALE_JA on MirBSD 10.
9627         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
9628         to an UTF-8 locale.
9629         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
9630         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9631         Reported by Eric Blake.
9632
9633 2010-10-21  Bruno Haible  <bruno@clisp.org>
9634
9635         nl_langinfo test: Avoid test failure on NetBSD 5.
9636         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
9637         Reported by Eric Blake.
9638
9639 2010-10-21  Eric Blake  <eblake@redhat.com>
9640
9641         c-stack: work around libsigsegv 2.8 bug
9642         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
9643         overflow on at least PowerPC64.
9644
9645 2010-10-17  Bruno Haible  <bruno@clisp.org>
9646
9647         userspec: Drop redundant file.
9648         * modules/userspec (Files): Remove lib/inttostr.h.
9649
9650 2010-10-17  Bruno Haible  <bruno@clisp.org>
9651
9652         nl_langinfo tests: Silence some warnings.
9653         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
9654         Reported by Jim Meyering.
9655
9656 2010-10-17  Bruno Haible  <bruno@clisp.org>
9657
9658         Make use of GCC's attribute __alloc_size__.
9659         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
9660         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
9661         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
9662         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
9663         __alloc_size__.
9664         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
9665         Suggested by Jim Meyering.
9666
9667 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
9668
9669         bootstrap: anchor .gitignore entries.
9670         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
9671         with...
9672         (insert_vc_ignore): ... this new function, which prepends `/' to
9673         all .gitignore entries before passing them to
9674         insert_sorted_if_absent.
9675
9676 2010-10-16  Bruno Haible  <bruno@clisp.org>
9677
9678         nextafter: Fix configure check.
9679         * modules/nextafter (configure.ac): Correct expected prototype.
9680
9681 2010-10-16  Bruno Haible  <bruno@clisp.org>
9682
9683         termios: Update documentation.
9684         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
9685
9686 2010-10-16  Bruno Haible  <bruno@clisp.org>
9687
9688         tests: Make them compile with TinyCC.
9689         * tests/test-strstr.c (main): Remove parentheses around array
9690         initializer.
9691
9692 2010-10-15  Eric Blake  <eblake@redhat.com>
9693
9694         ignore-value: make header idempotent
9695         * lib/ignore-value.h: Add double-inclusion guards.
9696         Reported by Stefan Berger.
9697
9698 2010-10-15  Jim Meyering  <meyering@redhat.com>
9699
9700         GNUmakefile: handle "stable" target, not "major"
9701         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
9702         lists in maint.mk and announce-gen.  Without this, "make stable"
9703         would fail to ensure that $(VERSION) is up to date.
9704
9705 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
9706
9707         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
9708         & co.
9709
9710 2010-10-14  Bruno Haible  <bruno@clisp.org>
9711
9712         vasnprintf: Don't set errno to 0.
9713         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
9714         block that sets it to 0.
9715         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
9716
9717 2010-10-14  Bruno Haible  <bruno@clisp.org>
9718
9719         socketlib: Fix.
9720         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
9721         gl_PREREQ_SYS_H_WINSOCK2.
9722         Reported by Ian Beckwith <ianb@erislabs.net>.
9723
9724 2010-10-13  Jim Meyering  <meyering@redhat.com>
9725
9726         test-select-stdin.c: avoid warn_unused_result warnings
9727         * tests/test-select-stdin.c: Include "macros.h".
9728         ASSERT that read and fflush succeed.
9729
9730 2010-10-13  Jim Meyering  <meyering@redhat.com>
9731
9732         git-version-gen: do require git-VC'd files in cwd
9733         * build-aux/git-version-gen: Reject a git version string
9734         if there are no commits associated with the current directory.
9735         This avoids an unlikely false-positive (unrelated dir whose parent
9736         repository also contains a tag matching v*), as pointed out
9737         by Giuseppe Scrivano in
9738         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
9739
9740 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9741
9742         argv-iter: omit nonconforming declaration
9743         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
9744         enum arg_iter_err declaration, which doesn't conform to C99.
9745         Solaris 10 cc warns about this.
9746
9747 2010-10-13  Eric Blake  <eblake@redhat.com>
9748
9749         termios: fix compilation on mingw
9750         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
9751         (gl_TERMIOS_H): Adjust it on mingw.
9752         * modules/termios (Makefile.am): Substitute new key.
9753         * lib/termios.in.h (includes): Make include_next conditional.
9754         * doc/posix-headers/termios.texi (termios.h): Update
9755         documentation.
9756         Reported by Daniel P. Berrange.
9757
9758 2010-10-13  Jim Meyering  <meyering@redhat.com>
9759
9760         git-version-gen: don't require that .git/ be in the current dir
9761         * build-aux/git-version-gen: Adjust this script so that it works
9762         when run from any working directory beneath the top-level .git/-
9763         containing directory.  Inspired by a patch from Giuseppe Scrivano,
9764         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
9765
9766         test-select: avoid warn_unused_result warnings
9767         * tests/test-select.c: Include "macros.h".
9768         ASSERT that each call to read, write, and pipe succeeds.
9769         While not technically required, also check each "close".
9770         * modules/select-tests (Files): Add tests/macros.h.
9771
9772         test-symlinkat: remove declaration of unused local
9773         * tests/test-symlinkat.c (main): Remove unused local, "buf".
9774
9775         test-inttostr: avoid shadowing warnings
9776         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
9777         and use malloc rather than the stack for the same reason as
9778         mentioned in the comment justifying the other allocation.
9779
9780 2010-10-11  Bruno Haible  <bruno@clisp.org>
9781
9782         stdlib: Allow multiple gnulib generated replacements to coexist.
9783         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
9784         Reported by Sam Steingold <sds@gnu.org>.
9785
9786 2010-10-11  Jim Meyering  <meyering@redhat.com>
9787
9788         fix a documentation typo
9789         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
9790
9791 2010-10-11  Eric Blake  <eblake@redhat.com>
9792
9793         futimens: work around Solaris 11 bug
9794         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
9795         * tests/test-futimens.h (test_futimens): Enhance, rather than
9796         weaken test.
9797         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9798
9799 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9800
9801         Indentation.
9802         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
9803         higher-level operators more to the left.
9804
9805 2010-10-11  Jim Meyering  <meyering@redhat.com>
9806
9807         test-futimens: avoid unwarranted test failure on Solaris 5.11
9808         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
9809         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
9810         because it tries to dereference the NULL name argument.
9811
9812 2010-10-11  Bruno Haible  <bruno@clisp.org>
9813
9814         Indentation.
9815         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
9816         indentation.
9817
9818 2010-10-11  Jim Meyering  <meyering@redhat.com>
9819
9820         spawn.in.h: make indentation consistent with parentheses
9821         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
9822         Make indentation consistent with parentheses.
9823
9824 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
9825
9826         Fix mismatched parens in previous commit
9827         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
9828         parens.
9829
9830 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9831
9832         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
9833
9834         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
9835         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
9836         * lib/malloca.c: Include "verify.h".
9837         (verify1): Remove, replacing with a verify call.
9838         * lib/relocwrapper.c (verify1): Likewise.
9839         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
9840         Likewise.
9841         * modules/malloca (Depends-on): Add 'verify'.
9842         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
9843         * modules/vasnprintf (Depends-on): Add 'verify'.
9844         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
9845         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9846         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9847         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9848         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9849         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9850         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9851
9852         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
9853
9854         Formerly the style was sometimes 2*X - 1, because the C standard
9855         was wrongly thought to disallow ?: in integral constant expressions.
9856         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
9857         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
9858         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
9859         * lib/stdint.in.h (_verify_intmax_size): Likewise.
9860         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
9861         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
9862         verify that time_t cannot be floating.
9863
9864 2010-10-08  Eric Blake  <eblake@redhat.com>
9865
9866         time: enforce recent POSIX ruling that time_t is integral
9867         * lib/time.in.h (__time_t_must_be_integral): Detect any
9868         problematic systems, allowing the rest of gnulib to assume POSIX.
9869
9870 2010-10-08  Jim Meyering  <meyering@redhat.com>
9871
9872         fdopendir: fix a bug on systems lacking openat and /proc support
9873         OpenBSD 4.7 is one such system.  The most noticeable effect was
9874         failure of any application making nontrivial use of fts: rm, du,
9875         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
9876           ./rm: traversal failed: `a': Bad file descriptor
9877         Debugging that, you see that even though FD 6 was closed just
9878         prior to the opendir call in fd_clone_opendir, its resulting
9879         dir->dd_fd was 8, rather than the expected value of 6:
9880
9881         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
9882         93                close (fd);
9883         (gdb) n
9884         94                dir = fd_clone_opendir (dupfd);
9885         (gdb) n
9886         95                saved_errno = errno;
9887         (gdb) p dir->dd_fd
9888         $11 = 8
9889
9890         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
9891         The problem is that on OpenBSD, fd_clone_opendir has to resort
9892         to using the old-style save/restore CWD mechanism, due to its
9893         lack of openat/proc support, and *that* would steal the FD (6)
9894         that opendir was supposed to use.
9895
9896         The fix is to squirrel away the desired FD so that save_cwd uses a
9897         different one, and then free the dest FD right before calling opendir.
9898         That guarantees opendir will use the required file descriptor.
9899
9900         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
9901
9902 2010-10-08  Bruno Haible  <bruno@clisp.org>
9903
9904         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
9905         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
9906
9907 2010-10-08  Bruno Haible  <bruno@clisp.org>
9908
9909         nanosleep: Make replacement POSIX compliant.
9910         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
9911         is out of range.
9912         Reported by Jim Meyering.
9913
9914 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9915
9916         bootstrap: add hook for altering gnulib.mk, for Bison
9917         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
9918         the Bison bootstrapping process can rewrite file names and variables
9919         in this file before later parts of 'bootstrap' use the file.
9920         Bison wants to include lib/gnulib.mk from the top-level makefile,
9921         so it needs the file names in this file to be relative to the top
9922         level, not relative to lib; plus it needs variable names to be
9923         rewritten.
9924         (slurp): Use the new function.
9925
9926         bootstrap: reformat for readability
9927         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
9928
9929 2010-10-08  Eric Blake  <eblake@redhat.com>
9930
9931         docs: update cygwin progress
9932         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
9933         1.7.7.
9934         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
9935         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
9936         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
9937         * doc/posix-functions/carg.texi (carg): Likewise.
9938         * doc/posix-functions/cargf.texi (cargf): Likewise.
9939         * doc/posix-functions/casin.texi (casin): Likewise.
9940         * doc/posix-functions/casinf.texi (casinf): Likewise.
9941         * doc/posix-functions/casinh.texi (casinh): Likewise.
9942         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
9943         * doc/posix-functions/catan.texi (catan): Likewise.
9944         * doc/posix-functions/catanf.texi (catanf): Likewise.
9945         * doc/posix-functions/catanh.texi (catanh): Likewise.
9946         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
9947         * doc/posix-functions/ccos.texi (ccos): Likewise.
9948         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
9949         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
9950         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
9951         * doc/posix-functions/cexp.texi (cexp): Likewise.
9952         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
9953         * doc/posix-functions/cimag.texi (cimag): Likewise.
9954         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
9955         * doc/posix-functions/clog.texi (clog): Likewise.
9956         * doc/posix-functions/clogf.texi (clogf): Likewise.
9957         * doc/posix-functions/conj.texi (conj): Likewise.
9958         * doc/posix-functions/conjf.texi (conjf): Likewise.
9959         * doc/posix-functions/cpow.texi (cpow): Likewise.
9960         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
9961         * doc/posix-functions/cproj.texi (cproj): Likewise.
9962         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
9963         * doc/posix-functions/creal.texi (creal): Likewise.
9964         * doc/posix-functions/crealf.texi (crealf): Likewise.
9965         * doc/posix-functions/csin.texi (csin): Likewise.
9966         * doc/posix-functions/csinf.texi (csinf): Likewise.
9967         * doc/posix-functions/csinh.texi (csinh): Likewise.
9968         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
9969         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
9970         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
9971         * doc/posix-functions/ctan.texi (ctan): Likewise.
9972         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
9973         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
9974         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
9975         * doc/posix-headers/complex.texi (complex.h): Likewise.
9976
9977 2010-10-07  Jim Meyering  <meyering@redhat.com>
9978
9979         parse-datetime: avoid compilation failure on OpenBSD 4.7
9980         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
9981         This works around a compilation failure on OpenBSD 4.7:
9982         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
9983
9984 2010-10-07  Eric Blake  <eblake@redhat.com>
9985
9986         docs: update cygwin progress
9987         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
9988         1.7.6.
9989         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9990         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
9991         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
9992         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
9993         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
9994         Likewise.
9995         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
9996         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
9997         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
9998         Likewise.
9999         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
10000         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
10001         Likewise.
10002         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
10003         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
10004         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
10005         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
10006         Likewise.
10007         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
10008         Likewise.
10009         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
10010
10011         docs: update parse-datetime history
10012         * doc/parse-datetime.texi (Authors of parse_datetime): Better
10013         documentation of this function's history and alternatives.
10014
10015         cygwin: use more robust version check
10016         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
10017         exclude an eventual cygwin 1.9.1.
10018         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10019         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10020         (gl_FUNC_STRCASESTR): Likewise.
10021         Reported by Bruno Haible.
10022
10023 2010-10-06  Bruno Haible  <bruno@clisp.org>
10024
10025         string, sys_select: Avoid #including large headers unless necessary.
10026         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
10027         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
10028         OSF/1, BeOS, Haiku.
10029         Reported by Jim Meyering.
10030
10031 2010-10-05  Eric Blake  <eblake@redhat.com>
10032
10033         memmem, strstr, strcasestr: fix bug with long periodic needle
10034         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
10035         periodic needle having false positive.
10036         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
10037         and cygwin 1.7.7.
10038         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
10039         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10040         (gl_FUNC_STRCASESTR): Likewise.
10041         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10042         * tests/test-memmem.c (main): Expose the bug.
10043         * tests/test-strcasestr.c (main): Likewise.
10044         * tests/test-strstr.c (main): Likewise.
10045         * tests/test-c-strcasestr.c (main): Likewise.
10046         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
10047         * doc/posix-functions/strstr.texi (strstr): Likewise.
10048         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
10049         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
10050
10051 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10052
10053         parse-datetime: do some more renaming
10054         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
10055         parse_datetime, not get_date.  Mention the renaming.
10056         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
10057         in comments.
10058         * m4/bison.m4: Likewise.
10059
10060 2010-10-05  Eric Blake  <eblake@redhat.com>
10061
10062         parse-datetime: better name than get_date
10063         * NEWS: Reword the deprecation notice.
10064         * modules/get_date: Rename to modules/parse-datetime.
10065         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
10066         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
10067         * lib/get_date.y: Rename to lib/parse-datetime.y.
10068         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
10069         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
10070         * doc/getdate.texi: Provide fallback wrapper.
10071         * lib/getdate.h: Move guts, and wrap...
10072         * lib/parse-datetime.h: ...new file.
10073         * lib/parse-datetime.y (get_date): Rename...
10074         (parse_datetime): ...to this.
10075         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
10076         (gl_PARSE_DATETIME): ...to this.
10077         * doc/posix-functions/getdate.texi (get_date): Provide fallback
10078         documentation.
10079         * modules/getdate (Files): Provide fallback docs and header.
10080         (Notice, Depends-on): Update references.
10081         * tests/test-parse-datetime.c: Likewise.
10082         * DEPENDENCIES: Likewise.
10083         * MODULES.html.sh (Date and time <time.h>): Likewise.
10084         * doc/parse-datetime.texi (Date input formats)
10085         (Authors of parse_datetime): Likewise.
10086         * modules/parse-datetime (Files, configure.ac, Makefile.am)
10087         (Include): Likewise.
10088         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
10089         * gnulib-tool: Likewise.
10090         * m4/bison.m4 (gl_BISON): Likewise.
10091         Suggested by Bruno Haible.
10092
10093 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10094
10095         more ports to Solaris tr, which needs [] around ranges
10096         * gnulib-tool: Solaris tr needs [] around ranges.
10097         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
10098         * tests/test-pipe-filter-gi1.c (main): Likewise.
10099         * tests/test-pipe-filter-ii1.c (main): Likewise.
10100
10101 2010-10-05  Eric Blake  <eblake@redhat.com>
10102
10103         bootstrap: fix Solaris regression
10104         * build-aux/bootstrap (check_versions): Solaris tr still needs []
10105         around ranges.
10106         Reported by Pádraig Brady.
10107
10108         bootstrap: work with pkg-config
10109         * build-aux/bootstrap (check_versions): Also transliterate - in
10110         prerequisite name.
10111         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
10112         prerequisites that were already found, to avoid confusion.
10113         Reported by Justin Clift.
10114
10115         faccessat: remove unused wrappers
10116         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
10117         presence of these wrappers dragged in -lgen on Solaris.
10118         Reported by Clemens Brogi; fix suggested by Paul Eggert.
10119
10120 2010-10-05  Jim Meyering  <meyering@redhat.com>
10121
10122         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
10123         * Makefile (sc_pragma_columns): New syntax-check rule.
10124
10125 2010-10-04  Bruno Haible  <bruno@clisp.org>
10126
10127         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
10128         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
10129         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
10130         Reported by Bruce Korb and Eric Blake.
10131
10132 2010-10-04  Bruno Haible  <bruno@clisp.org>
10133
10134         threadlib: Make option --with-libpth-prefix work.
10135         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
10136         use $LIBPTH, not just -lpth.
10137
10138 2010-10-04  Bruno Haible  <bruno@clisp.org>
10139
10140         Avoid line length limitation from HP NonStop system header files.
10141         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
10142         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
10143         * lib/ctype.in.h: Likewise.
10144         * lib/dirent.in.h: Likewise.
10145         * lib/errno.in.h: Likewise.
10146         * lib/fcntl.in.h: Likewise.
10147         * lib/float.in.h: Likewise.
10148         * lib/getopt.in.h: Likewise.
10149         * lib/iconv.in.h: Likewise.
10150         * lib/inttypes.in.h: Likewise.
10151         * lib/langinfo.in.h: Likewise.
10152         * lib/locale.in.h: Likewise.
10153         * lib/math.in.h: Likewise.
10154         * lib/netdb.in.h: Likewise.
10155         * lib/netinet_in.in.h: Likewise.
10156         * lib/poll.in.h: Likewise.
10157         * lib/pthread.in.h: Likewise.
10158         * lib/pty.in.h: Likewise.
10159         * lib/sched.in.h: Likewise.
10160         * lib/se-selinux.in.h: Likewise.
10161         * lib/search.in.h: Likewise.
10162         * lib/signal.in.h: Likewise.
10163         * lib/spawn.in.h: Likewise.
10164         * lib/stdarg.in.h: Likewise.
10165         * lib/stddef.in.h: Likewise.
10166         * lib/stdint.in.h: Likewise.
10167         * lib/stdio.in.h: Likewise.
10168         * lib/stdlib.in.h: Likewise.
10169         * lib/string.in.h: Likewise.
10170         * lib/strings.in.h: Likewise.
10171         * lib/sys_file.in.h: Likewise.
10172         * lib/sys_ioctl.in.h: Likewise.
10173         * lib/sys_select.in.h: Likewise.
10174         * lib/sys_socket.in.h: Likewise.
10175         * lib/sys_stat.in.h: Likewise.
10176         * lib/sys_time.in.h: Likewise.
10177         * lib/sys_times.in.h: Likewise.
10178         * lib/sys_utsname.in.h: Likewise.
10179         * lib/sys_wait.in.h: Likewise.
10180         * lib/sysexits.in.h: Likewise.
10181         * lib/termios.in.h: Likewise.
10182         * lib/time.in.h: Likewise.
10183         * lib/unistd.in.h: Likewise.
10184         * lib/wchar.in.h: Likewise.
10185         * lib/wctype.in.h: Likewise.
10186         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
10187         * modules/ctype (Makefile.am): Likewise.
10188         * modules/dirent (Makefile.am): Likewise.
10189         * modules/errno (Makefile.am): Likewise.
10190         * modules/fcntl-h (Makefile.am): Likewise.
10191         * modules/float (Makefile.am): Likewise.
10192         * modules/getopt-posix (Makefile.am): Likewise.
10193         * modules/iconv-h (Makefile.am): Likewise.
10194         * modules/inttypes (Makefile.am): Likewise.
10195         * modules/langinfo (Makefile.am): Likewise.
10196         * modules/locale (Makefile.am): Likewise.
10197         * modules/math (Makefile.am): Likewise.
10198         * modules/netdb (Makefile.am): Likewise.
10199         * modules/netinet_in (Makefile.am): Likewise.
10200         * modules/poll-h (Makefile.am): Likewise.
10201         * modules/pthread (Makefile.am): Likewise.
10202         * modules/pty (Makefile.am): Likewise.
10203         * modules/sched (Makefile.am): Likewise.
10204         * modules/search (Makefile.am): Likewise.
10205         * modules/selinux-h (Makefile.am): Likewise.
10206         * modules/signal (Makefile.am): Likewise.
10207         * modules/spawn (Makefile.am): Likewise.
10208         * modules/stdarg (Makefile.am): Likewise.
10209         * modules/stddef (Makefile.am): Likewise.
10210         * modules/stdint (Makefile.am): Likewise.
10211         * modules/stdio (Makefile.am): Likewise.
10212         * modules/stdlib (Makefile.am): Likewise.
10213         * modules/string (Makefile.am): Likewise.
10214         * modules/strings (Makefile.am): Likewise.
10215         * modules/sys_file (Makefile.am): Likewise.
10216         * modules/sys_ioctl (Makefile.am): Likewise.
10217         * modules/sys_select (Makefile.am): Likewise.
10218         * modules/sys_socket (Makefile.am): Likewise.
10219         * modules/sys_stat (Makefile.am): Likewise.
10220         * modules/sys_time (Makefile.am): Likewise.
10221         * modules/sys_times (Makefile.am): Likewise.
10222         * modules/sys_utsname (Makefile.am): Likewise.
10223         * modules/sys_wait (Makefile.am): Likewise.
10224         * modules/sysexits (Makefile.am): Likewise.
10225         * modules/termios (Makefile.am): Likewise.
10226         * modules/time (Makefile.am): Likewise.
10227         * modules/unistd (Makefile.am): Likewise.
10228         * modules/wchar (Makefile.am): Likewise.
10229         * modules/wctype (Makefile.am): Likewise.
10230
10231 2010-10-04  Bruno Haible  <bruno@clisp.org>
10232
10233         read-file tests: Avoid a test failure on NonStop Kernel.
10234         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
10235         a regular file.
10236         Reported by Joachim Schmitz <schmitz@hp.com>.
10237
10238 2010-10-03  Bruno Haible  <bruno@clisp.org>
10239
10240         gnulib-tool: Fixes for --create-testdir with --libtool.
10241         * gnulib-tool (func_get_automake_snippet): Don't augment
10242         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
10243         an executable.
10244         (func_create_testdir): Handle module 'alloca' like func_import.
10245         Reported by Bruce Korb <bruce.korb@gmail.com>.
10246
10247 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10248
10249         Avoid some lines longer than 80 characters.
10250         * lib/stdint.in.h: Break long comment lines.
10251         * lib/math.in.h: Likewise.
10252         (_GL_NUM_UINT_WORDS): New macro, for readability.
10253         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
10254         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
10255         * lib/stdlib.in.h: Likewise.
10256         * lib/spawn.in.h: Likewise.
10257         * lib/sys_socket.in.h: Update an URL.
10258         * lib/sys_stat.in.h: Break long line.
10259
10260 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
10261
10262         Improve pmccabe2html.
10263         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
10264         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
10265         when the sources change. Remove the line in the HTML about "Used
10266         ranges" (which implied that there might be other unused ranges),
10267         rename "Resume" to "Summary" (easier to understand for more users).
10268         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
10269         styles, and some unnecessary blank lines.
10270
10271 2010-10-03  Bruno Haible  <bruno@clisp.org>
10272             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10273
10274         acl: Add support for ACLs on NonStop Kernel.
10275         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
10276         Check whether the function aclsort() exists.
10277         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
10278         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
10279         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10280         (acl_nontrivial [HAVE_ACLSORT]: New function.
10281         (file_has_acl): Implement for NonStop Kernel.
10282         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10283         (qset_acl): Implement for NonStop Kernel.
10284         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
10285         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10286         (main): Implement for NonStop Kernel.
10287         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
10288         Kernel. Handle this flavor.
10289         * tests/test-set-mode-acl.sh: Likewise.
10290         * tests/test-copy-acl.sh: Likewise.
10291         * tests/test-copy-file.sh: Likewise.
10292
10293 2010-10-03  Bruno Haible  <bruno@clisp.org>
10294
10295         Info about ACLs on NonStop Kernel.
10296         * doc/acl-resources.txt: Add info about NonStop Kernel.
10297         References by Joachim Schmitz <schmitz@hp.com>.
10298
10299 2010-10-02  Bruno Haible  <bruno@clisp.org>
10300
10301         Define missing EDQUOT on NonStop Kernel.
10302         * lib/errno.in.h (EDQUOT): Assign a value if missing.
10303         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
10304         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
10305         missing.
10306         * doc/posix-headers/errno.texi: Mention the NSK bug.
10307         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
10308         Reported by Joachim Schmitz <schmitz@hp.com>.
10309
10310 2010-10-02  Bruno Haible  <bruno@clisp.org>
10311
10312         Update doc for POSIX:2008.
10313         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
10314         Update URL of POSIX specification.
10315
10316 2010-10-02  Bruno Haible  <bruno@clisp.org>
10317
10318         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
10319         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
10320         from gnulib, not from Automake.
10321
10322 2010-10-02  Bruno Haible  <bruno@clisp.org>
10323
10324         New module 'system-posix'.
10325         * modules/system-posix: New file.
10326         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
10327         module is present.
10328         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
10329         GNULIB_SYSTEM_POSIX.
10330         * modules/stdlib (Depends-on): Remove sys_wait.
10331         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
10332         * doc/posix-functions/system.texi: Mention the new module.
10333         * doc/posix-headers/stdlib.texi: Likewise.
10334         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
10335         define test_sys_wait_macros to a no-op.
10336         Reported by Sam Steingold <sds@gnu.org>.
10337
10338 2010-09-30  Bruno Haible  <bruno@clisp.org>
10339
10340         More renaming from 'getdate' to 'get_date'.
10341         * doc/get_date.texi: Renamed from doc/getdate.texi.
10342         * modules/get_date (Files): Update.
10343         * MODULES.html.sh (Date and time <time.h>): Update.
10344         * DEPENDENCIES: Update.
10345         * gnulib-tool: Update comment.
10346         * m4/bison.m4 (gl_BISON): Likewise.
10347         * m4/get_date.m4 (gl_GET_DATE): Likewise.
10348
10349 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
10350
10351         bootstrap: support ACLOCAL_FLAGS during aclocal
10352         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
10353         can add additional -I dir for third-party .m4 files.
10354
10355 2010-09-30  Eric Blake  <eblake@redhat.com>
10356
10357         bootstrap: use glibtoolize on MacOS
10358         * build-aux/bootstrap (check_versions): Convert libtool into
10359         libtoolize.
10360         (tool search): Move libtool check earlier, and look for
10361         glibtoolize for MacOS.
10362         (gnulib_tool_options): Auto-add --libtool when appropriate.
10363         Reported by Justin Clift.
10364
10365         poll: fix typo that broke test on MacOS
10366         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
10367         Reported by Justin Clift.
10368
10369         getdate: rename to get_date
10370         Note: getdate.h is not renamed, to minimize client impact.
10371         * modules/getdate: Mark obsolete.  Move old contents...
10372         * modules/get_date: ...to new module name.
10373         * modules/getdate-tests: Move...
10374         * modules/get_date-tests: ...here.
10375         * m4/getdate.m4: Move...
10376         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
10377         * lib/getdate.y: Move...
10378         * lib/get_date.y: ...here.
10379         * tests/test-getdate.c: Move...
10380         * tests/test-get_date.c: ...here.
10381         * doc/posix-functions/getdate.texi (getdate): Update name.
10382         * NEWS: Mention the change.
10383
10384 2010-09-29  Bruno Haible  <bruno@clisp.org>
10385
10386         Separate the module 'waitpid' from the module 'sys_wait'.
10387         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
10388         present.
10389         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
10390         gl_MODULE_INDICATOR_FOR_TESTS.
10391         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
10392         * modules/sys_wait (Depends-on): Remove waitpid.
10393         (Makefile.am): Substitute GNULIB_WAITPID.
10394         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
10395         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
10396         signature only if the 'waitpid' module is present.
10397         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
10398         * NEWS: Mention the change.
10399         * modules/grantpt (Depends-on): Add waitpid.
10400         * modules/wait-process (Depends-on): Likewise.
10401
10402 2010-09-29  Bruno Haible  <bruno@clisp.org>
10403
10404         More tests for module 'sys_wait'.
10405         * modules/sys_wait-c++-tests: New file.
10406         * tests/test-sys_wait-c++.cc: New file.
10407         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
10408         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10409
10410 2010-09-29  Bruno Haible  <bruno@clisp.org>
10411
10412         New module 'waitpid'.
10413         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
10414         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
10415         Don't include <process.h>.
10416         (waitpid): Declare only, using modern idiom.
10417         * m4/waitpid.m4: New file.
10418         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
10419         * modules/waitpid: New file.
10420         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
10421         (Makefile.am): Update.
10422         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10423
10424 2010-09-28  Bruno Haible  <bruno@clisp.org>
10425
10426         poll: Assume ANSI C.
10427         * lib/poll.c (poll): Use an ANSI C declaration.
10428
10429 2010-09-28  Bruno Haible  <bruno@clisp.org>
10430
10431         poll-h: Create poll.h on all platforms.
10432         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
10433         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
10434         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
10435         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
10436         (gl_REPLACE_POLL_H): Don't set POLL_H.
10437         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
10438         * modules/poll-h (Depends-on): Add include_next.
10439         (Makefile.am): Create poll.h unconditionally. Substitute also
10440         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
10441
10442 2010-09-28  Bruno Haible  <bruno@clisp.org>
10443
10444         Tests for module 'poll-h'.
10445         * modules/poll-h-c++-tests: New file.
10446         * tests/test-poll-h-c++.cc: New file.
10447
10448         Tests for module 'poll-h'.
10449         * modules/poll-h-tests: New file.
10450         * tests/test-poll-h.c: New file.
10451
10452 2010-09-28  Bruno Haible  <bruno@clisp.org>
10453
10454         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
10455         * modules/poll-h (Depends-on): Add 'extensions'.
10456
10457 2010-09-28  Bruno Haible  <bruno@clisp.org>
10458
10459         New module 'poll-h'.
10460         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
10461         (poll): Use modern idiom.
10462         * modules/poll-h: New file.
10463         * modules/poll (Files): Remove lib/poll.in.h.
10464         (Depends-on): Add poll-h.
10465         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
10466         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
10467         * m4/poll_h.m4: New file.
10468         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
10469         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
10470         and invoke gl_REPLACE_POLL_H.
10471         * lib/poll.c: Use common idiom.
10472         * tests/test-poll.c: Likewise.
10473         * doc/posix-headers/poll.texi: Mention the poll-h module.
10474         Suggested by Eric Blake.
10475
10476 2010-09-26  Bruno Haible  <bruno@clisp.org>
10477
10478         sys_wait: Implement WSTOPSIG.
10479         * lib/sys_wait.in.h (WSTOPSIG): New macro.
10480         Reported by Simon Josefsson.
10481
10482 2010-09-26  Simon Josefsson  <simon@josefsson.org>
10483
10484         stdlib, sys_wait: Avoid compilation error on mingw.
10485         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
10486
10487 2010-09-26  Bruno Haible  <bruno@clisp.org>
10488
10489         stdlib tests: Avoid code duplication.
10490         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
10491         * modules/sys_wait-tests (Files): Likewise.
10492         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
10493         * tests/test-stdlib.c: Include test-sys_wait.h.
10494         (main): Invoke test_sys_wait_macros.
10495         * tests/test-sys_wait.c: Include test-sys_wait.h.
10496         (main): Invoke test_sys_wait_macros.
10497
10498 2010-09-25  Simon Josefsson  <simon@josefsson.org>
10499
10500         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
10501         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
10502         sure Windows sockets are working before calling getaddrinfo.
10503         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
10504         * doc/gnulib.texi (Windows sockets): Fix typo.
10505
10506 2010-09-25  Bruno Haible  <bruno@clisp.org>
10507
10508         Tests for module 'regex-quote'.
10509         * modules/regex-quote-tests: New file.
10510         * tests/test-regex-quote.c: New file.
10511
10512         New module 'regex-quote'.
10513         * lib/regex-quote.h: New file.
10514         * lib/regex-quote.c: New file.
10515         * modules/regex-quote: New file.
10516         Suggested by Reuben Thomas <rrt@sc3d.org>.
10517
10518 2010-09-24  Bruno Haible  <bruno@clisp.org>
10519
10520         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
10521         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
10522
10523 2010-09-23  Bruno Haible  <bruno@clisp.org>
10524
10525         setenv: Relax license.
10526         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
10527         Blake.
10528         Requested by Eric Blake.
10529
10530 2010-09-22  Bruno Haible  <bruno@clisp.org>
10531
10532         termios: Relax license.
10533         * modules/termios (License): Change to LGPLv2+.
10534         Requested by Eric Blake.
10535
10536 2010-09-22  Bruno Haible  <bruno@clisp.org>
10537
10538         threadlib: Allow the package to change the default to 'no'.
10539         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
10540         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
10541         Reported by Paul Eggert.
10542
10543 2010-09-22  Pádraig Brady  <P@draigbrady.com>
10544             Bruno Haible  <bruno@clisp.org>
10545
10546         Fix endless loop in mbmemcasecoll.
10547         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
10548         byte.
10549         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
10550
10551 2010-09-22  Bruno Haible  <bruno@clisp.org>
10552
10553         Tests for module 'memcoll'.
10554         * modules/memcoll-tests: New file.
10555         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
10556
10557         memcoll, xmemcoll: Clarify size vs. length.
10558         * modules/memcoll.c (memcoll0): Clarify specification.
10559         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
10560         passed to collate_error.
10561
10562 2010-09-22  Bruno Haible  <bruno@clisp.org>
10563
10564         Tests for module 'memcasecmp'.
10565         * modules/memcasecmp-tests: New file.
10566         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
10567
10568 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10569
10570         * lib/pthread.in.h: Add split double-inclusion guard, and include
10571         system <pthread.h> if there is one.  Use @@-style as in other
10572         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
10573         pthread.h doesn't.
10574         (pthread_mutexattr_destroy, pthread_mutexattr_init):
10575         (pthread_mutexattr_settype, pthread_mutex_trylock):
10576         New static inline functions, if there's no system <pthread.h>.
10577         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
10578         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
10579         Approximate with mutexes if the system lacks spinlocks, as in
10580         MacOS.
10581         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
10582         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
10583         @@-style.  Check for spinlocks separately.
10584         (gl_PTHREAD_DEFAULTS): New macro.
10585         * modules/pthread: Redo to use a more typical style for in.h files.
10586
10587 2010-09-21  Eric Blake  <eblake@redhat.com>
10588
10589         net_if: enhance tests
10590         * tests/test-net_if.c (main): Move signature checks earlier.
10591         Print failures to stderr.
10592         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
10593         Document the bug that we do not yet fix.
10594
10595 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10596
10597         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
10598         about gnulib, not GSS.
10599
10600 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10601
10602         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
10603         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
10604         for Emacs.
10605         * build-aux/pmccabe2html: Make Makefile.am example code more
10606         cut-and-paste friendly.
10607
10608 2010-09-21  Simon Josefsson  <simon@josefsson.org>
10609
10610         * tests/test-net_if.c: New file.
10611         * modules/net_if-tests: New file.
10612
10613 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10614
10615         pthread: add pthread_spin_destroy
10616         * lib/pthread.in.h (pthread_spin_destroy): New function.
10617
10618 2010-09-19  Bruno Haible  <bruno@clisp.org>
10619
10620         gnulib-tool: Fix --help output.
10621         * gnulib-tool (func_usage): Fix help message.
10622         Reported by Reuben Thomas <rrt@sc3d.org>.
10623
10624 2010-09-18  Jim Meyering  <meyering@redhat.com>
10625
10626         maint.mk: avoid unexpanded \n in two diagnostics
10627         * top/maint.mk (sc_prohibit_always_true_header_tests):
10628         Don't use a literal \n in a halt=... assignment.  It would not be
10629         expanded, and the two \n bytes would appear in the diagnostic output
10630         rather than the desired newline.  Use halt=$$(printf ... instead.
10631         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
10632
10633 2010-09-18  Bruno Haible  <bruno@clisp.org>
10634
10635         netinet_in: Doc tweak.
10636         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
10637         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10638
10639 2010-09-18  Jim Meyering  <meyering@redhat.com>
10640
10641         init.sh: correct an outdated comment
10642         * tests/init.sh (create_exe_shims_):  s/function/alias/
10643
10644         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
10645         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
10646         a file named "*.exe" is removed between the glob expansion and the
10647         processing of that oddly named file.
10648
10649 2010-09-17  Eric Blake  <eblake@redhat.com>
10650
10651         mirbsd: add some more support
10652         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
10653         in BSD family.
10654         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
10655         devices as OpenBSD.
10656         * m4/host-os.m4 (mirbsd): Add MirBSD.
10657
10658         tests: fix unportable assumption on sys/wait.h
10659         * tests/test-sys_wait.c (main): Relax test.
10660         * tests/test-stdlib.c (main): Likewise.
10661
10662         init.sh: accomodate directory with no .exes
10663         * tests/init.sh: Accomodate directory containing only scripts.
10664
10665         tests: avoid compiler warning
10666         * tests/test-stdlib.c (main): Use the variable.
10667
10668         fdutimens, fdutimensat: update signature, again
10669         * lib/utimens.h (gl_futimens): Delete, and move signature...
10670         (fdutimens): ...here.
10671         (fdutimensat): Rearrange signature.
10672         (lutimensat): Rename variable for clarity.
10673         * lib/fdutimensat.c (fdutimensat): Update signature.
10674         * lib/utimens.c (fdutimens): Likewise.
10675         (gl_futimens): Delete.
10676         (utimens, lutimens): Update callers.
10677         * lib/futimens.c (futimens): Likewise.
10678         * tests/test-fdutimensat.c: Likewise.
10679         * tests/test-utimens.c: Likewise.
10680         * tests/test-futimens.h: Update comment.
10681         * NEWS: Mention this.
10682         Suggested by Paul Eggert.
10683
10684 2010-09-17  Bruno Haible  <bruno@clisp.org>
10685
10686         Take over the maintenance of some older macros from Autoconf.
10687         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
10688         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
10689         GNU Autoconf.
10690         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
10691         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
10692
10693 2010-09-17  Eric Blake  <eblake@redhat.com>
10694
10695         fdutimensat: drop atflag validation
10696         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
10697         with valid fd, to close a race scenario where futimens is
10698         unsupported and FILE was replaced by a symlink.
10699         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
10700         accordingly.
10701         Suggested by Paul Eggert.
10702
10703 2010-09-16  Bruno Haible  <bruno@clisp.org>
10704
10705         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
10706         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
10707
10708 2010-09-16  Bruno Haible  <bruno@clisp.org>
10709
10710         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
10711         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
10712         login_tty exists.
10713         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10714
10715 2010-09-16  Bruno Haible  <bruno@clisp.org>
10716
10717         login_tty: Make the replacement code work on BSD systems.
10718         * lib/login_tty.c: Include <sys/ioctl.h>.
10719         (login_tty): Use ioctl TIOCSCTTY when available.
10720         * modules/login_tty (Depends-on): Add sys_ioctl.
10721         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10722
10723 2010-09-16  Bruno Haible  <bruno@clisp.org>
10724
10725         login_tty: Stricter unit test.
10726         * modules/login_tty-tests (Depends-on): Add tcgetsid.
10727         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
10728         and tcgetsid() after login_tty.
10729         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10730
10731 2010-09-16  Bruno Haible  <bruno@clisp.org>
10732
10733         New module 'tcgetsid'.
10734         * lib/tcgetsid.c: New file.
10735         * m4/tcgetsid.m4: New file.
10736         * modules/tcgetsid: New file.
10737         * modules/termios (Depends-on): Add c++defs, warn-on-use.
10738         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
10739         GNULIB_TCGETSID, HAVE_TCGETSID.
10740         * lib/termios.in.h: Include <sys/types.h>.
10741         (tcgetsid): New declaration.
10742         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
10743         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
10744         * doc/posix-functions/tcgetsid.texi: Mention the new module.
10745         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
10746
10747 2010-09-16  Bruno Haible  <bruno@clisp.org>
10748
10749         Tests for module 'termios'.
10750         * modules/termios-c++-tests: New file.
10751         * modules/termios-tests: New file.
10752         * tests/test-termios-c++.cc: New file.
10753         * tests/test-termios.c: New file.
10754
10755         New module 'termios'.
10756         * modules/termios: New file.
10757         * lib/termios.in.h: New file.
10758         * m4/termios_h.m4: New file.
10759         * doc/posix-headers/termios.texi: Mention the new module.
10760
10761 2010-09-16  Eric Blake  <eblake@redhat.com>
10762
10763         fdutimensat: add an atflag parameter
10764         * lib/fdutimensat.c (fdutimensat): Add new parameter.
10765         * lib/utimens.h (fdutimensat): Update prototype.
10766         * tests/test-fdutimensat.c: Adjust test to match.
10767         * NEWS: Document the change.
10768         Suggested by Paul Eggert.
10769
10770 2010-09-16  Bruno Haible  <bruno@clisp.org>
10771
10772         Fix typos in comments.
10773         * lib/striconveh.h: Fix typo in comment.
10774         * lib/login_tty.c (login_tty): Likewise.
10775
10776 2010-09-15  Bruno Haible  <bruno@clisp.org>
10777
10778         stdlib: clarify MirBSD WEXITSTATUS bug
10779         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
10780         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10781
10782 2010-09-15  Eric Blake  <eblake@redhat.com>
10783
10784         stdlib: work around MirBSD WEXITSTATUS bug
10785         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
10786         * modules/stdlib (Depends-on): Add sys_wait.
10787         * tests/test-sys_wait.c (main): Enhance test.
10788         * tests/test-stdlib.c (main): Likewise.
10789         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
10790
10791         docs: mention MacOS issue with WEXITSTATUS(constant)
10792         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
10793         issue.
10794         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10795
10796         strnlen: add tests
10797         * modules/strnlen-tests: New file.
10798         * tests/test-strnlen.c: Likewise.
10799
10800 2010-09-14  Bruno Haible  <bruno@clisp.org>
10801
10802         unistr/base: Avoid link errors when module 'libunistring' is also used.
10803         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
10804         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
10805         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
10806         Declare also when HAVE_LIBUNISTRING is set.
10807         Reported by Pádraig Brady <P@draigbrady.com>.
10808
10809 2010-09-14  Eric Blake  <eblake@redhat.com>
10810
10811         test-rawmemchr: make more robust
10812         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
10813         (Depends-on, configure.ac): Add needed prerequisites to use it.
10814         * modules/memchr-tests (Files, Depends-on, configure.ac):
10815         Likewise, to avoid implicit reliance on memchr module prereqs.
10816         * tests/test-memchr.c (main): Ensure proper masking.
10817         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
10818         reads.
10819
10820         memchr: detect glibc Alpha bug
10821         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
10822         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
10823         Alpha.
10824         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
10825         * tests/test-memchr.c (main): Enhance test.
10826         Reported by Nelson H. F. Beebe.
10827
10828 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10829
10830         fts, getcwd, glob: audit for dirfd returning -1
10831         * lib/fts.c (opendir): Remove #define; no longer used.
10832         (opendirat): New arg PDIR_FD.  All callers changed.
10833         (fts_build, _opendir2): Use new opendirat to avoid the need for
10834         dirfd, or for checking whether dirfd returns a negative value.
10835         Don't use opendir; always use openat followed by fdopendir.
10836         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
10837         it.
10838         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
10839         returns -1 here.
10840         * modules/fts (Depends-on): Remove dirfd.
10841         * modules/getcwd (Depends-on): Likewise.
10842
10843 2010-09-13  Eric Blake  <eblake@redhat.com>
10844
10845         float: fix broken MirBSD header
10846         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
10847         * doc/posix-headers/float.texi (float.h): Document it.
10848
10849 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10850
10851         fts: use O_NOFOLLOW to avoid race condition when opening a directory
10852         * lib/fts.c (opendirat): New arg extra_flags.
10853         (__opendir2): Use it to avoid following symlinks when opening
10854         a directory, if symlinks are not supposed to be followed.  See
10855         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
10856
10857         fdopendir: preserve argument fd before returning
10858         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
10859         (fdopendir_with_dup, fd_clone_opendir): New static functions.
10860         (fdopendir): Use them, arranging for FD to be open to the same
10861         directory that it was when it started.  (It might be temporarily
10862         closed while fdopendir is running, so this not thread- or
10863         signal-safe.)  Be careful to do the right thing even when file
10864         descriptors are scarce and dup fails with errno == EMFILE.  See
10865         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
10866
10867 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
10868
10869         regex: Pass the system regex if its only problem is 32-bit regoff_t.
10870         * NEWS: Document change.
10871         * m4/regex.m4: Disable test for regoff_t size.
10872
10873 2010-09-13  Jim Meyering  <meyering@redhat.com>
10874
10875         fts: don't operate on an invalid file descriptor after failed dup
10876         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
10877         negative file descriptor.
10878
10879 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
10880
10881         savedir: add streamsavedir, deprecate fdsavedir
10882         * NEWS: Mention deprecation of fdsavedir.
10883         * lib/savedir.c (streamsavedir): New extern function, whose name
10884         ends in "savedir" to be consistent with the others.  This differs
10885         from savedirstream in that it doesn't close its argument.  The
10886         next version of GNU tar will use this instead of fdsavedir, to
10887         avoid some race conditions and conserve file descriptors.
10888         (savedirstream): Reimplement as a wrapper around streamsavedir.
10889         (fdsavedir): Add a comment deprecating this function.  As far as
10890         I know, only GNU tar used it, and GNU tar doesn't need it any more.
10891         * lib/savedir.h (streamsavedir): New decl.
10892         (fdsavedir): Add a comment deprecating this.
10893
10894 2010-09-10  Bruno Haible  <bruno@clisp.org>
10895
10896         langinfo: Fix last commit.
10897         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
10898         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
10899         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10900
10901 2010-09-10  Bruno Haible  <bruno@clisp.org>
10902
10903         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
10904         * lib/progreloc.c (O_EXEC): Define fallback.
10905
10906 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
10907
10908         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
10909         * NEWS: Document recent changes to fcntl-h.
10910         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
10911         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
10912         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
10913         Similarly for O_SEARCH; this last was already true, but not documented.
10914         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
10915         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
10916         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
10917         Likewise.
10918         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
10919         is zero, not whether it is defined.
10920         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
10921         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
10922         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
10923
10924 2010-09-10  Bruno Haible  <bruno@clisp.org>
10925
10926         langinfo, nl_langinfo: Fix for IRIX 5.3.
10927         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
10928         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
10929         HAVE_LANGINFO_YESEXPR.
10930         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
10931         HAVE_LANGINFO_YESEXPR.
10932         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
10933         HAVE_LANGINFO_T_FMT_AMPM is 0.
10934         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
10935         HAVE_LANGINFO_YESEXPR is 0.
10936         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
10937         NOEXPR.
10938         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
10939         * doc/posix-functions/nl_langinfo.texi: Likewise.
10940         Reported by Eric Blake.
10941
10942 2010-09-10  Bruno Haible  <bruno@clisp.org>
10943
10944         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
10945         * doc/glibc-functions/login_tty.texi: Mention the include file problem
10946         on FreeBSD 8.0 and OpenBSD 4.6.
10947         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
10948         * m4/pty_h.m4 (gl_PTY_H): Likewise.
10949         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
10950         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
10951         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
10952         ac_includes_default.
10953         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10954
10955 2010-09-09  Eric Blake  <eblake@redhat.com>
10956
10957         strsignal: work around NetBSD bug
10958         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
10959         * lib/string.in.h (includes): Likewise.
10960         * doc/posix-functions/strsignal.texi (strsignal): Document the
10961         bug.
10962         Reported by Nelson H. F. Beebe.
10963
10964         gnulib-tool: work with NetBSD /bin/sh
10965         * gnulib-tool (func_cache_var, func_cache_lookup_module)
10966         (func_get_description, func_get_comment, func_get_status)
10967         (func_get_notice, func_get_applicability, func_get_filelist)
10968         (func_get_dependencies, func_get_autoconf_early_snippet)
10969         (func_get_autoconf_snippet, func_get_automake_snippet)
10970         (func_get_include_directive, func_get_link_directive)
10971         (func_get_license, func_get_maintainer, func_import): Avoid
10972         shell syntax errors from parsing syntax extensions.
10973
10974 2010-09-09  Bruno Haible  <bruno@clisp.org>
10975
10976         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
10977         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
10978         a reliable way to determine whether the 'alias' command works.
10979
10980 2010-09-08  Jim Meyering  <meyering@redhat.com>
10981
10982         init.sh: penalize a set-x-impaired shell; don't disqualify it
10983         * tests/init.sh: Too many shells corrupt application stderr when
10984         you set -x, so we can't afford to disqualify them, since at least
10985         on Irix-6.5, that would disqualify all bourne shells.
10986         Instead, use a two-pass approach.
10987         On the first pass, try to find a shell that meets the stricter
10988         condition that set -x does not corrupt stderr.
10989         If no shell meets the stricter condition, retest each candidate
10990         shell, but without that extra condition.  Finally, when
10991         VERBOSE=yes is requested and set -x might cause trouble, simply
10992         issue a warning and refrain from enabling debug output.
10993
10994 2010-09-08  Eric Blake  <eblake@redhat.com>
10995
10996         unsetenv: fix OpenBSD bug
10997         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
10998         * doc/posix-functions/unsetenv.texi (unsetenv): Update
10999         documentation.
11000         Reported by Jim Meyering.
11001
11002         strtod: work around IRIX 6.5 bug
11003         * lib/strtod.c (strtod): Reparse number on shorter string if
11004         exponent parse was invalid.
11005         * tests/test-strtod.c (main): Add check for "0x1p 2".
11006         Reported by Tom G. Christensen.
11007
11008         getopt: optimize previous patch
11009         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
11010         empty variable.  Speed up awk script.
11011         Reported by Paolo Bonzini.
11012
11013 2010-09-08  Jim Meyering  <meyering@redhat.com>
11014
11015         test.sh: disqualify shells for which set -x corrupts stderr
11016         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
11017         and OpenBSD 4.7.  They make it so with "set -x", environment settings
11018         appear in stderr output.  For example, this command:
11019             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
11020         prints "P=1" on those two systems:
11021
11022 2010-09-08  Bruno Haible  <bruno@clisp.org>
11023
11024         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
11025         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
11026         commands, because some shells ignore redirections when there is an
11027         error in the command lookup.
11028         Reported by Eric Blake.
11029
11030 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
11031
11032         * lib/regex.h: Fix a mention of `regex_compile' (should be
11033         `re_compile_pattern').
11034         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
11035         (re_set_registers): Correct name of parameter in comment.
11036
11037         * doc/regex.texi: Add documentation for missing syntax flags.
11038         Remove commented-out documentation of defunct syntax option
11039         RE_NO_EMPTY_ALTS.
11040         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
11041         Add documentation of re_set_registers.
11042         Document trick to re-use a pattern buffer by setting fastmap manually.
11043         Update documentation of struct re_pattern_buffer per public members.
11044         Uncomment documentation of equivalence class operators and
11045         collating symbol operators, since they are now implemented,
11046         Explain leftmost-longest matching in relation to alternatives.
11047         Tidy documentation of substring matching.
11048         Remove POSIX documentation, which is done better in
11049         glibc, and refer the reader there. Keep BSD API documentation, as
11050         that is not readily available elsewhere.
11051
11052 2010-09-07  Eric Blake  <eblake@redhat.com>
11053
11054         getopt: handle POSIXLY_CORRECT set but not exported
11055         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
11056         export state of POSIXLY_CORRECT, due to bash set -o posix.
11057         Reported by Dustin J. Mitchell.
11058
11059 2010-09-05  Bruno Haible  <bruno@clisp.org>
11060
11061         gnulib-tool: Highlight the changed options.
11062         * gnulib-tool (func_usage): Display the --import, --add-import,
11063         --remove-import explanations in bold font.
11064
11065 2010-09-06  Karl Berry  <karl@gnu.org>
11066
11067         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
11068
11069 2010-09-05  Bruno Haible  <bruno@clisp.org>
11070
11071         uniwidth/width: Update comment.
11072         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
11073         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
11074
11075 2010-09-05  Bruno Haible  <bruno@clisp.org>
11076
11077         isinf, isnan: Relax license.
11078         * modules/isinf (License): Change from GPL to LGPL, with consent from
11079         Ben Pfaff.
11080         * modules/isnan (License): Likewise.
11081         Requested by Ludovic Courtès.
11082
11083 2010-09-04  Bruno Haible  <bruno@clisp.org>
11084
11085         gnulib-tool: Help migration from --import to --add-import or --update.
11086         * gnulib-tool: Emit a verbose error message when --import is used
11087         without any module name.
11088
11089 2010-09-04  Bruno Haible  <bruno@clisp.org>
11090
11091         Update doc about gnulib-tool.
11092         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
11093         'gnulib-tool --update' in more detail.
11094         Reported by Eric Blake.
11095
11096 2010-09-04  Bruno Haible  <bruno@clisp.org>
11097
11098         gnulib-tool: Change --import. New options --add/remove-import.
11099         * gnulib-tool: New options --add-import, --remove-import.
11100         (func_usage): Document them.
11101         (have_associative): Define always.
11102         (func_import): In import mode, don't merge the specified settings with
11103         the cached settings. Implement remove-import mode.
11104         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
11105         Explain when to use them versus --import.
11106         (Simple update): Use --add-import instead of --import.
11107         * NEWS: Mention the change.
11108
11109 2010-09-04  Bruno Haible  <bruno@clisp.org>
11110
11111         * doc/gnulib-tool.texi (Initial import): Update paragraph about
11112         separate gnulib.mk.
11113
11114 2010-09-04  Bruno Haible  <bruno@clisp.org>
11115
11116         gnulib-tool: Don't talk about CVS any more.
11117         * gnulib-tool (func_usage, func_import): Write "version control"
11118         instead of CVS.
11119
11120 2010-09-04  Jim Meyering  <meyering@redhat.com>
11121
11122         maint.mk: avoid obscure sc_copyright_check failure in coreutils
11123         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
11124         false positives (whose names may be ill-chosen) when searching
11125         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
11126         would cause a false-positive.
11127
11128         avoid coreutils "make distcheck" failure
11129         Coreutils tests with an absolute build directory name that contains
11130         a space.  Not quoting this directory name caused a failure.
11131         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
11132         * tests/test-vc-list-files-cvs.sh: Likewise.
11133
11134 2010-09-04  Bruno Haible  <bruno@clisp.org>
11135
11136         gnulib-tool: Avoid error when run in a package without Makefile.am.
11137         * gnulib-tool: When collecting the m4dirs in a package that does not
11138         have a Makefile.am, eliminate those directories that contain no
11139         gnulib-cache.m4. Fix expression that counts these directories.
11140
11141 2010-09-04  Bruno Haible  <bruno@clisp.org>
11142
11143         update-copyright test: Improve output when perl is missing or too old.
11144         * tests/test-update-copyright.sh: Move test of Perl version down after
11145         the test whether Perl exists. Provide an explanation relating Perl's
11146         error message to Automake's SKIP: message.
11147
11148 2010-09-04  Bruno Haible  <bruno@clisp.org>
11149
11150         Don't augment PATH in TESTS_ENVIRONMENT.
11151         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
11152         set abs_aux_dir instead of augmenting PATH.
11153         * modules/vc-list-files-tests (Makefile.am): Likewise.
11154         * tests/test-update-copyright.sh: Augment PATH here.
11155         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
11156         path_prepend_.
11157         * tests/test-vc-list-files-git.sh: Likewise.
11158
11159 2010-09-04  Jim Meyering  <meyering@redhat.com>
11160
11161         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
11162         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
11163
11164 2010-09-04  Bruno Haible  <bruno@clisp.org>
11165
11166         strdup: Fix compilation error in C++ mode.
11167         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
11168         the macro.
11169
11170 2010-09-04  Bruno Haible  <bruno@clisp.org>
11171
11172         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
11173         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
11174         macro into a function.
11175         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11176
11177 2010-09-04  Bruno Haible  <bruno@clisp.org>
11178
11179         Set PATH_SEPARATOR the same way autoconf does.
11180         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
11181         the value of PATH_SEPARATOR the same way autoconf-generated configure
11182         scripts do.
11183         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
11184         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
11185
11186 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11187
11188         Set PATH_SEPARATOR the same way autoconf does.
11189         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
11190         the same way autoconf-generated configure scripts do.
11191         * posix-modules: Likewise.
11192
11193 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11194
11195         hash: fix safe_hasher const typo
11196         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
11197         const; otherwise, there is a type error later.
11198
11199 2010-09-02  Jim Meyering  <meyering@redhat.com>
11200
11201         test-update-copyright.sh: require perl 5.8.0
11202         * tests/test-update-copyright.sh: Require 5.8.0,
11203         which Tom G. Christensen has confirmed is adequate,
11204         while 5.6.1 is not.
11205
11206 2010-09-02  Eric Blake  <eblake@redhat.com>
11207
11208         tests: init.sh improvements for re-exec'ing with zsh
11209         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
11210         -vx through shell re-exec.
11211         Reported by Tom G. Christensen.
11212
11213         wctype: fix typo in previous commit
11214         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
11215         Reported by Ludovic Courtès.
11216
11217 2010-09-02  Jim Meyering  <meyering@redhat.com>
11218
11219         test-update-copyright.sh: skip test if Perl is too old
11220         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
11221         Reported by Tom G. Christensen.
11222
11223 2010-09-02  Bruno Haible  <bruno@clisp.org>
11224
11225         wctype: Avoid compilation error on IRIX 6.5.30.
11226         * lib/wctype.in.h (iswblank): Declare with a replacement if
11227         REPLACE_ISWBLANK is set.
11228         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
11229         declared. Set REPLACE_ISWBLANK.
11230         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
11231         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
11232         * doc/posix-headers/wctype.texi: Likewise.
11233         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11234
11235 2010-09-01  Bruno Haible  <bruno@clisp.org>
11236
11237         New module 'socketlib'.
11238         * modules/socketlib: New file.
11239         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
11240         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
11241         * modules/sockets (Depends-on): Add socketlib.
11242         Suggested by Sam Steingold <sds@gnu.org>.
11243
11244 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11245
11246         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
11247
11248         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
11249         when one needs search access to a directory but not read access.
11250         On systems where it is available, it works in some cases where
11251         O_RDONLY does not, namely on directories that are searchable but
11252         not readable, and which need only to be searchable.  If O_SEARCH
11253         is not available, fall back to the traditional method of using
11254         O_RDONLY.
11255
11256         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
11257         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
11258         when opening a directory that needs only to be searchable.
11259         * lib/chdir-safer.c (chdir_no_follow): Likewise.
11260         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
11261         * lib/openat-proc.c (openat_proc_name): Likewise.
11262         * lib/openat.c (openat_needs_fchdir): Likewise.
11263         * lib/save-cwd.c (save_cwd): Likewise.
11264         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
11265
11266 2010-08-28  Bruno Haible  <bruno@clisp.org>
11267
11268         New module 'host-cpu-c-abi'.
11269         * modules/host-cpu-c-abi: New file.
11270         * m4/host-cpu-c-abi.m4: New file, based on part of
11271         clisp/src/m4/general.m4.
11272         Requested by Sam Steingold <sds@gnu.org>.
11273
11274 2010-08-31  Eric Blake  <eblake@redhat.com>
11275         and Jim Meyering  <meyering@redhat.com>
11276
11277         hash: factor, and guard against misbehaving hasher function
11278         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
11279         of table->hasher's return value.  Also protect against a hash value
11280         so large that adding it to table->bucket results in a NULL pointer.
11281         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
11282         Use it in place of open-coded check-and-abort.
11283
11284 2010-08-30  Bruno Haible  <bruno@clisp.org>
11285
11286         hash: silence spurious clang warning
11287         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
11288         Reported by Eric Blake.
11289
11290 2010-08-30  Eric Blake  <eblake@redhat.com>
11291
11292         strstr, memmem, strcasestr: avoid leaked shell message
11293         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
11294         FreeBSD.
11295         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11296         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11297
11298         tests: silence clang warning
11299         * tests/test-malloca.c (do_allocation): Avoid dead store.
11300
11301 2010-08-29  Bruno Haible  <bruno@clisp.org>
11302
11303         gettext: Fix recent mistake.
11304         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
11305
11306 2010-08-29  Bruno Haible  <bruno@clisp.org>
11307
11308         selinux-h: Offer a --without-selinux option.
11309         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
11310         --without-selinux was specified, skip all tests and define
11311         HAVE_SELINUX_SELINUX_H to 0.
11312         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
11313         set LIB_SELINUX to empty.
11314         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
11315         gl_LIBSELINUX. If --without-selinux was specified, replace
11316         selinux/context.h.
11317         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
11318
11319 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11320             Bruno Haible  <bruno@clisp.org>
11321
11322         Make the module 'realloc-gnu' work again on AIX and OSF/1.
11323         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
11324         of HAVE_REALLOC.
11325         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
11326         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
11327         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
11328         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11329
11330 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11331             Bruno Haible  <bruno@clisp.org>
11332
11333         Make the module 'calloc-gnu' work again on AIX and OSF/1.
11334         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
11335         HAVE_CALLOC.
11336         * lib/xmalloc.c: Update accordingly.
11337         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
11338         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
11339         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
11340
11341 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11342             Bruno Haible  <bruno@clisp.org>
11343
11344         Make the module 'malloc-gnu' work again on AIX and OSF/1.
11345         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
11346         HAVE_MALLOC.
11347         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
11348         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
11349         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11350
11351 2010-08-29  Bruno Haible  <bruno@clisp.org>
11352
11353         Update modules list.
11354         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
11355         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
11356         (String handling <string.h>): Add astrxfrm.
11357         (File system functions): Add readlinkat.
11358
11359 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11360
11361         Tests for module 'realloc-gnu'.
11362         * modules/realloc-gnu-tests: New file.
11363         * tests/test-realloc-gnu.c: New file.
11364
11365         Tests for module 'calloc-gnu'.
11366         * modules/calloc-gnu-tests: New file.
11367         * tests/test-calloc-gnu.c: New file.
11368
11369         Tests for module 'malloc-gnu'.
11370         * modules/malloc-gnu-tests: New file.
11371         * tests/test-malloc-gnu.c: New file.
11372
11373 2010-08-28  Bruno Haible  <bruno@clisp.org>
11374
11375         Rename module 'realloc' -> 'realloc-gnu'.
11376         * modules/realloc-gnu: New file, copied from modules/realloc.
11377         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
11378         obsolete.
11379         * modules/mgetgroups (Depends-on): Update.
11380         * doc/posix-functions/realloc.texi: Update.
11381         * NEWS: Mention the change.
11382
11383         Rename module 'calloc' -> 'calloc-gnu'.
11384         * modules/calloc-gnu: New file, copied from modules/calloc.
11385         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
11386         obsolete.
11387         * doc/posix-functions/calloc.texi: Update.
11388         * NEWS: Mention the change.
11389
11390         Rename module 'malloc' -> 'malloc-gnu'.
11391         * modules/malloc-gnu: New file, copied from modules/malloc.
11392         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
11393         obsolete.
11394         * modules/argp (Depends-on): Update.
11395         * modules/regex (Depends-on): Update.
11396         * doc/posix-functions/malloc.texi: Update.
11397         * NEWS: Mention the change.
11398
11399 2010-08-28  Eric Blake  <eblake@redhat.com>
11400
11401         pread, pwrite: add missing dependency
11402         * modules/pread (Depends-on): Add extensions.
11403         * modules/pwrite (Depends-on): Likewise.
11404
11405 2010-08-28  Bruno Haible  <bruno@clisp.org>
11406
11407         unistr/u*-strchr: Fix tests dependencies.
11408         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
11409         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
11410         Reported by Ian Beckwith <ianb@erislabs.net>.
11411
11412 2010-08-28  Bruno Haible  <bruno@clisp.org>
11413
11414         read-file: Don't occupy too much unused memory.
11415         * lib/read-file.c (fread_file): Shrink the buffer at the end.
11416
11417 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
11418             Eric Blake  <eblake@redhat.com>
11419             Bruno Haible  <bruno@clisp.org>
11420
11421         read-file: Avoid memory reallocations with regular files.
11422         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
11423         (fread_file): With regular files, use the remaining length as the
11424         initial buffer size.  Check against overflow.
11425         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
11426         sys_stat.
11427
11428 2010-08-28  Bruno Haible  <bruno@clisp.org>
11429
11430         ftello: Relax license.
11431         * modules/ftello (License): Relax to LGPLv2+.
11432         Reported by Eric Blake.
11433
11434 2010-08-28  Bruno Haible  <bruno@clisp.org>
11435
11436         Avoid relocwrapper link errors due to gnulib replacement functions.
11437         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
11438         function.
11439         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11440
11441 2010-08-28  Bruno Haible  <bruno@clisp.org>
11442
11443         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
11444         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
11445         defined.
11446         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
11447         Suggested by Eric Blake.
11448
11449 2010-08-28  Bruno Haible  <bruno@clisp.org>
11450
11451         sys_socket, netdb: Ensure socklen_t gets defined.
11452         * modules/sys_socket (Depends-on): Add socklen.
11453         * modules/netdb (Depends-on): Likewise.
11454         * modules/getaddrinfo (Depends-on): Remove socklen.
11455         * modules/getsockopt (Depends-on): Likewise.
11456         * modules/setsockopt (Depends-on): Likewise.
11457         * tests/test-sys_socket.c: Check that socklen_t is defined.
11458         * tests/test-netdb.c: Likewise.
11459         * m4/socklen.m4: Update comments.
11460         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11461
11462 2010-08-27  Eric Blake  <eblake@redhat.com>
11463
11464         login_tty: add missing dependency
11465         * modules/login_tty (Depends-on): Add pty.
11466
11467 2010-08-26  Eric Blake  <eblake@redhat.com>
11468
11469         lib-symbol-versions: fix m4 quoting
11470         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
11471         format for AC_LINK_IFELSE.
11472
11473         glob: fix compile test
11474         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
11475
11476         btowc: fix missing file
11477         * modules/btowc (Files): Also ship locale-fr.m4.
11478
11479         lseek: fix link test
11480         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
11481         AC_LINK_IFELSE.
11482
11483         include_next: silence autoconf 2.68 warning
11484         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
11485         AC_COMPILE_IFELSE as special.
11486         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
11487         autoconf < 2.68.
11488
11489         acl: fix compilation test
11490         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
11491         AC_COMPILE_IFELSE.
11492
11493 2010-08-26  Bruno Haible  <bruno@clisp.org>
11494
11495         Modernize AC_TRY_RUN invocations.
11496         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
11497         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11498         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
11499         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
11500         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
11501         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11502         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
11503         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
11504         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11505         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11506         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
11507         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
11508         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
11509         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
11510         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
11511         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
11512         gl_MBRLEN_NUL_RETVAL): Likewise.
11513         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
11514         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
11515         Likewise.
11516         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11517         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11518         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
11519         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
11520         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
11521         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
11522         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
11523         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11524         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
11525         Likewise.
11526         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
11527         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
11528         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11529         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11530         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11531         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
11532         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11533         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
11534         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11535         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11536
11537 2010-08-26  Bruno Haible  <bruno@clisp.org>
11538
11539         Modernize AC_TRY_LINK invocations.
11540         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
11541         AC_TRY_LINK.
11542         * m4/argp.m4 (gl_ARGP): Likewise.
11543         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11544         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11545         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
11546         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
11547         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
11548         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
11549         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11550         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11551         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
11552         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
11553         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
11554         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
11555         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
11556         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11557         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
11558         * m4/hostent.m4 (gl_HOSTENT): Likewise.
11559         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11560         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
11561         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
11562         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
11563         Likewise.
11564         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
11565         Likewise.
11566         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
11567         Likewise.
11568         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
11569         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
11570         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
11571         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11572         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11573         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11574         * m4/servent.m4 (gl_SERVENT): Likewise.
11575         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11576         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11577         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11578         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11579         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11580         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11581         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11582         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11583         * modules/tsearch-tests (configure.ac): Likewise.
11584
11585 2010-08-26  Bruno Haible  <bruno@clisp.org>
11586
11587         Modernize AC_TRY_COMPILE invocations.
11588         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
11589         AC_TRY_COMPILE.
11590         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
11591         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
11592         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
11593         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11594         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
11595         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11596         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
11597         * m4/lock.m4 (gl_LOCK): Likewise.
11598         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
11599         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11600         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
11601         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
11602         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
11603         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
11604         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
11605         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
11606         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
11607         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
11608         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
11609         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
11610         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
11611         extraneous semicolon.
11612
11613 2010-08-26  Jim Meyering  <meyering@redhat.com>
11614
11615         stat-time: relax license LGPL
11616         * modules/stat-time (License): Change from GPL to LGPL,
11617         with consent from all contributors, for use in libguile.
11618         Requested by Ludovic Courtès.
11619
11620 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
11621
11622         poll: return immediately on POLLHUP.
11623         * lib/poll.c (poll): Always set timeout before wait_timeout is
11624         computed.
11625
11626 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11627
11628         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
11629         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
11630         rmdir ("dir/.//"), unlinkat.
11631
11632 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11633
11634         stdbool: avoid spurious failure with modern xlc
11635         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11636
11637 2010-08-24  Bruno Haible  <bruno@clisp.org>
11638
11639         getloadavg: simplify code
11640         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
11641         gl_have_func. Update comments.
11642
11643 2010-08-24  Eric Blake  <eblake@redhat.com>
11644
11645         getloadavg: don't define SVR4 on cygwin
11646         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
11647         only define SVR4 when -lkvm is required.
11648         Reported by Yaakov Selkowitz.
11649
11650 2010-08-24  Bruno Haible  <bruno@clisp.org>
11651
11652         priv-set: fix comment
11653         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
11654
11655 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11656
11657         priv-set: fix comments
11658         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
11659         to match code, as suggested by David Bartley in:
11660         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
11661
11662 2010-08-23  Eric Blake  <eblake@redhat.com>
11663
11664         stdbool: avoid rejecting clang
11665         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11666         * tests/test-stdbool.c: Enable more tests if using the system
11667         <stdbool.h> instead of the gnulib replacement.
11668         (main): Move xlc bug test to a runtime test for all compilers.
11669         Reported by Anders Kaseorg.
11670
11671         argz: fix shell quoting issue
11672         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
11673         Reported by Charles Wilson.
11674
11675 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
11676             Erik Faye-Lund <kusmabite@gmail.com>
11677
11678         poll, select: handle ERROR_BROKEN_PIPE.
11679         * lib/poll.c (win32_compute_revents): Return POLLHUP when
11680         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11681         * lib/select.c (win32_compute_revents): Do not mark a pipe
11682         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11683
11684 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
11685
11686         fts: allow compilation with C++
11687         * lib/fts_.h: Specify extern "C" linkage with C++.
11688
11689 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11690
11691         Fix gnulib-tool sed script de-commentation for AIX sed.
11692         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
11693         sed.
11694
11695 2010-08-17  Eric Blake  <eblake@redhat.com>
11696
11697         test-stddef: test for (some) offsetof bugs
11698         * tests/test-stddef.c: Enhance test to ensure correct type of
11699         offsetof.
11700         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
11701         that we are not fixing at this time.
11702
11703 2010-08-15  Bruno Haible  <bruno@clisp.org>
11704
11705         stpncpy: Allow stpncpy to be defined as a macro.
11706         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
11707         if it's already correctly declared.
11708         * lib/string.in.h (stpncpy): Undefine before redefining.
11709         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
11710
11711 2010-08-14  Bruno Haible  <bruno@clisp.org>
11712
11713         Rename module 'memxfrm' to 'amemxfrm'.
11714         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
11715         (amemxfrm): Renamed from memxfrm.
11716         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
11717         (amemxfrm): Renamed from memxfrm.
11718         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
11719         * NEWS: Mention the change.
11720         * MODULES.html.sh (String handling <string.h>): Update.
11721         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
11722         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
11723         * lib/unicase/u16-casexfrm.c: Likewise.
11724         * lib/unicase/u32-casexfrm.c: Likewise.
11725         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
11726         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
11727         * lib/uninorm/u16-normxfrm.c: Likewise.
11728         * lib/uninorm/u32-normxfrm.c: Likewise.
11729         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
11730         memxfrm.
11731         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
11732         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
11733         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
11734         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
11735         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
11736         Suggested by Paul Eggert.
11737
11738 2010-08-14  Bruno Haible  <bruno@clisp.org>
11739
11740         Tests for module 'astrxfrm'.
11741         * modules/astrxfrm-tests: New file.
11742         * tests/test-astrxfrm.c: New file.
11743
11744         New module 'astrxfrm'.
11745         * lib/astrxfrm.h: New file.
11746         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
11747         * modules/astrxfrm: New file.
11748
11749 2010-08-14  Reuben Thomas <rrt@sc3d.org>
11750
11751         regex: Tweak doc.
11752         * doc/regex.texi (Overview): Don't mention regex.c.
11753         (GNU Regular Expression Compiling): Likewise.
11754         (Match-end-of-line Operator): Mention 'not_eol'.
11755
11756 2010-08-14  Brian Gough  <bjg@gnu.org>
11757             Bruno Haible  <bruno@clisp.org>
11758
11759         git-merge-changelog: add doc relating to use with bzr and hg.
11760         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
11761
11762 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
11763
11764         pthread: fix pthread.h creation for srcdir != builddir
11765         * modules/pthread (Makefile.am): Fix the rule to work also in a
11766         non-srcdir build.
11767
11768 2010-08-13  Karl Berry  <karl@gnu.org>
11769
11770         * doc/regex.texi (Predefined Syntaxes): @smallexample.
11771         * doc/posix-*/*: force line break before @url of POSIX
11772         specifications.
11773         Suggested by Werner Lemberg.
11774
11775 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11776
11777         strtod: fix const diagnostic
11778         * lib/strtod.c (strtod): Don't assign const char * to char *,
11779         as this elicits a warning from GCC when warnings are enabled.
11780
11781 2010-08-10  Pádraig Brady <P@draigbrady.com>
11782         and Eric Blake  <eblake@redhat.com>
11783
11784         copy-acl: ignore ENOTSUP on HP-UX
11785         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
11786         so that it is available for HP-UX.
11787         * lib/copy-acl.c (qcopy_acl): Use it.
11788         Reported by Patrick M. Callahan.
11789
11790 2010-08-10  Eric Blake  <eblake@redhat.com>
11791
11792         open, chown: relax license
11793         * modules/open (License): Change to LGPLv2+, with consent by all
11794         authors, for use in augeas.
11795         * modules/chown (License): Likewise.
11796         * modules/lchown (Likewise): Likewise.
11797         Requested by Adam Stokes.
11798
11799 2010-08-09  Karl Berry  <karl@gnu.org>
11800
11801         * build-aux/ar-lib: new file, import from Automake.
11802         * config/srclist.txt: autocheck for updates.
11803
11804 2010-08-09  Eric Blake  <eblake@redhat.com>
11805
11806         readlinkat: adjust client modules
11807         * modules/areadlinkat (Depends-on): Use readlinkat, not
11808         symlinkat.
11809         * modules/areadlinkat-with-size (Depends-on): Likewise.
11810
11811         mknod: be more vocal about danger of running tests as root
11812         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
11813         root, since that is just asking for problems.
11814         Suggested by Bruno Haible, based on a report by Rainer Tammer.
11815
11816         readlinkat: split into its own module
11817         * modules/symlinkat: Split readlinkat...
11818         * modules/readlinkat: ...into separate module.
11819         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
11820         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
11821         * lib/symlinkat.c (readlinkat): Move...
11822         * lib/readlinkat.c: ...into new file.
11823         * modules/symlinkat-tests: Split readlinkat test...
11824         * modules/readlinkat-tests: ...into separate module.
11825         * tests/test-symlinkat.c: Split...
11826         * tests/test-readlinkat.c: ...into new file.
11827         * NEWS: Document the split.
11828         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11829         * lib/unistd.in.h (readlinkat): Likewise.
11830         Suggested by Bruno Haible.
11831
11832 2010-08-08  Bruno Haible  <bruno@clisp.org>
11833
11834         memxfrm: Speed up.
11835         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
11836         that usually only one call to strxfrm is necessary for each string
11837         part.
11838         Reported by Paul Eggert <eggert@cs.ucla.edu>.
11839
11840 2010-08-07  Karl Berry  <karl@gnu.org>
11841
11842         * doc/posix-headers/limits.texi,
11843         * doc/posix-functions/malloc.texi,
11844         * doc/posix-functions/strsignal.texi: missing @item.
11845         * doc/ld-version-script.texi: spurious leading i.
11846         * doc/regex.texi (Interval Operators): no commas inside @var.
11847
11848 2010-08-01  Bruno Haible  <bruno@clisp.org>
11849
11850         Integrate the regex documentation.
11851         * doc/gnulib.texi: Define 'cn' index.
11852         (Regular expressions): New a chapter that includes regex.texi and
11853         regexprops-generic.texi.
11854         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
11855         syntax.
11856
11857         Whitespace cleanup.
11858         * doc/regex.texi: Remove trailing spaces.
11859
11860         Add regex documentation.
11861         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
11862         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
11863         Written by Kathy A. Hargreaves and Karl Berry.
11864
11865 2010-08-01  Bruno Haible  <bruno@clisp.org>
11866
11867         link: Update documentation.
11868         * doc/posix-functions/link.texi: Update regarding Solaris.
11869
11870 2010-07-31  Bruno Haible  <bruno@clisp.org>
11871
11872         Update modules list.
11873         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
11874         (String handling <string.h>): Add memcmp2, memxfrm.
11875         (Container data structures): Add xlist, xsublist, xoset.
11876         (Core language properties): Add alignof, unused-parameter.
11877         (Process control, Numeric conversion functions <stdlib.h>): Renamed
11878         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
11879         (Unibyte characters <ctype.h>): New section.
11880         (String handling <string.h>): New section.
11881         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
11882         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
11883         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
11884         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
11885         tan, tanh, tanl, y0, y1, yn.
11886         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
11887         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
11888         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
11889         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
11890         unlockpt, vdprintf, vdprintf-posix.
11891         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
11892         (File system functions): Add concat-filename, sys_file, sys_ioctl,
11893         xconcat-filename.
11894         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
11895         getdtablesize, pipe2, pipe2-safer.
11896         (Security): New section.
11897         (Networking functions): Add accept4.
11898         (Signal handling): Add sigpipe.
11899         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
11900         mbmemcasecoll.
11901         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
11902         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
11903         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
11904         pipe-filter-ii.
11905         (Misc): Add argp-version-etc, login_tty, parse-duration.
11906
11907 2010-07-31  Bruno Haible  <bruno@clisp.org>
11908
11909         Improve doc in MODULES.html.
11910         * modules/linkat (Description): Add the word "function".
11911         * modules/mkfifo (Description): Likewise.
11912         * modules/mknod (Description): Likewise.
11913         * modules/remove (Description): Likewise.
11914         * modules/renameat (Description): Likewise.
11915         * modules/stat (Description): Likewise.
11916         * modules/symlink (Description): Likewise.
11917         * modules/unlink (Description): Likewise.
11918
11919 2010-07-31  Bruno Haible  <bruno@clisp.org>
11920
11921         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
11922         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
11923         option --enable/disable-c++ instead of --enable/disable-cxx.
11924         * NEWS: Mention the change.
11925
11926 2010-07-31  Bruno Haible  <bruno@clisp.org>
11927
11928         readlink, areadlink: Relax test a bit.
11929         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
11930         alternative to ENOTDIR.
11931         * tests/test-areadlink.h (test_areadlink): Likewise.
11932         Reported by Rainer Tammer.
11933
11934 2010-07-31  Bruno Haible  <bruno@clisp.org>
11935
11936         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
11937         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
11938         character, perform the search using U_STRCHR.
11939         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
11940         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
11941         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
11942         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
11943         Suggested by Paolo Bonzini.
11944
11945 2010-07-31  Bruno Haible  <bruno@clisp.org>
11946
11947         unistr/u*-strstr: Fix dependencies.
11948         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
11949         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
11950         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
11951
11952 2010-07-31  Bruno Haible  <bruno@clisp.org>
11953
11954         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
11955         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
11956         the beginning of the loop.
11957         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
11958         cases in 'switch' statement.
11959
11960         unistr/u8-strchr: Fix several bugs.
11961         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
11962         the string. When not found, return NULL, not a pointer near the end.
11963
11964         More tests for unistr/u8-strchr.
11965         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
11966         that the function does not read past the first occurrence of the byte
11967         being searched.
11968         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
11969         * tests/unistr/test-u16-strchr.c (main): New function.
11970         * tests/unistr/test-u32-strchr.c (main): New function.
11971
11972 2010-07-31  Bruno Haible  <bruno@clisp.org>
11973
11974         posix-modules: Ignore backup files of documentation files.
11975         * posix-modules: grep only through files named *.texi.
11976
11977 2010-07-31  Bruno Haible  <bruno@clisp.org>
11978
11979         symlinkat: Fix documentation.
11980         * doc/posix-functions/readlinkat.texi: Fix module name.
11981
11982 2010-07-31  Bruno Haible  <bruno@clisp.org>
11983
11984         fchownat: Replace also when chown has the trailing slash bug.
11985         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
11986         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
11987         introduced on 2010-04-10.
11988         Reported by Rainer Tammer.
11989
11990 2010-07-31  Bruno Haible  <bruno@clisp.org>
11991
11992         linkat: Work around AIX 7.1 bug.
11993         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
11994         whether linkat handles trailing slash correctly. If not, replace linkat
11995         and define LINKAT_TRAILING_SLASH_BUG.
11996         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
11997         check whether (fd1,file1) points to a directory if file1 or file2 ends
11998         in a slash. Code taken from lib/link.c.
11999         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
12000         Reported by Rainer Tammer.
12001
12002 2010-07-31  Bruno Haible  <bruno@clisp.org>
12003
12004         Correctly determine whether pow is available in libc on AIX 7 with xlc.
12005         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
12006         This disables an xlc optimization that was causing wrong test results.
12007         Reported by Rainer Tammer.
12008
12009 2010-07-31  Bruno Haible  <bruno@clisp.org>
12010
12011         iconv: Work around AIX 6.1..7.1 bug.
12012         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
12013         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
12014         cross-compiling, guess no on all versions of AIX.
12015         Reported by Rainer Tammer.
12016
12017 2010-07-31  Bruno Haible  <bruno@clisp.org>
12018
12019         readlink: Relax test a bit.
12020         * tests/test-readlink.h (test_readlink): Allow different errno value
12021         when readlink is called with a file name that ends in / and refers to
12022         a file.
12023         Suggested by Eric Blake.
12024         Reported by Rainer Tammer.
12025
12026 2010-07-31  Bruno Haible  <bruno@clisp.org>
12027
12028         copysign: Does not require -lm on glibc systems.
12029         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
12030         gl_COMMON_DOUBLE_MATHFUNC.
12031         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
12032
12033 2010-07-31  Bruno Haible  <bruno@clisp.org>
12034
12035         duplocale: Work around AIX 7.1 bug.
12036         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
12037         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
12038         * lib/duplocale.c (rpl_duplocale): Update comment.
12039         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
12040         Reported by Rainer Tammer.
12041
12042 2010-07-30  Bruno Haible  <bruno@clisp.org>
12043
12044         dirfd: Avoid link error on AIX 7.1.
12045         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
12046         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
12047         exist, set REPLACE_DIRFD.
12048         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
12049         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
12050         * doc/posix-functions/dirfd.texi: Update.
12051         Reported by Rainer Tammer.
12052
12053 2010-07-30  Eric Blake  <eblake@redhat.com>
12054
12055         strtod: next round of AIX fixes
12056         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
12057         exponent.
12058         * tests/test-strtod.c (main): Enhance tests.
12059         * doc/posix-functions/strtod.texi (strtod): Document next bug.
12060         Reported by Rainer Tammer.
12061
12062         futimens: fix configure check
12063         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
12064         Reported by Bruno Haible.
12065
12066 2010-07-30  Bruno Haible  <bruno@clisp.org>
12067
12068         getline: Update regarding AIX.
12069         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
12070         Reported by Rainer Tammer.
12071
12072 2010-07-30  Bruno Haible  <bruno@clisp.org>
12073
12074         wcwidth: Drop replacement on AIX 7.
12075         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
12076         AIX 7.
12077         Reported by Rainer Tammer.
12078
12079 2010-07-30  Bruno Haible  <bruno@clisp.org>
12080
12081         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
12082         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
12083         a 'char *'.
12084         Reported by Rainer Tammer.
12085
12086 2010-07-30  Bruno Haible  <bruno@clisp.org>
12087
12088         unlink: Update regarding AIX.
12089         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
12090         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
12091         Reported by Rainer Tammer.
12092
12093 2010-07-30  Bruno Haible  <bruno@clisp.org>
12094
12095         symlink: Update regarding AIX.
12096         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
12097         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
12098         Reported by Rainer Tammer.
12099
12100 2010-07-30  Bruno Haible  <bruno@clisp.org>
12101
12102         strndup: Update regarding AIX.
12103         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
12104         AIX 7.
12105         Reported by Rainer Tammer.
12106
12107 2010-07-30  Bruno Haible  <bruno@clisp.org>
12108
12109         stat: Update regarding AIX.
12110         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
12111         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
12112         Reported by Rainer Tammer.
12113
12114 2010-07-30  Bruno Haible  <bruno@clisp.org>
12115
12116         truncl: Fix autoconf test.
12117         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
12118         whether truncl works.
12119         Reported by Rainer Tammer.
12120
12121 2010-07-30  Bruno Haible  <bruno@clisp.org>
12122
12123         round: Update regarding AIX.
12124         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
12125         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
12126         Reported by Rainer Tammer.
12127
12128 2010-07-30  Bruno Haible  <bruno@clisp.org>
12129
12130         rename: Update regarding AIX.
12131         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
12132         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
12133         Reported by Rainer Tammer.
12134
12135 2010-07-30  Bruno Haible  <bruno@clisp.org>
12136
12137         printf.m4: Update regarding AIX.
12138         * m4/printf.m4: Update comments regarding AIX.
12139         Reported by Rainer Tammer.
12140
12141 2010-07-30  Bruno Haible  <bruno@clisp.org>
12142
12143         iconv: Update regarding AIX.
12144         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
12145         AIX 7.
12146         Reported by Rainer Tammer.
12147
12148 2010-07-30  Bruno Haible  <bruno@clisp.org>
12149
12150         getopt: Update regarding AIX.
12151         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
12152         no on AIX.
12153         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
12154         Reported by Rainer Tammer.
12155
12156 2010-07-30  Bruno Haible  <bruno@clisp.org>
12157
12158         ldexpl; Update regarding AIX.
12159         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
12160         on AIX 7.
12161         Reported by Rainer Tammer.
12162
12163 2010-07-30  Bruno Haible  <bruno@clisp.org>
12164
12165         frexpl: Update regarding AIX.
12166         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
12167         on AIX 7.
12168         Reported by Rainer Tammer.
12169
12170 2010-07-30  Bruno Haible  <bruno@clisp.org>
12171
12172         open, fopen: Update regarding AIX.
12173         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
12174         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
12175         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
12176         * doc/posix-functions/fopen.texi: Likewise.
12177         Reported by Rainer Tammer.
12178
12179 2010-07-30  Bruno Haible  <bruno@clisp.org>
12180
12181         chown: Update doc regarding AIX.
12182         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
12183         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
12184         Reported by Rainer Tammer.
12185
12186 2010-07-30  Eric Blake  <eblake@redhat.com>
12187
12188         strtod: fix bug in replacement function on AIX
12189         * lib/strtod.c (strtod): Special case broken "0x" parse in
12190         underlying strtod.
12191         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
12192         * doc/posix-functions/strtod.texi (strtod): Likewise.
12193         Reported by Rainer Tammer.
12194
12195 2010-07-30  Bruno Haible  <bruno@clisp.org>
12196
12197         mbrlen: Fix cross-compilation guess for AIX.
12198         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
12199         guess. Leftover from 2008-12-22.
12200
12201 2010-07-30  Bruno Haible  <bruno@clisp.org>
12202
12203         mbrtowc: Fix cross-compilation guess for AIX.
12204         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
12205         guess. Leftover from 2008-12-21.
12206
12207 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
12208
12209         init.sh: work around trap limitation of some shells
12210         * tests/init.sh (setup_): Move exit trap outside of shell function.
12211
12212 2010-07-29  Eric Blake  <eblake@redhat.com>
12213
12214         strtod: aid debugging
12215         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
12216         understanding why strtod is rejected.
12217
12218 2010-07-28  Bruno Haible  <bruno@clisp.org>
12219
12220         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
12221         * lib/unistr/u8-chr.c: Include <string.h>.
12222         * tests/unistr/test-u8-chr.c: Likewise.
12223         * tests/unistr/test-u16-chr.c: Likewise.
12224         * tests/unistr/test-u32-chr.c: Likewise.
12225         * tests/unistr/test-u8-strchr.c: Likewise.
12226         * tests/unistr/test-u16-strchr.c: Likewise.
12227         * tests/unistr/test-u32-strchr.c: Likewise.
12228         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
12229         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
12230         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
12231         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
12232
12233 2010-07-28  Bruno Haible  <bruno@clisp.org>
12234
12235         Use spaces for indentation, not tabs.
12236         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
12237
12238 2010-07-27  Bruno Haible  <bruno@clisp.org>
12239
12240         mbspcasecmp: Fix function specification.
12241         * lib/string.in.h (mbspcasecmp): Fix specification comment.
12242         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
12243         Reported by Eric Blake <eblake@redhat.com>.
12244
12245 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
12246
12247         timespec: use cast and not conditional, as truncation isn't possible
12248         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
12249         instead of a conditional.  Comment about the situation in more detail.
12250         This undoes most of the 2009-10-29 patch.
12251
12252 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
12253
12254         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
12255         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
12256         * lib/unistr/u8-strchr.c: Likewise.
12257         * modules/unistr/u8-chr: Depend on memchr.
12258
12259         unistr/u*-strchr: add tests
12260         * modules/unistr/u8-strchr-tests: New file.
12261         * modules/unistr/u16-strchr-tests: New file.
12262         * modules/unistr/u32-strchr-tests: New file.
12263         * tests/unistr/test-strchr.h: New file.
12264         * tests/unistr/test-u8-strchr.c: New file.
12265         * tests/unistr/test-u16-strchr.c: New file.
12266         * tests/unistr/test-u32-strchr.c: New file.
12267
12268         unistr/u*-chr: test multibyte sequences more
12269         * tests/unistr/test-chr.h: Do complete testing of the characters in the
12270         test vector.
12271         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
12272         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
12273         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
12274
12275         unistr/u*-chr: test multibyte sequences
12276         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
12277
12278         unistr/u*-chr: prepare for multibyte tests
12279         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
12280         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
12281         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
12282         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
12283         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
12284         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
12285
12286 2010-07-18  Bruno Haible  <bruno@clisp.org>
12287
12288         unistr/u8-strchr: Optimize non-ASCII argument case.
12289         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
12290         because the first byte often matches anyway.
12291         Reported by Pádraig Brady <P@draigbrady.com>.
12292
12293 2010-07-15  Karl Berry  <karl@gnu.org>
12294
12295         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
12296
12297 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
12298
12299         getcwd: on Solaris, work better if ancestors are inaccessible
12300         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
12301         buffer and size, try again with a large buffer.  This works better
12302         on Solaris, since its getcwd succeeds even if the path to the root
12303         is inaccessible, and this is helpful in common cases such as .zfs
12304         hidden directories.  Problem reported by J Chapman Flack in
12305         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
12306         Use system getcwd if it's declared, not merely if it's partly
12307         working; use the partly-working test only to avoid needless effort
12308         if the system getcwd fails.
12309         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
12310         comment that was already obsolete and is now even more obsolete.
12311         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
12312         now might call strdup.
12313
12314 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
12315
12316         pthread: Add enough so that coreutils/src/sort.c compiles.
12317         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
12318         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
12319         gnulib. Include <sched.h> and <time.h>, as per POSIX.
12320         Include <sys/types.h>, in case it defines pthread_t.
12321         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
12322         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
12323         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
12324         (pthread_rwlockattr_t, pthread_spinlock_t):
12325         New typedefs, if HAVE_PTHREAD_T is not defined.
12326         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
12327         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
12328         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
12329         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
12330         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
12331         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
12332         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
12333         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
12334         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
12335         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
12336         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
12337         New macros.
12338         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
12339         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
12340         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
12341         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
12342         (pthread_spin_unlock): New dummy functions.
12343         (pthread_create): Return EAGAIN; don't set errno.
12344         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
12345         require AC_C_INLINE.
12346         * modules/pthread (Depends-on): Add sched, time.
12347         (pthread.h): Use AM_V_GEN.
12348
12349 2010-07-13  Bruno Haible  <bruno@clisp.org>
12350
12351         striconveh: Don't malloc memory if the result buffer is sufficient.
12352         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
12353         buffer if its size is sufficient.
12354         Reported by Ludovic Courtès <ludo@gnu.org>.
12355
12356 2010-07-13  Bruno Haible  <bruno@clisp.org>
12357
12358         strtod: Add safety check.
12359         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
12360
12361 2010-07-12  Bruno Haible  <bruno@clisp.org>
12362
12363         Unify tests that set gl_cv_func_ldexpl_no_libm.
12364         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
12365         gl_FUNC_LDEXPL.
12366         (gl_FUNC_LDEXPL): Invoke it.
12367         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12368
12369 2010-07-12  Bruno Haible  <bruno@clisp.org>
12370
12371         Unify tests that set gl_cv_func_ldexp_no_libm.
12372         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
12373         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
12374         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
12375         (configure.ac): Simply invoke gl_FUNC_LDEXP.
12376         * modules/strtod (Files): Add m4/ldexp.m4.
12377
12378 2010-07-12  Bruno Haible  <bruno@clisp.org>
12379
12380         Unify tests that set gl_cv_func_frexpl_no_libm.
12381         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
12382         gl_FUNC_FREXPL_NO_LIBM.
12383         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
12384         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12385
12386 2010-07-12  Bruno Haible  <bruno@clisp.org>
12387
12388         Unify tests that set gl_cv_func_frexp_no_libm.
12389         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
12390         gl_FUNC_FREXP_NO_LIBM.
12391         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
12392         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
12393
12394 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12395
12396         memcoll: clarify sizes versus lengths, document better, and tweak perf
12397         * lib/memcoll.c (strcoll_loop, memcoll0):
12398         Improve quality of descriptive comments.  Name variables
12399         consistently as to whether they are lengths (which do not include
12400         terminating null) versus sizes (which do).
12401         * lib/xmemcoll.c (xmemcoll0): Likewise.
12402         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
12403         returned when s1size == 0; this is easier to compile and saves
12404         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
12405
12406 2010-07-12  Bruno Haible  <bruno@clisp.org>
12407
12408         Tests for module '_Exit'.
12409         * modules/_Exit-tests: New file.
12410         * tests/test-_Exit.sh: New file.
12411         * tests/test-_Exit.c: New file.
12412
12413         New module '_Exit'.
12414         * lib/stdlib.in.h (__attribute__): New macro.
12415         (_Exit): New declaration.
12416         * lib/_Exit.c: New file.
12417         * m4/_Exit.m4: New file.
12418         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
12419         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
12420         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
12421         * modules/_Exit: New file.
12422         * tests/test-stdlib-c++.cc (_Exit): Check signature.
12423         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
12424
12425 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12426
12427         strtod: make it more-accurate typically, and don't require libm
12428         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
12429         Include limits.h.  Don't include string.h.
12430         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
12431         (locale_isspace): New function, so that no casts are needed to
12432         check whether *s is a space.
12433         (ldexp): Provide an unused dummy if not available.
12434         (scale_radix_exp, parse_number, underlying_strtod): New functions.
12435         (strtod): Use them.  This implementation prefers to use the
12436         underlying strtod if available, falling back on our own code
12437         only to fix known bugs.  This is more likely to produce an
12438         accurate result.  Also, it avoids the use of libm functions.
12439         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
12440         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
12441         was absent, but it caused a test failure with coreutils.
12442         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
12443         with libm.
12444         * modules/strtod (Makefile.am, Link): libm is no longer needed.
12445         * modules/strtod-tests (Makefile.am): Likewise.
12446
12447 2010-07-11  Pádraig Brady  <P@draigBrady.com>
12448             Bruno Haible  <bruno@clisp.org>
12449
12450         unistr/u8-strchr: Optimize ASCII argument case.
12451         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
12452
12453 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12454
12455         (x)memcoll: minor tweaks
12456         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
12457         is after the type that it qualifies.
12458         (memcoll0): Likewise.
12459         * lib/memcoll.h (memcoll0): Likewise.
12460         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
12461         * lib/xmemcoll.h (xmemcoll0): Likewise.
12462         * lib/memcoll.c (memcoll0): Correct the comment.  This function
12463         differs from memcoll in that the NUL byte is part of the argument.
12464         Omit the abort-checks, as performance is a real issue here.  Plus,
12465         the checks were wrong anyway (an off-by-one error).  Omit local
12466         variable 'diff', as it's a bit clearer that way.
12467         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
12468         no longer needed.
12469
12470 2010-07-08  Chen Guo <chenguo4@yahoo.com>
12471
12472         (x)memcoll: speedup when input is known to be NUL delimited
12473         * lib/memcoll.c: Include stdlib.
12474         (memcoll0): New function.
12475         (strcoll_loop): New function, refactored for use in both memcoll
12476         and memcoll0.
12477         * lib/memcoll.h (memcoll0): Add prototype.
12478         * lib/xmemcoll.c (xmemcoll0): New function.
12479         (collate_error): New function, refactored for use in both xmemcoll
12480         and xmemcoll0.
12481         * lib/xmemcoll.h (xmemcoll0): Add prototype.
12482         * m4/memcoll.m4: add inline invocation.
12483
12484 2010-07-06  Pádraig Brady  <P@draigBrady.com>
12485
12486         * build-aux/bootstrap: Remove any local translations
12487         from the translation project synchronization directory,
12488         so that local only translations are not distributed.
12489
12490 2010-07-04  Bruno Haible  <bruno@clisp.org>
12491
12492         fsusage: Clarify which code applies to which platforms.
12493         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
12494         platform.
12495         * lib/fsusage.c (get_fs_usage): Likewise.
12496
12497 2010-07-04  Bruno Haible  <bruno@clisp.org>
12498
12499         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
12500         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
12501         Reported by Martin Lambers <marlam@marlam.de>.
12502
12503 2010-07-04  Jim Meyering  <meyering@redhat.com>
12504
12505         hash: once again explicitly disallow insertion of NULL
12506         * lib/hash.c (hash_insert0): Reinstate just-removed test:
12507         inserting a NULL pointer cannot work with these functions.
12508         Add a comment with details.
12509         This reverts part of the 2010-07-01 commit, 5bef1a35
12510         "hash: extend module to deal with non-pointer keys".
12511
12512 2010-07-01  Bruno Haible  <bruno@clisp.org>
12513
12514         stdbool: Update doc.
12515         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
12516         Info from Christian Weisgerber <naddy@mips.inka.de>.
12517
12518 2010-07-01  Jim Meyering  <meyering@redhat.com>
12519
12520         hash: extend module to deal with non-pointer keys
12521         * lib/hash.c (hash_insert0): New interface, much like hash_insert
12522         but that allows insertion of non-pointer entries.
12523         Do not disallow an ENTRY value of NULL.
12524         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
12525         * lib/hash.h (hash_insert0): Declare.
12526
12527 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12528
12529         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
12530         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
12531         not present (i.e. with autoconf 2.59 and when using gettextize, not
12532         gnulib), require AC_GNU_SOURCE instead.
12533
12534 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
12535
12536         idpriv-drop: Fix tests.
12537         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
12538         not to the test-idpriv-droptemp program.
12539
12540 2010-06-29  Bruno Haible  <bruno@clisp.org>
12541
12542         string: Fix syntax error with g++ 2.96.
12543         * lib/string.in.h (__pure__): Remove definition.
12544         (_GL_ATTRIBUTE_PURE): New macro.
12545         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
12546         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
12547         Reported by Christian Weisgerber <naddy@mips.inka.de>.
12548
12549 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
12550
12551         unitypes: Fix bug introduced on 2010-05-18.
12552         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
12553
12554 2010-06-22  Eric Blake  <eblake@redhat.com>
12555
12556         memmem: slight optimization
12557         * lib/str-two-way.h (critical_factorization): Update comments.
12558         Reduce work during factorization phase.
12559         Reported by Carlos Bueno <carlos@bueno.org>.
12560
12561 2010-06-21  Bruno Haible  <bruno@clisp.org>
12562
12563         Fix HAVE_CALLOC_POSIX misnomer.
12564         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
12565         !HAVE_CALLOC_POSIX.
12566         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
12567         HAVE_CALLOC_POSIX.
12568         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
12569         instead of HAVE_CALLOC_POSIX.
12570         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
12571         HAVE_CALLOC_POSIX.
12572
12573         Use modern idiom for calloc() replacement.
12574         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
12575         AC_FUNC_CALLOC.
12576         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
12577         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
12578         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12579         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
12580         (gl_REPLACE_CALLOC): New macro.
12581
12582 2010-06-21  Bruno Haible  <bruno@clisp.org>
12583
12584         Fix HAVE_REALLOC_POSIX misnomer.
12585         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
12586         !HAVE_REALLOC_POSIX.
12587         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
12588         HAVE_REALLOC_POSIX.
12589         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
12590         instead of HAVE_REALLOC_POSIX.
12591         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
12592         HAVE_REALLOC_POSIX.
12593
12594         Use modern idiom for realloc() replacement.
12595         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
12596         AC_FUNC_REALLOC.
12597         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
12598         Autoconf's AC_FUNC_REALLOC.
12599         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12600         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
12601         (gl_REPLACE_REALLOC): New macro.
12602         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12603
12604 2010-06-21  Bruno Haible  <bruno@clisp.org>
12605
12606         Fix HAVE_MALLOC_POSIX misnomer.
12607         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
12608         !HAVE_MALLOC_POSIX.
12609         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
12610         HAVE_MALLOC_POSIX.
12611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
12612         instead of HAVE_MALLOC_POSIX.
12613         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
12614         HAVE_MALLOC_POSIX.
12615
12616         Use modern idiom for malloc() replacement.
12617         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
12618         AC_FUNC_MALLOC.
12619         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
12620         Autoconf's AC_FUNC_MALLOC.
12621         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12622         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
12623         (gl_REPLACE_MALLOC): New macro.
12624         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12625
12626 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
12627
12628         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
12629         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
12630         This macro takes 3 arguments, not 4.
12631
12632 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
12633
12634         ipv6: fix detection under mingw
12635         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
12636         in6_addr.
12637
12638 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
12639
12640         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
12641         that strtod() works when cross-compiling to a glibc version known
12642         to work.
12643
12644 2010-06-15  Bruno Haible  <bruno@clisp.org>
12645
12646         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
12647
12648 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
12649
12650         select: Correct timeout.
12651         * lib/select.c (rpl_select): Compute wait_timeout correctly.
12652
12653 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
12654
12655         git-version-gen: init shell var to avoid env var influence
12656         * build-aux/git-version-gen (v): Init shell var to empty.
12657
12658 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
12659
12660         priv-set: Don't assume that priv.h exists merely because getppriv does.
12661         See Jan Andersen's bug report about AIX 5L in
12662         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
12663         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
12664         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
12665         * lib/priv-set.h: Likewise.
12666         * tests/test-priv-set.c: Likewise.
12667
12668 2010-06-13  Bruno Haible  <bruno@clisp.org>
12669
12670         relocatable: Make it easier to test whether to install wrappers.
12671         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
12672         RELOCATABLE_VIA_WRAPPER.
12673
12674 2010-06-13  Bruno Haible  <bruno@clisp.org>
12675
12676         gnulib-tool: Display specified modules and dependencies differently.
12677         * gnulib-tool (func_show_module_list): New function.
12678         (func_import, func_create_testdir): Invoke it.
12679         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
12680
12681 2010-06-13  Bruno Haible  <bruno@clisp.org>
12682
12683         gnulib-tool: Align code of func_import and func_create_testdir.
12684         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
12685         specified_modules.
12686
12687 2010-06-12  Jim Meyering  <meyering@redhat.com>
12688
12689         test-inttostr: avoid spurious failure on Solaris 9
12690         * tests/test-inttostr.c (main): Skip the test when snprintf fails
12691         to accept "%ju".  Reported by Bruno Haible.
12692
12693 2010-06-11  Jim Meyering  <meyering@redhat.com>
12694
12695         test-sys_socket: mark variables as used more readably
12696         * tests/test-sys_socket.c (main): Mark otherwise unused variables
12697         as "used" explicitly via (void) statement casts.  This is more
12698         readable than using them in an artificial return expression.
12699         Suggestion from Bruno Haible.
12700
12701 2010-06-11  Bruno Haible  <bruno@clisp.org>
12702
12703         Avoid some more warnings from "gcc -Wwrite-strings".
12704         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
12705         to 'const char *'.
12706         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
12707         * tests/test-c-strcasestr.c (main): Likewise.
12708         * tests/test-mbscasestr1.c (main): Likewise.
12709         * tests/test-mbscasestr2.c (main): Likewise.
12710         * tests/test-memmem.c (main): Likewise.
12711         * tests/test-strstr.c (main): Likewise.
12712         * tests/test-strcasestr.c (main): Likewise.
12713
12714 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12715
12716         init.sh: change framework_failure_ to fail with status 99, not 1
12717         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
12718         automake's parallel-tests rule that this is an unexpected failure,
12719         even if the test is listed in XFAIL_TESTS.
12720
12721 2010-06-11  Jim Meyering  <meyering@redhat.com>
12722
12723         test-inttostr: avoid warnings about 4-6KB literal strings
12724         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
12725         Include "macros.h", for its definition of ASSERT.
12726         (CK): s/assert/ASSERT/
12727         * modules/inttostr-tests (Files): Add macros.h.
12728
12729         init.sh: don't use $ME_ or skip_ before they are defined
12730         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
12731         their first uses.  Also hoist their companions: warn_, fail_,
12732         framework_failure_, $stderr_fileno.  Prompted by a patch from
12733         Stefano Lattarini.
12734
12735         test-sys_socket: avoid set-but-not-used warnings from gcc
12736         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
12737         avoid warning about set-but-not-used variables.
12738
12739         test-xvasprintf: avoid 'const' discard warnings
12740         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
12741         "const" when assigning from literal strings.
12742         (test_xasprintf): Add "void" in function argument list to placate
12743         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
12744
12745         tests: avoid compilation warnings in argmatch and exclude tests...
12746         in packages that define ARGMATCH_DIE_DECL, like coreutils.
12747         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
12748         Since it always exits, declare with the "noreturn" attribute.
12749         * tests/test-argmatch.c: Likewise.
12750
12751         tests: avoid 'const' discard warnings in mbsstr tests
12752         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
12753         * tests/test-mbsstr2.c (main): Likewise.
12754
12755         test-verify: avoid warning from gcc's -Wmissing-declarations
12756         * tests/test-verify.c (function): Declare to be static.
12757
12758         test-inttostr.c: include <string.h> for use of strcmp
12759         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
12760
12761         test-linkat: avoid failed assertion on "other" architectures
12762         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
12763         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
12764         sparc: https://bugs.launchpad.net/bugs/591968
12765
12766 2010-06-11  Jim Meyering  <meyering@redhat.com>
12767
12768         printf.m4: avoid autoconf's "Expanded Before Required" warning
12769         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
12770         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
12771         autoconf warning.
12772
12773 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
12774
12775         Replacement header templates are now named with ".in", not "_".
12776         * doc/gnulib-intro.texi: Correct.
12777
12778 2010-06-10  Jim Meyering  <meyering@redhat.com>
12779
12780         inttostr-tests: depend on snprintf, not snprintf-posix
12781         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
12782         snprintf-posix, to avoid this aclocal failure:
12783           missing file gnulib-tests/vasnprintf.c
12784           configure.ac:45: error: expected source file, required through \
12785           AC_LIBSOURCES, not found
12786
12787 2010-06-10  Jim Meyering  <meyering@redhat.com>
12788
12789         inttostr: add a new function, inttostr, and tests
12790         The namesake function was not available.  The existence of the
12791         template file, inttostr.c makes its addition nontrivial.
12792         * lib/anytostr.c: Rename from inttostr.c.
12793         (anytostr): Rename from inttostr.
12794         * lib/inttostr.c: New file.
12795         * modules/inttostr (Files): Add anytostr.c.
12796         (Makefile.am): Set lib_SOURCES instead of ...
12797         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
12798         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
12799         * lib/offtostr.c: Likewise.
12800         * lib/uinttostr.c: Likewise.
12801         * lib/umaxtostr.c: Likewise.
12802         * modules/inttostr-tests: New file.
12803         * tests/test-inttostr.c: New file.  Test these functions.
12804
12805 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
12806             Bruno Haible  <bruno@clisp.org>
12807
12808         Add "Extending Gnulib" chapter to manual.
12809         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
12810         chapter.
12811         (Extending Gnulib): New chapter.
12812         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
12813         chapter.
12814
12815 2010-06-09  Bruno Haible  <bruno@clisp.org>
12816
12817         Avoid relocwrapper link errors due to gnulib replacement functions.
12818         * lib/areadlink.c: Use the system's malloc, realloc functions.
12819         (areadlink): Set errno to ENOMEM explicitly.
12820         * modules/areadlink (Depends-on): Remove malloc-posix.
12821         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12822
12823 2010-06-09  Bruno Haible  <bruno@clisp.org>
12824
12825         Avoid relocwrapper link errors due to gnulib replacement functions.
12826         * lib/canonicalize-lgpl.c: Use the system's malloc function.
12827         * lib/malloca.c: Likewise.
12828         * lib/relocatable.c: Likewise.
12829         * lib/progreloc.c: Use the system's malloc, sprintf functions.
12830         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
12831         * lib/setenv.c: Use the system's malloc, realloc functions.
12832         * lib/strerror.c: Use the system's sprintf function.
12833         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12834
12835 2010-06-04  Bruno Haible  <bruno@clisp.org>
12836
12837         Prefer documented low-level autoconf macro names.
12838         * m4/lib-link.m4: Use m4_translit instead of translit.
12839         * m4/environ.m4: Likewise.
12840         * m4/mathfunc.m4: Likewise.
12841         * m4/onceonly.m4: Likewise.
12842         * m4/stdint.m4: Likewise.
12843         Suggested by Eric Blake.
12844
12845 2010-06-04  Martin Lambers  <marlam@marlam.de>
12846             Bruno Haible  <bruno@clisp.org>
12847
12848         havelib: Allow library names with '+' characters.
12849         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
12850         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
12851
12852 2010-06-09  Bruno Haible  <bruno@clisp.org>
12853
12854         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
12855         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
12856         realloc failed.
12857
12858 2010-06-08  Peter Simons  <simons@cryp.to>
12859
12860         maint.mk: make the news-check rule more configurable
12861         * top/maint.mk (news-check-lines-spec): New variable.
12862         (news-check): Use "sed -n 1,10p" in place of "head".
12863
12864 2010-06-07  Jim Meyering  <meyering@redhat.com>
12865
12866         do-release-commit-and-tag: fix typo in --help
12867         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
12868
12869         regex: avoid new dead-code warning with gcc-4.6.0
12870         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
12871         if-block containing a while-loop.  It's been unused for at least
12872         5 years.
12873
12874 2010-06-05  Bruno Haible  <bruno@clisp.org>
12875
12876         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
12877         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
12878
12879 2010-06-04  Bruno Haible  <bruno@clisp.org>
12880
12881         Update to GNU gettext 0.18.1.
12882         * modules/gettext (configure.ac): Require gettext infrastructure from
12883         version 0.18.1.
12884
12885 2010-06-03  Bruno Haible  <bruno@clisp.org>
12886
12887         Don't use AC_LIBOBJ with file names in subdirectories.
12888         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
12889         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
12890         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
12891         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
12892         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
12893         gl_LIBUNISTRING_LIBSOURCE.
12894         (Makefile.am): Augment lib_SOURCES here, conditionally.
12895         * NEWS: Drop requirement for Automake option 'subdir-objects'.
12896
12897 2010-06-03  Bruno Haible  <bruno@clisp.org>
12898
12899         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
12900         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
12901         expansion does not end with a newline.
12902         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
12903         unnecessary newline.
12904
12905 2010-06-03  Bruno Haible  <bruno@clisp.org>
12906
12907         Reduce dependencies.
12908         * tests/test-quotearg.h: New file, extracted from
12909         tests/test-quotearg.c.
12910         * tests/test-quotearg-simple.c: New file, extracted from
12911         tests/test-quotearg.c.
12912         * tests/test-quotearg.c: Don't include <ctype.h>.
12913         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
12914         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
12915         use_quote_double_quotes, use_quotearg_colon): Moved to
12916         tests/test-quotearg.h.
12917         (results_g, flag_results, custom_quotes, custom_results): Moved
12918         to tests/test-quotearg-simple.c.
12919         (main): Moved the part that does not depend on gettext to
12920         tests/test-quotearg-simple.c. Return 77 if the test cannot be
12921         performed.
12922         * modules/quotearg-simple: New file.
12923         * modules/quotearg-simple-tests: New file.
12924         * modules/quotearg (Depends-on): Add quotearg-simple.
12925         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
12926         (Files): Add tests/test-quotearg.h.
12927         Reported by Paolo Bonzini.
12928
12929 2010-06-03  Bruno Haible  <bruno@clisp.org>
12930
12931         Reduce dependencies.
12932         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
12933
12934 2010-06-03  Bruno Haible  <bruno@clisp.org>
12935
12936         time: Undefine more broken macros.
12937         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
12938         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
12939         Reported by Eric Blake.
12940
12941 2010-06-03  Bruno Haible  <bruno@clisp.org>
12942
12943         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
12944         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
12945         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
12946         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
12947         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
12948         Reported by Ludovic Courtès <ludo@gnu.org>.
12949
12950 2010-06-02  Eric Blake  <eblake@redhat.com>
12951
12952         time: work with mingw + pthreads-win32 library
12953         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
12954         if timespec is defined only in pthread.h.
12955         * modules/time (Makefile.am): Substitute it.
12956         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
12957         <pthread.h>, when needed.
12958         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
12959         from the library.
12960
12961 2010-05-31  Bruno Haible  <bruno@clisp.org>
12962
12963         Avoid expanding two macros in the wrong order.
12964         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
12965         gl_LIBUNISTRING if it is defined.
12966         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
12967         autoconf >= 2.64.
12968         Reported by Ludovic Courtès <ludo@gnu.org>.
12969
12970 2010-05-27  Jim Meyering  <meyering@redhat.com>
12971
12972         maint.mk: also prohibit "#undef" of always-defined symbols
12973         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
12974         Allow more than one space before the symbol name.
12975         (sc_prohibit_always-defined_macros): Use grep's -E, now that
12976         the regexp uses alternation.
12977
12978 2010-05-26  Eric Blake  <eblake@redhat.com>
12979
12980         maint.mk: avoid echo -e
12981         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
12982         Convert all uses of echo -* to printf.
12983         Reported by Matthias Bolte.
12984
12985 2010-05-25  Bruno Haible  <bruno@clisp.org>
12986
12987         Update to GNU gettext 0.18, part 2.
12988         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
12989         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
12990
12991 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12992
12993         Add missing include in test-pwrite.c.
12994         * tests/test-pwrite.c: Include string.h, for strcmp.
12995
12996 2010-05-24  Bruno Haible  <bruno@clisp.org>
12997
12998         * NEWS: Mention requirement for Automake option 'subdir-objects'.
12999
13000 2010-05-24  Bruno Haible  <bruno@clisp.org>
13001
13002         Don't use conversion with transliteration in u{8,16,32}_strcoll.
13003         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
13004         iconveh_error argument.
13005         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
13006         U_STRCONV_TO_LOCALE.
13007         * lib/unistr/u16-strcoll.c: Likewise.
13008         * lib/unistr/u32-strcoll.c: Likewise.
13009         * modules/unistr/u8-strcoll (Depends-on): Add
13010         uniconv/u8-strconv-to-enc, localcharset. Remove
13011         uniconv/u8-strconv-to-locale.
13012         (configure.ac): Bump version number.
13013         * modules/unistr/u16-strcoll (Depends-on): Add
13014         uniconv/u16-strconv-to-enc, localcharset. Remove
13015         uniconv/u16-strconv-to-locale.
13016         (configure.ac): Bump version number.
13017         * modules/unistr/u32-strcoll (Depends-on): Add
13018         uniconv/u32-strconv-to-enc, localcharset. Remove
13019         uniconv/u32-strconv-to-locale.
13020         (configure.ac): Bump version number.
13021
13022 2010-05-24  Bruno Haible  <bruno@clisp.org>
13023
13024         Avoid a test failure on NetBSD 5.0.
13025         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
13026         an iconv() bug.
13027
13028 2010-05-24  Bruno Haible  <bruno@clisp.org>
13029
13030         Adjust #include directive style.
13031         * modules/regex (Includes): Recommend to write <regex.h>.
13032
13033 2010-05-24  Bruno Haible  <bruno@clisp.org>
13034
13035         regex: Don't require alloca.
13036         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
13037         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
13038         only inside if (0).
13039
13040 2010-05-23  Jim Meyering  <meyering@redhat.com>
13041
13042         test-renameat.c: include <sys/stat.h>
13043         * tests/test-renameat.c: Include <sys/stat.h>; required for
13044         definition of S_IS* macros.
13045
13046 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
13047
13048         Update maintainer documentation for 'relocatable-prog' module.
13049         * doc/relocatable-maint.texi: Update.
13050         Comments by Bruno Haible.
13051
13052 2010-05-23  Bruno Haible  <bruno@clisp.org>
13053
13054         git-merge-changelog: Enable --split-merged-entry by default.
13055         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
13056         (usage): Don't mention this option any more.
13057         Reported by Ralf Wildenhues.
13058
13059 2010-05-23  Jim Meyering  <meyering@redhat.com>
13060
13061         test-pwrite: do not leave behind a test file named "out"
13062         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
13063         The trivial-looking use of init.sh is really necessary.
13064         It ensures that the temporary file, "out", is created in
13065         a temporary directory, and removed upon termination.
13066         * tests/test-pwrite.sh: Re-add file.
13067         * modules/pwrite-tests: Reference it.
13068
13069 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13070
13071         Fix output redirection buglet in init.sh.
13072         * tests/init.sh: Fix redirection of stderr.
13073
13074 2010-05-20  Simon Josefsson  <simon@josefsson.org>
13075
13076         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
13077
13078 2010-05-17  Simon Josefsson  <simon@josefsson.org>
13079
13080         * modules/valgrind-tests: New file.
13081         * m4/valgrind-tests.m4: New file.
13082         * doc/valgrind-tests.texi: New file.
13083         * doc/gnulib.texi (Running self-tests under valgrind): New
13084         section.
13085
13086 2010-05-19  Bruno Haible  <bruno@clisp.org>
13087
13088         Clean up dead code in recent commit.
13089         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
13090         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
13091         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
13092         Suggested by Paolo Bonzini.
13093
13094 2010-05-19  Bruno Haible  <bruno@clisp.org>
13095
13096         Avoid valgrind error reports from libunistring.
13097         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
13098         * modules/libunistring (Files): Add it.
13099         * modules/libunistring-optional (Files): Likewise.
13100
13101 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
13102             Bruno Haible  <bruno@clisp.org>
13103
13104         New module 'libunistring-optional'.
13105         * modules/libunistring-optional: New file.
13106         * m4/libunistring-base.m4: New file.
13107         * m4/libunistring-optional.m4: New file.
13108         * lib/unicase.in.h: Renamed from lib/unicase.h.
13109         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
13110         * lib/unictype.in.h: Renamed from lib/unictype.h.
13111         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
13112         * lib/uniname.in.h: Renamed from lib/uniname.h.
13113         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
13114         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
13115         * lib/unistr.in.h: Renamed from lib/unistr.h.
13116         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
13117         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
13118         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
13119         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
13120         gl_LIBUNISTRING. If the library was found, determine the installed
13121         version and set LIBUNISTRING_VERSION.
13122         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
13123         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
13124         handle a configuration option --with-included-libunistring.
13125         * modules/libunistring (Files): Add m4/absolute-header.m4.
13126         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
13127         Add m4/libunistring-base.m4.
13128         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13129         (Makefile.am): Build unicase.h from unicase.in.h.
13130         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
13131         Add m4/libunistring-base.m4.
13132         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13133         (Makefile.am): Build uniconv.h from uniconv.in.h.
13134         * modules/unictype/base (Files): Use unictype.in.h instead of
13135         unictype.h. Add m4/libunistring-base.m4.
13136         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13137         (Makefile.am): Build unictype.h from unictype.in.h.
13138         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
13139         Add m4/libunistring-base.m4.
13140         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13141         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
13142         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
13143         Add m4/libunistring-base.m4.
13144         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13145         (Makefile.am): Build uniname.h from uniname.in.h.
13146         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
13147         Add m4/libunistring-base.m4.
13148         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13149         (Makefile.am): Build uninorm.h from uninorm.in.h.
13150         * modules/unistdio/base (Files): Use unistdio.in.h instead of
13151         unistdio.h. Add m4/libunistring-base.m4.
13152         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13153         (Makefile.am): Build unistdio.h from unistdio.in.h.
13154         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
13155         Add m4/libunistring-base.m4.
13156         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13157         (Makefile.am): Build unistr.h from unistr.in.h.
13158         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
13159         Add m4/libunistring-base.m4.
13160         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13161         (Makefile.am): Build unitypes.h from unitypes.in.h.
13162         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
13163         Add m4/libunistring-base.m4.
13164         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13165         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
13166         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
13167         uniwidth.h. Add m4/libunistring-base.m4.
13168         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13169         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
13170         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
13171         instead of augmenting lib_SOURCES.
13172         * modules/unicase/empty-suffix-context: Likewise.
13173         * modules/unicase/locale-language: Likewise.
13174         * modules/unicase/tolower: Likewise.
13175         * modules/unicase/totitle: Likewise.
13176         * modules/unicase/toupper: Likewise.
13177         * modules/unicase/u8-casecmp: Likewise.
13178         * modules/unicase/u8-casecoll: Likewise.
13179         * modules/unicase/u8-casefold: Likewise.
13180         * modules/unicase/u8-casexfrm: Likewise.
13181         * modules/unicase/u8-ct-casefold: Likewise.
13182         * modules/unicase/u8-ct-tolower: Likewise.
13183         * modules/unicase/u8-ct-totitle: Likewise.
13184         * modules/unicase/u8-ct-toupper: Likewise.
13185         * modules/unicase/u8-is-cased: Likewise.
13186         * modules/unicase/u8-is-casefolded: Likewise.
13187         * modules/unicase/u8-is-lowercase: Likewise.
13188         * modules/unicase/u8-is-titlecase: Likewise.
13189         * modules/unicase/u8-is-uppercase: Likewise.
13190         * modules/unicase/u8-prefix-context: Likewise.
13191         * modules/unicase/u8-suffix-context: Likewise.
13192         * modules/unicase/u8-tolower: Likewise.
13193         * modules/unicase/u8-totitle: Likewise.
13194         * modules/unicase/u8-toupper: Likewise.
13195         * modules/unicase/u16-casecmp: Likewise.
13196         * modules/unicase/u16-casecoll: Likewise.
13197         * modules/unicase/u16-casefold: Likewise.
13198         * modules/unicase/u16-casexfrm: Likewise.
13199         * modules/unicase/u16-ct-casefold: Likewise.
13200         * modules/unicase/u16-ct-tolower: Likewise.
13201         * modules/unicase/u16-ct-totitle: Likewise.
13202         * modules/unicase/u16-ct-toupper: Likewise.
13203         * modules/unicase/u16-is-cased: Likewise.
13204         * modules/unicase/u16-is-casefolded: Likewise.
13205         * modules/unicase/u16-is-lowercase: Likewise.
13206         * modules/unicase/u16-is-titlecase: Likewise.
13207         * modules/unicase/u16-is-uppercase: Likewise.
13208         * modules/unicase/u16-prefix-context: Likewise.
13209         * modules/unicase/u16-suffix-context: Likewise.
13210         * modules/unicase/u16-tolower: Likewise.
13211         * modules/unicase/u16-totitle: Likewise.
13212         * modules/unicase/u16-toupper: Likewise.
13213         * modules/unicase/u32-casecmp: Likewise.
13214         * modules/unicase/u32-casecoll: Likewise.
13215         * modules/unicase/u32-casefold: Likewise.
13216         * modules/unicase/u32-casexfrm: Likewise.
13217         * modules/unicase/u32-ct-casefold: Likewise.
13218         * modules/unicase/u32-ct-tolower: Likewise.
13219         * modules/unicase/u32-ct-totitle: Likewise.
13220         * modules/unicase/u32-ct-toupper: Likewise.
13221         * modules/unicase/u32-is-cased: Likewise.
13222         * modules/unicase/u32-is-casefolded: Likewise.
13223         * modules/unicase/u32-is-lowercase: Likewise.
13224         * modules/unicase/u32-is-titlecase: Likewise.
13225         * modules/unicase/u32-is-uppercase: Likewise.
13226         * modules/unicase/u32-prefix-context: Likewise.
13227         * modules/unicase/u32-suffix-context: Likewise.
13228         * modules/unicase/u32-tolower: Likewise.
13229         * modules/unicase/u32-totitle: Likewise.
13230         * modules/unicase/u32-toupper: Likewise.
13231         * modules/unicase/ulc-casecmp: Likewise.
13232         * modules/unicase/ulc-casecoll: Likewise.
13233         * modules/unicase/ulc-casexfrm: Likewise.
13234         * modules/uniconv/u8-conv-from-enc: Likewise.
13235         * modules/uniconv/u8-conv-to-enc: Likewise.
13236         * modules/uniconv/u8-strconv-from-enc: Likewise.
13237         * modules/uniconv/u8-strconv-from-locale: Likewise.
13238         * modules/uniconv/u8-strconv-to-enc: Likewise.
13239         * modules/uniconv/u8-strconv-to-locale: Likewise.
13240         * modules/uniconv/u16-conv-from-enc: Likewise.
13241         * modules/uniconv/u16-conv-to-enc: Likewise.
13242         * modules/uniconv/u16-strconv-from-enc: Likewise.
13243         * modules/uniconv/u16-strconv-from-locale: Likewise.
13244         * modules/uniconv/u16-strconv-to-enc: Likewise.
13245         * modules/uniconv/u16-strconv-to-locale: Likewise.
13246         * modules/uniconv/u32-conv-from-enc: Likewise.
13247         * modules/uniconv/u32-conv-to-enc: Likewise.
13248         * modules/uniconv/u32-strconv-from-enc: Likewise.
13249         * modules/uniconv/u32-strconv-from-locale: Likewise.
13250         * modules/uniconv/u32-strconv-to-enc: Likewise.
13251         * modules/uniconv/u32-strconv-to-locale: Likewise.
13252         * modules/unictype/bidicategory-byname: Likewise.
13253         * modules/unictype/bidicategory-name: Likewise.
13254         * modules/unictype/bidicategory-of: Likewise.
13255         * modules/unictype/bidicategory-test: Likewise.
13256         * modules/unictype/block-list: Likewise.
13257         * modules/unictype/block-test: Likewise.
13258         * modules/unictype/category-C: Likewise.
13259         * modules/unictype/category-Cc: Likewise.
13260         * modules/unictype/category-Cf: Likewise.
13261         * modules/unictype/category-Cn: Likewise.
13262         * modules/unictype/category-Co: Likewise.
13263         * modules/unictype/category-Cs: Likewise.
13264         * modules/unictype/category-L: Likewise.
13265         * modules/unictype/category-Ll: Likewise.
13266         * modules/unictype/category-Lm: Likewise.
13267         * modules/unictype/category-Lo: Likewise.
13268         * modules/unictype/category-Lt: Likewise.
13269         * modules/unictype/category-Lu: Likewise.
13270         * modules/unictype/category-M: Likewise.
13271         * modules/unictype/category-Mc: Likewise.
13272         * modules/unictype/category-Me: Likewise.
13273         * modules/unictype/category-Mn: Likewise.
13274         * modules/unictype/category-N: Likewise.
13275         * modules/unictype/category-Nd: Likewise.
13276         * modules/unictype/category-Nl: Likewise.
13277         * modules/unictype/category-No: Likewise.
13278         * modules/unictype/category-P: Likewise.
13279         * modules/unictype/category-Pc: Likewise.
13280         * modules/unictype/category-Pd: Likewise.
13281         * modules/unictype/category-Pe: Likewise.
13282         * modules/unictype/category-Pf: Likewise.
13283         * modules/unictype/category-Pi: Likewise.
13284         * modules/unictype/category-Po: Likewise.
13285         * modules/unictype/category-Ps: Likewise.
13286         * modules/unictype/category-S: Likewise.
13287         * modules/unictype/category-Sc: Likewise.
13288         * modules/unictype/category-Sk: Likewise.
13289         * modules/unictype/category-Sm: Likewise.
13290         * modules/unictype/category-So: Likewise.
13291         * modules/unictype/category-Z: Likewise.
13292         * modules/unictype/category-Zl: Likewise.
13293         * modules/unictype/category-Zp: Likewise.
13294         * modules/unictype/category-Zs: Likewise.
13295         * modules/unictype/category-and: Likewise.
13296         * modules/unictype/category-and-not: Likewise.
13297         * modules/unictype/category-byname: Likewise.
13298         * modules/unictype/category-name: Likewise.
13299         * modules/unictype/category-none: Likewise.
13300         * modules/unictype/category-of: Likewise.
13301         * modules/unictype/category-or: Likewise.
13302         * modules/unictype/category-test: Likewise.
13303         * modules/unictype/combining-class: Likewise.
13304         * modules/unictype/ctype-alnum: Likewise.
13305         * modules/unictype/ctype-alpha: Likewise.
13306         * modules/unictype/ctype-blank: Likewise.
13307         * modules/unictype/ctype-cntrl: Likewise.
13308         * modules/unictype/ctype-digit: Likewise.
13309         * modules/unictype/ctype-graph: Likewise.
13310         * modules/unictype/ctype-lower: Likewise.
13311         * modules/unictype/ctype-print: Likewise.
13312         * modules/unictype/ctype-punct: Likewise.
13313         * modules/unictype/ctype-space: Likewise.
13314         * modules/unictype/ctype-upper: Likewise.
13315         * modules/unictype/ctype-xdigit: Likewise.
13316         * modules/unictype/decimal-digit: Likewise.
13317         * modules/unictype/digit: Likewise.
13318         * modules/unictype/mirror: Likewise.
13319         * modules/unictype/numeric: Likewise.
13320         * modules/unictype/property-alphabetic: Likewise.
13321         * modules/unictype/property-ascii-hex-digit: Likewise.
13322         * modules/unictype/property-bidi-arabic-digit: Likewise.
13323         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
13324         * modules/unictype/property-bidi-block-separator: Likewise.
13325         * modules/unictype/property-bidi-boundary-neutral: Likewise.
13326         * modules/unictype/property-bidi-common-separator: Likewise.
13327         * modules/unictype/property-bidi-control: Likewise.
13328         * modules/unictype/property-bidi-embedding-or-override: Likewise.
13329         * modules/unictype/property-bidi-eur-num-separator: Likewise.
13330         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
13331         * modules/unictype/property-bidi-european-digit: Likewise.
13332         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
13333         * modules/unictype/property-bidi-left-to-right: Likewise.
13334         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
13335         * modules/unictype/property-bidi-other-neutral: Likewise.
13336         * modules/unictype/property-bidi-pdf: Likewise.
13337         * modules/unictype/property-bidi-segment-separator: Likewise.
13338         * modules/unictype/property-bidi-whitespace: Likewise.
13339         * modules/unictype/property-byname: Likewise.
13340         * modules/unictype/property-combining: Likewise.
13341         * modules/unictype/property-composite: Likewise.
13342         * modules/unictype/property-currency-symbol: Likewise.
13343         * modules/unictype/property-dash: Likewise.
13344         * modules/unictype/property-decimal-digit: Likewise.
13345         * modules/unictype/property-default-ignorable-code-point: Likewise.
13346         * modules/unictype/property-deprecated: Likewise.
13347         * modules/unictype/property-diacritic: Likewise.
13348         * modules/unictype/property-extender: Likewise.
13349         * modules/unictype/property-format-control: Likewise.
13350         * modules/unictype/property-grapheme-base: Likewise.
13351         * modules/unictype/property-grapheme-extend: Likewise.
13352         * modules/unictype/property-grapheme-link: Likewise.
13353         * modules/unictype/property-hex-digit: Likewise.
13354         * modules/unictype/property-hyphen: Likewise.
13355         * modules/unictype/property-id-continue: Likewise.
13356         * modules/unictype/property-id-start: Likewise.
13357         * modules/unictype/property-ideographic: Likewise.
13358         * modules/unictype/property-ids-binary-operator: Likewise.
13359         * modules/unictype/property-ids-trinary-operator: Likewise.
13360         * modules/unictype/property-ignorable-control: Likewise.
13361         * modules/unictype/property-iso-control: Likewise.
13362         * modules/unictype/property-join-control: Likewise.
13363         * modules/unictype/property-left-of-pair: Likewise.
13364         * modules/unictype/property-line-separator: Likewise.
13365         * modules/unictype/property-logical-order-exception: Likewise.
13366         * modules/unictype/property-lowercase: Likewise.
13367         * modules/unictype/property-math: Likewise.
13368         * modules/unictype/property-non-break: Likewise.
13369         * modules/unictype/property-not-a-character: Likewise.
13370         * modules/unictype/property-numeric: Likewise.
13371         * modules/unictype/property-other-alphabetic: Likewise.
13372         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
13373         * modules/unictype/property-other-grapheme-extend: Likewise.
13374         * modules/unictype/property-other-id-continue: Likewise.
13375         * modules/unictype/property-other-id-start: Likewise.
13376         * modules/unictype/property-other-lowercase: Likewise.
13377         * modules/unictype/property-other-math: Likewise.
13378         * modules/unictype/property-other-uppercase: Likewise.
13379         * modules/unictype/property-paired-punctuation: Likewise.
13380         * modules/unictype/property-paragraph-separator: Likewise.
13381         * modules/unictype/property-pattern-syntax: Likewise.
13382         * modules/unictype/property-pattern-white-space: Likewise.
13383         * modules/unictype/property-private-use: Likewise.
13384         * modules/unictype/property-punctuation: Likewise.
13385         * modules/unictype/property-quotation-mark: Likewise.
13386         * modules/unictype/property-radical: Likewise.
13387         * modules/unictype/property-sentence-terminal: Likewise.
13388         * modules/unictype/property-soft-dotted: Likewise.
13389         * modules/unictype/property-space: Likewise.
13390         * modules/unictype/property-terminal-punctuation: Likewise.
13391         * modules/unictype/property-test: Likewise.
13392         * modules/unictype/property-titlecase: Likewise.
13393         * modules/unictype/property-unassigned-code-value: Likewise.
13394         * modules/unictype/property-unified-ideograph: Likewise.
13395         * modules/unictype/property-uppercase: Likewise.
13396         * modules/unictype/property-variation-selector: Likewise.
13397         * modules/unictype/property-white-space: Likewise.
13398         * modules/unictype/property-xid-continue: Likewise.
13399         * modules/unictype/property-xid-start: Likewise.
13400         * modules/unictype/property-zero-width: Likewise.
13401         * modules/unictype/scripts: Likewise.
13402         * modules/unictype/syntax-c-ident: Likewise.
13403         * modules/unictype/syntax-c-whitespace: Likewise.
13404         * modules/unictype/syntax-java-ident: Likewise.
13405         * modules/unictype/syntax-java-whitespace: Likewise.
13406         * modules/unilbrk/u8-possible-linebreaks: Likewise.
13407         * modules/unilbrk/u8-width-linebreaks: Likewise.
13408         * modules/unilbrk/u16-possible-linebreaks: Likewise.
13409         * modules/unilbrk/u16-width-linebreaks: Likewise.
13410         * modules/unilbrk/u32-possible-linebreaks: Likewise.
13411         * modules/unilbrk/u32-width-linebreaks: Likewise.
13412         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
13413         * modules/unilbrk/ulc-width-linebreaks: Likewise.
13414         * modules/uniname/uniname: Likewise.
13415         * modules/uninorm/canonical-decomposition: Likewise.
13416         * modules/uninorm/composition: Likewise.
13417         * modules/uninorm/decomposing-form: Likewise.
13418         * modules/uninorm/decomposition: Likewise.
13419         * modules/uninorm/filter: Likewise.
13420         * modules/uninorm/nfc: Likewise.
13421         * modules/uninorm/nfd: Likewise.
13422         * modules/uninorm/nfkc: Likewise.
13423         * modules/uninorm/nfkd: Likewise.
13424         * modules/uninorm/u8-normalize: Likewise.
13425         * modules/uninorm/u8-normcmp: Likewise.
13426         * modules/uninorm/u8-normcoll: Likewise.
13427         * modules/uninorm/u8-normxfrm: Likewise.
13428         * modules/uninorm/u16-normalize: Likewise.
13429         * modules/uninorm/u16-normcmp: Likewise.
13430         * modules/uninorm/u16-normcoll: Likewise.
13431         * modules/uninorm/u16-normxfrm: Likewise.
13432         * modules/uninorm/u32-normalize: Likewise.
13433         * modules/uninorm/u32-normcmp: Likewise.
13434         * modules/uninorm/u32-normcoll: Likewise.
13435         * modules/uninorm/u32-normxfrm: Likewise.
13436         * modules/unistdio/u8-asnprintf: Likewise.
13437         * modules/unistdio/u8-asprintf: Likewise.
13438         * modules/unistdio/u8-snprintf: Likewise.
13439         * modules/unistdio/u8-sprintf: Likewise.
13440         * modules/unistdio/u8-u8-asnprintf: Likewise.
13441         * modules/unistdio/u8-u8-asprintf: Likewise.
13442         * modules/unistdio/u8-u8-snprintf: Likewise.
13443         * modules/unistdio/u8-u8-sprintf: Likewise.
13444         * modules/unistdio/u8-u8-vasnprintf: Likewise.
13445         * modules/unistdio/u8-u8-vasprintf: Likewise.
13446         * modules/unistdio/u8-u8-vsnprintf: Likewise.
13447         * modules/unistdio/u8-u8-vsprintf: Likewise.
13448         * modules/unistdio/u8-vasnprintf: Likewise.
13449         * modules/unistdio/u8-vasprintf: Likewise.
13450         * modules/unistdio/u8-vsnprintf: Likewise.
13451         * modules/unistdio/u8-vsprintf: Likewise.
13452         * modules/unistdio/u16-asnprintf: Likewise.
13453         * modules/unistdio/u16-asprintf: Likewise.
13454         * modules/unistdio/u16-snprintf: Likewise.
13455         * modules/unistdio/u16-sprintf: Likewise.
13456         * modules/unistdio/u16-u16-asnprintf: Likewise.
13457         * modules/unistdio/u16-u16-asprintf: Likewise.
13458         * modules/unistdio/u16-u16-snprintf: Likewise.
13459         * modules/unistdio/u16-u16-sprintf: Likewise.
13460         * modules/unistdio/u16-u16-vasnprintf: Likewise.
13461         * modules/unistdio/u16-u16-vasprintf: Likewise.
13462         * modules/unistdio/u16-u16-vsnprintf: Likewise.
13463         * modules/unistdio/u16-u16-vsprintf: Likewise.
13464         * modules/unistdio/u16-vasnprintf: Likewise.
13465         * modules/unistdio/u16-vasprintf: Likewise.
13466         * modules/unistdio/u16-vsnprintf: Likewise.
13467         * modules/unistdio/u16-vsprintf: Likewise.
13468         * modules/unistdio/u32-asnprintf: Likewise.
13469         * modules/unistdio/u32-asprintf: Likewise.
13470         * modules/unistdio/u32-snprintf: Likewise.
13471         * modules/unistdio/u32-sprintf: Likewise.
13472         * modules/unistdio/u32-u32-asnprintf: Likewise.
13473         * modules/unistdio/u32-u32-asprintf: Likewise.
13474         * modules/unistdio/u32-u32-snprintf: Likewise.
13475         * modules/unistdio/u32-u32-sprintf: Likewise.
13476         * modules/unistdio/u32-u32-vasnprintf: Likewise.
13477         * modules/unistdio/u32-u32-vasprintf: Likewise.
13478         * modules/unistdio/u32-u32-vsnprintf: Likewise.
13479         * modules/unistdio/u32-u32-vsprintf: Likewise.
13480         * modules/unistdio/u32-vasnprintf: Likewise.
13481         * modules/unistdio/u32-vasprintf: Likewise.
13482         * modules/unistdio/u32-vsnprintf: Likewise.
13483         * modules/unistdio/u32-vsprintf: Likewise.
13484         * modules/unistdio/ulc-asnprintf: Likewise.
13485         * modules/unistdio/ulc-asprintf: Likewise.
13486         * modules/unistdio/ulc-fprintf: Likewise.
13487         * modules/unistdio/ulc-snprintf: Likewise.
13488         * modules/unistdio/ulc-sprintf: Likewise.
13489         * modules/unistdio/ulc-vasnprintf: Likewise.
13490         * modules/unistdio/ulc-vasprintf: Likewise.
13491         * modules/unistdio/ulc-vfprintf: Likewise.
13492         * modules/unistdio/ulc-vsnprintf: Likewise.
13493         * modules/unistdio/ulc-vsprintf: Likewise.
13494         * modules/unistr/u8-check: Likewise.
13495         * modules/unistr/u8-chr: Likewise.
13496         * modules/unistr/u8-cmp: Likewise.
13497         * modules/unistr/u8-cmp2: Likewise.
13498         * modules/unistr/u8-cpy: Likewise.
13499         * modules/unistr/u8-cpy-alloc: Likewise.
13500         * modules/unistr/u8-endswith: Likewise.
13501         * modules/unistr/u8-mblen: Likewise.
13502         * modules/unistr/u8-mbsnlen: Likewise.
13503         * modules/unistr/u8-mbtouc: Likewise.
13504         * modules/unistr/u8-mbtouc-unsafe: Likewise.
13505         * modules/unistr/u8-mbtoucr: Likewise.
13506         * modules/unistr/u8-move: Likewise.
13507         * modules/unistr/u8-next: Likewise.
13508         * modules/unistr/u8-prev: Likewise.
13509         * modules/unistr/u8-set: Likewise.
13510         * modules/unistr/u8-startswith: Likewise.
13511         * modules/unistr/u8-stpcpy: Likewise.
13512         * modules/unistr/u8-stpncpy: Likewise.
13513         * modules/unistr/u8-strcat: Likewise.
13514         * modules/unistr/u8-strchr: Likewise.
13515         * modules/unistr/u8-strcmp: Likewise.
13516         * modules/unistr/u8-strcoll: Likewise.
13517         * modules/unistr/u8-strcpy: Likewise.
13518         * modules/unistr/u8-strcspn: Likewise.
13519         * modules/unistr/u8-strdup: Likewise.
13520         * modules/unistr/u8-strlen: Likewise.
13521         * modules/unistr/u8-strmblen: Likewise.
13522         * modules/unistr/u8-strmbtouc: Likewise.
13523         * modules/unistr/u8-strncat: Likewise.
13524         * modules/unistr/u8-strncmp: Likewise.
13525         * modules/unistr/u8-strncpy: Likewise.
13526         * modules/unistr/u8-strnlen: Likewise.
13527         * modules/unistr/u8-strpbrk: Likewise.
13528         * modules/unistr/u8-strrchr: Likewise.
13529         * modules/unistr/u8-strspn: Likewise.
13530         * modules/unistr/u8-strstr: Likewise.
13531         * modules/unistr/u8-strtok: Likewise.
13532         * modules/unistr/u8-to-u16: Likewise.
13533         * modules/unistr/u8-to-u32: Likewise.
13534         * modules/unistr/u8-uctomb: Likewise.
13535         * modules/unistr/u16-check: Likewise.
13536         * modules/unistr/u16-chr: Likewise.
13537         * modules/unistr/u16-cmp: Likewise.
13538         * modules/unistr/u16-cmp2: Likewise.
13539         * modules/unistr/u16-cpy: Likewise.
13540         * modules/unistr/u16-cpy-alloc: Likewise.
13541         * modules/unistr/u16-endswith: Likewise.
13542         * modules/unistr/u16-mblen: Likewise.
13543         * modules/unistr/u16-mbsnlen: Likewise.
13544         * modules/unistr/u16-mbtouc: Likewise.
13545         * modules/unistr/u16-mbtouc-unsafe: Likewise.
13546         * modules/unistr/u16-mbtoucr: Likewise.
13547         * modules/unistr/u16-move: Likewise.
13548         * modules/unistr/u16-next: Likewise.
13549         * modules/unistr/u16-prev: Likewise.
13550         * modules/unistr/u16-set: Likewise.
13551         * modules/unistr/u16-startswith: Likewise.
13552         * modules/unistr/u16-stpcpy: Likewise.
13553         * modules/unistr/u16-stpncpy: Likewise.
13554         * modules/unistr/u16-strcat: Likewise.
13555         * modules/unistr/u16-strchr: Likewise.
13556         * modules/unistr/u16-strcmp: Likewise.
13557         * modules/unistr/u16-strcoll: Likewise.
13558         * modules/unistr/u16-strcpy: Likewise.
13559         * modules/unistr/u16-strcspn: Likewise.
13560         * modules/unistr/u16-strdup: Likewise.
13561         * modules/unistr/u16-strlen: Likewise.
13562         * modules/unistr/u16-strmblen: Likewise.
13563         * modules/unistr/u16-strmbtouc: Likewise.
13564         * modules/unistr/u16-strncat: Likewise.
13565         * modules/unistr/u16-strncmp: Likewise.
13566         * modules/unistr/u16-strncpy: Likewise.
13567         * modules/unistr/u16-strnlen: Likewise.
13568         * modules/unistr/u16-strpbrk: Likewise.
13569         * modules/unistr/u16-strrchr: Likewise.
13570         * modules/unistr/u16-strspn: Likewise.
13571         * modules/unistr/u16-strstr: Likewise.
13572         * modules/unistr/u16-strtok: Likewise.
13573         * modules/unistr/u16-to-u32: Likewise.
13574         * modules/unistr/u16-to-u8: Likewise.
13575         * modules/unistr/u16-uctomb: Likewise.
13576         * modules/unistr/u32-check: Likewise.
13577         * modules/unistr/u32-chr: Likewise.
13578         * modules/unistr/u32-cmp: Likewise.
13579         * modules/unistr/u32-cmp2: Likewise.
13580         * modules/unistr/u32-cpy: Likewise.
13581         * modules/unistr/u32-cpy-alloc: Likewise.
13582         * modules/unistr/u32-endswith: Likewise.
13583         * modules/unistr/u32-mblen: Likewise.
13584         * modules/unistr/u32-mbsnlen: Likewise.
13585         * modules/unistr/u32-mbtouc: Likewise.
13586         * modules/unistr/u32-mbtouc-unsafe: Likewise.
13587         * modules/unistr/u32-mbtoucr: Likewise.
13588         * modules/unistr/u32-move: Likewise.
13589         * modules/unistr/u32-next: Likewise.
13590         * modules/unistr/u32-prev: Likewise.
13591         * modules/unistr/u32-set: Likewise.
13592         * modules/unistr/u32-startswith: Likewise.
13593         * modules/unistr/u32-stpcpy: Likewise.
13594         * modules/unistr/u32-stpncpy: Likewise.
13595         * modules/unistr/u32-strcat: Likewise.
13596         * modules/unistr/u32-strchr: Likewise.
13597         * modules/unistr/u32-strcmp: Likewise.
13598         * modules/unistr/u32-strcoll: Likewise.
13599         * modules/unistr/u32-strcpy: Likewise.
13600         * modules/unistr/u32-strcspn: Likewise.
13601         * modules/unistr/u32-strdup: Likewise.
13602         * modules/unistr/u32-strlen: Likewise.
13603         * modules/unistr/u32-strmblen: Likewise.
13604         * modules/unistr/u32-strmbtouc: Likewise.
13605         * modules/unistr/u32-strncat: Likewise.
13606         * modules/unistr/u32-strncmp: Likewise.
13607         * modules/unistr/u32-strncpy: Likewise.
13608         * modules/unistr/u32-strnlen: Likewise.
13609         * modules/unistr/u32-strpbrk: Likewise.
13610         * modules/unistr/u32-strrchr: Likewise.
13611         * modules/unistr/u32-strspn: Likewise.
13612         * modules/unistr/u32-strstr: Likewise.
13613         * modules/unistr/u32-strtok: Likewise.
13614         * modules/unistr/u32-to-u16: Likewise.
13615         * modules/unistr/u32-to-u8: Likewise.
13616         * modules/unistr/u32-uctomb: Likewise.
13617         * modules/uniwbrk/u8-wordbreaks: Likewise.
13618         * modules/uniwbrk/u16-wordbreaks: Likewise.
13619         * modules/uniwbrk/u32-wordbreaks: Likewise.
13620         * modules/uniwbrk/ulc-wordbreaks: Likewise.
13621         * modules/uniwbrk/wordbreak-property: Likewise.
13622         * modules/uniwidth/u8-strwidth: Likewise.
13623         * modules/uniwidth/u8-width: Likewise.
13624         * modules/uniwidth/u16-strwidth: Likewise.
13625         * modules/uniwidth/u16-width: Likewise.
13626         * modules/uniwidth/u32-strwidth: Likewise.
13627         * modules/uniwidth/u32-width: Likewise.
13628         * modules/uniwidth/width: Likewise.
13629         * modules/unicase/cased-tests (Makefile.am): Link all test programs
13630         with $(LIBUNISTRING).
13631         * modules/unicase/ignorable-tests: Likewise.
13632         * modules/unicase/locale-language-tests: Likewise.
13633         * modules/unicase/tolower-tests: Likewise.
13634         * modules/unicase/totitle-tests: Likewise.
13635         * modules/unicase/toupper-tests: Likewise.
13636         * modules/unicase/u8-casecmp-tests: Likewise.
13637         * modules/unicase/u8-casecoll-tests: Likewise.
13638         * modules/unicase/u8-casefold-tests: Likewise.
13639         * modules/unicase/u8-is-cased-tests: Likewise.
13640         * modules/unicase/u8-is-casefolded-tests: Likewise.
13641         * modules/unicase/u8-is-lowercase-tests: Likewise.
13642         * modules/unicase/u8-is-titlecase-tests: Likewise.
13643         * modules/unicase/u8-is-uppercase-tests: Likewise.
13644         * modules/unicase/u8-tolower-tests: Likewise.
13645         * modules/unicase/u8-totitle-tests: Likewise.
13646         * modules/unicase/u8-toupper-tests: Likewise.
13647         * modules/unicase/u16-casecmp-tests: Likewise.
13648         * modules/unicase/u16-casecoll-tests: Likewise.
13649         * modules/unicase/u16-casefold-tests: Likewise.
13650         * modules/unicase/u16-is-cased-tests: Likewise.
13651         * modules/unicase/u16-is-casefolded-tests: Likewise.
13652         * modules/unicase/u16-is-lowercase-tests: Likewise.
13653         * modules/unicase/u16-is-titlecase-tests: Likewise.
13654         * modules/unicase/u16-is-uppercase-tests: Likewise.
13655         * modules/unicase/u16-tolower-tests: Likewise.
13656         * modules/unicase/u16-totitle-tests: Likewise.
13657         * modules/unicase/u16-toupper-tests: Likewise.
13658         * modules/unicase/u32-casecmp-tests: Likewise.
13659         * modules/unicase/u32-casecoll-tests: Likewise.
13660         * modules/unicase/u32-casefold-tests: Likewise.
13661         * modules/unicase/u32-is-cased-tests: Likewise.
13662         * modules/unicase/u32-is-casefolded-tests: Likewise.
13663         * modules/unicase/u32-is-lowercase-tests: Likewise.
13664         * modules/unicase/u32-is-titlecase-tests: Likewise.
13665         * modules/unicase/u32-is-uppercase-tests: Likewise.
13666         * modules/unicase/u32-tolower-tests: Likewise.
13667         * modules/unicase/u32-totitle-tests: Likewise.
13668         * modules/unicase/u32-toupper-tests: Likewise.
13669         * modules/unicase/ulc-casecmp-tests: Likewise.
13670         * modules/unicase/ulc-casecoll-tests: Likewise.
13671         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
13672         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
13673         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
13674         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
13675         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
13676         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
13677         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
13678         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
13679         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
13680         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
13681         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
13682         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
13683         * modules/unictype/bidicategory-byname-tests: Likewise.
13684         * modules/unictype/bidicategory-name-tests: Likewise.
13685         * modules/unictype/bidicategory-of-tests: Likewise.
13686         * modules/unictype/bidicategory-test-tests: Likewise.
13687         * modules/unictype/block-list-tests: Likewise.
13688         * modules/unictype/block-of-tests: Likewise.
13689         * modules/unictype/block-test-tests: Likewise.
13690         * modules/unictype/category-C-tests: Likewise.
13691         * modules/unictype/category-Cc-tests: Likewise.
13692         * modules/unictype/category-Cf-tests: Likewise.
13693         * modules/unictype/category-Cn-tests: Likewise.
13694         * modules/unictype/category-Co-tests: Likewise.
13695         * modules/unictype/category-Cs-tests: Likewise.
13696         * modules/unictype/category-L-tests: Likewise.
13697         * modules/unictype/category-Ll-tests: Likewise.
13698         * modules/unictype/category-Lm-tests: Likewise.
13699         * modules/unictype/category-Lo-tests: Likewise.
13700         * modules/unictype/category-Lt-tests: Likewise.
13701         * modules/unictype/category-Lu-tests: Likewise.
13702         * modules/unictype/category-M-tests: Likewise.
13703         * modules/unictype/category-Mc-tests: Likewise.
13704         * modules/unictype/category-Me-tests: Likewise.
13705         * modules/unictype/category-Mn-tests: Likewise.
13706         * modules/unictype/category-N-tests: Likewise.
13707         * modules/unictype/category-Nd-tests: Likewise.
13708         * modules/unictype/category-Nl-tests: Likewise.
13709         * modules/unictype/category-No-tests: Likewise.
13710         * modules/unictype/category-P-tests: Likewise.
13711         * modules/unictype/category-Pc-tests: Likewise.
13712         * modules/unictype/category-Pd-tests: Likewise.
13713         * modules/unictype/category-Pe-tests: Likewise.
13714         * modules/unictype/category-Pf-tests: Likewise.
13715         * modules/unictype/category-Pi-tests: Likewise.
13716         * modules/unictype/category-Po-tests: Likewise.
13717         * modules/unictype/category-Ps-tests: Likewise.
13718         * modules/unictype/category-S-tests: Likewise.
13719         * modules/unictype/category-Sc-tests: Likewise.
13720         * modules/unictype/category-Sk-tests: Likewise.
13721         * modules/unictype/category-Sm-tests: Likewise.
13722         * modules/unictype/category-So-tests: Likewise.
13723         * modules/unictype/category-Z-tests: Likewise.
13724         * modules/unictype/category-Zl-tests: Likewise.
13725         * modules/unictype/category-Zp-tests: Likewise.
13726         * modules/unictype/category-Zs-tests: Likewise.
13727         * modules/unictype/category-and-not-tests: Likewise.
13728         * modules/unictype/category-and-tests: Likewise.
13729         * modules/unictype/category-byname-tests: Likewise.
13730         * modules/unictype/category-name-tests: Likewise.
13731         * modules/unictype/category-none-tests: Likewise.
13732         * modules/unictype/category-of-tests: Likewise.
13733         * modules/unictype/category-or-tests: Likewise.
13734         * modules/unictype/category-test-withtable-tests: Likewise.
13735         * modules/unictype/combining-class-tests: Likewise.
13736         * modules/unictype/ctype-alnum-tests: Likewise.
13737         * modules/unictype/ctype-alpha-tests: Likewise.
13738         * modules/unictype/ctype-blank-tests: Likewise.
13739         * modules/unictype/ctype-cntrl-tests: Likewise.
13740         * modules/unictype/ctype-digit-tests: Likewise.
13741         * modules/unictype/ctype-graph-tests: Likewise.
13742         * modules/unictype/ctype-lower-tests: Likewise.
13743         * modules/unictype/ctype-print-tests: Likewise.
13744         * modules/unictype/ctype-punct-tests: Likewise.
13745         * modules/unictype/ctype-space-tests: Likewise.
13746         * modules/unictype/ctype-upper-tests: Likewise.
13747         * modules/unictype/ctype-xdigit-tests: Likewise.
13748         * modules/unictype/decimal-digit-tests: Likewise.
13749         * modules/unictype/digit-tests: Likewise.
13750         * modules/unictype/mirror-tests: Likewise.
13751         * modules/unictype/numeric-tests: Likewise.
13752         * modules/unictype/property-alphabetic-tests: Likewise.
13753         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
13754         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
13755         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
13756         * modules/unictype/property-bidi-block-separator-tests: Likewise.
13757         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
13758         * modules/unictype/property-bidi-common-separator-tests: Likewise.
13759         * modules/unictype/property-bidi-control-tests: Likewise.
13760         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
13761         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
13762         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
13763         * modules/unictype/property-bidi-european-digit-tests: Likewise.
13764         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
13765         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
13766         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
13767         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
13768         * modules/unictype/property-bidi-pdf-tests: Likewise.
13769         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
13770         * modules/unictype/property-bidi-whitespace-tests: Likewise.
13771         * modules/unictype/property-byname-tests: Likewise.
13772         * modules/unictype/property-combining-tests: Likewise.
13773         * modules/unictype/property-composite-tests: Likewise.
13774         * modules/unictype/property-currency-symbol-tests: Likewise.
13775         * modules/unictype/property-dash-tests: Likewise.
13776         * modules/unictype/property-decimal-digit-tests: Likewise.
13777         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
13778         * modules/unictype/property-deprecated-tests: Likewise.
13779         * modules/unictype/property-diacritic-tests: Likewise.
13780         * modules/unictype/property-extender-tests: Likewise.
13781         * modules/unictype/property-format-control-tests: Likewise.
13782         * modules/unictype/property-grapheme-base-tests: Likewise.
13783         * modules/unictype/property-grapheme-extend-tests: Likewise.
13784         * modules/unictype/property-grapheme-link-tests: Likewise.
13785         * modules/unictype/property-hex-digit-tests: Likewise.
13786         * modules/unictype/property-hyphen-tests: Likewise.
13787         * modules/unictype/property-id-continue-tests: Likewise.
13788         * modules/unictype/property-id-start-tests: Likewise.
13789         * modules/unictype/property-ideographic-tests: Likewise.
13790         * modules/unictype/property-ids-binary-operator-tests: Likewise.
13791         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
13792         * modules/unictype/property-ignorable-control-tests: Likewise.
13793         * modules/unictype/property-iso-control-tests: Likewise.
13794         * modules/unictype/property-join-control-tests: Likewise.
13795         * modules/unictype/property-left-of-pair-tests: Likewise.
13796         * modules/unictype/property-line-separator-tests: Likewise.
13797         * modules/unictype/property-logical-order-exception-tests: Likewise.
13798         * modules/unictype/property-lowercase-tests: Likewise.
13799         * modules/unictype/property-math-tests: Likewise.
13800         * modules/unictype/property-non-break-tests: Likewise.
13801         * modules/unictype/property-not-a-character-tests: Likewise.
13802         * modules/unictype/property-numeric-tests: Likewise.
13803         * modules/unictype/property-other-alphabetic-tests: Likewise.
13804         * modules/unictype/property-other-default-ignorable-code-point-tests:
13805         Likewise.
13806         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
13807         * modules/unictype/property-other-id-continue-tests: Likewise.
13808         * modules/unictype/property-other-id-start-tests: Likewise.
13809         * modules/unictype/property-other-lowercase-tests: Likewise.
13810         * modules/unictype/property-other-math-tests: Likewise.
13811         * modules/unictype/property-other-uppercase-tests: Likewise.
13812         * modules/unictype/property-paired-punctuation-tests: Likewise.
13813         * modules/unictype/property-paragraph-separator-tests: Likewise.
13814         * modules/unictype/property-pattern-syntax-tests: Likewise.
13815         * modules/unictype/property-pattern-white-space-tests: Likewise.
13816         * modules/unictype/property-private-use-tests: Likewise.
13817         * modules/unictype/property-punctuation-tests: Likewise.
13818         * modules/unictype/property-quotation-mark-tests: Likewise.
13819         * modules/unictype/property-radical-tests: Likewise.
13820         * modules/unictype/property-sentence-terminal-tests: Likewise.
13821         * modules/unictype/property-soft-dotted-tests: Likewise.
13822         * modules/unictype/property-space-tests: Likewise.
13823         * modules/unictype/property-terminal-punctuation-tests: Likewise.
13824         * modules/unictype/property-test-tests: Likewise.
13825         * modules/unictype/property-titlecase-tests: Likewise.
13826         * modules/unictype/property-unassigned-code-value-tests: Likewise.
13827         * modules/unictype/property-unified-ideograph-tests: Likewise.
13828         * modules/unictype/property-uppercase-tests: Likewise.
13829         * modules/unictype/property-variation-selector-tests: Likewise.
13830         * modules/unictype/property-white-space-tests: Likewise.
13831         * modules/unictype/property-xid-continue-tests: Likewise.
13832         * modules/unictype/property-xid-start-tests: Likewise.
13833         * modules/unictype/property-zero-width-tests: Likewise.
13834         * modules/unictype/scripts-tests: Likewise.
13835         * modules/unictype/syntax-c-ident-tests: Likewise.
13836         * modules/unictype/syntax-c-whitespace-tests: Likewise.
13837         * modules/unictype/syntax-java-ident-tests: Likewise.
13838         * modules/unictype/syntax-java-whitespace-tests: Likewise.
13839         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
13840         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
13841         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
13842         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
13843         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
13844         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
13845         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
13846         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
13847         * modules/uniname/uniname-tests: Likewise.
13848         * modules/uninorm/canonical-decomposition-tests: Likewise.
13849         * modules/uninorm/compat-decomposition-tests: Likewise.
13850         * modules/uninorm/composition-tests: Likewise.
13851         * modules/uninorm/decomposing-form-tests: Likewise.
13852         * modules/uninorm/decomposition-tests: Likewise.
13853         * modules/uninorm/filter-tests: Likewise.
13854         * modules/uninorm/nfc-tests: Likewise.
13855         * modules/uninorm/nfd-tests: Likewise.
13856         * modules/uninorm/nfkc-tests: Likewise.
13857         * modules/uninorm/nfkd-tests: Likewise.
13858         * modules/uninorm/u8-normcmp-tests: Likewise.
13859         * modules/uninorm/u8-normcoll-tests: Likewise.
13860         * modules/uninorm/u16-normcmp-tests: Likewise.
13861         * modules/uninorm/u16-normcoll-tests: Likewise.
13862         * modules/uninorm/u32-normcmp-tests: Likewise.
13863         * modules/uninorm/u32-normcoll-tests: Likewise.
13864         * modules/unistdio/u8-asnprintf-tests: Likewise.
13865         * modules/unistdio/u8-vasnprintf-tests: Likewise.
13866         * modules/unistdio/u8-vasprintf-tests: Likewise.
13867         * modules/unistdio/u8-vsnprintf-tests: Likewise.
13868         * modules/unistdio/u8-vsprintf-tests: Likewise.
13869         * modules/unistdio/u16-asnprintf-tests: Likewise.
13870         * modules/unistdio/u16-vasnprintf-tests: Likewise.
13871         * modules/unistdio/u16-vasprintf-tests: Likewise.
13872         * modules/unistdio/u16-vsnprintf-tests: Likewise.
13873         * modules/unistdio/u16-vsprintf-tests: Likewise.
13874         * modules/unistdio/u32-asnprintf-tests: Likewise.
13875         * modules/unistdio/u32-vasnprintf-tests: Likewise.
13876         * modules/unistdio/u32-vasprintf-tests: Likewise.
13877         * modules/unistdio/u32-vsnprintf-tests: Likewise.
13878         * modules/unistdio/u32-vsprintf-tests: Likewise.
13879         * modules/unistdio/ulc-asnprintf-tests: Likewise.
13880         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
13881         * modules/unistdio/ulc-vasprintf-tests: Likewise.
13882         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
13883         * modules/unistdio/ulc-vsprintf-tests: Likewise.
13884         * modules/unistr/u8-check-tests: Likewise.
13885         * modules/unistr/u8-chr-tests: Likewise.
13886         * modules/unistr/u8-cmp-tests: Likewise.
13887         * modules/unistr/u8-cmp2-tests: Likewise.
13888         * modules/unistr/u8-cpy-alloc-tests: Likewise.
13889         * modules/unistr/u8-cpy-tests: Likewise.
13890         * modules/unistr/u8-mblen-tests: Likewise.
13891         * modules/unistr/u8-mbsnlen-tests: Likewise.
13892         * modules/unistr/u8-mbtouc-tests: Likewise.
13893         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
13894         * modules/unistr/u8-mbtoucr-tests: Likewise.
13895         * modules/unistr/u8-move-tests: Likewise.
13896         * modules/unistr/u8-next-tests: Likewise.
13897         * modules/unistr/u8-prev-tests: Likewise.
13898         * modules/unistr/u8-set-tests: Likewise.
13899         * modules/unistr/u8-stpcpy-tests: Likewise.
13900         * modules/unistr/u8-stpncpy-tests: Likewise.
13901         * modules/unistr/u8-strcat-tests: Likewise.
13902         * modules/unistr/u8-strcmp-tests: Likewise.
13903         * modules/unistr/u8-strcoll-tests: Likewise.
13904         * modules/unistr/u8-strcpy-tests: Likewise.
13905         * modules/unistr/u8-strdup-tests: Likewise.
13906         * modules/unistr/u8-strlen-tests: Likewise.
13907         * modules/unistr/u8-strmblen-tests: Likewise.
13908         * modules/unistr/u8-strmbtouc-tests: Likewise.
13909         * modules/unistr/u8-strncat-tests: Likewise.
13910         * modules/unistr/u8-strncmp-tests: Likewise.
13911         * modules/unistr/u8-strncpy-tests: Likewise.
13912         * modules/unistr/u8-strnlen-tests: Likewise.
13913         * modules/unistr/u8-to-u16-tests: Likewise.
13914         * modules/unistr/u8-to-u32-tests: Likewise.
13915         * modules/unistr/u8-uctomb-tests: Likewise.
13916         * modules/unistr/u16-check-tests: Likewise.
13917         * modules/unistr/u16-chr-tests: Likewise.
13918         * modules/unistr/u16-cmp-tests: Likewise.
13919         * modules/unistr/u16-cmp2-tests: Likewise.
13920         * modules/unistr/u16-cpy-alloc-tests: Likewise.
13921         * modules/unistr/u16-cpy-tests: Likewise.
13922         * modules/unistr/u16-mblen-tests: Likewise.
13923         * modules/unistr/u16-mbsnlen-tests: Likewise.
13924         * modules/unistr/u16-mbtouc-tests: Likewise.
13925         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
13926         * modules/unistr/u16-mbtoucr-tests: Likewise.
13927         * modules/unistr/u16-move-tests: Likewise.
13928         * modules/unistr/u16-next-tests: Likewise.
13929         * modules/unistr/u16-prev-tests: Likewise.
13930         * modules/unistr/u16-set-tests: Likewise.
13931         * modules/unistr/u16-stpcpy-tests: Likewise.
13932         * modules/unistr/u16-stpncpy-tests: Likewise.
13933         * modules/unistr/u16-strcat-tests: Likewise.
13934         * modules/unistr/u16-strcmp-tests: Likewise.
13935         * modules/unistr/u16-strcoll-tests: Likewise.
13936         * modules/unistr/u16-strcpy-tests: Likewise.
13937         * modules/unistr/u16-strdup-tests: Likewise.
13938         * modules/unistr/u16-strlen-tests: Likewise.
13939         * modules/unistr/u16-strmblen-tests: Likewise.
13940         * modules/unistr/u16-strmbtouc-tests: Likewise.
13941         * modules/unistr/u16-strncat-tests: Likewise.
13942         * modules/unistr/u16-strncmp-tests: Likewise.
13943         * modules/unistr/u16-strncpy-tests: Likewise.
13944         * modules/unistr/u16-strnlen-tests: Likewise.
13945         * modules/unistr/u16-to-u32-tests: Likewise.
13946         * modules/unistr/u16-to-u8-tests: Likewise.
13947         * modules/unistr/u16-uctomb-tests: Likewise.
13948         * modules/unistr/u32-check-tests: Likewise.
13949         * modules/unistr/u32-chr-tests: Likewise.
13950         * modules/unistr/u32-cmp-tests: Likewise.
13951         * modules/unistr/u32-cmp2-tests: Likewise.
13952         * modules/unistr/u32-cpy-alloc-tests: Likewise.
13953         * modules/unistr/u32-cpy-tests: Likewise.
13954         * modules/unistr/u32-mblen-tests: Likewise.
13955         * modules/unistr/u32-mbsnlen-tests: Likewise.
13956         * modules/unistr/u32-mbtouc-tests: Likewise.
13957         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
13958         * modules/unistr/u32-mbtoucr-tests: Likewise.
13959         * modules/unistr/u32-move-tests: Likewise.
13960         * modules/unistr/u32-next-tests: Likewise.
13961         * modules/unistr/u32-prev-tests: Likewise.
13962         * modules/unistr/u32-set-tests: Likewise.
13963         * modules/unistr/u32-stpcpy-tests: Likewise.
13964         * modules/unistr/u32-stpncpy-tests: Likewise.
13965         * modules/unistr/u32-strcat-tests: Likewise.
13966         * modules/unistr/u32-strcmp-tests: Likewise.
13967         * modules/unistr/u32-strcoll-tests: Likewise.
13968         * modules/unistr/u32-strcpy-tests: Likewise.
13969         * modules/unistr/u32-strdup-tests: Likewise.
13970         * modules/unistr/u32-strlen-tests: Likewise.
13971         * modules/unistr/u32-strmblen-tests: Likewise.
13972         * modules/unistr/u32-strmbtouc-tests: Likewise.
13973         * modules/unistr/u32-strncat-tests: Likewise.
13974         * modules/unistr/u32-strncmp-tests: Likewise.
13975         * modules/unistr/u32-strncpy-tests: Likewise.
13976         * modules/unistr/u32-strnlen-tests: Likewise.
13977         * modules/unistr/u32-to-u16-tests: Likewise.
13978         * modules/unistr/u32-to-u8-tests: Likewise.
13979         * modules/unistr/u32-uctomb-tests: Likewise.
13980         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
13981         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
13982         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
13983         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
13984         * modules/uniwidth/u8-strwidth-tests: Likewise.
13985         * modules/uniwidth/u8-width-tests: Likewise.
13986         * modules/uniwidth/u16-strwidth-tests: Likewise.
13987         * modules/uniwidth/u16-width-tests: Likewise.
13988         * modules/uniwidth/u32-strwidth-tests: Likewise.
13989         * modules/uniwidth/u32-width-tests: Likewise.
13990         * modules/uniwidth/width-tests: Likewise.
13991
13992 2010-05-18  Richard Jones  <rjones@redhat.com>
13993
13994         doc: users.txt: list hivex
13995         * users.txt: Add hivex.
13996
13997 2010-05-18  Richard Jones  <rjones@redhat.com>
13998
13999         doc: users.txt: list febootstrap
14000         * users.txt: Add febootstrap.
14001
14002 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
14003
14004         bootstrap: fix an error when gnulib is not used as a git submodule
14005         * build-aux/bootstrap (gnulib_path): If its length is zero then
14006         assign "gnulib" to it.
14007         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
14008
14009 2010-05-16  Bruno Haible  <bruno@clisp.org>
14010
14011         Avoid autoconf warnings about AM_ICONV.
14012         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
14013         2.64.
14014
14015 2010-05-16  Bruno Haible  <bruno@clisp.org>
14016
14017         absolute-header: Make the macro usable in more situations.
14018         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
14019         from gl_ABSOLUTE_HEADER.
14020         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
14021
14022 2010-05-16  James Youngman  <jay@gnu.org>
14023
14024         doc: update users.txt
14025         * users.txt: Add CSSC.
14026
14027 2010-05-16  Jim Meyering  <meyering@redhat.com>
14028
14029         init.sh: fix an error in the previous change; add more comments
14030         * tests/init.sh: Compare exit code in loop against 9, not 2.
14031         Patch by Bruno Haible.
14032         Make the two tests more similar by adding an empty "then" clause.
14033         Add comments.
14034
14035         init.sh: avoid unnecessary shell re-exec
14036         * tests/init.sh: Improve the re-exec-required check to first test the
14037         current shell.  If it passes the test, do not search for a shell that
14038         does pass, and do not re-exec.  This test is particularly contorted to
14039         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
14040         of $(...) evokes a syntax error and causes immediate shell exit with
14041         status 2.  Bruno Haible reported that the re-exec made it impossible
14042         to single-step through any init.sh-using script.
14043
14044 2010-05-16  Bruno Haible  <bruno@clisp.org>
14045
14046         Fix collision between gnulib's and libintl's printf replacements.
14047         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
14048         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
14049         (printf): When using GNU C, map the __printf__ function to rpl_printf
14050         via __asm__. When not using GNU C, define rpl_printf instead of
14051         __printf__.
14052         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
14053         commit.
14054         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
14055         commit.
14056         * m4/asm-underscore.m4: New file.
14057         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
14058         * modules/stdio (Files): Add m4/asm-underscore.m4.
14059         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
14060         Reported by Ben Pfaff.
14061
14062 2010-05-16  Bruno Haible  <bruno@clisp.org>
14063
14064         verify: Avoid skipping the test on openSUSE 11.0.
14065         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
14066
14067 2010-05-13  Bruno Haible  <bruno@clisp.org>
14068
14069         Avoid useless warnings from G++.
14070         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
14071         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
14072         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14073
14074 2010-05-11  Jim Meyering  <meyering@redhat.com>
14075
14076         maint.mk: tweak preceding change
14077         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
14078         regexps tighter by anchoring at EOL, and make the new group "shy"
14079         for slightly decreased overhead.
14080
14081 2010-05-11  Eric Blake  <eblake@redhat.com>
14082
14083         maint.mk: gnulib doesn't guarantee NSIG
14084         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
14085
14086 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
14087
14088         test-pwrite.c: Remove unused variable declaration.
14089         * tests/test-pwrite.c (main): Remove read_buf declaration.
14090
14091         Remove useless test-pwrite.sh file.
14092         * tests/test-pwrite.sh: Delete file.
14093         * modules/pwrite-tests: Remove references.
14094         Reported by Bruno Haible.
14095
14096 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
14097
14098         init.sh: fix a typo
14099         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
14100
14101 2010-05-10  Jim Meyering  <meyering@redhat.com>
14102
14103         maint.mk: avoid using a temporary file in the always-defined-macros check
14104         * top/maint.mk (.re-defmac): Remove rule.
14105         (gl_trap_): Remove definition.
14106         (sc_prohibit_always-defined_macros): Rewrite not to create and
14107         depend on a temporary file.  Instead, depend on GNU grep's ability
14108         to read a list of regular expressions from stdin when given "-f -".
14109
14110 2010-05-09  Bruno Haible  <bruno@clisp.org>
14111
14112         Update to GNU gettext 0.18, part 1.
14113         * m4/gettext.m4: Update to GNU gettext 0.18.
14114         * m4/intl.m4: Likewise.
14115         * m4/po.m4: Likewise.
14116         * modules/gettext (Files): Add m4/fcntl-o.m4.
14117         (configure.ac): Require gettext infrastructure from version 0.18.
14118
14119 2010-05-09  Jim Meyering  <meyering@redhat.com>
14120
14121         init.sh: enable MALLOC_PERTURB_
14122         * tests/init.sh: Enable glibc's malloc-perturbing option.
14123
14124         maint.mk: improve sc_cross_check_PATH_usage_in_tests
14125         With my recent change in init.sh from the two-line form:
14126             -#   : ${srcdir=.}
14127             -#   . "$srcdir/init.sh"; path_prepend_ .
14128             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
14129         I noticed that using the one-line form would cause this test
14130         to fail with a false-positive, or to stop working altogether,
14131         depending on whether help-version changed or all the tests did.
14132         * top/maint.mk (_hv_regex): Remove this definition.
14133         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
14134         (_hv_regex_strong): Use a stronger regex to check for conformance.
14135         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
14136         Give a separate diagnostic for lack of conforming use.
14137
14138         maint.mk: prohibit definition of symbols defined by gnulib
14139         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
14140         definition of symbols defined by gnulib.
14141
14142 2010-05-09  Bruno Haible  <bruno@clisp.org>
14143
14144         acl: Avoid test failure on Cygwin-hosted mingw.
14145         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
14146
14147 2010-05-09  Bruno Haible  <bruno@clisp.org>
14148
14149         error: Use system's fcntl function.
14150         * lib/error.c (fcntl): Undefine.
14151
14152 2010-05-09  Jim Meyering  <meyering@redhat.com>
14153
14154         verify: adjust formatting to be more consistent
14155         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
14156         argument-list '('s, and after one comma.
14157
14158 2010-05-09  Bruno Haible  <bruno@clisp.org>
14159
14160         error: More reliable output on mingw.
14161         * lib/error.c: Include <windows.h>.
14162         (is_open): New function.
14163         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
14164         defined.
14165
14166 2010-05-09  Bruno Haible  <bruno@clisp.org>
14167
14168         vasnprintf: Fix syntax errors in libintl build on mingw.
14169         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
14170         pad_ourselves and prec_ourselves after use.
14171
14172 2010-05-08  Bruno Haible  <bruno@clisp.org>
14173
14174         * lib/config.charset: Update comments for Cygwin 1.7.
14175         * lib/localcharset.c: Likewise.
14176
14177 2010-05-07  Jim Meyering  <meyering@redhat.com>
14178
14179         init.sh: improve comments
14180         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
14181         . "${srcdir=.}/init.sh"; path_prepend_ .
14182         Add a note about path_prepend_ and the alternative of using
14183         TESTS_ENVIRONMENT.
14184
14185 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14186
14187         exclude: Unescape hashed patterns in wildcard mode.
14188         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
14189         to the hash list.
14190         * tests/test-exclude8.sh: New test case.
14191         * modules/exclude-tests: Add new test.
14192
14193 2010-05-05  Eric Blake  <eblake@redhat.com>
14194
14195         verify: automate tests
14196         * modules/verify-tests: New module.
14197         * tests/test-verify.sh: New file.
14198         * tests/test-verify.c: Guard each negative test with a unique id.
14199         Also avoid warning about unused left hand of comma expressions.
14200
14201 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14202
14203         Further improvements to verify.h, suggested by Eric Blake.
14204         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
14205         the GL_* versions, to avoid collision with OpenGL.
14206         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
14207         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
14208         than testing merely whether it's defined.
14209
14210         Modify verify.h to pacify gcc -Wredundant_decls.
14211         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
14212         These use the prefix "GL_" since they're likely to be useful elsewhere.
14213         We may need to break them out into a different .h file.
14214         (__COUNTER__): Define to 0 if the compiler doesn't support it.
14215         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
14216         of verify_function__.
14217
14218 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14219
14220         Tests for module pwrite.
14221         * modules/pwrite-tests: New file.
14222         * tests/test-pwrite.sh: New file.
14223         * tests/test-pwrite.c: New file.
14224
14225         New module pwrite.
14226         * lib/unistd.in.h (pwrite): New declaration.
14227         * lib/pwrite.c: New file, from glibc with modifications.
14228         * m4/pwrite.m4: New file.
14229         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
14230         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
14231         REPLACE_PWRITE.
14232         * modules/pwrite: New file.
14233         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
14234         REPLACE_PWRITE.
14235         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
14236         * doc/posix-functions/pwrite.texi: Mention the new module.
14237
14238 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14239
14240         pread: Update documentation.
14241         * doc/posix-functions/pread.texi: Mention the 'pread' module.
14242
14243 2010-05-04  Eric Blake  <eblake@redhat.com>
14244
14245         docs: update cygwin progress
14246         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
14247         this bug.
14248         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
14249         Added in cygwin 1.7.2.
14250         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
14251         Likewise.
14252         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
14253         Likewise.
14254         * doc/glibc-functions/dup3.texi (dup3): Likewise.
14255         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
14256         * doc/glibc-functions/accept4.texi (accept4): Likewise.
14257         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
14258         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
14259         Mention nproc module.
14260         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
14261         bug in cygwin 1.7.5 addition.
14262         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
14263         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
14264         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
14265         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
14266         1.7.5.
14267         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
14268         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
14269         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
14270         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
14271         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
14272         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
14273         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
14274         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
14275         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
14276         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
14277         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
14278         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
14279         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
14280         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
14281         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
14282         Likewise.
14283         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
14284         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
14285         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
14286         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
14287         Likewise.
14288         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
14289         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
14290         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
14291         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
14292         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
14293         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
14294         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
14295         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
14296         Likewise.
14297         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
14298         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
14299         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
14300         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
14301         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
14302         Likewise.
14303         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
14304         Likewise.
14305         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
14306         Likewise.
14307         * doc/glibc-functions/xdrrec_endofrecord.texi
14308         (xdrrec_endofrecord): Likewise.
14309         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
14310         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
14311         Likewise.
14312         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
14313         Likewise.
14314
14315 2010-05-04  Jim Meyering  <meyering@redhat.com>
14316
14317         gendocs.sh: make its "-s FILE" option more useful
14318         * build-aux/gendocs.sh: When honoring the -s FILE option, update
14319         $PACKAGE to reflect the probably-different basename of "FILE".
14320
14321 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14322
14323         bootstrap: don't ignore download_po_files failure
14324         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
14325         failure.
14326
14327 2010-05-03  Jim Meyering  <meyering@redhat.com>
14328
14329         maint.mk: allow to pass options to gendocs.sh
14330         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
14331         (gendocs_options_): New overridable variable.
14332
14333         gnu-web-doc-update: don't ignore configure or build failure
14334         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
14335
14336         announce-gen: backslash-escape '@'s in --help output
14337         * build-aux/announce-gen: Fix syntax errors.
14338
14339         maint.mk, announce-gen: allow project-specific announcement mail headers
14340         * top/maint.mk (translation_project_): Define default.
14341         (announcement_Cc_, announcement_mail_headers_): Likewise.
14342         (announcement): Invoke announce-gen with new --mail-headers option.
14343         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
14344
14345         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
14346         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
14347         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
14348         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
14349         line in the "err2" output file when running "make check" in verbose
14350         mode (i.e., with set -x enabled).
14351
14352 2010-05-03  Bruno Haible  <bruno@clisp.org>
14353
14354         wctob: Fix for weird platforms.
14355         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
14356         argument value.
14357
14358 2010-05-03  Jim Meyering  <meyering@redhat.com>
14359
14360         maint.mk: prohibit unwarranted use of <strings.h>
14361         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
14362         strings.h in a file that does not also use strcasecmp, strncasecmp,
14363         ffs or ffsll.
14364
14365         maint.mk: remove obsolete comments
14366         * top/maint.mk: Remove stale, commented-out rules.
14367
14368 2010-05-02  Bruno Haible  <bruno@clisp.org>
14369
14370         wcwidth: Declare also when it's aliased.
14371         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
14372         macro.
14373
14374 2010-05-02  Bruno Haible  <bruno@clisp.org>
14375
14376         Fix regression from 2010-04-25.
14377         * gnulib-tool (func_modules_transitive_closure): Check the status of
14378         all modules, not only of the tests that are of the form foo-tests where
14379         foo is a module.
14380
14381 2010-05-02  Bruno Haible  <bruno@clisp.org>
14382
14383         wctob: Work around nasty Cygwin 1.7.2 bug.
14384         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
14385         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
14386
14387 2010-05-01  Bruno Haible  <bruno@clisp.org>
14388
14389         fpurge: Sharper test.
14390         * tests/test-fpurge.c (main): Add one more ftell check.
14391         * modules/fpurge-tests (Depends-on): Add ftell.
14392         Suggested by Eric Blake.
14393
14394 2010-05-01  Bruno Haible  <bruno@clisp.org>
14395
14396         ftello: Another test.
14397         * tests/test-ftello3.c: New file.
14398         * modules/ftello-tests (Files): Add it.
14399         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14400         MOSTLYCLEANFILES.
14401
14402         ftell: Another test.
14403         * tests/test-ftell3.c: New file.
14404         * modules/ftell-tests (Files): Add it.
14405         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14406         MOSTLYCLEANFILES.
14407
14408 2010-05-01  Bruno Haible  <bruno@clisp.org>
14409
14410         ftell, ftello: Work around Solaris bug.
14411         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
14412         * lib/ftello.c: Include stdio-impl.h.
14413         (ftello): On Solaris, when _IOWRT is set, compute the result without
14414         looking at _IOREAD.
14415         * modules/ftello (Files): Add lib/stdio-impl.h.
14416         * doc/posix-functions/ftell.texi: Mention Solaris bug.
14417         * doc/posix-functions/ftello.texi: Likewise.
14418         Reported by Eric Blake.
14419
14420 2010-05-01  Bruno Haible  <bruno@clisp.org>
14421
14422         freading: Adapt to special meaning of _IOREAD flag on Solaris.
14423         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
14424         the _IOWRT flag is also set.
14425
14426 2010-05-01  Bruno Haible  <bruno@clisp.org>
14427
14428         Fix doc about a HP-UX stdio bug.
14429         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
14430         * doc/posix-functions/ftello.texi: Likewise.
14431
14432 2010-05-01  Bruno Haible  <bruno@clisp.org>
14433
14434         lseek test: Fix failure on Solaris.
14435         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
14436         output.
14437
14438 2010-04-30  Jim Meyering  <meyering@redhat.com>
14439
14440         bootstrap: don't ignore failure to generate po*/Makevars
14441         * build-aux/bootstrap (with_gettext): Don't ignore failure
14442         to create po/Makevars or runtime-po/Makevars.
14443
14444 2010-04-29  Eric Blake  <eblake@redhat.com>
14445
14446         headers: relax license to LGPLv2+
14447         * modules/fcntl-h (License): Relax license.
14448         * modules/getopt-posix (License): Likewise.
14449         * modules/locale (License): Likewise.
14450         * modules/math (License): Likewise.
14451         * modules/pty (License): Likewise.
14452         * modules/sched (License): Likewise.
14453         * modules/search (License): Likewise.
14454         * modules/spawn (License): Likewise.
14455         * modules/stdarg (License): Likewise.
14456         * modules/sysexits (License): Likewise.
14457
14458 2010-04-29  Jim Meyering  <meyering@redhat.com>
14459
14460         inttypes: relax license to LGPLv2+
14461         * modules/inttypes (License): Relax license.
14462
14463 2010-04-29  Simon Josefsson  <simon@josefsson.org>
14464
14465         * top/maint.mk (indent): Run twice to produce idempotent results.
14466
14467 2010-04-28  Bruno Haible  <bruno@clisp.org>
14468
14469         getdate: Generate getdate.c in the source directory.
14470         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
14471         MOSTLYCLEANFILES.
14472         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
14473
14474 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
14475
14476         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
14477         is not declared as a const *; avoid warnings in that case.
14478
14479 2010-04-28  Eric Blake  <eblake@redhat.com>
14480
14481         canonicalize-lgpl: avoid compiler warning
14482         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
14483         declaration' / 'extraneous semicolon' warning with some compilers.
14484         Reported by Andreas Gruenbacher.
14485
14486 2010-04-28  Jim Meyering  <meyering@redhat.com>
14487
14488         init.sh: ensure a more reliable exit status when exiting via trap
14489         * tests/init.sh (setup_): Don't rely on $? in signal handler.
14490         Inspired by patches from Dmitry V. Levin.
14491         Also trap on signal 3 (SIGQUIT).
14492
14493 2010-04-27  Bruno Haible  <bruno@clisp.org>
14494
14495         Update doc about utimes().
14496         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
14497         'utimens' module.
14498         Reported by Andreas Gruenbacher <agruen@suse.de>.
14499
14500 2010-04-27  Eric Blake  <eblake@redhat.com>
14501
14502         full-read, full-write: relax license
14503         * modules/full-read (License): Drop to LGPLv2+.
14504         * modules/full-write (License): Likewise.
14505         * modules/safe-read (License): Likewise.
14506         * modules/safe-write (License): Likewise.
14507
14508         pthread: mention library for linking
14509         * modules/pthread (Link): Mention $(LIB_PTHREAD).
14510
14511 2010-04-27  Jim Meyering  <meyering@redhat.com>
14512
14513         maint.mk: fix a bug introduced in last change
14514         * top/maint.mk (gl_assured_headers_): Now that all names are on
14515         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
14516         is not anchored to end of word, it should be adequate.
14517
14518         maint.mk: avoid side-effect in latest syntax-check
14519         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
14520         to run commands via $(shell...), and hence to incur cost only when
14521         the new rule is actually run.
14522
14523         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
14524         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
14525         and use that to create a regexp used to detect all #if HAVE_..._H uses.
14526         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
14527         (gl_assured_headers_, az_, AZ_): Define.
14528         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
14529
14530 2010-04-26  Jim Meyering  <jim@meyering.net>
14531             Bruno Haible  <bruno@clisp.org>
14532
14533         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
14534         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
14535         Prompted by an exchange with Gilles Espinasse.
14536
14537 2010-04-26  Jim Meyering  <meyering@redhat.com>
14538
14539         git-version-gen: aesthetic tweak
14540         * build-aux/git-version-gen: Use "$nl" rather than a literal,
14541         so that the command remains on a single line.
14542
14543 2010-04-26  Eric Blake  <eblake@redhat.com>
14544
14545         git-version-gen: allow use on EBCDIC hosts
14546         * build-aux/git-version-gen (dirty): Use literal rather than tying
14547         ourselves to ascii.
14548         Reported by Steve Goetze.
14549
14550 2010-04-25  Bruno Haible  <bruno@clisp.org>
14551
14552         netdb: Add support for GNULIB_POSIXCHECK.
14553         * lib/netdb.in.h: Include warn-on-use.h.
14554         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
14555         functions are used when GNULIB_POSIXCHECK is defined and the
14556         getaddrinfo module is not in use.
14557         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
14558         freeaddrinfo, gai_strerror, getnameinfo are declared.
14559         * modules/netdb (Depends-on): Add warn-on-use.
14560         (Makefile.am): Include warn-on-use.h in netdb.h.
14561
14562 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
14563
14564         build: avoid "make check" failure without .git/ directory
14565         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
14566         there is no .git/ directory.
14567
14568 2010-04-25  Bruno Haible  <bruno@clisp.org>
14569
14570         ptsname: Fix misuse of ttyname_r.
14571         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
14572         of errno.
14573
14574 2010-04-25  Bruno Haible  <bruno@clisp.org>
14575
14576         ttyname_r: Make it work on Solaris 10.
14577         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
14578         if the system function has the POSIX declaration. Test whether the
14579         function fails if the buffer is less than 128 bytes large.
14580         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
14581         system's ttyname_r function. Provide a reasonably large buffer.
14582         * modules/ttyname_r (Depends-on): Add extensions.
14583         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
14584
14585 2010-04-25  Bruno Haible  <bruno@clisp.org>
14586
14587         Use the 'extensions' module for some more functions on Solaris.
14588         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
14589         module.
14590         * doc/posix-functions/ctime_r.texi: Likewise.
14591         * doc/posix-functions/getgrgid_r.texi: Likewise.
14592         * doc/posix-functions/getgrnam_r.texi: Likewise.
14593         * doc/posix-functions/getpwnam_r.texi: Likewise.
14594         * doc/posix-functions/getpwuid_r.texi: Likewise.
14595         * doc/posix-functions/readdir_r.texi: Likewise.
14596         * doc/posix-functions/sigwait.texi: Likewise.
14597         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
14598         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
14599
14600 2010-04-25  Bruno Haible  <bruno@clisp.org>
14601
14602         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
14603         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
14604         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
14605         * lib/ttyname_r.c: Include <limits.h>.
14606         (ttyname_r): Define using the system's ttyname_r function, if it exists
14607         and not on Solaris.
14608         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
14609         set.
14610         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
14611         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
14612         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
14613         Reported by Simon Josefsson.
14614
14615 2010-04-25  Bruno Haible  <bruno@clisp.org>
14616
14617         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
14618         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
14619         * doc/posix-functions/ctime_r.texi: Likewise.
14620         * doc/posix-functions/getgrgid_r.texi: Likewise.
14621         * doc/posix-functions/getgrnam_r.texi: Likewise.
14622         * doc/posix-functions/getlogin_r.texi: Likewise.
14623         * doc/posix-functions/getpwnam_r.texi: Likewise.
14624         * doc/posix-functions/getpwuid_r.texi: Likewise.
14625         * doc/posix-functions/readdir_r.texi: Likewise.
14626         * doc/posix-functions/sigwait.texi: Likewise.
14627         * doc/posix-functions/ttyname_r.texi: Likewise.
14628         Reported by Simon Josefsson.
14629
14630 2010-04-25  Bruno Haible  <bruno@clisp.org>
14631
14632         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
14633         * gnulib-tool (func_usage): Document that --with-*-tests options apply
14634         also to --create-testdir.
14635         (func_acceptable): Don't consider the status of *-tests modules here.
14636         (func_modules_transitive_closure): Consider it here, before including a
14637         test module.
14638         (func_import, func_create_testdir): Set inc_all_direct_tests,
14639         inc_all_indirect_tests.
14640         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
14641         --create-testdir and --create-megatestdir.
14642
14643 2010-04-25  Bruno Haible  <bruno@clisp.org>
14644
14645         gnulib-tool: Add --without-*-tests options.
14646         * gnulib-tool (func_usage): Document the --without-*-tests options.
14647         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
14648         excl_unportable_tests): New variables.
14649         Fail if they are specified with --import or --update.
14650         (func_acceptable): Respect the excl_*_tests variables.
14651         (func_import): Set the excl_*_tests variables to empty.
14652
14653 2010-04-25  Simon Josefsson  <simon@josefsson.org>
14654             Bruno Haible  <bruno@clisp.org>
14655
14656         Work around a MacOS X 10.4 bug with openpty.
14657         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
14658         * tests/test-openpty.c (main): Close the master side explicitly.
14659
14660 2010-04-25  Bruno Haible  <bruno@clisp.org>
14661
14662         strnlen: Fix a C++ test error on MacOS X and Solaris.
14663         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
14664         the function is not declared.
14665         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
14666         Simon Josefsson.
14667
14668 2010-04-24  Bruno Haible  <bruno@clisp.org>
14669
14670         Avoid a gcc warning.
14671         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
14672         of correct type for %08lx directive.
14673         Reported by Eric Blake.
14674
14675 2010-04-24  Bruno Haible  <bruno@clisp.org>
14676
14677         vasnprintf: Correct errno value in case of out-of-memory.
14678         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
14679         or sprintf. Use the errno value from SNPRINTF or sprintf.
14680         Reported by Ian Beckwith <ianb@erislabs.net>.
14681
14682 2010-04-24  Bruno Haible  <bruno@clisp.org>
14683
14684         ansi-c++-opt: Find correct compiler when cross-compiling.
14685         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
14686         AC_CHECK_PROGS.
14687         Reported by Simon Josefsson.
14688
14689 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
14690
14691         vc-list-files: Add support for subversion
14692         * build-aux/vc-list-files: Use "svn list" to generate the list of
14693         files controlled by subversion.
14694
14695 2010-04-23  Jim Meyering  <meyering@redhat.com>
14696
14697         vc-list-files tests: convert to use init.sh
14698         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
14699         path_prepend_.
14700         Use Exit, not exit.
14701         Use skip_ rather than open coding it.
14702         Remove trap set-up and compare definitions.
14703         * tests/test-vc-list-files-git.sh: Likewise.
14704         * modules/vc-list-files-tests (Files): Add tests/init.sh.
14705
14706 2010-04-22  Simon Josefsson  <simon@josefsson.org>
14707
14708         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
14709         backup files.
14710
14711 2010-04-21  Simon Josefsson  <simon@josefsson.org>
14712
14713         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
14714
14715 2010-04-20  Eric Blake  <eblake@redhat.com>
14716
14717         tests: be robust to ignored SIGPIPE
14718         * tests/test-select-in.sh: Consume all output.
14719         * tests/test-lseek.sh: Check correct exit status, while avoiding
14720         EPIPE.
14721
14722 2010-04-20  Simon Josefsson  <simon@josefsson.org>
14723             Bruno Haible  <bruno@clisp.org>
14724
14725         visibility: Don't use -fvisibility if it leads to a warning.
14726         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
14727         yes, don't pretend that visibility works if it leads to a warning.
14728         Reported by Mike Gran <spk121@yahoo.com>.
14729
14730 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
14731
14732         * build-aux/bootstrap: Use "git -h" for testing for supported options
14733         instead of "git --help".  The short-form option only shows a summary,
14734         and doesn't layout the full man page.  Grep for the full option name
14735         in the summary, too.
14736
14737 2010-04-19  Bruno Haible  <bruno@clisp.org>
14738
14739         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
14740         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
14741         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
14742         mention of RELOCATABLE_STRIP.
14743         Reported by Sylvain Beucler <beuc@beuc.net>.
14744
14745 2010-04-19  Bruno Haible  <bruno@clisp.org>
14746
14747         * lib/diffseq.h: Fix typo in comment.
14748         Reported by Eric Blake.
14749
14750 2010-04-19  Bruno Haible  <bruno@clisp.org>
14751
14752         ioctl: Move autoconf macro to a .m4 file.
14753         * m4/ioctl.m4: New file, extracted from modules/ioctl.
14754         * modules/ioctl (Files): Add it.
14755         (configure.ac): Simply invoke gl_FUNC_IOCTL.
14756         Reported by Ian Beckwith <ianb@erislabs.net>.
14757
14758 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
14759             Bruno Haible  <bruno@clisp.org>
14760
14761         diffseq: Accommodate use-case with abstract arrays.
14762         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
14763         is not defined.
14764         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
14765         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
14766
14767 2010-04-18  Bruno Haible  <bruno@clisp.org>
14768
14769         * doc/posix-headers/stdbool.texi: More precise wording.
14770
14771 2010-04-17  Jim Meyering  <meyering@redhat.com>
14772
14773         maint.mk: use gnu-style indentation in an embedded perl script
14774         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
14775         Rename variable: s/two/last_two_bytes/
14776
14777 2010-04-16  Eric Blake  <eblake@redhat.com>
14778
14779         test-stdbool: skip test that fails with Solaris CC
14780         * tests/test-stdbool.c (f): Skip test that causes compilation
14781         error under buggy C++ compiler.
14782         * lib/stdbool.in.h: Document the limitation.
14783         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
14784
14785         setenv: allow compilation with C++
14786         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
14787         register keyword.
14788
14789         stdint: allow test to pass with C++
14790         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
14791
14792         getopt: allow compilation with C++
14793         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
14794         struct.
14795         * lib/getopt.c (_getopt_internal_r): Use correct type.
14796         Reported by Dagobert Michelson, via Joel E. Denny.
14797
14798 2010-04-16  Bruno Haible  <bruno@clisp.org>
14799
14800         Override netdb.h always.
14801         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
14802         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
14803         Reported by Ludovic Courtès <ludo@gnu.org>.
14804
14805 2010-04-15  Bruno Haible  <bruno@clisp.org>
14806
14807         openpty: Fix mistake from 2010-03-21.
14808         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
14809         Reported by Simon Josefsson.
14810
14811 2010-04-15  Eric Blake  <eblake@redhat.com>
14812
14813         test-forkpty: fix expected signature
14814         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
14815         Reported by Simon Josefsson.
14816
14817 2010-04-15  Jim Meyering  <meyering@redhat.com>
14818
14819         maint.mk: texinfo_suffix_re_: correct the default regexp
14820         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
14821
14822         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
14823         make it configurable via texinfo_suffix_re_.
14824
14825 2010-04-14  Eric Blake  <eblake@redhat.com>
14826
14827         strtok_r: relax license to LGPLv2+
14828         * modules/strtok_r (License): Relax license.
14829         Reported by Matthias Bolte.
14830
14831 2010-04-14  Simon Josefsson  <simon@josefsson.org>
14832
14833         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
14834         version 1.4.4 by default instead of requiring the libgcrypt
14835         version used during build.  This makes it possible to use the
14836         application with older but still binary compatible libgcrypt
14837         versions.
14838
14839 2010-04-13  Eric Blake  <eblake@redhat.com>
14840
14841         getopt-gnu: match recent glibc fixes and posix ruling
14842         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
14843         '+' handling, when requesting extensions.
14844         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
14845         'W;' handling.
14846         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
14847         * doc/posix-functions/getopt.texi (getopt): Document this.
14848         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14849         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14850         Likewise.
14851
14852         getopt: merge bug fixes from glibc
14853         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
14854         diagnostics.  Honor '+:' correctly.  Reject ';'.
14855
14856         getopt-posix: detect MacOS bug
14857         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
14858         optind when missing a required argument.
14859         * doc/posix-functions/getopt.texi (getopt): Document the bug.
14860         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14861         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14862         Likewise.
14863
14864         getopt-posix: avoid spurious failure on Solaris
14865         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
14866         an indicator that setting optind=1 is sufficient for reset.
14867
14868         getopt-posix: avoid spurious failure on FreeBSD
14869         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
14870         in POSIX mode, since the m4 test uses it.
14871
14872         gnulib-tool: silence warning on BSD sh
14873         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
14874
14875 2010-04-13  Jim Meyering  <meyering@redhat.com>
14876
14877         doc: users.txt: GNU patch now uses gnulib
14878         * users.txt: Add patch.
14879
14880 2010-04-12  Jim Meyering  <meyering@redhat.com>
14881
14882         maint.mk: generate more concise timing data for syntax-check rules
14883         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
14884         " done" from each line that reports a syntax-check test duration.
14885
14886 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
14887
14888         git-version-gen: use "git update-index..." rather than "git status"
14889         * build-aux/git-version-gen: Use git update-index --refresh, not
14890         "git status".  With some versions of git, "git status" would fail
14891         to update the index and result in an unwarranted "-dirty" suffix.
14892
14893 2010-04-11  Jim Meyering  <meyering@redhat.com>
14894
14895         openat: correct formatting (no semantic change)
14896         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
14897         Suggested by Bruno Haible.
14898
14899 2010-04-11  Bruno Haible  <bruno@clisp.org>
14900
14901         Stricter declaration checking in testdirs.
14902         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14903         If for_tests is true, augment AM_CPPFLAGS to define
14904         GNULIB_STRICT_CHECKING.
14905         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
14906         GNULIB_STRICT_CHECKING is defined, verify that the function is
14907         declared.
14908
14909 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
14910             Bruno Haible  <bruno@clisp.org>
14911
14912         libunistring: Improve configure output.
14913         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
14914         Don't say "consider installing GNU libunistring" when checking again
14915         with libiconv.
14916
14917 2010-04-11  Bruno Haible  <bruno@clisp.org>
14918
14919         libunistring: Correct value of $LTLIBUNISTRING.
14920         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
14921         correct the value of $LTLIBUNISTRING.
14922
14923 2010-04-11  Bruno Haible  <bruno@clisp.org>
14924
14925         havelib: Add static libraries to LIBS in the right order.
14926         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
14927         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
14928
14929 2010-04-11  Bruno Haible  <bruno@clisp.org>
14930
14931         libunistring: Detect libunistring also when it depends on libiconv.
14932         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
14933         the second AC_LIB_HAVE_LINKFLAGS invocation.
14934
14935 2010-04-11  James Youngman  <jay@gnu.org>
14936
14937         close-stream: declare local scalars to be "const"
14938         * lib/close-stream.c (close_stream): Make boolean variables const
14939         to document the fact that we set but do not change them.
14940
14941 2010-04-11  Bruno Haible  <bruno@clisp.org>
14942
14943         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
14944
14945 2010-04-11  Jim Meyering  <meyering@redhat.com>
14946
14947         maint.mk: don't include dist-check.mk
14948         * top/maint.mk: Remove bogus include directive.
14949
14950         maint.mk: improve empty-line-at-EOF check
14951         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
14952         solution, rather than tail+Perl-based one.  The latter would read
14953         a few kilobytes from the end of each file, and did not handle empty
14954         files properly.
14955
14956         maint.mk: print the elapsed time for each syntax-check rule
14957         * top/maint.mk (sc_m_rules_): Save start time in a file.
14958         (sc_z_rules_): New rules: remove temp file and print elapsed time.
14959         (local-check): Interpose the .z rules
14960
14961 2010-04-11  Jim Meyering  <meyering@redhat.com>
14962
14963         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
14964         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
14965         empty file with one that ends in an empty line.
14966
14967 2010-04-10  Bruno Haible  <bruno@clisp.org>
14968
14969         mkdir: Make it work on mingw64.
14970         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
14971         * lib/mkdir.c: Update comment.
14972         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
14973
14974 2010-04-10  Bruno Haible  <bruno@clisp.org>
14975
14976         Don't override improved macro from newer autoconf.
14977         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
14978         autoconf >= 2.62.
14979         Reported by Joel E. Denny <jdenny@clemson.edu>.
14980
14981 2010-04-10  Jim Meyering  <meyering@redhat.com>
14982
14983         maint.mk: new syntax-check rule: prohibit empty lines at end of file
14984         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
14985
14986         maint.mk: correct a diagnostic
14987         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
14988         in diagnostic; now use $prohibit.
14989
14990 2010-04-10  Bruno Haible  <address@hidden>
14991
14992         fchownat: Fix a C++ test error on Solaris 8.
14993         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
14994         the function does not exist.
14995
14996 2010-04-10  Bruno Haible  <bruno@clisp.org>
14997
14998         vasnprintf: Add more tests.
14999         * tests/test-vasnprintf-posix.c: Include <errno.h>.
15000         (test_function): Test converting an invalid wide string.
15001
15002         vasnprintf: Correct handling of unconvertible wide string arguments.
15003         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
15004         VASNPRINTF.
15005         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
15006         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
15007         smaller than the expected maximum need for the directive. Set errno to
15008         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
15009         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
15010         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
15011         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
15012         * modules/vasnprintf (Files): Add m4/printf.m4.
15013         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15014
15015 2010-04-10  Bruno Haible  <bruno@clisp.org>
15016
15017         vasnprintf: Fix crash in %ls directive.
15018         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
15019         string is passed as argument to %ls, with no precision and no width.
15020         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15021
15022 2010-04-10  Bruno Haible  <bruno@clisp.org>
15023
15024         vasnprintf: Fix multiple test failures on mingw.
15025         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
15026         _snprintf, or snwprintf, not _snwprintf.
15027
15028 2010-04-10  Bruno Haible  <bruno@clisp.org>
15029
15030         write: Fix a C++ test error on mingw.
15031         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
15032
15033 2010-04-10  Bruno Haible  <bruno@clisp.org>
15034
15035         vasnprintf test: Reduce code duplication.
15036         * tests/test-vasnprintf.c (test_function): New function, extracted from
15037         test_vasnprintf.
15038         (test_vasnprintf, test_asnprintf): Invoke it.
15039
15040 2010-04-10  Bruno Haible  <bruno@clisp.org>
15041
15042         strnlen: Fix warning in C++ mode on MacOS X.
15043         * lib/string.in.h (strnlen): Use the modern idiom.
15044         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
15045         defining strnlen as a macro already in <config.h>.
15046         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15047         REPLACE_STRNLEN.
15048         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
15049         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15050
15051 2010-04-08  James Youngman  <jay@gnu.org>
15052
15053         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
15054         the example.
15055
15056 2010-04-09  Jim Meyering  <meyering@redhat.com>
15057
15058         maint.mk: print better diagnostic when there is no $(_hv_file)
15059         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
15060         announce that when $(_hv_file) (aka help-version) does not exist.
15061
15062         init.sh: run tr in the "C" locale to avoid multibyte interpretation
15063         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
15064         not try to interpret its random input bytes.  Jarno Rajahalme reported
15065         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
15066         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
15067         (mktempd_): Likewise, just in case.
15068
15069         ftruncate: add two years to projected module removal date: 2012
15070         * m4/ftruncate.m4: Adjust comments.
15071
15072         ftruncate: mark module as obsolete; even MinGW provides it, now
15073         * modules/ftruncate (Status): Obsolete.
15074         (Notice): Say that.
15075         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
15076         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
15077
15078 2010-04-08  Bruno Haible  <bruno@clisp.org>
15079
15080         Fix side effects from tests-related modules.
15081         * modules/dprintf-posix (Comment): New section.
15082         * modules/fprintf-posix (Comment): Likewise.
15083         * modules/obstack-printf-posix (Comment): Likewise.
15084         * modules/printf-posix (Comment): Likewise.
15085         * modules/snprintf-posix (Comment): Likewise.
15086         * modules/sprintf-posix (Comment): Likewise.
15087         * modules/vasnprintf-posix (Comment): Likewise.
15088         * modules/vasprintf-posix (Comment): Likewise.
15089         * modules/vdprintf-posix (Comment): Likewise.
15090         * modules/vfprintf-posix (Comment): Likewise.
15091         * modules/vprintf-posix (Comment): Likewise.
15092         * modules/vsnprintf-posix (Comment): Likewise.
15093         * modules/vsprintf-posix (Comment): Likewise.
15094         * modules/xprintf-posix (Comment): Likewise.
15095         * modules/xvasprintf-posix (Comment): Likewise.
15096         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
15097         * modules/floorf-tests (Depends-on): Likewise.
15098         * modules/round-tests (Depends-on): Likewise.
15099         * modules/roundf-tests (Depends-on): Likewise.
15100         * modules/trunc-tests (Depends-on): Likewise.
15101         * modules/truncf-tests (Depends-on): Likewise.
15102         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
15103         'fprintf-posix' module is not present.
15104         * tests/test-floorf2.c (check): Likewise.
15105         * tests/test-trunc2.c (check): Likewise.
15106         * tests/test-truncf2.c (check): Likewise.
15107         * tests/test-round2.c (equal): Likewise.
15108         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15109
15110 2010-04-07  Karl Berry  <karl@gnu.org>
15111
15112         * config/srclist.txt,
15113         * config/srclistvars.sh,
15114         * config/srclist-update: doc fixes.
15115
15116 2010-04-07  Jim Meyering  <meyering@redhat.com>
15117
15118         maint.mk: add a PATH crosschecking syntax-check rule
15119         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
15120         Useful if you use a test like the one in help-version (coreutils,
15121         diffutils, grep, gzip) that ensures $(VERSION) matches what is
15122         printed by prog --version.
15123
15124 2010-04-06  Bruno Haible  <bruno@clisp.org>
15125
15126         Fix link error on mingw.
15127         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
15128         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
15129
15130 2010-04-06  Bruno Haible  <bruno@clisp.org>
15131
15132         Assume rmdir exists.
15133         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
15134
15135 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
15136
15137         doc: update users.txt
15138         * users.txt: Add gcal.
15139
15140 2010-04-06  Jim Meyering  <meyering@redhat.com>
15141
15142         init.sh: simply unset TMPDIR rather than risking env -i
15143         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
15144         although it probably works fine on all Unix-based systems, some
15145         systems (Cygwin?) cannot tolerate a totally cleared environment.
15146         Suggestion from Eric Blake.
15147
15148 2010-04-06  Jim Meyering  <meyering@redhat.com>
15149
15150         init.sh: portability fix: use env's POSIX-specified -i option not -u
15151         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
15152         than unportable env -u.  Solaris 5.11's env lacks support for -u.
15153
15154 2010-04-05  Bruno Haible  <bruno@clisp.org>
15155
15156         btowc: Work around Cygwin 1.7.2 bug.
15157         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
15158         does not map NUL to 0.
15159         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
15160
15161 2010-04-05  Bruno Haible  <bruno@clisp.org>
15162
15163         Make the multithread modules work on Cygwin 1.7.2.
15164         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
15165         imported symbols can be declared weak, so that it returns "no" on
15166         Cygwin 1.7.2.
15167
15168 2010-04-05  Bruno Haible  <bruno@clisp.org>
15169
15170         Use the module 'strncat'.
15171         * modules/unistr/u8-strncat (Depends-on): Add strncat.
15172
15173         Tests for module 'strncat'.
15174         * modules/strncat-tests: New file.
15175         * tests/test-strncat.c: New file.
15176
15177         New module 'strncat'.
15178         * lib/string.in.h (strncat): New declaration.
15179         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
15180         * m4/strncat.m4: New file, based on m4/memchr.m4.
15181         * modules/strncat: New file.
15182         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
15183         is declared.
15184         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
15185         REPLACE_STRNCAT.
15186         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
15187         REPLACE_STRNCAT.
15188         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
15189         module.
15190         * tests/test-string-c++.cc: Check signature of strncat.
15191
15192 2010-04-05  Jim Meyering  <meyering@redhat.com>
15193
15194         xstrtoumax-tests: convert to use init.sh
15195         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
15196         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15197         Use Exit, not exit.
15198         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15199
15200         xstrtoimax-tests: convert to use init.sh
15201         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
15202         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15203         Use Exit, not exit.
15204         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15205
15206 2010-04-05  Bruno Haible  <bruno@clisp.org>
15207
15208         sys_socket: Avoid #define replacements in C++ mode.
15209         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
15210         warning to the function if possible, rather than #defining the symbol
15211         to a dysfunctional alias.
15212
15213 2010-04-05  Bruno Haible  <bruno@clisp.org>
15214
15215         fseeko: Fix C++ test error on mingw.
15216         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
15217         gl_FUNC_FSEEKO.
15218         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
15219         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
15220         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
15221         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
15222
15223 2010-04-05  Bruno Haible  <bruno@clisp.org>
15224
15225         duplocale: Improve test output.
15226         * tests/test-duplocale.c (main): Print reason for skipped test.
15227
15228 2010-04-05  Bruno Haible  <bruno@clisp.org>
15229
15230         Assume rmdir exists.
15231         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
15232         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
15233
15234 2010-04-05  Bruno Haible  <bruno@clisp.org>
15235
15236         Fix link error on Solaris 8 with cc.
15237         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
15238
15239 2010-04-05  Bruno Haible  <bruno@clisp.org>
15240
15241         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15242         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
15243
15244 2010-04-05  Bruno Haible  <bruno@clisp.org>
15245
15246         vasprintf: Update documentation.
15247         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
15248
15249 2010-04-05  Bruno Haible  <bruno@clisp.org>
15250
15251         ptsname: Improve test.
15252         * tests/test-ptsname.c (main): Also try the various master names of BSD
15253         systems.
15254
15255 2010-04-05  Bruno Haible  <bruno@clisp.org>
15256
15257         memchr: Avoid a possible C++ test error.
15258         * lib/string.in.h (memchr): Provide declaration if function is missing.
15259         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
15260         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
15261         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
15262         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
15263
15264 2010-04-05  Bruno Haible  <bruno@clisp.org>
15265
15266         strtok_r: Improve idiom.
15267         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
15268         AC_LIBOBJ is used.
15269
15270 2010-04-05  Bruno Haible  <bruno@clisp.org>
15271
15272         strdup: Improve idiom.
15273         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
15274         AC_LIBOBJ is used.
15275         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
15276         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
15277         when AC_LIBOBJ is used.
15278
15279 2010-04-05  Bruno Haible  <bruno@clisp.org>
15280
15281         mbsinit, mbrtowc, wcrtomb: Improve idioms.
15282         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
15283         don't set REPLACE_MBSINIT to 1.
15284         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
15285         don't set REPLACE_MBRTOWC to 1.
15286         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
15287         exist, don't set REPLACE_MBSRTOWCS to 1.
15288         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
15289         exist, don't set REPLACE_MBSNRTOWCS to 1.
15290         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
15291         don't set REPLACE_WCRTOMB to 1.
15292         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
15293         exist, don't set REPLACE_WCSRTOMBS to 1.
15294         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
15295         exist, don't set REPLACE_WCSNRTOMBS to 1.
15296
15297 2010-04-05  Bruno Haible  <bruno@clisp.org>
15298
15299         ldexpl: Improve idiom.
15300         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
15301         make sure to set HAVE_DECL_LDEXPL to 0.
15302
15303 2010-04-05  Jim Meyering  <meyering@redhat.com>
15304
15305         xstrtol-tests: convert to use init.sh
15306         * modules/xstrtol-tests (Files): Add tests/init.sh.
15307         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15308         Use Exit, not exit.
15309         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15310
15311         atexit-tests: convert to use init.sh
15312         * modules/atexit-tests (Files): Add tests/init.sh.
15313         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15314         Use Exit, not exit.
15315         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15316
15317         init.sh: fix typo
15318         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
15319
15320         init.sh: make it easier for a test script to write to the tty, ...
15321         when using automake's parallel-tests mode.
15322         * tests/init.sh (stderr_fileno_): Define overridable variable.
15323         (warn_): New function, to use it.
15324         (fail_, skip_, framework_failure_): Use warn_.
15325
15326 2010-04-04  Bruno Haible  <bruno@clisp.org>
15327
15328         btowc: Avoid warning.
15329         * lib/btowc.c: Include <stdlib.h>.
15330         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
15331
15332 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15333             Bruno Haible  <bruno@clisp.org>
15334
15335         wchar: Port to NetBSD 1.5.
15336         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
15337         * lib/wctype.in.h (WEOF): Likewise.
15338
15339 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15340             Bruno Haible  <bruno@clisp.org>
15341
15342         Port extended stdio to NetBSD 1.5.
15343         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
15344         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
15345         older.
15346
15347 2010-04-04  Bruno Haible  <bruno@clisp.org>
15348
15349         string: Remove unused substitution.
15350         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
15351         HAVE_DECL_STRERROR.
15352         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
15353
15354 2010-04-04  Bruno Haible  <bruno@clisp.org>
15355
15356         strtod: Avoid a possible C++ test error.
15357         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
15358         set REPLACE_STRTOD.
15359
15360 2010-04-04  Bruno Haible  <bruno@clisp.org>
15361
15362         strerror: Update documentation.
15363         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
15364
15365 2010-04-04  Bruno Haible  <bruno@clisp.org>
15366
15367         stdio: Fix some C++ test errors on Solaris 8 with GCC.
15368         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
15369         _GL_CXXALIAS_SYS_CAST.
15370
15371 2010-04-04  Bruno Haible  <bruno@clisp.org>
15372
15373         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15374         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
15375         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
15376         REPLACE_FREXPL to 1.
15377         * doc/posix-functions/frexpl.texi: Update documentation.
15378
15379 2010-04-04  Bruno Haible  <bruno@clisp.org>
15380
15381         math: Fix some C++ test errors on Solaris 8 and Cygwin.
15382         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
15383
15384 2010-04-04  Bruno Haible  <bruno@clisp.org>
15385
15386         Implement nanosleep for native Windows.
15387         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
15388
15389 2010-04-04  Bruno Haible  <bruno@clisp.org>
15390
15391         math: Fix some C++ test errors on Solaris 8.
15392         * lib/math.in.h (truncf, trunc): Use simpler idiom.
15393
15394 2010-04-04  Bruno Haible  <bruno@clisp.org>
15395
15396         math: Fix some C++ test errors on Cygwin.
15397         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
15398         truncl): Provide declaration if the system does not have it.
15399         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
15400         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
15401         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
15402         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
15403         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
15404         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
15405         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
15406         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
15407         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
15408         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
15409         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
15410         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
15411         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
15412         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
15413         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
15414         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
15415         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
15416         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15417         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15418         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
15419         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15420         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15421
15422 2010-04-04  Bruno Haible  <bruno@clisp.org>
15423
15424         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
15425         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15426         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15427         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
15428         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
15429         * m4/isinf.m4 (gl_ISINF): Likewise.
15430         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15431
15432 2010-04-04  Bruno Haible  <bruno@clisp.org>
15433
15434         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
15435         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15436
15437 2010-04-04  Bruno Haible  <bruno@clisp.org>
15438
15439         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
15440         * modules/tmpfile (configure.ac): Update.
15441
15442         tmpfile: Fix C++ test error on mingw.
15443         * lib/stdio.in.h (tmpfile): New declaration.
15444         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
15445         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
15446         * modules/tmpfile (Depends-on): Add stdio.
15447         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
15448         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
15449         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
15450         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
15451         REPLACE_TMPFILE.
15452         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
15453
15454 2010-04-04  Bruno Haible  <bruno@clisp.org>
15455
15456         ioctl: Fix C++ test error on mingw.
15457         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
15458         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
15459         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
15460
15461 2010-04-03  Bruno Haible  <bruno@clisp.org>
15462
15463         wcwidth: Fix C++ test error on mingw.
15464         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
15465         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
15466         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
15467
15468 2010-04-03  Bruno Haible  <bruno@clisp.org>
15469
15470         nanosleep: Fix C++ test error on mingw.
15471         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
15472         * lib/time.in.h (nanosleep): Use modern idiom.
15473         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
15474         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
15475         REPLACE_NANOSLEEP to 1.
15476         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
15477         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
15478
15479 2010-04-03  Bruno Haible  <bruno@clisp.org>
15480
15481         strptime: Fix C++ test error on mingw.
15482         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
15483         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
15484         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
15485         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
15486         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
15487         not REPLACE_STRPTIME.
15488         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
15489         REPLACE_STRPTIME.
15490
15491 2010-04-03  Bruno Haible  <bruno@clisp.org>
15492
15493         timegm: Fix C++ test error on mingw.
15494         * lib/time.in.h (timegm): Use modern idiom.
15495         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
15496         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
15497         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
15498         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
15499
15500 2010-04-03  Bruno Haible  <bruno@clisp.org>
15501
15502         timegm: Assume declaration if function exists.
15503         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
15504         if it exists. Don't clobber ac_cv_func_timegm.
15505
15506 2010-04-03  Bruno Haible  <bruno@clisp.org>
15507
15508         time_r: Fix C++ test error on mingw.
15509         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
15510         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
15511         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
15512         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
15513         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
15514
15515 2010-04-03  Bruno Haible  <bruno@clisp.org>
15516
15517         time_r: Minor updates.
15518         * modules/time_r (Description): Mention the provided functions.
15519         * lib/time_r.c: Don't include <string.h>.
15520         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
15521         * doc/posix-functions/localtime_r.texi: Likewise.
15522
15523 2010-04-03  Bruno Haible  <bruno@clisp.org>
15524
15525         time: Fix regression introduced on 2010-03-08.
15526         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
15527         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
15528
15529 2010-04-03  Jim Meyering  <meyering@redhat.com>
15530
15531         maint.mk: don't silently disable project-specific syntax-check rules
15532         * top/maint.mk (_prohibit_regexp): Define, to help people realize
15533         that they need to convert their project-specific syntax-check rules
15534         to use the new _sc_search_regexp.
15535
15536 2010-04-03  Bruno Haible  <bruno@clisp.org>
15537
15538         fchdir: Fix regression introduced on 2010-03-08.
15539         * lib/unistd.in.h (fchdir): Fix declaration.
15540         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
15541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
15542         REPLACE_FCHDIR.
15543         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
15544         REPLACE_FCHDIR.
15545
15546 2010-04-03  Bruno Haible  <bruno@clisp.org>
15547
15548         getpagesize: Fix C++ test error on mingw.
15549         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
15550         system does not declare the function.
15551         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
15552         declared.
15553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15554         HAVE_DECL_GETPAGESIZE.
15555         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
15556
15557 2010-04-03  Bruno Haible  <bruno@clisp.org>
15558
15559         stdio: Make C++ tests work on mingw.
15560         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
15561         does not declare the function.
15562
15563 2010-04-03  Bruno Haible  <bruno@clisp.org>
15564
15565         ftello: Fix C++ test error on mingw.
15566         * lib/stdio.in.h (ftello): Use modern idiom.
15567         * lib/ftello.c (ftello): Renamed from rpl_ftello.
15568         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
15569         is missing and that it needs to be replaced.
15570         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
15571         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
15572         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
15573
15574 2010-04-03  Bruno Haible  <bruno@clisp.org>
15575
15576         fseeko: Fix C++ test error on mingw.
15577         * lib/stdio.in.h (fseeko): Use modern idiom.
15578         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
15579         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
15580         is missing and that it needs to be replaced.
15581         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
15582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
15583         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
15584
15585 2010-04-03  Bruno Haible  <bruno@clisp.org>
15586
15587         mkstemp: Fix C++ test error on mingw.
15588         * lib/stdlib.in.h (mkstemp): Use modern idiom.
15589         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
15590         function is missing and that it needs to be replaced.
15591         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
15592         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
15593
15594 2010-04-03  Bruno Haible  <bruno@clisp.org>
15595
15596         stpncpy: Fix C++ test error on mingw.
15597         * lib/string.in.h (stpncpy): Use modern idiom.
15598         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
15599         function is missing and that it needs to be replaced.
15600         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15601         REPLACE_STPNCPY.
15602         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
15603
15604 2010-04-03  Bruno Haible  <bruno@clisp.org>
15605
15606         sys_stat: Fix C++ test error on mingw.
15607         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
15608         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
15609
15610 2010-04-03  Bruno Haible  <bruno@clisp.org>
15611
15612         pty: Update doc.
15613         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
15614
15615 2010-04-03  Bruno Haible  <bruno@clisp.org>
15616
15617         unistd: Fix C++ test error on mingw.
15618         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
15619
15620 2010-04-03  Bruno Haible  <bruno@clisp.org>
15621
15622         Update doc regarding mingw.
15623         * doc/glibc-functions/openpty.texi: Update regarding mingw.
15624         * doc/glibc-functions/login_tty.texi: Likewise.
15625         * doc/glibc-functions/forkpty.texi: Likewise.
15626
15627 2010-04-03  Bruno Haible  <bruno@clisp.org>
15628
15629         stdlib: Avoid compilation failure of c-strtold on mingw.
15630         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
15631
15632 2010-04-03  Bruno Haible  <bruno@clisp.org>
15633
15634         locale: Make C++ tests work on Cygwin and mingw.
15635         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
15636         cannot provide the function.
15637         Reported by Simon Josefsson.
15638
15639 2010-04-03  Bruno Haible  <bruno@clisp.org>
15640
15641         localename: Port to MacOS X 10.6.
15642         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
15643         memory layout of the locales in MacOS X 10.6 as well.
15644         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
15645
15646 2010-04-02  Bruno Haible  <bruno@clisp.org>
15647
15648         gnulib-tool: Ensure that long-running tests are executed last.
15649         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
15650         running tests after the one for the other tests.
15651
15652 2010-04-02  Bruno Haible  <bruno@clisp.org>
15653
15654         gnulib-tool: Ensure the tests in the main directory are executed first.
15655         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
15656         start with the current directory.
15657
15658 2010-04-02  Bruno Haible  <bruno@clisp.org>
15659
15660         Tests for module 'havelib', moved here from GNU gettext.
15661         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
15662         modifications.
15663         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
15664         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
15665         with modifications.
15666         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
15667         modifications.
15668         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
15669         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
15670         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
15671         with modifications.
15672         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
15673         with modifications.
15674         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
15675         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
15676         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
15677         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
15678         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
15679         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
15680         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
15681         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
15682         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
15683         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
15684         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
15685         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
15686         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
15687         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
15688         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
15689         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
15690         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
15691         with modifications.
15692         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
15693         with modifications.
15694         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
15695         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
15696         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
15697         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
15698         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
15699         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
15700         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
15701         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
15702         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
15703         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
15704         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
15705         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
15706         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
15707         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
15708         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
15709         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
15710         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
15711         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
15712         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
15713         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
15714         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
15715         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
15716         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
15717         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
15718         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
15719         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
15720         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
15721         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
15722         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
15723         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
15724         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
15725         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
15726         * tests/havelib/rpathx/rpathx.c: New file, from
15727         gettext/autoconf-lib-link.
15728         * tests/havelib/rpathx/Makefile.am: New file, from
15729         gettext/autoconf-lib-link.
15730         * tests/havelib/rpathx/configure.ac: New file, from
15731         gettext/autoconf-lib-link with modifications.
15732         * tests/havelib/rpathy/rpathy.c: New file, from
15733         gettext/autoconf-lib-link.
15734         * tests/havelib/rpathy/Makefile.am: New file, from
15735         gettext/autoconf-lib-link.
15736         * tests/havelib/rpathy/configure.ac: New file, from
15737         gettext/autoconf-lib-link with modifications.
15738         * tests/havelib/rpathz/rpathz.c: New file, from
15739         gettext/autoconf-lib-link.
15740         * tests/havelib/rpathz/Makefile.am: New file, from
15741         gettext/autoconf-lib-link.
15742         * tests/havelib/rpathz/configure.ac: New file, from
15743         gettext/autoconf-lib-link with modifications.
15744         * tests/havelib/rpathlx/usex.c: New file, from
15745         gettext/autoconf-lib-link.
15746         * tests/havelib/rpathlx/Makefile.am: New file, from
15747         gettext/autoconf-lib-link.
15748         * tests/havelib/rpathlx/configure.ac: New file, from
15749         gettext/autoconf-lib-link with modifications.
15750         * tests/havelib/rpathly/usey.c: New file, from
15751         gettext/autoconf-lib-link.
15752         * tests/havelib/rpathly/Makefile.am: New file, from
15753         gettext/autoconf-lib-link.
15754         * tests/havelib/rpathly/configure.ac: New file, from
15755         gettext/autoconf-lib-link with modifications.
15756         * tests/havelib/rpathlz/usez.c: New file, from
15757         gettext/autoconf-lib-link.
15758         * tests/havelib/rpathlz/Makefile.am: New file, from
15759         gettext/autoconf-lib-link.
15760         * tests/havelib/rpathlz/configure.ac: New file, from
15761         gettext/autoconf-lib-link with modifications.
15762         * tests/havelib/rpathlyx/usey.c: New file, from
15763         gettext/autoconf-lib-link.
15764         * tests/havelib/rpathlyx/Makefile.am: New file, from
15765         gettext/autoconf-lib-link.
15766         * tests/havelib/rpathlyx/configure.ac: New file, from
15767         gettext/autoconf-lib-link with modifications.
15768         * tests/havelib/rpathlzyx/usez.c: New file, from
15769         gettext/autoconf-lib-link.
15770         * tests/havelib/rpathlzyx/Makefile.am: New file, from
15771         gettext/autoconf-lib-link.
15772         * tests/havelib/rpathlzyx/configure.ac: New file, from
15773         gettext/autoconf-lib-link with modifications.
15774         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
15775         with modifications.
15776
15777 2010-04-02  Bruno Haible  <bruno@clisp.org>
15778
15779         gnulib-tool: Create distributed built sources also for the tests.
15780         * gnulib-tool (func_create_testdir): Also generate distributed built
15781         sources in the tests directory.
15782
15783 2010-04-02  Bruno Haible  <bruno@clisp.org>
15784
15785         gnulib-tool: Obey user's environment variables.
15786         * gnulib-tool (func_create_testdir): When creating built sources,
15787         respect the environment variables for autoconf, automake, etc. given by
15788         the user.
15789
15790 2010-04-02  Bruno Haible  <bruno@clisp.org>
15791
15792         gnulib-tool: Provide the value of --m4-base to modules.
15793         * gnulib-tool (func_import, func_create_testdir): Emit a definition
15794         of gl_m4_base.
15795
15796 2010-04-02  Eric Blake  <eblake@redhat.com>
15797
15798         maint.mk: fix some fallout
15799         * NEWS: Document the incompatible change, and its effect on cfg.mk.
15800         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
15801
15802 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15803
15804         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
15805         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
15806         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
15807         (sc_cast_of_x_alloc_return_value): Likewise.
15808         (sc_cast_of_alloca_return_value): Likewise.
15809         (sc_space_tab): Likewise.
15810         (sc_prohibit_atoi_atof): Likewise.
15811         (sc_prohibit_magic_number_exit): Likewise.
15812         (sc_error_exit_success): Likewise.
15813         (sc_file_system): Likewise.
15814         (sc_prohibit_have_config_h): Likewise.
15815         (sc_require_config_h): Likewise.
15816         (sc_prohibit_HAVE_MBRTOWC): Likewise.
15817         (sc_obsolete_symbols): Likewise.
15818         (sc_changelog): Likewise.
15819         (sc_program_name): Likewise.
15820         (sc_the_the): Likewise.
15821         (sc_trailing_blank): Likewise.
15822         (sc_two_space_separator_in_usage): Likewise.
15823         (sc_useless_cpp_parens): Likewise.
15824         (sc_GPL_version): Likewise.
15825         (sc_GFDL_version): Likewise.
15826         (sc_texinfo_acronym): Likewise.
15827         (sc_prohibit_cvs_keyword): Likewise.
15828         (sc_prohibit_stat_st_blocks): Likewise.
15829         (sc_prohibit_S_IS_definition): Likewise.
15830         (sc_redundant_const): Likewise.
15831         (sc_makefile_TAB_only_indentation): Likewise.
15832         (sc_m4_quote_check): Likewise.
15833         (sc_makefile_path_separator_check): Likewise.
15834         (sc_copyright_check): Likewise.
15835         (sc_Wundef_boolean): Likewise.
15836         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
15837
15838         maint.mk: match 0 or more whitespace-before-function-call '('
15839         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
15840         that have zero or two-and-more spaces between the function name
15841         and the open parenthesis.
15842         (sc_error_message_warn_fatal): Likewise.
15843         (sc_error_message_uppercase): Likewise.
15844         (sc_error_message_period): Likewise.
15845
15846 2010-03-31  Eric Blake  <eblake@redhat.com>
15847
15848         maint.mk: check for [ as well as test
15849         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
15850         Based on a libvirt report by Matthias Bolte.
15851
15852         gnumakefile: don't squelch _version output
15853         * top/GNUmakefile (_version): Create one-shot dependency rather
15854         than using $(shell) when version must be regenerated.
15855         (_autoreconf): Run verbosely, by default.
15856
15857         sys_time: avoid compiler warnings
15858         * lib/sys_time.in.h (includes): Ensure gcc pragma is
15859         unconditional, fixing regression from 2010-03-29.
15860         Reported by Simon Josefsson.
15861
15862 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15863
15864         maint.mk: s/_header_without_use/_sc_header_without_use/
15865         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
15866         (sc_prohibit_assert_without_use): Use the new name.
15867         (sc_prohibit_close_stream_without_use): Likewise.
15868         (sc_prohibit_getopt_without_use): Likewise.
15869         (sc_prohibit_quotearg_without_use): Likewise.
15870         (sc_prohibit_quote_without_use): Likewise.
15871         (sc_prohibit_long_options_without_use): Likewise.
15872         (sc_prohibit_inttostr_without_use): Likewise.
15873         (sc_prohibit_ignore_value_without_use): Likewise.
15874         (sc_prohibit_error_without_use): Likewise.
15875         (sc_prohibit_xalloc_without_use): Likewise.
15876         (sc_prohibit_hash_without_use): Likewise.
15877         (sc_prohibit_hash_pjw_without_use): Likewise.
15878         (sc_prohibit_safe_read_without_use): Likewise.
15879         (sc_prohibit_argmatch_without_use): Likewise.
15880         (sc_prohibit_canonicalize_without_use): Likewise.
15881         (sc_prohibit_root_dev_ino_without_use): Likewise.
15882         (sc_prohibit_openat_without_use): Likewise.
15883         (sc_prohibit_c_ctype_without_use): Likewise.
15884         (sc_prohibit_signal_without_use): Likewise.
15885         (sc_prohibit_intprops_without_use): Likewise.
15886
15887 2010-03-30  Eric Blake  <eblake@redhat.com>
15888
15889         maint: improve module indicators
15890         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
15891         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
15892         columns, and avoid extra macro expansion.
15893
15894         fdopendir: work around FreeBSD bug
15895         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
15896         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
15897         * modules/dirent (Makefile.am): Substitute it.
15898         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
15899         declaration.
15900         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
15901         fix.
15902         Reported by Christian Weisgerber <naddy@mips.inka.de>.
15903
15904 2010-03-29  Bruno Haible  <bruno@clisp.org>
15905
15906         Emit #pragma system_header after the inclusion guard, not before.
15907         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
15908         guard that spans the entire file, not before. This enables an
15909         optimization in GCC's preprocessor.
15910         * lib/ctype.in.h: Likewise.
15911         * lib/dirent.in.h: Likewise.
15912         * lib/errno.in.h: Likewise.
15913         * lib/float.in.h: Likewise.
15914         * lib/getopt.in.h: Likewise.
15915         * lib/iconv.in.h: Likewise.
15916         * lib/langinfo.in.h: Likewise.
15917         * lib/locale.in.h: Likewise.
15918         * lib/math.in.h: Likewise.
15919         * lib/netdb.in.h: Likewise.
15920         * lib/netinet_in.in.h: Likewise.
15921         * lib/pty.in.h: Likewise.
15922         * lib/sched.in.h: Likewise.
15923         * lib/se-selinux.in.h: Likewise.
15924         * lib/search.in.h: Likewise.
15925         * lib/spawn.in.h: Likewise.
15926         * lib/stdarg.in.h: Likewise.
15927         * lib/stdint.in.h: Likewise.
15928         * lib/string.in.h: Likewise.
15929         * lib/strings.in.h: Likewise.
15930         * lib/sys_file.in.h: Likewise.
15931         * lib/sys_ioctl.in.h: Likewise.
15932         * lib/sys_time.in.h: Likewise.
15933         * lib/sys_times.in.h: Likewise.
15934         * lib/sys_utsname.in.h: Likewise.
15935         * lib/sys_wait.in.h: Likewise.
15936         * lib/sysexits.in.h: Likewise.
15937         * lib/wctype.in.h: Likewise.
15938
15939 2010-03-28  James Youngman  <jay@gnu.org>
15940
15941         save-cwd: don't leak a file descriptor when the caller execs.
15942         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
15943         saved file descriptor.
15944         * modules/save-cwd (Depends-on): Depend on cloexec.
15945
15946 2010-03-29  Bruno Haible  <bruno@clisp.org>
15947
15948         Remove vestiges of fts-lgpl module.
15949         * lib/fts_.h: Assume GNULIB_FTS is 1.
15950         * lib/fts.c: Likewise.
15951         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15952
15953 2010-03-28  Bruno Haible  <bruno@clisp.org>
15954
15955         Fix definition of tests witness macro.
15956         * gnulib-tool (func_import): Fix definition of witness macro.
15957
15958 2010-03-28  Bruno Haible  <bruno@clisp.org>
15959
15960         Fix ioctl's protoype on glibc systems.
15961         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
15962         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
15963         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
15964         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
15965         signature. If not, arrange to replace the ioctl function.
15966         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
15967         REPLACE_IOCTL.
15968         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
15969         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
15970         Reported by Ludovic Courtès <ludo@gnu.org>.
15971
15972 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
15973
15974         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
15975         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
15976         made it so grep -r --include=GLOB* ... did not work.
15977
15978 2010-03-26  Jim Meyering  <meyering@redhat.com>
15979             Eric Blake  <eblake@redhat.com>
15980
15981         maint.mk: prohibit use of test's -o and -a operators
15982         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
15983
15984 2010-03-28  Bruno Haible  <bruno@clisp.org>
15985
15986         Remove unused GNULIB_XYZ macro definitions.
15987         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
15988         invocation.
15989
15990 2010-03-28  Bruno Haible  <bruno@clisp.org>
15991
15992         Mark privileged tests modules.
15993         * modules/idpriv-drop-tests (Status): New section.
15994         * modules/idpriv-droptemp-tests (Status): New section.
15995
15996 2010-03-28  Bruno Haible  <bruno@clisp.org>
15997
15998         Split C++ tests into separate tests modules.
15999         * modules/dirent-c++-tests: New file, extracted from
16000         modules/dirent-tests.
16001         * modules/dirent-tests: Depend on it.
16002         * modules/fcntl-h-c++-tests: New file, extracted from
16003         modules/fcntl-h-tests.
16004         * modules/fcntl-h-tests: Depend on it.
16005         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
16006         * modules/glob-tests: Depend on it.
16007         * modules/iconv-h-c++-tests: New file, extracted from
16008         modules/iconv-h-tests.
16009         * modules/iconv-h-tests: Depend on it.
16010         * modules/langinfo-c++-tests: New file, extracted from
16011         modules/langinfo-tests.
16012         * modules/langinfo-tests: Depend on it.
16013         * modules/locale-c++-tests: New file, extracted from
16014         modules/locale-tests.
16015         * modules/locale-tests: Depend on it.
16016         * modules/math-c++-tests: New file, extracted from modules/math-tests.
16017         * modules/math-tests: Depend on it.
16018         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
16019         * modules/pty-tests: Depend on it.
16020         * modules/search-c++-tests: New file, extracted from
16021         modules/search-tests.
16022         * modules/search-tests: Depend on it.
16023         * modules/signal-c++-tests: New file, extracted from
16024         modules/signal-tests.
16025         * modules/signal-tests: Depend on it.
16026         * modules/spawn-c++-tests: New file, extracted from
16027         modules/spawn-tests.
16028         * modules/spawn-tests: Depend on it.
16029         * modules/stdio-c++-tests: New file, extracted from
16030         modules/stdio-tests.
16031         * modules/stdio-tests: Depend on it.
16032         * modules/stdlib-c++-tests: New file, extracted from
16033         modules/stdlib-tests.
16034         * modules/stdlib-tests: Depend on it.
16035         * modules/string-c++-tests: New file, extracted from
16036         modules/string-tests.
16037         * modules/string-tests: Depend on it.
16038         * modules/sys_ioctl-c++-tests: New file, extracted from
16039         modules/sys_ioctl-tests.
16040         * modules/sys_ioctl-tests: Depend on it.
16041         * modules/sys_select-c++-tests: New file, extracted from
16042         modules/sys_select-tests.
16043         * modules/sys_select-tests: Depend on it.
16044         * modules/sys_socket-c++-tests: New file, extracted from
16045         modules/sys_socket-tests.
16046         * modules/sys_socket-tests: Depend on it.
16047         * modules/sys_stat-c++-tests: New file, extracted from
16048         modules/sys_stat-tests.
16049         * modules/sys_stat-tests: Depend on it.
16050         * modules/sys_time-c++-tests: New file, extracted from
16051         modules/sys_time-tests.
16052         * modules/sys_time-tests: Depend on it.
16053         * modules/time-c++-tests: New file, extracted from modules/time-tests.
16054         * modules/time-tests: Depend on it.
16055         * modules/unistd-c++-tests: New file, extracted from
16056         modules/unistd-tests.
16057         * modules/unistd-tests: Depend on it.
16058         * modules/wchar-c++-tests: New file, extracted from
16059         modules/wchar-tests.
16060         * modules/wchar-tests: Depend on it.
16061         * modules/wctype-c++-tests: New file, extracted from
16062         modules/wctype-tests.
16063         * modules/wctype-tests: Depend on it.
16064         Reported by Simon Josefsson.
16065
16066 2010-03-28  Bruno Haible  <bruno@clisp.org>
16067
16068         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
16069         * gnulib-tool (func_exists_module): New function, extracted from
16070         func_verify_module.
16071         (func_verify_module): Use it.
16072         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
16073         'foo' only if 'foo' exists.
16074         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
16075         module.
16076
16077 2010-03-28  Bruno Haible  <bruno@clisp.org>
16078
16079         gnulib-tool: Add support for special categories of tests.
16080         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
16081         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
16082         (func_usage): Document them.
16083         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
16084         inc_unportable_tests, inc_all_tests): New variables.
16085         (func_acceptable): Consider these variables.
16086         (func_modules_transitive_closure): Make it work when the 'Status' field
16087         consists of multiple words.
16088         (func_import): Store and restore the values of inc_cxx_tests,
16089         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
16090         inc_all_tests in gnulib-comp.m4.
16091         (func_create_testdir): Set inc_all_tests to true.
16092         * doc/gnulib.texi (Extra tests modules): New section.
16093         Suggested by Jim Meyering.
16094
16095 2010-03-28  Bruno Haible  <bruno@clisp.org>
16096
16097         ansi-c++-opt: Allow turning off the C++ build by default.
16098         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
16099         gl_CXX_CHOICE_DEFAULT_NO is defined.
16100         Requested by Eric Blake.
16101
16102 2010-03-28  Bruno Haible  <bruno@clisp.org>
16103
16104         unistd: Avoid #define replacements in C++ mode.
16105         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16106         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16107         setsockopt, shutdown, select): In C++, attach a warning to the function
16108         if possible, rather than #defining the symbol to a dysfunctional alias.
16109         Reported by John W. Eaton <jwe@gnu.org>.
16110
16111 2010-03-28  Bruno Haible  <bruno@clisp.org>
16112
16113         Fix link errors on mingw.
16114         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
16115         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
16116         $(LIBSOCKET).
16117         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
16118         $(LIBSOCKET).
16119
16120 2010-03-28  Bruno Haible  <bruno@clisp.org>
16121             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16122
16123         lib-ignore: Determine different options for different compilers.
16124         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
16125         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
16126         Add comments.
16127         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
16128         * NEWS: Mention the change.
16129
16130 2010-03-27  Bruno Haible  <bruno@clisp.org>
16131
16132         Remove unused GNULIB_XYZ macro definitions.
16133         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
16134         * modules/fseek (configure.ac): Likewise.
16135         * modules/ioctl (configure.ac): Likewise.
16136         * modules/open (configure.ac): Likewise.
16137         * modules/stdlib-safer (configure.ac): Likewise.
16138
16139 2010-03-27  Bruno Haible  <bruno@clisp.org>
16140
16141         Add a remark about certain modules.
16142         * modules/malloc (Comment): New section.
16143         * modules/realloc (Comment): Likewise.
16144         * modules/sigpipe (Comment): Likewise.
16145
16146 2010-03-27  Bruno Haible  <bruno@clisp.org>
16147
16148         Resolve conflict between the two kinds of module indicators.
16149         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
16150         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
16151         * modules/canonicalize (configure.ac): Invoke
16152         gl_MODULE_INDICATOR_FOR_TESTS.
16153         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
16154         GNULIB_XYZ.
16155         * tests/test-dirent-c++.cc: Likewise.
16156         * tests/test-dirent-safer.c: Likewise.
16157         * tests/test-dup2.c: Likewise.
16158         * tests/test-fchdir.c: Likewise.
16159         * tests/test-fcntl-h-c++.cc: Likewise.
16160         * tests/test-getopt.c: Likewise.
16161         * tests/test-getopt.h: Likewise.
16162         * tests/test-langinfo-c++.cc: Likewise.
16163         * tests/test-locale-c++.cc: Likewise.
16164         * tests/test-math-c++.cc: Likewise.
16165         * tests/test-pty-c++.cc: Likewise.
16166         * tests/test-search-c++.cc: Likewise.
16167         * tests/test-signal-c++.cc: Likewise.
16168         * tests/test-spawn-c++.cc: Likewise.
16169         * tests/test-stdio-c++.cc: Likewise.
16170         * tests/test-stdlib-c++.cc: Likewise.
16171         * tests/test-string-c++.cc: Likewise.
16172         * tests/test-sys_ioctl-c++.cc: Likewise.
16173         * tests/test-sys_select-c++.cc: Likewise.
16174         * tests/test-sys_socket-c++.cc: Likewise.
16175         * tests/test-sys_stat-c++.cc: Likewise.
16176         * tests/test-sys_time-c++.cc: Likewise.
16177         * tests/test-time-c++.cc: Likewise.
16178         * tests/test-unistd-c++.cc: Likewise.
16179         * tests/test-wchar-c++.cc: Likewise.
16180         * tests/uninorm/test-u8-nfc.c: Likewise.
16181         * tests/uninorm/test-u8-nfd.c: Likewise.
16182         * tests/uninorm/test-u8-nfkc.c: Likewise.
16183         * tests/uninorm/test-u8-nfkd.c: Likewise.
16184         * tests/uninorm/test-u16-nfc.c: Likewise.
16185         * tests/uninorm/test-u16-nfd.c: Likewise.
16186         * tests/uninorm/test-u16-nfkc.c: Likewise.
16187         * tests/uninorm/test-u16-nfkd.c: Likewise.
16188         * tests/uninorm/test-u32-nfc.c: Likewise.
16189         * tests/uninorm/test-u32-nfc-big.c: Likewise.
16190         * tests/uninorm/test-u32-nfd.c: Likewise.
16191         * tests/uninorm/test-u32-nfd-big.c: Likewise.
16192         * tests/uninorm/test-u32-nfkc.c: Likewise.
16193         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
16194         * tests/uninorm/test-u32-nfkd.c: Likewise.
16195         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
16196         * tests/uninorm/test-u32-normalize-big.c: Likewise.
16197
16198 2010-03-27  Bruno Haible  <bruno@clisp.org>
16199
16200         Distinguish two kinds of module indicators.
16201         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
16202         gl_MODULE_INDICATOR.
16203         (gl_MODULE_INDICATOR): New macro.
16204         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16205         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
16206         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16207         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16208         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16209         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16210         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16211         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16212         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16213         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16214         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16215         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16216         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16217         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16218         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16219         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16220         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16221         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16222         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16223         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16224         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16225         * modules/cloexec (configure.ac): Likewise.
16226         * modules/getopt-gnu (configure.ac): Likewise.
16227         * modules/uninorm/u8-normalize (configure.ac): Likewise.
16228         * modules/uninorm/u16-normalize (configure.ac): Likewise.
16229         * modules/uninorm/u32-normalize (configure.ac): Likewise.
16230         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
16231
16232 2010-03-27  Bruno Haible  <bruno@clisp.org>
16233
16234         New module description field 'Comment'.
16235         * gnulib-tool: New option --extract-comment.
16236         (func_usage): Document it.
16237         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
16238         (func_get_comment): New function.
16239         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
16240
16241 2010-03-27  Bruno Haible  <bruno@clisp.org>
16242
16243         Addendum to 2010-02-07 commit.
16244         * gnulib-tool (func_usage): Document --extract-applicability option.
16245
16246 2010-03-27  Bruno Haible  <bruno@clisp.org>
16247
16248         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
16249         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
16250         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
16251         rather than link errors.
16252
16253 2010-03-27  Bruno Haible  <bruno@clisp.org>
16254
16255         Avoid side effects from tests-related modules on the compilation of lib.
16256         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
16257         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
16258         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
16259         parameter. Emit into AM_CPPFLAGS a definition of the designated C
16260         macro.
16261         (func_import): Define a witness macro. Assign it a value that depends
16262         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
16263         tests-related modules.
16264         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
16265         Reported by Jim Meyering.
16266
16267 2010-03-27  Bruno Haible  <bruno@clisp.org>
16268
16269         Factorize common .m4 code.
16270         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
16271         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
16272         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
16273         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
16274         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16275         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
16276         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
16277         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16278         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16279         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16280         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
16281         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16282         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16283         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16284         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16285         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
16286         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16287         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16288         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16289         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
16290         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
16291         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16292         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16293         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16294         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16295         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16296         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
16297         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
16298         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
16299         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16300         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16301         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16302
16303 2010-03-27  Bruno Haible  <bruno@clisp.org>
16304
16305         Fix a compilation error on Cygwin with g++ >= 4.3.
16306         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
16307         if it is undefined or if we alias it to chmod.
16308         (lstat): Don't warn about the use of this function if it is undefined
16309         or if we alias it to stat.
16310         Reported by Simon Josefsson.
16311
16312 2010-03-27  Bruno Haible  <bruno@clisp.org>
16313
16314         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
16315         * modules/getlogin (configure.ac): Update.
16316
16317         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
16318         * modules/getlogin_r (configure.ac): Update.
16319
16320         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
16321         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
16322         * modules/inet_ntop (configure.ac): Update.
16323
16324         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
16325         * modules/inet_pton (configure.ac): Update.
16326
16327         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
16328         * modules/mbslen (configure.ac): Update.
16329
16330         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
16331         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
16332         * modules/forkpty (configure.ac): Update.
16333         * modules/openpty (configure.ac): Update.
16334
16335 2010-03-26  Simon Josefsson  <simon@josefsson.org>
16336
16337         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
16338         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
16339
16340 2010-03-25  Eric Blake  <eblake@redhat.com>
16341
16342         maint: use pragma consistently across replacement headers
16343         * lib/ctype.in.h (system_header): Hoist for consistent placement.
16344         * lib/dirent.in.h (system_header): Likewise.
16345         * lib/errno.in.h (system_header): Likewise.
16346         * lib/float.in.h (system_header): Likewise.
16347         * lib/getopt.in.h (system_header): Likewise.
16348         * lib/iconv.in.h (system_header): Likewise.
16349         * lib/inttypes.in.h (system_header): Likewise.
16350         * lib/langinfo.in.h (system_header): Likewise.
16351         * lib/locale.in.h (system_header): Likewise.
16352         * lib/math.in.h (system_header): Likewise.
16353         * lib/netdb.in.h (system_header): Likewise.
16354         * lib/netinet_in.in.h (system_header): Likewise.
16355         * lib/pty.in.h (system_header): Likewise.
16356         * lib/sched.in.h (system_header): Likewise.
16357         * lib/se-selinux.in.h (system_header): Likewise.
16358         * lib/search.in.h (system_header): Likewise.
16359         * lib/spawn.in.h (system_header): Likewise.
16360         * lib/stdarg.in.h (system_header): Likewise.
16361         * lib/stdint.in.h (system_header): Likewise.
16362         * lib/string.in.h (system_header): Likewise.
16363         * lib/strings.in.h (system_header): Likewise.
16364         * lib/sys_file.in.h (system_header): Likewise.
16365         * lib/sys_ioctl.in.h (system_header): Likewise.
16366         * lib/sys_socket.in.h (system_header): Likewise.
16367         * lib/sys_times.in.h (system_header): Likewise.
16368         * lib/sys_utsname.in.h (system_header): Likewise.
16369         * lib/sys_wait.in.h (system_header): Likewise.
16370         * lib/sysexits.in.h (system_header): Likewise.
16371         * lib/unistd.in.h (system_header): Likewise.
16372         * lib/wctype.in.h (system_header): Likewise.
16373
16374         arpa/inet: fix mingw compilation warning
16375         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
16376         Reported by Matthew Bolte.
16377
16378 2010-03-25  Bruno Haible  <bruno@clisp.org>
16379
16380         Avoid collision between gnulib wrapper and libintl wrapper.
16381         * lib/printf.c (printf): Don't define if a printf wrapper is already
16382         defined in intl/printf.c.
16383         Reported by Michel Boaventura <michel@michelboaventura.com>.
16384
16385 2010-03-25  Bruno Haible  <bruno@clisp.org>
16386
16387         Use ANSI C.
16388         * lib/readutmp.h (getutent): Provide ANSI C prototype.
16389
16390 2010-03-25  Bruno Haible  <bruno@clisp.org>
16391
16392         Minor formatting changes.
16393         * lib/acosl.c: Insert space before function argument list.
16394         * lib/argz.c: Likewise.
16395         * lib/asinl.c: Likewise.
16396         * lib/expl.c: Likewise.
16397         * lib/gen-uni-tables.c: Likewise.
16398         * lib/gettext.h: Likewise.
16399         * lib/glthread/lock.h: Likewise.
16400         * lib/tanl.c: Likewise.
16401         * lib/uniname/uniname.c: Likewise.
16402         * tests/test-idpriv-drop.c: Likewise.
16403         * tests/test-idpriv-droptemp.c: Likewise.
16404         * tests/test-lock.c: Likewise.
16405         * tests/test-tls.c: Likewise.
16406         * lib/argp-help.c: Insert space before function-like macro argument
16407         list.
16408         * lib/memcmp.c: Likewise.
16409         * tests/test-base64.c: Likewise.
16410         * lib/localename.c: Insert space before sizeof's argument list.
16411         * lib/safe-alloc.h: Likewise.
16412         * lib/file-set.h: Insert space before macro argument list.
16413         * tests/test-argp.c: Likewise.
16414         * lib/argp-namefrob.h: Insert space before function parameter list.
16415         * lib/getaddrinfo.c: Likewise.
16416         * lib/netdb.in.h: Likewise.
16417         * lib/parse-duration.h: Likewise.
16418         * lib/parse-duration.c: Likewise.
16419         * lib/poll.c: Likewise.
16420         * lib/select.c: Likewise.
16421         * lib/trim.h: Likewise.
16422         * tests/test-usleep.c: Likewise.
16423         * lib/ldexpl.c: Insert space before function parameter list and before
16424         function argument list.
16425         * lib/logl.c: Likewise.
16426         * lib/sqrtl.c: Likewise.
16427         * lib/trim.c: Likewise.
16428         * lib/cosl.c: Use GNU style indentation. Insert space before function
16429         argument list.
16430         * lib/sinl.c: Likewise.
16431         * lib/tsearch.c: Insert space after 'for'.
16432         Reported by Jim Meyering.
16433
16434 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
16435
16436         * maint.mk (sc_Wundef_boolean): Check for the presence of the
16437         config header before grepping, as it's not present before
16438         autoreconf/configure are run.  Reported by Simon Josefsson.
16439
16440 2010-03-23  Bruno Haible  <bruno@clisp.org>
16441
16442         pt_chown: Make it work with automake < 1.11.
16443         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
16444         Reported by Simon Josefsson.
16445
16446 2010-03-23  Bruno Haible  <bruno@clisp.org>
16447
16448         pt_chown: Don't depend on GPLed modules.
16449         * lib/pt_chown.c: Don't include idpriv.h.
16450         (main): Don't drop privileges.
16451         * modules/pt_chown (Depends-on): Remove idpriv-drop.
16452         Reported by Simon Josefsson.
16453
16454 2010-03-24  Simon Josefsson  <simon@josefsson.org>
16455
16456         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
16457         suggestions from karl@freefriends.org (Karl Berry).
16458
16459 2010-03-22  Eric Blake  <eblake@redhat.com>
16460
16461         gethostname: further tweaks
16462         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
16463         are overriding gethostname.
16464         Suggested by Bruno Haible.
16465
16466 2010-03-21  Bruno Haible  <bruno@clisp.org>
16467
16468         Fix comments.
16469         * lib/forkpty.c (rpl_forkpty): Fix comment.
16470         * lib/openpty.c (rpl_openpty): Likewise.
16471         Reported by Eric Blake.
16472
16473 2010-03-22  Eric Blake  <eblake@redhat.com>
16474
16475         gethostname: fix build on mingw
16476         * lib/unistd.in.h (includes): Work around fact that mingw
16477         <winsock2.h> re-includes <unistd.h>, by avoiding any
16478         redeclarations if we are being included by <winsock2.h>.
16479         Reported by Matthias Bolte.
16480
16481 2010-03-21  Bruno Haible  <bruno@clisp.org>
16482
16483         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16484         * lib/forkpty.c (forkpty): New replacement function, from glibc with
16485         modifications.
16486         * lib/pty.in.h (forkpty): Update declaration. Add comments.
16487         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
16488         provide the replacement.
16489         * modules/forkpty (Depends-on): Add openpty, login_tty.
16490         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
16491         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
16492         * doc/glibc-functions/forkpty.texi: More supported platforms.
16493         * config/srclist.txt: Add forkpty.c (commented).
16494
16495 2010-03-21  Bruno Haible  <bruno@clisp.org>
16496
16497         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
16498         (Makefile.am): Verify that PTY_LIB is defined.
16499
16500         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
16501
16502 2010-03-21  Bruno Haible  <bruno@clisp.org>
16503
16504         Tests for module 'login_tty'.
16505         * modules/login_tty-tests: New file.
16506         * tests/test-login_tty.c: New file.
16507
16508         New module 'login_tty'.
16509         * lib/login_tty.c: New file.
16510         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
16511         * modules/login_tty: New file.
16512         * doc/glibc-functions/login_tty.texi: Mention the new module.
16513
16514 2010-03-21  Bruno Haible  <bruno@clisp.org>
16515
16516         login_tty: Documentation.
16517         * doc/glibc-functions/login_tty.texi: New file.
16518         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
16519
16520 2010-03-21  Bruno Haible  <bruno@clisp.org>
16521
16522         pty: Consistent macro naming.
16523         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
16524         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
16525         * modules/pty (configure.ac): Update.
16526
16527 2010-03-21  Bruno Haible  <bruno@clisp.org>
16528
16529         Tests for openpty: Make stricter.
16530         * tests/test-openpty.c (main): Add test of canonical processing and
16531         erase.
16532         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
16533
16534         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16535         * lib/openpty.c (openpty): New replacement function.
16536         * lib/pty.in.h: Include <termios.h>.
16537         (openpty): Update declaration. Add comments.
16538         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
16539         is not declared, arrange to provide the replacement. Check for _getpty
16540         and posix_openpt.
16541         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
16542         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
16543         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
16544         * modules/pty-tests (test_pty_c___LDADD): New variable.
16545         * doc/glibc-functions/openpty.texi: More supported platforms.
16546
16547 2010-03-21  Bruno Haible  <bruno@clisp.org>
16548
16549         setenv: Tweaks.
16550         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
16551         the test program.
16552         * doc/posix-functions/setenv.texi: Update platforms list.
16553
16554 2010-03-21  Bruno Haible  <bruno@clisp.org>
16555
16556         New module 'unlockpt'.
16557         * lib/unlockpt.c: New file, from glibc with modifications.
16558         * m4/unlockpt.m4: New file.
16559         * modules/unlockpt: New file.
16560         * lib/stdlib.in.h (unlockpt): New declaration.
16561         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
16562         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
16563         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
16564         HAVE_UNLOCKPT.
16565         * doc/posix-functions/unlockpt.texi: Mention the new module.
16566         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
16567         * config/srclist.txt: Add unlockpt.c (commented).
16568
16569 2010-03-21  Jim Meyering  <meyering@redhat.com>
16570
16571         maint.mk: prohibit inclusion of "intprops.h" without use
16572         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
16573
16574 2010-03-21  Bruno Haible  <bruno@clisp.org>
16575
16576         New module 'grantpt'.
16577         * lib/grantpt.c: New file, from glibc with modifications.
16578         * m4/grantpt.m4: New file.
16579         * modules/grantpt: New file.
16580         * lib/stdlib.in.h (grantpt): New declaration.
16581         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
16582         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
16583         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
16584         HAVE_GRANTPT.
16585         * doc/posix-functions/grantpt.texi: Mention the new module.
16586         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
16587         * config/srclist.txt: Add grantpt.c (commented).
16588
16589 2010-03-21  Bruno Haible  <bruno@clisp.org>
16590
16591         New module 'pt_chown'.
16592         * lib/pt_chown.c: New file, from glibc with modifications.
16593         * lib/pty-private.h: New file, from glibc with modifications.
16594         * modules/pt_chown: New file.
16595         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
16596
16597 2010-03-21  Bruno Haible  <bruno@clisp.org>
16598
16599         Tests for module 'ptsname'.
16600         * modules/ptsname-tests: New file.
16601         * tests/test-ptsname.c: New file.
16602
16603         New module 'ptsname'.
16604         * lib/ptsname.c: New file, from glibc with modifications.
16605         * m4/ptsname.m4: New file.
16606         * modules/ptsname: New file.
16607         * lib/stdlib.in.h (ptsname): New declaration.
16608         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
16609         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
16610         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
16611         HAVE_PTSNAME.
16612         * doc/posix-functions/ptsname.texi: Mention the new module.
16613         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
16614         * config/srclist.txt: Add ptsname.c (commented).
16615
16616 2010-03-21  Bruno Haible  <bruno@clisp.org>
16617
16618         Tests for module 'ttyname_r'.
16619         * modules/ttyname_r-tests: New file.
16620         * tests/test-ttyname_r.c: New file.
16621
16622         New module 'ttyname_r'.
16623         * lib/ttyname_r.c: New file.
16624         * m4/ttyname_r.m4: New file.
16625         * modules/ttyname_r: New file.
16626         * lib/unistd.in.h (ttyname_r): New declaration.
16627         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
16628         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
16629         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
16630         HAVE_TTYNAME_R.
16631         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
16632         * doc/posix-functions/ttyname_r.texi: Mention the new module.
16633
16634 2010-03-20  Bruno Haible  <bruno@clisp.org>
16635
16636         signal: Undefine macro definitions in C++ mode.
16637         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
16638         sigfillset): Undefine macro definitions from the system header in C++
16639         mode.
16640         Reported by John W. Eaton <jwe@gnu.org>.
16641
16642 2010-03-20  Bruno Haible  <bruno@clisp.org>
16643
16644         Ensure no #include statements inside extern "C" { ... }.
16645         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
16646         contain #include statements.
16647         * lib/time.in.h: Likewise.
16648
16649 2010-03-20  Bruno Haible  <bruno@clisp.org>
16650
16651         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
16652         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
16653         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
16654         Reported by John W. Eaton <jwe@gnu.org>.
16655
16656 2010-03-20  Bruno Haible  <bruno@clisp.org>
16657
16658         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
16659         Reported by Jim Meyering.
16660
16661 2010-03-20  Bruno Haible  <bruno@clisp.org>
16662
16663         pipe: Set errno upon failure.
16664         * lib/pipe.h: Specify that when -1 is returned, errno is set.
16665         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
16666         errno value in error message.
16667
16668 2010-03-20  Bruno Haible  <bruno@clisp.org>
16669             Jim Meyering  <meyering@redhat.com>
16670
16671         lchown: Avoid "unused variable" warning.
16672         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
16673
16674 2010-03-20  Bruno Haible  <bruno@clisp.org>
16675
16676         Work around unlink() bug on MacOS X 10.5.6.
16677         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
16678         attempting to unlink a parent directory.
16679         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
16680         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
16681         activate for the replacement function.
16682         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
16683
16684 2010-03-20  Bruno Haible  <bruno@clisp.org>
16685
16686         Fix link errors on Solaris 8.
16687         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
16688         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
16689
16690 2010-03-19  Jim Meyering  <meyering@redhat.com>
16691
16692         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
16693         The _LIBC implementation of build_range_exp correctly honors the
16694         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
16695         However, the non-_LIBC implementation would ignore that syntax-bit
16696         flag and return REG_ERANGE unconditionally.
16697         This change makes it honor that flag.
16698         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
16699         Make two pointer parameters "const".
16700         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
16701         (parse_bracket_exp): Update caller.
16702
16703         regex.m4: correct the reversed range endpoint ([b-a]) test
16704         * m4/regex.m4: When requiring that [b-a] evoke failure,
16705         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
16706         test pass once again for x86-based systems.
16707
16708 2010-03-19  Bruno Haible  <bruno@clisp.org>
16709
16710         scandir: Fix link error on Solaris 8.
16711         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
16712         macros.
16713
16714 2010-03-19  Bruno Haible  <bruno@clisp.org>
16715
16716         getusershell: Fix documentation.
16717         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
16718         module.
16719         * doc/glibc-functions/setusershell.texi: Likewise.
16720
16721         getusershell: Provide declaration, missing on Solaris 9.
16722         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
16723         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
16724         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
16725         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
16726         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16727         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
16728         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
16729         HAVE_GETUSERSHELL.
16730         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
16731
16732 2010-03-19  Bruno Haible  <bruno@clisp.org>
16733
16734         wctype: Provide iswblank function.
16735         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
16736         exists and is fine.
16737         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
16738         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
16739         * tests/test-wctype.c (main): Re-enable the iswblank tests.
16740         * doc/posix-functions/iswblank.texi: Update.
16741
16742 2010-03-19  Bruno Haible  <bruno@clisp.org>
16743
16744         Tests of module 'pty' in C++ mode.
16745         * modules/pty-tests: New file.
16746         * tests/test-pty-c++.cc: New file.
16747         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16748
16749 2010-03-19  Eric Blake  <eblake@redhat.com>
16750
16751         logb: fix documentation
16752         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
16753         1.5 declaration bug.
16754
16755         forkpty, openpty: prefer glibc's const-safe prototype
16756         * lib/forkpty.c (rpl_forkpty): New file.
16757         * lib/openpty.c (rpl_openpty): Likewise.
16758         * modules/forkpty (Files): Distribute it.
16759         * modules/openpty (Files): Likewise.
16760         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
16761         check...
16762         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
16763         replacement for for non-const BSD signature.
16764         * modules/pty (Makefile.am): Substitute witnesses.
16765         * lib/pty.in.h (forkpty, openpty): Declare replacements.
16766         * tests/test-forkpty.c: Update signature check.
16767         * tests/test-openpty.c: Likewise.
16768         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
16769         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16770
16771         forkpty, openpty: split functions into new modules
16772         * modules/pty (Makefile.am): Substitute new witnesses.
16773         (Libraries): Move library detection...
16774         * modules/forkpty: ...into new module.
16775         * modules/openpty: Another new module.
16776         * modules/pty-tests: Rename and split...
16777         * modules/forkpty-tests: ...to this...
16778         * modules/openpty-tests: ...and this.
16779         * tests/test-pty.c: Rename and split...
16780         * tests/test-forkpty.c: ...to this...
16781         * tests/test-openpty.c: ...and this.
16782         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
16783         (gl_PTY): Split library searching...
16784         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
16785         (gl_FORKPTY, gl_OPENPTY): New macros.
16786         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
16787         * NEWS: Mention the split.
16788         * MODULES.html.sh (Misc): Document the modules.
16789         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
16790         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16791
16792         pty: improve replacement header
16793         * lib/pty.in.h: New file.
16794         * modules/pty (Files): Ship it.
16795         (Makefile.am): Always build replacement.
16796         * m4/pty.m4: Rename...
16797         * m4/pty_h.m4: ...to this.
16798         (gl_PTY): Modernize setting of witness macros; update check of
16799         forkpty to take proper advantage of cache.
16800         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
16801
16802         getopt: avoid compiler warning
16803         * lib/getopt.c (attribute_hidden): Remove unused macro.
16804
16805 2010-03-18  Bruno Haible  <bruno@clisp.org>
16806
16807         Fix link errors on Solaris 8.
16808         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
16809         * modules/search-tests (test_search_c___LDADD): Likewise.
16810         * modules/signal-tests (test_signal_c___LDADD): Likewise.
16811         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
16812         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
16813         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
16814         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
16815         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
16816         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
16817
16818 2010-03-18  Bruno Haible  <bruno@clisp.org>
16819
16820         Fix bug introduced on 2010-03-14.
16821         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
16822         (gl_SPAWN_H): Require it.
16823         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
16824         Reported by Simon Josefsson.
16825
16826 2010-03-18  Bruno Haible  <bruno@clisp.org>
16827
16828         Fix typo introduced on 2009-12-31.
16829         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
16830         posix_spawn_file_actions_adddup2.
16831
16832 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
16833         and Eric Blake  <eblake@redhat.com>
16834
16835         test-vc-list-files-git: make more robust
16836         * tests/test-vc-list-files-git.sh: Unset problematic environment
16837         variables.  Chain commands together.
16838
16839 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
16840
16841         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
16842         `AC_CHECK_DECL' invocation.
16843
16844 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
16845
16846         * lib/inttostr.c (inttostr): Make sure the invocation of verify
16847         appears before executable statements. Suggested by Petr Sumbera
16848         <Petr.Sumbera@Sun.COM>.
16849
16850 2010-03-14  Bruno Haible  <bruno@clisp.org>
16851
16852         * tests/test-flock.c (test_exclusive): Comment out a test that causes
16853         portability problems. Instead use a simpler test.
16854         (main): Check that invalid arguments are rejected only on Linux.
16855
16856 2010-03-14  Bruno Haible  <bruno@clisp.org>
16857
16858         Fix bug introduced on 2009-12-31.
16859         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
16860         gl_PREREQ_SYS_H_WINSOCK2 always.
16861         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
16862         SYS_SOCKET_H variable.
16863         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
16864         Update comments.
16865         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
16866         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16867         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16868         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16869         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
16870
16871 2010-03-14  Bruno Haible  <bruno@clisp.org>
16872
16873         Fix values returned by sinl, cosl.
16874         * lib/trigl.h: Add specification comments.
16875         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
16876         that combines the values from the precomputed table with the values of
16877         the Chebyshev polynomials.
16878
16879 2010-03-14  Bruno Haible  <bruno@clisp.org>
16880
16881         Fix compilation error when modules 'posix_spawn[p]' are not used.
16882         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
16883         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
16884
16885 2010-03-14  Bruno Haible  <bruno@clisp.org>
16886
16887         Fix compilation error on mingw when module 'time_r' is not used.
16888         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
16889         is 1.
16890         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
16891         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16892         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
16893         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
16894
16895 2010-03-14  Bruno Haible  <bruno@clisp.org>
16896
16897         Fix compilation error with Sun C.
16898         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
16899         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
16900         instead of GCC specific ULONG_LONG_MAX.
16901         * lib/xstrtoll.c: Likewise.
16902         * lib/xstrtoull.c: Likewise.
16903
16904 2010-03-13  Bruno Haible  <bruno@clisp.org>
16905
16906         Allow the user to disable C++ code and tests.
16907         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
16908         (gl_PROG_ANSI_CXX): Require it.
16909
16910 2010-03-13  Bruno Haible  <bruno@clisp.org>
16911
16912         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
16913         cases.
16914
16915 2010-03-13  Bruno Haible  <bruno@clisp.org>
16916
16917         Test that gnulib does not break the standard C++ headers.
16918         * tests/test-locale-c++2.cc: New file.
16919         * modules/locale-tests (Files): Add it.
16920         (Makefile.am): Compile it for test-locale-c++.
16921         * tests/test-math-c++2.cc: New file.
16922         * modules/math-tests (Files): Add it.
16923         (Makefile.am): Compile it for test-math-c++.
16924         * tests/test-signal-c++2.cc: New file.
16925         * modules/signal-tests (Files): Add it.
16926         (Makefile.am): Compile it for test-signal-c++.
16927         * tests/test-stdio-c++2.cc: New file.
16928         * modules/stdio-tests (Files): Add it.
16929         (Makefile.am): Compile it for test-stdio-c++.
16930         * tests/test-stdlib-c++2.cc: New file.
16931         * modules/stdlib-tests (Files): Add it.
16932         (Makefile.am): Compile it for test-stdlib-c++.
16933         * tests/test-string-c++2.cc: New file.
16934         * modules/string-tests (Files): Add it.
16935         (Makefile.am): Compile it for test-string-c++.
16936         * tests/test-time-c++2.cc: New file.
16937         * modules/time-tests (Files): Add it.
16938         (Makefile.am): Compile it for test-time-c++.
16939         Reported by John W. Eaton <jwe@gnu.org>.
16940
16941 2010-03-13  Bruno Haible  <bruno@clisp.org>
16942
16943         * gnulib-tool (func_usage): Clarify which options are available for
16944         --create-testdir and --create-megatestdir.
16945
16946 2010-03-13  Bruno Haible  <bruno@clisp.org>
16947
16948         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
16949         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
16950         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
16951         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
16952         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
16953         when appropriate.
16954         Reported by Jim Meyering.
16955
16956 2010-03-12  Simon Josefsson  <simon@josefsson.org>
16957
16958         * gnulib-tool (func_import): Explain origin of code.
16959
16960 2010-03-12  Bruno Haible  <bruno@clisp.org>
16961
16962         Fix problem with automake's definition of CXXLINK.
16963         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
16964         Reported by Simon Josefsson and Ludovic Courtès.
16965
16966 2010-03-12  Bruno Haible  <bruno@clisp.org>
16967
16968         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
16969         stable releases.
16970
16971 2010-03-11  Bruno Haible  <bruno@clisp.org>
16972
16973         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
16974         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
16975         whether the system provides one variant or multiple variants of the
16976         function.
16977         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
16978         C++ compilers.
16979         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
16980         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
16981         Reported by Jim Meyering.
16982
16983 2010-03-09  Simon Josefsson  <simon@josefsson.org>
16984
16985         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
16986
16987 2010-03-08  Bruno Haible  <bruno@clisp.org>
16988
16989         gnulib-tool: Add support for --libtool in --create-testdir.
16990         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
16991         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
16992
16993 2010-03-08  Eric Blake  <eblake@redhat.com>
16994
16995         gnulib-tool.texi: mention possibility of git submodule
16996         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
16997         submodules.
16998         * doc/.gitignore: Ignore another generated file.
16999
17000 2010-03-08  Karl Berry  <karl@gnu.org>
17001
17002         * doc/gnulib-tool.texi (VCS Issues): Mention third option
17003         of committing gnulib files while skipping others.
17004
17005 2010-03-07  Bruno Haible  <bruno@clisp.org>
17006
17007         Tests of module 'wctype' in C++ mode.
17008         * tests/test-wctype-c++.cc: New file.
17009         * modules/wctype-tests (Files): Add it and tests/signature.h.
17010         (Depends-on): Add ansi-c++-opt.
17011         (Makefile.am): Arrange to compile and run test-wctype-c++.
17012
17013         Tests of module 'wchar' in C++ mode.
17014         * tests/test-wchar-c++.cc: New file.
17015         * modules/wchar-tests (Files): Add it and tests/signature.h.
17016         (Depends-on): Add ansi-c++-opt.
17017         (Makefile.am): Arrange to compile and run test-wchar-c++.
17018         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
17019         gl_MODULE_INDICATOR.
17020
17021         Tests of module 'unistd' in C++ mode.
17022         * tests/test-unistd-c++.cc: New file.
17023         * modules/unistd-tests (Files): Add it and tests/signature.h.
17024         (Depends-on): Add ansi-c++-opt.
17025         (Makefile.am): Arrange to compile and run test-unistd-c++.
17026         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
17027         gl_MODULE_INDICATOR.
17028
17029         Tests of module 'time' in C++ mode.
17030         * tests/test-time-c++.cc: New file.
17031         * modules/time-tests (Files): Add it and tests/signature.h.
17032         (Depends-on): Add ansi-c++-opt.
17033         (Makefile.am): Arrange to compile and run test-time-c++.
17034         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17035
17036         Tests of module 'sys_time' in C++ mode.
17037         * tests/test-sys_time-c++.cc: New file.
17038         * modules/sys_time-tests (Files): Add it and tests/signature.h.
17039         (Depends-on): Add ansi-c++-opt.
17040         (Makefile.am): Arrange to compile and run test-sys_time-c++.
17041         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
17042         gl_MODULE_INDICATOR.
17043
17044         Tests of module 'sys_stat' in C++ mode.
17045         * tests/test-sys_stat-c++.cc: New file.
17046         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
17047         (Depends-on): Add ansi-c++-opt.
17048         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
17049         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
17050         gl_MODULE_INDICATOR.
17051
17052         Tests of module 'sys_socket' in C++ mode.
17053         * tests/test-sys_socket-c++.cc: New file.
17054         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
17055         (Depends-on): Add ansi-c++-opt.
17056         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
17057         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
17058         gl_MODULE_INDICATOR.
17059
17060         Tests of module 'sys_select' in C++ mode.
17061         * tests/test-sys_select-c++.cc: New file.
17062         * modules/sys_select-tests (Files): Add it and tests/signature.h.
17063         (Depends-on): Add ansi-c++-opt.
17064         (Makefile.am): Arrange to compile and run test-sys_select-c++.
17065         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
17066         gl_MODULE_INDICATOR.
17067
17068         Tests of module 'sys_ioctl' in C++ mode.
17069         * tests/test-sys_ioctl-c++.cc: New file.
17070         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
17071         (Depends-on): Add ansi-c++-opt.
17072         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
17073         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
17074         gl_MODULE_INDICATOR.
17075
17076         Tests of module 'string' in C++ mode.
17077         * tests/test-string-c++.cc: New file.
17078         * modules/string-tests (Files): Add it and tests/signature.h.
17079         (Depends-on): Add ansi-c++-opt.
17080         (Makefile.am): Arrange to compile and run test-string-c++.
17081         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
17082         gl_MODULE_INDICATOR.
17083
17084         Tests of module 'stdlib' in C++ mode.
17085         * tests/test-stdlib-c++.cc: New file.
17086         * modules/stdlib-tests (Files): Add it and tests/signature.h.
17087         (Depends-on): Add ansi-c++-opt.
17088         (Makefile.am): Arrange to compile and run test-stdlib-c++.
17089         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
17090         gl_MODULE_INDICATOR.
17091
17092         Tests of module 'stdio' in C++ mode.
17093         * tests/test-stdio-c++.cc: New file.
17094         * modules/stdio-tests (Files): Add it and tests/signature.h.
17095         (Depends-on): Add ansi-c++-opt.
17096         (Makefile.am): Arrange to compile and run test-stdio-c++.
17097         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
17098         gl_MODULE_INDICATOR.
17099
17100         Tests of module 'spawn' in C++ mode.
17101         * tests/test-spawn-c++.cc: New file.
17102         * modules/spawn-tests (Files): Add it and tests/signature.h.
17103         (Depends-on): Add ansi-c++-opt.
17104         (Makefile.am): Arrange to compile and run test-spawn-c++.
17105         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
17106         gl_MODULE_INDICATOR.
17107
17108         Tests of module 'signal' in C++ mode.
17109         * tests/test-signal-c++.cc: New file.
17110         * modules/signal-tests (Files): Add it and tests/signature.h.
17111         (Depends-on): Add ansi-c++-opt.
17112         (Makefile.am): Arrange to compile and run test-signal-c++.
17113         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
17114         gl_MODULE_INDICATOR.
17115
17116         Tests of module 'search' in C++ mode.
17117         * tests/test-search-c++.cc: New file.
17118         * modules/search-tests (Files): Add it and tests/signature.h.
17119         (Depends-on): Add ansi-c++-opt.
17120         (Makefile.am): Arrange to compile and run test-search-c++.
17121         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
17122         gl_MODULE_INDICATOR.
17123
17124         Tests of module 'math' in C++ mode.
17125         * tests/test-math-c++.cc: New file.
17126         * modules/math-tests (Files): Add it and tests/signature.h.
17127         (Depends-on): Add ansi-c++-opt.
17128         (Makefile.am): Arrange to compile and run test-math-c++.
17129         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17130
17131         Tests of module 'locale' in C++ mode.
17132         * tests/test-locale-c++.cc: New file.
17133         * modules/locale-tests (Files): Add it and tests/signature.h.
17134         (Depends-on): Add ansi-c++-opt.
17135         (Makefile.am): Arrange to compile and run test-locale-c++.
17136         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
17137         gl_MODULE_INDICATOR.
17138
17139         Tests of module 'langinfo' in C++ mode.
17140         * tests/test-langinfo-c++.cc: New file.
17141         * modules/langinfo-tests (Files): Add it and tests/signature.h.
17142         (Depends-on): Add ansi-c++-opt.
17143         (Makefile.am): Arrange to compile and run test-langinfo-c++.
17144         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
17145         gl_MODULE_INDICATOR.
17146
17147         Tests of module 'iconv-h' in C++ mode.
17148         * tests/test-iconv-h-c++.cc: New file.
17149         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
17150         (Depends-on): Add ansi-c++-opt.
17151         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
17152
17153         Tests of module 'glob' in C++ mode.
17154         * tests/test-glob-c++.cc: New file.
17155         * modules/glob-tests (Files): Add it.
17156         (Depends-on): Add ansi-c++-opt.
17157         (Makefile.am): Arrange to compile and run test-glob-c++.
17158
17159         Tests of module 'fcntl-h' in C++ mode.
17160         * tests/test-fcntl-h-c++.cc: New file.
17161         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
17162         (Depends-on): Add ansi-c++-opt.
17163         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
17164         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
17165         gl_MODULE_INDICATOR.
17166
17167         Tests of module 'dirent' in C++ mode.
17168         * tests/test-dirent-c++.cc: New file.
17169         * modules/dirent-tests (Files): Add it and tests/signature.h.
17170         (Depends-on): Add ansi-c++-opt.
17171         (Makefile.am): Arrange to compile and run test-dirent-c++.
17172         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
17173         gl_MODULE_INDICATOR.
17174
17175         New module 'ansi-c++-opt'.
17176         * modules/ansi-c++-opt: New file.
17177         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
17178
17179         Document C++ namespace mode.
17180         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
17181
17182         wctype: Avoid #define replacements in C++ mode.
17183         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
17184         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
17185         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
17186         In C++, define a namespaced alias symbol.
17187         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
17188         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
17189         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
17190         rule.
17191
17192         wchar: Avoid #define replacements in C++ mode.
17193         * lib/wchar.in.h: Include c++defs.h.
17194         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
17195         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
17196         symbol.
17197         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
17198         * modules/wchar (Depends-on): Add c++defs.
17199         (Makefile.am): Update wchar.h rule.
17200
17201         unistd: Avoid #define replacements in C++ mode.
17202         * lib/unistd.in.h: Include c++defs.h.
17203         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
17204         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
17205         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
17206         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
17207         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
17208         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
17209         symbol.
17210         (environ): Update.
17211         * modules/unistd (Depends-on): Add c++defs.
17212         (Makefile.am): Update unistd.h rule.
17213
17214         time: Avoid #define replacements in C++ mode.
17215         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
17216         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
17217         define a namespaced alias symbol.
17218         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
17219         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
17220         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
17221         * modules/time (Depends-on): Add c++defs, warn-on-use.
17222         (Makefile.am): Update time.h rule.
17223         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
17224         * modules/nanosleep (configure.ac): Likewise.
17225         * modules/strptime (configure.ac): Likewise.
17226         * modules/timegm (configure.ac): Likewise.
17227
17228         sys_time: Avoid #define replacements in C++ mode.
17229         * lib/sys_time.in.h: Include c++defs.h.
17230         (gettimeofday): In C++, define a namespaced alias symbol.
17231         * modules/sys_time (Depends-on): Add c++defs.
17232         (Makefile.am): Update sys/time.h rule.
17233
17234         sys_stat: Avoid #define replacements in C++ mode.
17235         * lib/sys_stat.in.h: Include c++defs.h.
17236         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
17237         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
17238         namespaced alias symbol.
17239         In C++, define a namespaced alias symbol.
17240         * modules/sys_stat (Depends-on): Add c++defs.
17241         (Makefile.am): Update sys/stat.h rule.
17242
17243         sys_socket: Avoid #define replacements in C++ mode.
17244         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
17245         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
17246         definitions also when the system has a <sys/socket.h>.
17247         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
17248         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
17249         In C++, define a namespaced alias symbol.
17250         * modules/sys_socket (Depends-on): Add c++defs.
17251         (Makefile.am): Update sys/socket.h rule.
17252
17253         sys_select: Avoid #define replacements in C++ mode.
17254         * lib/sys_select.in.h: Include c++defs.h. Enable the function
17255         definitions also when the system has a <sys/select.h>.
17256         (select): In C++, define a namespaced alias symbol.
17257         * modules/sys_select (Depends-on): Add c++defs.
17258         (Makefile.am): Update sys/select.h rule.
17259
17260         sys_ioctl: Avoid #define replacements in C++ mode.
17261         * lib/sys_ioctl.in.h: Include c++defs.h.
17262         (ioctl): In C++, define a namespaced alias symbol.
17263         * modules/sys_ioctl (Depends-on): Add c++defs.
17264         (Makefile.am): Update sys/ioctl.h rule.
17265
17266         string: Avoid #define replacements in C++ mode.
17267         * lib/string.in.h: Include c++defs.h.
17268         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
17269         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
17270         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
17271         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
17272         strsignal, strverscmp): In C++, define a namespaced alias symbol.
17273         * modules/string (Depends-on): Add c++defs.
17274         (Makefile.am): Update string.h rule.
17275
17276         stdlib: Avoid #define replacements in C++ mode.
17277         * lib/stdlib.in.h: Include c++defs.h.
17278         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
17279         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
17280         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
17281         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
17282         symbol.
17283         * modules/stdlib (Depends-on): Add c++defs.
17284         (Makefile.am): Update stdlib.h rule.
17285
17286         stdio: Avoid #define replacements in C++ mode.
17287         * lib/stdio.in.h: Include c++defs.h.
17288         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
17289         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
17290         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
17291         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
17292         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
17293         namespaced alias symbol.
17294         * modules/stdio (Depends-on): Add c++defs.
17295         (Makefile.am): Update stdio.h rule.
17296
17297         spawn: Avoid #define replacements in C++ mode.
17298         * lib/spawn.in.h: Include c++defs.h.
17299         (posix_spawn, posix_spawnp, posix_spawnattr_init,
17300         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
17301         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
17302         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
17303         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
17304         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
17305         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
17306         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
17307         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
17308         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
17309         In C++, define a namespaced alias symbol.
17310         * modules/spawn (Depends-on): Add c++defs.
17311         (Makefile.am): Update spawn.h rule.
17312
17313         signal: Avoid #define replacements in C++ mode.
17314         * lib/signal.in.h: Include c++defs.h.
17315         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
17316         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
17317         namespaced alias symbol.
17318         * modules/signal (Depends-on): Add c++defs.
17319         (Makefile.am): Update signal.h rule.
17320
17321         search: Avoid #define replacements in C++ mode.
17322         * lib/search.in.h: Include c++defs.h.
17323         (_gl_search_compar_fn, _gl_search_action_fn): New types.
17324         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
17325         symbol.
17326         * modules/search (Depends-on): Add c++defs.
17327         (Makefile.am): Update search.h rule.
17328
17329         math: Avoid #define replacements in C++ mode.
17330         * lib/math.in.h: Include c++defs.h.
17331         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
17332         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
17333         trunc, truncl): In C++, define a namespaced alias symbol.
17334         * modules/math (Depends-on): Add c++defs.
17335         (Makefile.am): Update math.h rule.
17336
17337         locale: Avoid #define replacements in C++ mode.
17338         * lib/locale.in.h: Include c++defs.h.
17339         (duplocale): In C++, define a namespaced alias symbol.
17340         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
17341         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
17342         * modules/locale (Depends-on): Add c++defs.
17343         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
17344
17345         langinfo: Avoid #define replacements in C++ mode.
17346         * lib/langinfo.in.h: Include c++defs.h.
17347         (nl_langinfo): In C++, define a namespaced alias symbol.
17348         * modules/langinfo (Depends-on): Add c++defs.
17349         (Makefile.am): Update langinfo.h rule.
17350
17351         iconv-h: Avoid #define replacements in C++ mode.
17352         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
17353         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
17354         symbol.
17355         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
17356         whenever iconv is present.
17357         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
17358         (Makefile.am): Update iconv.h rule.
17359
17360         glob: Avoid #define replacements in C++ mode.
17361         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
17362         (_gl_glob_errfunc_fn): New type.
17363         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
17364         symbol.
17365         * modules/glob (Depends-on): Add c++defs, warn-on-use.
17366         (Makefile.am): Update glob.h rule.
17367
17368         fcntl-h: Avoid #define replacements in C++ mode.
17369         * lib/fcntl.in.h: Include c++defs.h.
17370         (fcntl, open, openat): In C++, define a namespaced alias symbol.
17371         * modules/fcntl-h (Depends-on): Add c++defs.
17372         (Makefile.am): Update fcntl.h rule.
17373
17374         dirent: Avoid #define replacements in C++ mode.
17375         * lib/dirent.in.h: Include c++defs.h.
17376         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
17377         namespaced alias symbol.
17378         (dirfd): Update declaration.
17379         * modules/dirent (Depends-on): Add c++defs.
17380         (Makefile.am): Update dirent.h rule.
17381
17382         ctype: Make it usable in C++ code.
17383         * lib/ctype.in.h: Include c++defs.h.
17384         (isblank): Declare as extern "C".
17385         * modules/ctype (Depends-on): Add c++defs.
17386         (Makefile.am): Update ctype.h rule.
17387
17388         New module 'c++defs'.
17389         * modules/c++defs: New file.
17390         * build-aux/c++defs.h: New file.
17391         Reported by John W. Eaton <jwe@gnu.org>.
17392
17393 2010-03-07  Bruno Haible  <bruno@clisp.org>
17394
17395         logb: Provide missing declaration for Cygwin.
17396         * lib/math.in.h (logb): New declaration.
17397         * m4/logb.m4: New file.
17398         * modules/logb (Files): Add m4/logb.m4.
17399         (Depends-on): Add math.
17400         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
17401         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
17402         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
17403         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
17404         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
17405
17406 2010-03-07  Bruno Haible  <bruno@clisp.org>
17407
17408         Fix test-cond link error.
17409         * tests/test-cond.c: Include <stdio.h>.
17410
17411 2010-03-07  Bruno Haible  <bruno@clisp.org>
17412
17413         Fix test-dirent-safer link error.
17414         * modules/dirent-safer-tests (Makefile.am): Define
17415         test_dirent_safer_LDADD.
17416
17417 2010-03-07  Bruno Haible  <bruno@clisp.org>
17418
17419         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
17420         among default module list.
17421
17422 2010-03-07  Bruno Haible  <bruno@clisp.org>
17423
17424         Fix link error on platforms with GNU libiconv.
17425         * modules/unistr/u8-strcoll-tests (Makefile): Define
17426         test_u8_strcoll_LDADD.
17427         * modules/unistr/u16-strcoll-tests (Makefile): Define
17428         test_u16_strcoll_LDADD.
17429         * modules/unistr/u32-strcoll-tests (Makefile): Define
17430         test_u32_strcoll_LDADD.
17431
17432 2010-03-07  Bruno Haible  <bruno@clisp.org>
17433
17434         Use POSIX declarations for socket functions.
17435         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
17436         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
17437         rpl_sendto): Change declaration to match POSIX.
17438         * lib/connect.c (rpl_connect): Likewise.
17439         * lib/accept.c (rpl_accept): Likewise.
17440         * lib/bind.c (rpl_bind): Likewise.
17441         * lib/getpeername.c (rpl_getpeername): Likewise.
17442         * lib/getsockname.c (rpl_getsockname): Likewise.
17443         * lib/recv.c (rpl_recv): Likewise.
17444         * lib/send.c (rpl_send): Likewise.
17445         * lib/recvfrom.c (rpl_recvfrom): Likewise.
17446         * lib/sendto.c (rpl_sendto): Likewise.
17447
17448 2010-03-06  Bruno Haible  <bruno@clisp.org>
17449
17450         Clarify access, euidaccess, faccessat.
17451         * doc/posix-functions/faccessat.texi: Mention security problem under
17452         "Other problems", not "Portability problems".
17453         * doc/posix-functions/access.texi: Likewise. Mention a related security
17454         problem.
17455         * doc/glibc-functions/euidaccess.texi: Mention security problems.
17456         * lib/euidaccess.c: Add comments about platforms.
17457         * lib/unistd.in.h (access, euidaccess): Add warnings.
17458
17459 2010-03-07  Bruno Haible  <bruno@clisp.org>
17460
17461         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
17462         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
17463         (POSIX_SPAWN_SETSCHEDULER): Likewise.
17464         (POSIX_SPAWN_USEVFORK): Define in a way that works when
17465         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17466         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
17467         declare when POSIX_SPAWN_SETSCHEDULER is zero.
17468         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
17469         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
17470         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
17471         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
17472         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
17473         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
17474         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
17475         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
17476         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
17477         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
17478         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
17479         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
17480         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
17481         Likewise.
17482         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
17483         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
17484         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
17485         Likewise.
17486         * tests/test-spawn.c (main): Make it work when
17487         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17488
17489 2010-03-07  Bruno Haible  <bruno@clisp.org>
17490
17491         Fix incorrect Makefile.am generation in German locale.
17492         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17493         Execute sed command with character range in C locale.
17494
17495 2010-03-06  Bruno Haible  <bruno@clisp.org>
17496
17497         Tests for module 'iconv-h'.
17498         * modules/iconv-h-tests: New file.
17499         * tests/test-iconv-h.c: New file.
17500
17501         New module 'iconv-h'.
17502         * modules/iconv-h: New file.
17503         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
17504         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
17505         (configure.ac): Remove gl_ICONV_H.
17506         (Makefile.am): Remove rule for iconv.h.
17507
17508 2010-03-06  Bruno Haible  <bruno@clisp.org>
17509
17510         More consistent naming of *.m4 files.
17511         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
17512         * modules/wctype (Files): Update.
17513
17514         More consistent naming of *.m4 files.
17515         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
17516         * modules/wchar (Files): Update.
17517
17518 2010-03-06  Jim Meyering  <meyering@redhat.com>
17519
17520         euidaccess: relax license to LGPLv2+
17521         * modules/euidaccess (License): Relax to LGPLv2+.
17522
17523 2010-03-06  Bruno Haible  <bruno@clisp.org>
17524
17525         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
17526         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
17527         (Makefile.am): Augment lib_SOURCES instead.
17528
17529 2010-03-04  Jim Meyering  <meyering@redhat.com>
17530
17531         utime: remove obsolete module
17532         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
17533         unnecessary for years, and has been marked as obsolete for 10 months.
17534         * modules/utime: Remove file.
17535         * lib/utime.c: Remove file.
17536         * m4/utime.m4: Remove file.
17537         * m4/utimes-null.m4: Remove file.
17538         * doc/posix-functions/utime.texi (utime): Remove reference to
17539         the module.  Move the sole "fixed by gnulib" item into the
17540         "problems not fixed by Gnulib" list.
17541         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
17542
17543 2010-03-05  Simon Josefsson  <simon@josefsson.org>
17544
17545         * modules/exit (License): Relax license to LGPLv2+.
17546         (Status): Mark as obsolete.
17547         * NEWS: Mention deprecated 'exit' module.
17548         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
17549         of now obsolete 'exit'.
17550
17551 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17552
17553         fts-lgpl: remove unused module
17554         * modules/fts-lgpl: Remove.
17555         * MODULES.html.sh (func_all_modules): Adjust.
17556         * check-module (find_included_lib_files): Adjust.
17557         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
17558
17559 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
17560
17561         copy-acl: enhance Solaris ACL error handling
17562         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
17563         * lib/set-mode-acl.c (qset_acl): Likewise.
17564
17565 2010-03-02  Bruno Haible  <bruno@clisp.org>
17566
17567         spawn: Don't override the system defined values on FreeBSD 8.
17568         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
17569         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
17570         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
17571         if HAVE_POSIX_SPAWN is 1.
17572         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
17573
17574 2010-03-01  Bruno Haible  <bruno@clisp.org>
17575
17576         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
17577         regarding Automake.
17578
17579 2010-02-25  Bruno Haible  <bruno@clisp.org>
17580
17581         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
17582         * gnulib-tool: Define 'echo' as a function only before the ksh alias
17583         setting, not afterwards.
17584         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
17585
17586 2010-02-24  Eric Blake  <eblake@redhat.com>
17587
17588         bootstrap, git-version-gen: use timestamp
17589         * build-aux/git-version-gen (scriptversion): Force UTC.
17590         * build-aux/bootstrap (scriptversion): New variable.
17591
17592         bootstrap: allow older git
17593         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
17594         older than 1.6.4.  Requested by the libvirt project.
17595
17596 2010-02-23  Eric Blake  <eblake@redhat.com>
17597
17598         warn-on-use: work with old autoconf
17599         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
17600         AS_VAR semantics of autoconf 2.60.
17601         Reported by Bruno Haible.
17602
17603         bootstrap: improve some comments
17604         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
17605         clarification comments.
17606
17607         gettimeofday: provide correct function
17608         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
17609         when replacement is declared, otherwise provide gettimeofday.
17610         Reported by Michael Goffioul.
17611
17612 2010-02-23  Jim Meyering  <meyering@redhat.com>
17613
17614         lib-ignore: relax license to "unlimited", not LGPLv2+
17615         * modules/lib-ignore (License): Relax to "unlimited".
17616
17617 2010-02-23  Jim Meyering  <meyering@redhat.com>
17618
17619         lib-ignore: relax license to LGPLv2+
17620         * modules/lib-ignore (License): Relax to LGPLv2+.
17621
17622 2010-02-22  Eric Blake  <eblake@redhat.com>
17623
17624         lseek: avoid bash 3.2 broken pipe bug
17625         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
17626         warning from bash 3.2.
17627         Reported by Ben Pfaff, with analysis from Bruno Haible.
17628
17629         bootstrap: support non-FSF copyright holder
17630         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
17631         bootstrap.conf override of COPYRIGHT_HOLDER.
17632         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
17633
17634         bootstrap: interoperate with gettext 0.14.1
17635         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
17636
17637         bootstrap: allow for alternate submodule location
17638         * build-aux/bootstrap (gnulib_path): New variable; use instead of
17639         hardcoding submodule location.
17640         (gnulib_mk): Allow direct use of Makefile.am.
17641
17642         bootstrap: use GNULIB_SRCDIR to reduce disk usage
17643         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
17644         rather than reconfiguring where the submodule points.
17645
17646         gettimeofday: restore support for platforms that lack function
17647         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
17648         replacement if function is missing.
17649         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
17650         * modules/sys_time (Makefile.am): Substitute it.
17651         * lib/sys_time.in.h (gettimeofday): Check it.
17652         Reported by Michael Goffioul.
17653
17654 2010-02-21  Bruno Haible  <bruno@clisp.org>
17655
17656         * lib/stdio.in.h (obstack_printf): Fix typo.
17657
17658 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
17659
17660         vc-list-files: use bzr ls's -R option
17661         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
17662         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
17663
17664 2010-02-21  Jim Meyering  <meyering@redhat.com>
17665
17666         init.sh: fix EXEEXT shims to work also for names like test-prog
17667         * tests/init.sh: Re-exec a better shell, when needed.
17668         If the current shell lacks support for posix $(...), an init.sh-using
17669         test will now try to find a shell that supports that.  If EXEEXT is
17670         nonempty, we also require support for hyphen-in-alias-name and shell
17671         substitutions like ${var#glob}.  Failure to find such a shell results
17672         in a skipped test.
17673
17674 2010-02-21  Bruno Haible  <bruno@clisp.org>
17675
17676         Really work around around "broken pipe" error message from bash 3.2.
17677         * gnulib-tool (func_reset_sigpipe): Remove function.
17678         (echo): In bash 3.2, define to a function that uses printf.
17679         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
17680
17681 2010-02-20  Bruno Haible  <bruno@clisp.org>
17682
17683         Restore support for automake 1.9.6 with autoconf 2.61.
17684         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
17685         Reported by James Youngman <jay@gnu.org>.
17686
17687 2010-02-20  Bruno Haible  <bruno@clisp.org>
17688
17689         Improve *printf warning condition.
17690         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
17691         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
17692         and the function is overridden due to SIGPIPE emulation.
17693
17694 2010-02-20  Bruno Haible  <bruno@clisp.org>
17695
17696         * lib/stdio.in.h: Tweak comments.
17697
17698 2010-02-19  Bruno Haible  <bruno@clisp.org>
17699
17700         Make it easier to find modules. New gnulib-tool option '--find'.
17701         * gnulib-tool: New option --find.
17702         (func_usage): Document it.
17703         (func_sanitize_modulelist): New function, extracted from
17704         func_all_modules.
17705         (func_all_modules): Invoke it.
17706         * doc/gnulib-tool.texi (Which modules?): New node.
17707
17708 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
17709
17710         * lib/sys_select.in.h: Provide select replacement even if
17711         sys/select.h exists on a system, for Interix.
17712
17713 2010-02-18  Jim Meyering  <meyering@redhat.com>
17714
17715         init.sh: don't use $(...) just yet
17716         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
17717         to accommodate e.g., Solaris' /bin/sh.
17718
17719 2010-02-17  Bruno Haible  <bruno@clisp.org>
17720
17721         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
17722         Reported by Ludovic Courtès <ludo@gnu.org>.
17723
17724 2010-02-16  Simon Josefsson  <simon@josefsson.org>
17725
17726         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
17727         linking with -lintl.
17728
17729 2010-02-17  Simon Josefsson  <simon@josefsson.org>
17730
17731         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
17732         if not provided by the system's netdb.h.  Reported by
17733         ludo@gnu.org (Ludovic Courtès).
17734
17735 2010-02-15  Jim Meyering  <meyering@redhat.com>
17736
17737         init.sh: improve portability and efficiency
17738         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
17739         "dummy" in a for loop.
17740         Use '!', not '^' to select the complement of a character set used
17741         in a "case" statement.
17742         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
17743         Suggestions from Eric Blake.
17744
17745         init.sh: automatically accommodate programs with the .exe suffix
17746         Automatically arrange for an invocation of "prog" to execute the
17747         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
17748         may use the simpler "prog", yet still work when built on a system
17749         that requires specifying the added suffix.
17750         Do this by constructing a function named "prog" that invokes
17751         "prog.exe" for each .exe file in selected directories.
17752         * tests/init.sh (find_exe_basenames_): New function.
17753         (create_exe_shim_functions_): New function.
17754         (path_prepend_): Use it.
17755
17756         maint.mk: mark syntax-check sc_*.m rules as .PHONY
17757         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
17758         "make -t syntax-check" doesn't create a ton of sc_*.m files.
17759
17760 2010-02-14  Jim Meyering  <meyering@redhat.com>
17761
17762         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
17763         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
17764         (sc_prohibit_hash_pjw_without_use): New rule.
17765
17766         maint.mk: allow the default upload destination dir to be overridden
17767         * top/maint.mk (upload_dest_dir_): Define with a default that
17768         preserves the status quo.
17769         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
17770         Reported by Peter Simons.
17771
17772         maint.mk: prohibit inclusion of "hash.h" without_use
17773         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
17774
17775 2010-02-10  Jim Meyering  <meyering@redhat.com>
17776
17777         maint.mk: prohibit inclusion of "ignore-value.h" without_use
17778         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
17779
17780 2010-02-09  Eric Blake  <ebb9@byu.net>
17781         and Bruno Haible  <bruno@clisp.org>
17782
17783         obstack-printf-posix: ensure declaration
17784         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
17785         extracted from gl_FUNC_OBSTACK_PRINTF.
17786         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
17787         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
17788         Likewise.
17789         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
17790         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
17791         0.
17792
17793 2010-02-08  Bruno Haible  <bruno@clisp.org>
17794
17795         gnulib-tool: Fix typo in 2010-02-07 commit.
17796         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
17797         Reported by Eric Blake.
17798
17799 2010-02-07  Bruno Haible  <bruno@clisp.org>
17800
17801         gnulib-tool: Fix up caching patches.
17802         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
17803         option --no-cache. Use associative arrays when supported by the shell.
17804         (sed_comments): New variable.
17805         (modcache): Renamed from do_cache.
17806         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
17807         abbreviate unnecessarily.
17808         (have_associative): New variable.
17809         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
17810         way also for ksh and zsh.
17811         (func_init_sed_convert_to_cache_statements): New function, extracted
17812         from func_cache_lookup_module. Add support for associative arrays.
17813         Don't set the c_MODULE_cached variable here. Ignore all lines before
17814         the first field header. Remove only the final newline, not all trailing
17815         newlines. Support empty fields correctly. Limit the use of 'eval' to
17816         assignments.
17817         (func_get_description, func_get_status, func_get_notice,
17818         func_get_applicability, func_get_filelist, func_get_dependencies,
17819         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
17820         func_get_automake_snippet, func_get_include_directive,
17821         func_get_link_directive, func_get_license, func_get_maintainer):
17822         Update documentation. List the unoptimized code first. Add support for
17823         associative arrays. Limit the use of 'eval' to assignments.
17824         (func_get_applicability): Undo stylistic pessimisations.
17825         (func_get_automake_snippet, func_get_include_directive): Reduce code
17826         duplication.
17827         (func_modules_transitive_closure, func_modules_add_dummy,
17828         func_modules_notice, func_modules_to_filelist, func_add_file,
17829         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
17830         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
17831         func_create_testdir, func_create_megatestdir): Update documentation.
17832
17833 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17834
17835         * gnulib-tool (func_cache_lookup_module): Store the module name
17836         belonging to the cache variable; error out if two different
17837         module names map to the same cache variable name.
17838
17839 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17840
17841         gnulib-tool: Make caching optional.
17842         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
17843         Update matching short versions of --no-changelog.
17844         (func_usage): Update.
17845         (sed_extract_cache_prog): Renamed from ...
17846         (sed_extract_prog): ... this; revert to old extraction script.
17847         (func_get_description, func_get_status)
17848         (func_get_notice, func_get_applicability, func_get_filelist)
17849         (func_get_dependencies, func_get_autoconf_early_snippet)
17850         (func_get_autoconf_snippet, func_get_automake_snippet)
17851         (func_get_include_directive, func_get_link_directive)
17852         (func_get_license, func_get_maintainer): If $do_cache is false,
17853         use old, non-caching extraction scripts.
17854         Suggestion by Bruno Haible.
17855
17856 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17857
17858         gnulib-tool: cache module metainformation.
17859         * gnulib-tool (sed_extract_prog): Match newline before each
17860         header, and rewrite header to a shell variable suffix.
17861         (func_cache_var, func_cache_lookup_module): New functions,
17862         to turn a module name into a cache variable prefix, and to
17863         look up and cache module metainformation.
17864         (func_get_description, func_get_status)
17865         (func_get_notice, func_get_applicability, func_get_filelist)
17866         (func_get_dependencies, func_get_autoconf_early_snippet)
17867         (func_get_autoconf_snippet, func_get_automake_snippet)
17868         (func_get_include_directive, func_get_link_directive)
17869         (func_get_license, func_get_maintainer): Use
17870         func_cache_lookup_module.
17871
17872 2010-02-07  Bruno Haible  <bruno@clisp.org>
17873
17874         fnctl: Fix missing dependency.
17875         * modules/fcntl (Depends-on): Add getdtablesize.
17876         Reported by John W. Eaton <jwe@gnu.org>.
17877
17878 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17879
17880         Argp: fix recognition of short alias options.
17881
17882         * lib/argp-parse.c (convert_options): Fix improper use of
17883         `|' between character values.
17884         * tests/test-argp.c (group1_option): New alias option
17885         --read (-r).
17886         (group1_parser): Special handling for 'r'.
17887         (test15): New test case.
17888         (test_fun): Add test15.
17889         * tests/test-argp-2.sh: Update expected --help and --usage
17890         outputs.
17891
17892 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17893
17894         * tests/test-argp.c: Fix indentation.
17895
17896 2010-02-04  Eric Blake  <ebb9@byu.net>
17897
17898         gettimeofday: expose type of second argument
17899         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
17900         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
17901         * tests/test-gettimeofday.c: Use it to silence warning.
17902         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
17903         the issue.
17904
17905 2010-02-03  Jim Meyering  <meyering@redhat.com>
17906
17907         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
17908         * lib/regcomp.c (TYPE_SIGNED): Define.
17909         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
17910
17911         regcomp.c: avoid a new -Wshadow warning
17912         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
17913
17914 2010-02-01  Jim Meyering  <meyering@redhat.com>
17915
17916         removing useless parentheses in cpp #define directives
17917         For motivation, see commit c0221df4, "define STREQ(a,b)
17918         consistently, removing useless parentheses"
17919         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
17920         * lib/mountlist.c (MNT_IGNORE): Likewise.
17921         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
17922
17923 2010-02-01  Eric Blake  <ebb9@byu.net>
17924
17925         sys_time: use link-warning
17926         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
17927         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
17928         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
17929         * modules/sys_time (Depends-on): Add warn-on-use.
17930         (Makefile.am): Always build replacement.
17931         (configure.ac): Update substitutions.
17932         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
17933         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
17934         bother with SYS_TIME_H.
17935         * modules/gettimeofday (configure.ac): Declare indicator.
17936         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
17937         in use.
17938
17939         closein-tests: silence compiler warning
17940         * tests/test-closein.c (main): Ignore fread result.
17941         * modules/closein-tests (Depends-on): Add ignore-value.
17942
17943         tests: silence warning about system return
17944         * tests/test-areadlink-with-size.c (main): Ignore system result.
17945         * tests/test-areadlink.c (main): Likewise.
17946         * tests/test-areadlinkat-with-size.c (main): Likewise.
17947         * tests/test-areadlinkat.c (main): Likewise.
17948         * tests/test-canonicalize-lgpl.c (main): Likewise.
17949         * tests/test-canonicalize.c (main): Likewise.
17950         * tests/test-chown.c (main): Likewise.
17951         * tests/test-fchownat.c (main): Likewise.
17952         * tests/test-fdutimensat.c (main): Likewise.
17953         * tests/test-fstatat.c (main): Likewise.
17954         * tests/test-futimens.c (main): Likewise.
17955         * tests/test-lchown.c (main): Likewise.
17956         * tests/test-link.c (main): Likewise.
17957         * tests/test-linkat.c (main): Likewise.
17958         * tests/test-lstat.c (main): Likewise.
17959         * tests/test-mkdir.c (main): Likewise.
17960         * tests/test-mkdirat.c (main): Likewise.
17961         * tests/test-mkfifo.c (main): Likewise.
17962         * tests/test-mkfifoat.c (main): Likewise.
17963         * tests/test-mknod.c (main): Likewise.
17964         * tests/test-readlink.c (main): Likewise.
17965         * tests/test-remove.c (main): Likewise.
17966         * tests/test-rename.c (main): Likewise.
17967         * tests/test-renameat.c (main): Likewise.
17968         * tests/test-rmdir.c (main): Likewise.
17969         * tests/test-symlink.c (main): Likewise.
17970         * tests/test-symlinkat.c (main): Likewise.
17971         * tests/test-unlink.c (main): Likewise.
17972         * tests/test-unlinkat.c (main): Likewise.
17973         * tests/test-utimens.c (main): Likewise.
17974         * tests/test-utimensat.c (main): Likewise.
17975         * modules/areadlink-tests (Depends-on): Add ignore-value.
17976         * modules/areadlink-with-size-tests (Depends-on): Likewise.
17977         * modules/areadlinkat-tests (Depends-on): Likewise.
17978         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
17979         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
17980         * modules/canonicalize-tests (Depends-on): Likewise.
17981         * modules/chown-tests (Depends-on): Likewise.
17982         * modules/fdutimensat-tests (Depends-on): Likewise.
17983         * modules/futimens-tests (Depends-on): Likewise.
17984         * modules/lchown-tests (Depends-on): Likewise.
17985         * modules/link-tests (Depends-on): Likewise.
17986         * modules/linkat-tests (Depends-on): Likewise.
17987         * modules/lstat-tests (Depends-on): Likewise.
17988         * modules/mkdir-tests (Depends-on): Likewise.
17989         * modules/mkfifo-tests (Depends-on): Likewise.
17990         * modules/mkfifoat-tests (Depends-on): Likewise.
17991         * modules/mknod-tests (Depends-on): Likewise.
17992         * modules/openat-tests (Depends-on): Likewise.
17993         * modules/readlink-tests (Depends-on): Likewise.
17994         * modules/remove-tests (Depends-on): Likewise.
17995         * modules/rename-tests (Depends-on): Likewise.
17996         * modules/renameat-tests (Depends-on): Likewise.
17997         * modules/rmdir-tests (Depends-on): Likewise.
17998         * modules/symlink-tests (Depends-on): Likewise.
17999         * modules/symlinkat-tests (Depends-on): Likewise.
18000         * modules/unlink-tests (Depends-on): Likewise.
18001         * modules/utimens-tests (Depends-on): Likewise.
18002         * modules/utimensat-tests (Depends-on): Likewise.
18003
18004 2010-01-31  Bruno Haible  <bruno@clisp.org>
18005
18006         Perform the same test for many <math.h> functions.
18007         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
18008         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
18009         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
18010         of gl_MATHFUNC.
18011         * modules/acos (configure.ac): Likewise.
18012         * modules/asin (configure.ac): Likewise.
18013         * modules/atan (configure.ac): Likewise.
18014         * modules/atan2 (configure.ac): Likewise.
18015         * modules/cbrt (configure.ac): Likewise.
18016         * modules/copysign (configure.ac): Likewise.
18017         * modules/cos (configure.ac): Likewise.
18018         * modules/cosh (configure.ac): Likewise.
18019         * modules/erf (configure.ac): Likewise.
18020         * modules/erfc (configure.ac): Likewise.
18021         * modules/exp (configure.ac): Likewise.
18022         * modules/fmod (configure.ac): Likewise.
18023         * modules/hypot (configure.ac): Likewise.
18024         * modules/j0 (configure.ac): Likewise.
18025         * modules/j1 (configure.ac): Likewise.
18026         * modules/jn (configure.ac): Likewise.
18027         * modules/lgamma (configure.ac): Likewise.
18028         * modules/log (configure.ac): Likewise.
18029         * modules/log10 (configure.ac): Likewise.
18030         * modules/log1p (configure.ac): Likewise.
18031         * modules/pow (configure.ac): Likewise.
18032         * modules/remainder (configure.ac): Likewise.
18033         * modules/sin (configure.ac): Likewise.
18034         * modules/sinh (configure.ac): Likewise.
18035         * modules/tan (configure.ac): Likewise.
18036         * modules/tanh (configure.ac): Likewise.
18037         * modules/y0 (configure.ac): Likewise.
18038         * modules/y1 (configure.ac): Likewise.
18039         * modules/yn (configure.ac): Likewise.
18040         Suggested by Paolo Bonzini.
18041
18042 2010-01-31  Bruno Haible  <bruno@clisp.org>
18043
18044         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
18045
18046 2010-01-31  Bruno Haible  <bruno@clisp.org>
18047
18048         Work around getdelim() bug on FreeBSD 8.0.
18049         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
18050         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
18051         not work.
18052         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
18053         is 1.
18054         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
18055         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
18056         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
18057         a non-zero size.
18058         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
18059
18060 2010-01-31  Bruno Haible  <bruno@clisp.org>
18061
18062         Work around getline() bug on FreeBSD 8.0.
18063         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
18064         and a non-zero size.
18065         * tests/test-getline.c (main): Likewise.
18066         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
18067         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
18068
18069 2010-01-28  Eric Blake  <ebb9@byu.net>
18070
18071         regex: fix build failure
18072         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
18073         platforms.
18074
18075 2010-01-28  Jim Meyering  <meyering@redhat.com>
18076
18077         regex: do not ignore memory allocation failure
18078         * lib/regex_internal.c (create_cd_newstate): Detect
18079         re_node_set_init_copy failure.   Extracted from glibc commit
18080         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18081
18082         regex: sync more white-space changes from libc
18083         * lib/regex_internal.c: White-space only changes.
18084         * lib/regexec.c: Likewise.
18085
18086         regex: add many uses of __attribute_warn_unused_result__
18087         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
18088         * lib/regexec.c: Likewise.
18089         Extracted from a messy glibc commit.
18090
18091         regcomp.c: spelling and merge-artifact from glibc
18092         * lib/regcomp.c: Merge remainder of glibc's
18093         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18094
18095         regcomp.c: sync white-space changes from glibc
18096         * lib/regcomp.c: Merge to accommodate white space
18097         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18098
18099         regcomp.c: do not ignore internal return values
18100         * lib/regcomp.c: Do not ignore internal return values.
18101         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
18102         but without its white-space changes and spelling fixes.
18103
18104         regex_internal.h: define __attribute_warn_unused_result__
18105         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
18106
18107         maint: add a syntax-check rule to check for vulnerable Makefile.in
18108         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
18109
18110 2010-01-27  Jim Meyering  <meyering@redhat.com>
18111
18112         ncftpput-ftp: clean up spaces
18113         * build-aux/ncftpput-ftp: Make Copyright line consistent.
18114         Remove trailing blanks.
18115
18116 2010-01-27  Simon Josefsson  <simon@josefsson.org>
18117
18118         * build-aux/git-version-gen: Fix copyright statement.
18119         * build-aux/gnupload: Likewise.
18120         * tests/test-arcfour.c: Likewise.
18121         * tests/test-arctwo.c: Likewise.
18122         * tests/test-count-one-bits.c: Likewise.
18123         * tests/test-crc.c: Likewise.
18124         * tests/test-des.c: Likewise.
18125         * tests/test-gc-arcfour.c: Likewise.
18126         * tests/test-gc-arctwo.c: Likewise.
18127         * tests/test-gc-des.c: Likewise.
18128         * tests/test-gc-hmac-md5.c: Likewise.
18129         * tests/test-gc-hmac-sha1.c: Likewise.
18130         * tests/test-gc-md2.c: Likewise.
18131         * tests/test-gc-md4.c: Likewise.
18132         * tests/test-gc-md5.c: Likewise.
18133         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18134         * tests/test-gc-rijndael.c: Likewise.
18135         * tests/test-gc-sha1.c: Likewise.
18136         * tests/test-gc.c: Likewise.
18137         * tests/test-gethostname.c: Likewise.
18138         * tests/test-gettimeofday.c: Likewise.
18139         * tests/test-hash.c: Likewise.
18140         * tests/test-hmac-md5.c: Likewise.
18141         * tests/test-hmac-sha1.c: Likewise.
18142         * tests/test-md2.c: Likewise.
18143         * tests/test-md4.c: Likewise.
18144         * tests/test-md5.c: Likewise.
18145         * tests/test-memchr.c: Likewise.
18146         * tests/test-memchr2.c: Likewise.
18147         * tests/test-memcmp.c: Likewise.
18148         * tests/test-memmem.c: Likewise.
18149         * tests/test-memrchr.c: Likewise.
18150         * tests/test-rawmemchr.c: Likewise.
18151         * tests/test-read-file.c: Likewise.
18152         * tests/test-rijndael.c: Likewise.
18153         * tests/test-sockets.c: Likewise.
18154         * tests/test-strchrnul.c: Likewise.
18155         * tests/test-strstr.c: Likewise.
18156         * tests/test-strtod.c: Likewise.
18157         * build-aux/ncftpput-ftp: Likewise.
18158
18159 2010-01-26  Eric Blake  <ebb9@byu.net>
18160
18161         ignore-value: update recommended header name
18162         * modules/ignore-value (Include): Only use <> for headers that
18163         exist in glibc.
18164
18165 2010-01-26  Jim Meyering  <meyering@redhat.com>
18166
18167         test-userspec.c: avoid compiler warnings
18168         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
18169         and "initialization discards qualifiers..." warnings.
18170         Put the first "uid" in its own scope, and make char* members "const".
18171
18172 2010-01-25  Bruno Haible  <bruno@clisp.org>
18173
18174         gnulib-tool: Make warning diagnostics consistent.
18175         * gnulib-tool (func_warning): New function.
18176         Use it everywhere where gnulib-tool produces output to stderr and it is
18177         not a fatal error.
18178
18179 2010-01-25  Bruno Haible  <bruno@clisp.org>
18180
18181         Fix test dependencies.
18182         * modules/xstrtol-tests (Depends-on): Add inttypes.
18183         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
18184
18185 2010-01-25 Pádraig Brady <P@draigBrady.com>
18186
18187         syntax-check: detect incorrect boolean macro values in config.h
18188         * modules/maintainer-makefile (configure.ac): Parameterize the location
18189         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
18190         The logic is from Eric Blake and the location indicated by Jim Meyering.
18191         Note the more natural CONFIG_HEADER name is prohibited by automake
18192         for backwards compatibility reasons.
18193         * top/maint.mk (sc_Wundef_boolean): New rule.
18194
18195 2010-01-25  Jim Meyering  <meyering@redhat.com>
18196
18197         bootstrap: detect MacOS 10.6's shasum, too
18198         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
18199         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
18200
18201 2010-01-23  Jim Meyering  <meyering@redhat.com>
18202
18203         xstrtoll: new module
18204         * modules/xstrtoll: New file.
18205         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
18206         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
18207         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
18208         ./configure fails if you use this module and lack "long long".
18209         * modules/xstrtoll-tests: New module.
18210         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
18211         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
18212         new init.sh-based test framework.
18213
18214 2010-01-24  Bruno Haible  <bruno@clisp.org>
18215
18216         Tests for module 'yn'.
18217         * modules/yn-tests: New file.
18218         * tests/test-yn.c: New file.
18219
18220         Tests for module 'y1'.
18221         * modules/y1-tests: New file.
18222         * tests/test-y1.c: New file.
18223
18224         Tests for module 'y0'.
18225         * modules/y0-tests: New file.
18226         * tests/test-y0.c: New file.
18227
18228         Tests for module 'tanh'.
18229         * modules/tanh-tests: New file.
18230         * tests/test-tanh.c: New file.
18231
18232         Tests for module 'tan'.
18233         * modules/tan-tests: New file.
18234         * tests/test-tan.c: New file.
18235
18236         Tests for module 'sqrt'.
18237         * modules/sqrt-tests: New file.
18238         * tests/test-sqrt.c: New file.
18239
18240         Tests for module 'sinh'.
18241         * modules/sinh-tests: New file.
18242         * tests/test-sinh.c: New file.
18243
18244         Tests for module 'sin'.
18245         * modules/sin-tests: New file.
18246         * tests/test-sin.c: New file.
18247
18248         Tests for module 'rint'.
18249         * modules/rint-tests: New file.
18250         * tests/test-rint.c: New file.
18251
18252         Tests for module 'remainder'.
18253         * modules/remainder-tests: New file.
18254         * tests/test-remainder.c: New file.
18255
18256         Tests for module 'pow'.
18257         * modules/pow-tests: New file.
18258         * tests/test-pow.c: New file.
18259
18260         Tests for module 'nextafter'.
18261         * modules/nextafter-tests: New file.
18262         * tests/test-nextafter.c: New file.
18263
18264         Tests for module 'modf'.
18265         * modules/modf-tests: New file.
18266         * tests/test-modf.c: New file.
18267
18268         Tests for module 'logb'.
18269         * modules/logb-tests: New file.
18270         * tests/test-logb.c: New file.
18271
18272         Tests for module 'log1p'.
18273         * modules/log1p-tests: New file.
18274         * tests/test-log1p.c: New file.
18275
18276         Tests for module 'log10'.
18277         * modules/log10-tests: New file.
18278         * tests/test-log10.c: New file.
18279
18280         Tests for module 'log'.
18281         * modules/log-tests: New file.
18282         * tests/test-log.c: New file.
18283
18284         Tests for module 'lgamma'.
18285         * modules/lgamma-tests: New file.
18286         * tests/test-lgamma.c: New file.
18287
18288         Tests for module 'ldexp'.
18289         * modules/ldexp-tests: New file.
18290         * tests/test-ldexp.c: New file.
18291
18292         Tests for module 'jn'.
18293         * modules/jn-tests: New file.
18294         * tests/test-jn.c: New file.
18295
18296         Tests for module 'j1'.
18297         * modules/j1-tests: New file.
18298         * tests/test-j1.c: New file.
18299
18300         Tests for module 'j0'.
18301         * modules/j0-tests: New file.
18302         * tests/test-j0.c: New file.
18303
18304         Tests for module 'hypot'.
18305         * modules/hypot-tests: New file.
18306         * tests/test-hypot.c: New file.
18307
18308         Tests for module 'fmod'.
18309         * modules/fmod-tests: New file.
18310         * tests/test-fmod.c: New file.
18311
18312         Tests for module 'fabs'.
18313         * modules/fabs-tests: New file.
18314         * tests/test-fabs.c: New file.
18315
18316         Tests for module 'exp'.
18317         * modules/exp-tests: New file.
18318         * tests/test-exp.c: New file.
18319
18320         Tests for module 'erfc'.
18321         * modules/erfc-tests: New file.
18322         * tests/test-erfc.c: New file.
18323
18324         Tests for module 'erf'.
18325         * modules/erf-tests: New file.
18326         * tests/test-erf.c: New file.
18327
18328         Tests for module 'cosh'.
18329         * modules/cosh-tests: New file.
18330         * tests/test-cosh.c: New file.
18331
18332         Tests for module 'cos'.
18333         * modules/cos-tests: New file.
18334         * tests/test-cos.c: New file.
18335
18336         Tests for module 'copysign'.
18337         * modules/copysign-tests: New file.
18338         * tests/test-copysign.c: New file.
18339
18340         Tests for module 'cbrt'.
18341         * modules/cbrt-tests: New file.
18342         * tests/test-cbrt.c: New file.
18343
18344         Tests for module 'atan2'.
18345         * modules/atan2-tests: New file.
18346         * tests/test-atan2.c: New file.
18347
18348         Tests for module 'atan'.
18349         * modules/atan-tests: New file.
18350         * tests/test-atan.c: New file.
18351
18352         Tests for module 'asin'.
18353         * modules/asin-tests: New file.
18354         * tests/test-asin.c: New file.
18355
18356         Tests for module 'acos'.
18357         * modules/acos-tests: New file.
18358         * tests/test-acos.c: New file.
18359
18360 2010-01-24  Bruno Haible  <bruno@clisp.org>
18361
18362         Fix tests for common <math.h> functions.
18363         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
18364         code snippet that references the function pointer, rather than merely
18365         calling the function. Substitute the FUNC_LIBM variable.
18366         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
18367         * modules/acos (configure.ac): Likewise.
18368         * modules/asin (configure.ac): Likewise.
18369         * modules/atan (configure.ac): Likewise.
18370         * modules/atan2 (configure.ac): Likewise.
18371         * modules/cbrt (configure.ac): Likewise.
18372         * modules/copysign (configure.ac): Likewise.
18373         * modules/cos (configure.ac): Likewise.
18374         * modules/cosh (configure.ac): Likewise.
18375         * modules/erf (configure.ac): Likewise.
18376         * modules/erfc (configure.ac): Likewise.
18377         * modules/exp (configure.ac): Likewise.
18378         * modules/fabs (configure.ac): Likewise.
18379         * modules/fmod (configure.ac): Likewise.
18380         * modules/hypot (configure.ac): Likewise.
18381         * modules/j0 (configure.ac): Likewise.
18382         * modules/j1 (configure.ac): Likewise.
18383         * modules/jn (configure.ac): Likewise.
18384         * modules/ldexp (configure.ac): Likewise.
18385         * modules/lgamma (configure.ac): Likewise.
18386         * modules/log (configure.ac): Likewise.
18387         * modules/log10 (configure.ac): Likewise.
18388         * modules/log1p (configure.ac): Likewise.
18389         * modules/logb (configure.ac): Likewise.
18390         * modules/modf (configure.ac): Likewise.
18391         * modules/nextafter (configure.ac): Likewise.
18392         * modules/pow (configure.ac): Likewise.
18393         * modules/remainder (configure.ac): Likewise.
18394         * modules/rint (configure.ac): Likewise.
18395         * modules/sin (configure.ac): Likewise.
18396         * modules/sinh (configure.ac): Likewise.
18397         * modules/tan (configure.ac): Likewise.
18398         * modules/tanh (configure.ac): Likewise.
18399         * modules/y0 (configure.ac): Likewise.
18400         * modules/y1 (configure.ac): Likewise.
18401         * modules/yn (configure.ac): Likewise.
18402
18403 2010-01-24  Bruno Haible  <bruno@clisp.org>
18404
18405         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
18406         * tests/test-acosl.c (x): New variable.
18407         (main): Store argument in x and fetch it from x.
18408         * tests/test-asinl.c (x): New variable.
18409         (main): Store argument in x and fetch it from x.
18410         * tests/test-atanl.c (x): New variable.
18411         (main): Store argument in x and fetch it from x.
18412         * tests/test-cosl.c (x): New variable.
18413         (main): Store argument in x and fetch it from x.
18414         * tests/test-expl.c (x): New variable.
18415         (main): Store argument in x and fetch it from x.
18416         * tests/test-logl.c (x): New variable.
18417         (main): Store argument in x and fetch it from x.
18418         * tests/test-sinl.c (x): New variable.
18419         (main): Store argument in x and fetch it from x.
18420         * tests/test-sqrtl.c (x): New variable.
18421         (main): Store argument in x and fetch it from x.
18422         * tests/test-tanl.c (x): New variable.
18423         (main): Store argument in x and fetch it from x.
18424
18425 2010-01-24  Bruno Haible  <bruno@clisp.org>
18426
18427         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
18428         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
18429         assignments to the initial TESTS_ENVIRONMENT.
18430         * doc/gnulib.texi (Unit test modules): Document it.
18431         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
18432         TESTS_ENVIRONMENT.
18433         * modules/btowc-tests (Makefile.am): Likewise.
18434         * modules/c-stack-tests (Makefile.am): Likewise.
18435         * modules/c-strcase-tests (Makefile.am): Likewise.
18436         * modules/copy-file-tests (Makefile.am): Likewise.
18437         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
18438         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
18439         * modules/mbrtowc-tests (Makefile.am): Likewise.
18440         * modules/mbscasecmp-tests (Makefile.am): Likewise.
18441         * modules/mbscasestr-tests (Makefile.am): Likewise.
18442         * modules/mbschr-tests (Makefile.am): Likewise.
18443         * modules/mbscspn-tests (Makefile.am): Likewise.
18444         * modules/mbsinit-tests (Makefile.am): Likewise.
18445         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
18446         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
18447         * modules/mbspbrk-tests (Makefile.am): Likewise.
18448         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
18449         * modules/mbsrchr-tests (Makefile.am): Likewise.
18450         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
18451         * modules/mbsspn-tests (Makefile.am): Likewise.
18452         * modules/mbsstr-tests (Makefile.am): Likewise.
18453         * modules/nl_langinfo-tests (Makefile.am): Likewise.
18454         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
18455         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
18456         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
18457         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
18458         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
18459         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
18460         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
18461         * modules/wcrtomb-tests (Makefile.am): Likewise.
18462         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
18463         * modules/wcsrtombs-tests (Makefile.am): Likewise.
18464         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
18465         assignments from TESTS_ENVIRONMENT.
18466         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
18467         augmentation.
18468         * modules/argp-version-etc-tests (Makefile.am): Likewise.
18469         * modules/atexit-tests (Makefile.am): Likewise.
18470         * modules/binary-io-tests (Makefile.am): Likewise.
18471         * modules/closein-tests (Makefile.am): Likewise.
18472         * modules/dprintf-posix-tests (Makefile.am): Likewise.
18473         * modules/exclude-tests (Makefile.am): Likewise.
18474         * modules/fflush-tests (Makefile.am): Likewise.
18475         * modules/fpending-tests (Makefile.am): Likewise.
18476         * modules/fprintf-posix-tests (Makefile.am): Likewise.
18477         * modules/freadahead-tests (Makefile.am): Likewise.
18478         * modules/freadptr-tests (Makefile.am): Likewise.
18479         * modules/freadseek-tests (Makefile.am): Likewise.
18480         * modules/fseek-tests (Makefile.am): Likewise.
18481         * modules/fseeko-tests (Makefile.am): Likewise.
18482         * modules/ftell-tests (Makefile.am): Likewise.
18483         * modules/ftello-tests (Makefile.am): Likewise.
18484         * modules/idpriv-drop-tests (Makefile.am): Likewise.
18485         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
18486         * modules/lseek-tests (Makefile.am): Likewise.
18487         * modules/parse-duration-tests (Makefile.am): Likewise.
18488         * modules/perror-tests (Makefile.am): Likewise.
18489         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
18490         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
18491         * modules/pipe-tests (Makefile.am): Likewise.
18492         * modules/pread-tests (Makefile.am): Likewise.
18493         * modules/printf-posix-tests (Makefile.am): Likewise.
18494         * modules/select-tests (Makefile.am): Likewise.
18495         * modules/sigpipe-tests (Makefile.am): Likewise.
18496         * modules/tsearch-tests (Makefile.am): Likewise.
18497         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
18498         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
18499         * modules/uniname/uniname-tests (Makefile.am): Likewise.
18500         * modules/uniwidth/width-tests (Makefile.am): Likewise.
18501         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
18502         * modules/version-etc-tests (Makefile.am): Likewise.
18503         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
18504         * modules/vprintf-posix-tests (Makefile.am): Likewise.
18505         * modules/xalloc-die-tests (Makefile.am): Likewise.
18506         * modules/xprintf-posix-tests (Makefile.am): Likewise.
18507         * modules/xstrtoimax-tests (Makefile.am): Likewise.
18508         * modules/xstrtol-tests (Makefile.am): Likewise.
18509         * modules/xstrtoumax-tests (Makefile.am): Likewise.
18510         * modules/yesno-tests (Makefile.am): Likewise.
18511         Suggested by Jim Meyering.
18512
18513 2010-01-24  Bruno Haible  <bruno@clisp.org>
18514
18515         More documentation.
18516         * doc/gnulib.texi (Writing modules): New chapter.
18517         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
18518         the new chapter.
18519
18520 2010-01-24  Jim Meyering  <meyering@redhat.com>
18521
18522         maint.mk: do not prepend "./" after filtering
18523         * top/maint.mk (_prepend_srcdir_prefix): New variable
18524         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
18525         "./" when $(srcdir) is ".".
18526
18527         define STREQ(a,b) consistently, removing useless parentheses
18528         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
18529         since the only risk is that "a" or "b" contains an unparenthesized
18530         comma, but if either did that, STREQ would have 3 or more arguments.
18531         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
18532         * lib/fts.c (STREQ): Remove unnecessary parentheses.
18533         * lib/hash-triple.c (STREQ): Likewise.
18534         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
18535         * lib/getugroups.c (STREQ): Likewise.
18536
18537 2010-01-23  Jim Meyering  <meyering@redhat.com>
18538
18539         maint.mk: fix syntax-check in a non-srcdir build directory
18540         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
18541         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
18542
18543 2010-01-22  Jim Meyering  <meyering@redhat.com>
18544
18545         userspec: add unit tests
18546         * tests/test-userspec.c: New file.
18547         * modules/userspec-tests: Likewise.
18548
18549 2010-01-21  Jim Meyering  <meyering@redhat.com>
18550
18551         maint.mk: handle source file names containing "." robustly
18552         * top/maint.mk (_dot_escaped_srcdir): Define.
18553         (VC_LIST): Use it in LHS of sed substitution.
18554
18555 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
18556
18557         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
18558         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
18559         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
18560         from a non-srcdir build.
18561
18562 2010-01-20  Eric Blake  <ebb9@byu.net>
18563
18564         warn-on-use: use instead of link-warning
18565         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
18566         * modules/unistd (Depends-on, Makefile.am): Likewise.
18567         * modules/arpa_inet (Depends-on): Replace link-warning with
18568         warn-on-use.
18569         (Makefile.am): Update rules accordingly.
18570         * modules/ctype (Depends-on, Makefile.am): Likewise.
18571         * modules/dirent (Depends-on, Makefile.am): Likewise.
18572         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
18573         * modules/inttypes (Depends-on, Makefile.am): Likewise.
18574         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18575         * modules/locale (Depends-on, Makefile.am): Likewise.
18576         * modules/math (Depends-on, Makefile.am): Likewise.
18577         * modules/search (Depends-on, Makefile.am): Likewise.
18578         * modules/signal (Depends-on, Makefile.am): Likewise.
18579         * modules/spawn (Depends-on, Makefile.am): Likewise.
18580         * modules/stdlib (Depends-on, Makefile.am): Likewise.
18581         * modules/string (Depends-on, Makefile.am): Likewise.
18582         * modules/strings (Depends-on, Makefile.am): Likewise.
18583         * modules/sys_file (Depends-on, Makefile.am): Likewise.
18584         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
18585         * modules/sys_select (Depends-on, Makefile.am): Likewise.
18586         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
18587         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
18588         * modules/sys_times (Depends-on, Makefile.am): Likewise.
18589         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18590         * modules/wchar (Depends-on, Makefile.am): Likewise.
18591         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
18592         should be poisoned.
18593         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
18594         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
18595         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
18596         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18597         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18598         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
18599         * m4/math_h.m4 (gl_MATH_H): Likewise.
18600         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18601         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
18602         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18603         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
18604         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
18605         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
18606         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
18607         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
18608         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18609         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18610         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18611         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
18612         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18613         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18614         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18615         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
18616         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
18617         GL_LINK_WARNING.
18618         * lib/ctype.in.h: Likewise.
18619         * lib/dirent.in.h: Likewise.
18620         * lib/fcntl.in.h: Likewise.
18621         * lib/inttypes.in.h: Likewise.
18622         * lib/langinfo.in.h: Likewise.
18623         * lib/locale.in.h: Likewise.
18624         * lib/math.in.h: Likewise.
18625         * lib/search.in.h: Likewise.
18626         * lib/signal.in.h: Likewise.
18627         * lib/spawn.in.h: Likewise.
18628         * lib/stdio.in.h: Likewise.
18629         * lib/stdlib.in.h: Likewise.
18630         * lib/string.in.h: Likewise.
18631         * lib/strings.in.h: Likewise.
18632         * lib/sys_file.in.h: Likewise.
18633         * lib/sys_ioctl.in.h: Likewise.
18634         * lib/sys_select.in.h: Likewise.
18635         * lib/sys_socket.in.h: Likewise.
18636         * lib/sys_stat.in.h: Likewise.
18637         * lib/sys_times.in.h: Likewise.
18638         * lib/sys_utsname.in.h: Likewise.
18639         * lib/unistd.in.h: Likewise.
18640         * lib/wchar.in.h: Likewise.
18641
18642 2010-01-20  Bruno Haible  <bruno@clisp.org>
18643
18644         Avoid duplicate -lm.
18645         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
18646         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
18647         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
18648         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
18649         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
18650         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
18651         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
18652         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
18653         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
18654         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
18655         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
18656         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
18657         Reported by Paolo Bonzini.
18658
18659 2010-01-19  Bruno Haible  <bruno@clisp.org>
18660
18661         langinfo, nl_langinfo: Relicense under LGPLv2+.
18662         * modules/langinfo (License): Change to LGPLv2+.
18663         * modules/nl_langinfo (License): Likewise.
18664         Patch by David Lutterkort <lutter@redhat.com>.
18665
18666 2010-01-19  Bruno Haible  <bruno@clisp.org>
18667
18668         Avoid compilation error with cc on OSF/1 5.1.
18669         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
18670         statement, not before.
18671         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18672
18673 2010-01-18  Bruno Haible  <bruno@clisp.org>
18674
18675         Avoid a link error due to the __printf__ symbol.
18676         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
18677         and 2.6.x.
18678         (__format__, __printf__): Remove definitions.
18679         * lib/argp-fmtstream.h: Likewise.
18680         * lib/argp.h: Likewise.
18681         * lib/error.h: Likewise.
18682         * lib/vasnprintf.h: Likewise.
18683         * lib/xprintf.h: Likewise.
18684         * lib/xvasprintf.h: Likewise.
18685         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18686
18687 2010-01-18  Bruno Haible  <bruno@clisp.org>
18688
18689         Tests for module 'tanl'.
18690         * modules/tanl-tests: New file.
18691         * tests/test-tanl.c: New file.
18692
18693         Tests for module 'sqrtl'.
18694         * modules/sqrtl-tests: New file.
18695         * tests/test-sqrtl.c: New file.
18696
18697         Tests for module 'sinl'.
18698         * modules/sinl-tests: New file.
18699         * tests/test-sinl.c: New file.
18700
18701         Tests for module 'logl'.
18702         * modules/logl-tests: New file.
18703         * tests/test-logl.c: New file.
18704
18705         Tests for module 'expl'.
18706         * modules/expl-tests: New file.
18707         * tests/test-expl.c: New file.
18708
18709         Tests for module 'cosl'.
18710         * modules/cosl-tests: New file.
18711         * tests/test-cosl.c: New file.
18712
18713         Tests for module 'atanl'.
18714         * modules/atanl-tests: New file.
18715         * tests/test-atanl.c: New file.
18716
18717         Tests for module 'asinl'.
18718         * modules/asinl-tests: New file.
18719         * tests/test-asinl.c: New file.
18720
18721         Tests for module 'acosl'.
18722         * modules/acosl-tests: New file.
18723         * tests/test-acosl.c: New file.
18724
18725         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18726         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
18727         tanl): Use the standard gnulib idiom.
18728         * lib/cosl.c: Don't include trigl.c and sincosl.c.
18729         * lib/sinl.c: Likewise.
18730         * lib/tanl.c: Don't include trigl.c.
18731         (kernel_tanl): Make static.
18732         * lib/sincosl.c: Include trigl.h first.
18733         * lib/trigl.c: Likewise.
18734         * m4/acosl.m4: New file.
18735         * m4/asinl.m4: New file.
18736         * m4/atanl.m4: New file.
18737         * m4/cosl.m4: New file.
18738         * m4/expl.m4: New file.
18739         * m4/logl.m4: New file.
18740         * m4/sinl.m4: New file.
18741         * m4/sqrtl.m4: New file.
18742         * m4/tanl.m4: New file.
18743         * m4/mathl.m4: Remove file.
18744         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
18745         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18746         Don't initialize GNULIB_MATHL.
18747         * modules/acosl: New file.
18748         * modules/asinl: New file.
18749         * modules/atanl: New file.
18750         * modules/cosl: New file.
18751         * modules/expl: New file.
18752         * modules/logl: New file.
18753         * modules/sinl: New file.
18754         * modules/sqrtl: New file.
18755         * modules/tanl: New file.
18756         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
18757         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
18758         substitute GNULIB_MATHL.
18759         * modules/mathl: Rewritten.
18760         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
18761         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
18762         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
18763         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
18764         * doc/posix-functions/expl.texi: Mention the 'expl' module.
18765         * doc/posix-functions/logl.texi: Mention the 'logl' module.
18766         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
18767         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
18768         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
18769
18770 2010-01-18  Bruno Haible  <bruno@clisp.org>
18771
18772         sqrt: Make gl_FUNC_SQRT requirable.
18773         * m4/sqrt.m4: New file.
18774         * modules/sqrt (Files): Add it.
18775         (configure.ac): Invoke gl_FUNC_SQRT.
18776
18777 2010-01-18  Bruno Haible  <bruno@clisp.org>
18778
18779         New modules for common <math.h> functions.
18780         * m4/mathfunc.m4: New file.
18781         * modules/acos: New file.
18782         * modules/asin: New file.
18783         * modules/atan: New file.
18784         * modules/atan2: New file.
18785         * modules/cbrt: New file.
18786         * modules/copysign: New file.
18787         * modules/cos: New file.
18788         * modules/cosh: New file.
18789         * modules/erf: New file.
18790         * modules/erfc: New file.
18791         * modules/exp: New file.
18792         * modules/fabs: New file.
18793         * modules/fmod: New file.
18794         * modules/hypot: New file.
18795         * modules/j0: New file.
18796         * modules/j1: New file.
18797         * modules/jn: New file.
18798         * modules/ldexp: New file.
18799         * modules/lgamma: New file.
18800         * modules/log: New file.
18801         * modules/log10: New file.
18802         * modules/log1p: New file.
18803         * modules/logb: New file.
18804         * modules/modf: New file.
18805         * modules/nextafter: New file.
18806         * modules/pow: New file.
18807         * modules/remainder: New file.
18808         * modules/rint: New file.
18809         * modules/sin: New file.
18810         * modules/sinh: New file.
18811         * modules/sqrt: New file.
18812         * modules/tan: New file.
18813         * modules/tanh: New file.
18814         * modules/y0: New file.
18815         * modules/y1: New file.
18816         * modules/yn: New file.
18817         * doc/posix-functions/acos.texi: Mention the 'acos' module.
18818         * doc/posix-functions/asin.texi: Mention the 'asin' module.
18819         * doc/posix-functions/atan.texi: Mention the 'atan' module.
18820         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
18821         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
18822         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
18823         * doc/posix-functions/cos.texi: Mention the 'cos' module.
18824         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
18825         * doc/posix-functions/erf.texi: Mention the 'erf' module.
18826         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
18827         * doc/posix-functions/exp.texi: Mention the 'exp' module.
18828         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
18829         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
18830         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
18831         * doc/posix-functions/j0.texi: Mention the 'j0' module.
18832         * doc/posix-functions/j1.texi: Mention the 'j1' module.
18833         * doc/posix-functions/jn.texi: Mention the 'jn' module.
18834         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
18835         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
18836         * doc/posix-functions/log.texi: Mention the 'log' module.
18837         * doc/posix-functions/log10.texi: Mention the 'log10' module.
18838         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
18839         * doc/posix-functions/logb.texi: Mention the 'logb' module.
18840         * doc/posix-functions/modf.texi: Mention the 'modf' module.
18841         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
18842         * doc/posix-functions/pow.texi: Mention the 'pow' module.
18843         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
18844         * doc/posix-functions/rint.texi: Mention the 'rint' module.
18845         * doc/posix-functions/sin.texi: Mention the 'sin' module.
18846         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
18847         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
18848         * doc/posix-functions/tan.texi: Mention the 'tan' module.
18849         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
18850         * doc/posix-functions/y0.texi: Mention the 'y0' module.
18851         * doc/posix-functions/y1.texi: Mention the 'y1' module.
18852         * doc/posix-functions/yn.texi: Mention the 'yn' module.
18853
18854 2010-01-18  Jim Meyering  <meyering@redhat.com>
18855
18856         ignore-value: relax license to LGPLv2+
18857         * modules/ignore-value (License): Relax to LGPLv2+.
18858
18859         getdate: don't leak when TZ contains two or more '"'s
18860         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
18861         double quote in TZ after the first one.
18862
18863         readtokens: do not leak internal token_lengths buffer
18864         * lib/readtokens.c (readtokens): Free the local, lengths,
18865         when the supplied "token_lengths" parameter is NULL.
18866
18867 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18868
18869         Fix a couple of missing LIBTHREAD link failures on AIX.
18870         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
18871         $(LIBTHREAD).
18872         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
18873
18874         Link test-poll against INET_PTON_LIB.
18875         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
18876         for inet_pton on Solaris 10.
18877
18878 2010-01-17  Bruno Haible  <bruno@clisp.org>
18879
18880         unistdio/*-sprintf: Fix typo in module description.
18881         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
18882         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
18883         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
18884         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
18885         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
18886         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
18887         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
18888         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18889
18890 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18891
18892         gnulib-tool: fix filelist for AIX, HP-UX ksh.
18893         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
18894         variables in shell case patterns, for AIX and HP-UX ksh.
18895
18896         Split large sed scripts, for HP-UX sed.
18897         * modules/stdio: Split sed scripts around 50 sed commands,
18898         to avoid HP-UX limit of 99 commands, in the near future.
18899         * modules/string: Likewise.
18900         * modules/unistd: Likewise.
18901
18902         gnulib-tool: avoid writing in the current directory.
18903         * gnulib-tool (func_emit_lib_Makefile_am)
18904         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
18905         not in the current directory, so concurrent gnulib-tool
18906         instances do not interfere.
18907
18908 2010-01-16  Jim Meyering  <meyering@redhat.com>
18909
18910         doc: update users.txt
18911         * users.txt: Add grep.
18912         (diffutils, gzip): Update URLs.
18913
18914 2010-01-12  Bruno Haible  <bruno@clisp.org>
18915
18916         posix_spawn: Avoid test failure on Cygwin.
18917         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
18918         characters.
18919         Reported by Simon Josefsson.
18920
18921 2010-01-12  Bruno Haible  <bruno@clisp.org>
18922
18923         * tests/test-cond.c (main): When skipping the test, show the reason.
18924
18925 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18926
18927         * lib/striconv.c (str_cd_iconv): Avoid if before free.
18928
18929 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18930
18931         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
18932         VC_LIST_ALWAYS_EXCLUDE_REGEX.
18933
18934 2010-01-12  Eric Blake  <ebb9@byu.net>
18935
18936         build: guarantee AS_VAR_IF
18937         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
18938         (gl_AS_VAR_IF): Move...
18939         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
18940         Reported by Simon Josefsson.
18941
18942 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18943
18944         * lib/stdio.in.h: Fix typo.
18945
18946 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18947
18948         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
18949         libgpg-error.
18950
18951 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18952
18953         * tests/test-xalloc-die.sh: Use $EXEEXT.
18954
18955 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18956             Bruno Haible  <bruno@clisp.org>
18957
18958         getlogin, getlogin_r: Avoid test failure.
18959         * tests/test-getlogin.c: Include <stdio.h>.
18960         (main): Skip the test when the function fails because stdin is not a
18961         tty.
18962         * tests/test-getlogin_r.c: Include <stdio.h>.
18963         (main): Skip the test when the function fails because stdin is not a
18964         tty.
18965
18966 2010-01-11  Eric Blake  <ebb9@byu.net>
18967
18968         tests: avoid more large file warnings
18969         * tests/test-fflush.c: Avoid warning about ftell use.
18970         * tests/test-fseek.c: Avoid warning about fseek use.
18971
18972 2010-01-10  Bruno Haible  <bruno@clisp.org>
18973
18974         nproc: Work better on Linux when /proc and /sys are not mounted.
18975         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
18976         as lower bound when, on glibc/Linux systems,
18977         sysconf (_SC_NPROCESSORS_CONF) returns 1.
18978         Suggested by Pádraig Brady <P@draigbrady.com>.
18979         Reported by Dmitry V. Levin <ldv@altlinux.org>.
18980
18981         nproc: Refactor.
18982         * lib/nproc.c (num_processors_via_affinity_mask): New function,
18983         extracted from num_processors.
18984         (num_processors): Call it.
18985
18986 2010-01-11  Jim Meyering  <meyering@redhat.com>
18987
18988         utimecmp: avoid new warning from upcoming gcc-4.5.0
18989         * lib/utimecmp.c (BILLION): Define using #define rather than an
18990         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
18991
18992 2010-01-11  Eric Blake  <ebb9@byu.net>
18993
18994         math: add portability warnings for classification macros
18995         * modules/math (Depends-on): Add warn-on-use.
18996         (Makefile.am): Provide new substitutions.
18997         * m4/math_h.m4 (gl_MATH_H): Require inline.
18998         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
18999         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
19000         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
19001         implement warnings.
19002
19003         unistd: warn on use of environ without module
19004         * modules/unistd (Depends-on): Add warn-on-use.
19005         (Makefile.am): Provide new substitutions.
19006         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
19007         * lib/unistd.in.h (environ): Wrap with a warning helper function.
19008
19009         stdio: warn on suspicious uses
19010         * modules/stdio (Depends-on): Add warn-on-use.
19011         (Makefile.am): Provide new substitutions.
19012         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
19013         fseeko.
19014         * lib/stdio.in.h (gets): Always warn on use.
19015         (fseek, ftell): Adjust when warnings are issued, and honor
19016         _GL_NO_LARGE_FILES as a way to silence the warning.
19017         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
19018         any warning about large file offsets.
19019         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
19020         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
19021         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
19022         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
19023         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
19024         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
19025         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
19026         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
19027
19028         warn-on-use: new module
19029         * modules/warn-on-use: New file.
19030         * build-aux/warn-on-use.h: Likewise.
19031         * m4/warn-on-use.m4: Likewise.
19032         * MODULES.html.sh (Support for building): Mention it.
19033
19034 2010-01-10  Bruno Haible  <bruno@clisp.org>
19035
19036         Tests for module 'unistr/u32-strdup'.
19037         * modules/unistr/u32-strdup-tests: New file.
19038         * tests/unistr/test-u32-strdup.c: New file.
19039
19040         Tests for module 'unistr/u16-strdup'.
19041         * modules/unistr/u16-strdup-tests: New file.
19042         * tests/unistr/test-u16-strdup.c: New file.
19043
19044         Tests for module 'unistr/u8-strdup'.
19045         * modules/unistr/u8-strdup-tests: New file.
19046         * tests/unistr/test-u8-strdup.c: New file.
19047         * tests/unistr/test-strdup.h: New file.
19048
19049         Tests for module 'unistr/u32-strncmp'.
19050         * modules/unistr/u32-strncmp-tests: New file.
19051         * tests/unistr/test-u32-strncmp.c: New file.
19052
19053         Tests for module 'unistr/u16-strncmp'.
19054         * modules/unistr/u16-strncmp-tests: New file.
19055         * tests/unistr/test-u16-strncmp.c: New file.
19056
19057         Tests for module 'unistr/u8-strncmp'.
19058         * modules/unistr/u8-strncmp-tests: New file.
19059         * tests/unistr/test-u8-strncmp.c: New file.
19060         * tests/unistr/test-strncmp.h: New file.
19061
19062         Tests for module 'unistr/u32-strcoll'.
19063         * modules/unistr/u32-strcoll-tests: New file.
19064         * tests/unistr/test-u32-strcoll.c: New file.
19065
19066         Tests for module 'unistr/u16-strcoll'.
19067         * modules/unistr/u16-strcoll-tests: New file.
19068         * tests/unistr/test-u16-strcoll.c: New file.
19069
19070         Tests for module 'unistr/u8-strcoll'.
19071         * modules/unistr/u8-strcoll-tests: New file.
19072         * tests/unistr/test-u8-strcoll.c: New file.
19073
19074         Tests for module 'unistr/u32-strcmp'.
19075         * modules/unistr/u32-strcmp-tests: New file.
19076         * tests/unistr/test-u32-strcmp.c: New file.
19077         * tests/unistr/test-u32-strcmp.h: New file.
19078
19079         Tests for module 'unistr/u16-strcmp'.
19080         * modules/unistr/u16-strcmp-tests: New file.
19081         * tests/unistr/test-u16-strcmp.c: New file.
19082         * tests/unistr/test-u16-strcmp.h: New file.
19083
19084         Tests for module 'unistr/u8-strcmp'.
19085         * modules/unistr/u8-strcmp-tests: New file.
19086         * tests/unistr/test-u8-strcmp.c: New file.
19087         * tests/unistr/test-u8-strcmp.h: New file.
19088         * tests/unistr/test-strcmp.h: New file.
19089
19090         Tests for module 'unistr/u32-strncat'.
19091         * modules/unistr/u32-strncat-tests: New file.
19092         * tests/unistr/test-u32-strncat.c: New file.
19093
19094         Tests for module 'unistr/u16-strncat'.
19095         * modules/unistr/u16-strncat-tests: New file.
19096         * tests/unistr/test-u16-strncat.c: New file.
19097
19098         Tests for module 'unistr/u8-strncat'.
19099         * modules/unistr/u8-strncat-tests: New file.
19100         * tests/unistr/test-u8-strncat.c: New file.
19101         * tests/unistr/test-strncat.h: New file.
19102
19103         Tests for module 'unistr/u32-strcat'.
19104         * modules/unistr/u32-strcat-tests: New file.
19105         * tests/unistr/test-u32-strcat.c: New file.
19106
19107         Tests for module 'unistr/u16-strcat'.
19108         * modules/unistr/u16-strcat-tests: New file.
19109         * tests/unistr/test-u16-strcat.c: New file.
19110
19111         Tests for module 'unistr/u8-strcat'.
19112         * modules/unistr/u8-strcat-tests: New file.
19113         * tests/unistr/test-u8-strcat.c: New file.
19114         * tests/unistr/test-strcat.h: New file.
19115
19116         Tests for module 'unistr/u32-stpncpy'.
19117         * modules/unistr/u32-stpncpy-tests: New file.
19118         * tests/unistr/test-u32-stpncpy.c: New file.
19119
19120         Tests for module 'unistr/u16-stpncpy'.
19121         * modules/unistr/u16-stpncpy-tests: New file.
19122         * tests/unistr/test-u16-stpncpy.c: New file.
19123
19124         Tests for module 'unistr/u8-stpncpy'.
19125         * modules/unistr/u8-stpncpy-tests: New file.
19126         * tests/unistr/test-u8-stpncpy.c: New file.
19127         * tests/unistr/test-stpncpy.h: New file.
19128
19129         Tests for module 'unistr/u32-strncpy'.
19130         * modules/unistr/u32-strncpy-tests: New file.
19131         * tests/unistr/test-u32-strncpy.c: New file.
19132
19133         Tests for module 'unistr/u16-strncpy'.
19134         * modules/unistr/u16-strncpy-tests: New file.
19135         * tests/unistr/test-u16-strncpy.c: New file.
19136
19137         Tests for module 'unistr/u8-strncpy'.
19138         * modules/unistr/u8-strncpy-tests: New file.
19139         * tests/unistr/test-u8-strncpy.c: New file.
19140         * tests/unistr/test-strncpy.h: New file.
19141
19142         Tests for module 'unistr/u32-stpcpy'.
19143         * modules/unistr/u32-stpcpy-tests: New file.
19144         * tests/unistr/test-u32-stpcpy.c: New file.
19145
19146         Tests for module 'unistr/u16-stpcpy'.
19147         * modules/unistr/u16-stpcpy-tests: New file.
19148         * tests/unistr/test-u16-stpcpy.c: New file.
19149
19150         Tests for module 'unistr/u8-stpcpy'.
19151         * modules/unistr/u8-stpcpy-tests: New file.
19152         * tests/unistr/test-u8-stpcpy.c: New file.
19153         * tests/unistr/test-stpcpy.h: New file.
19154
19155         Tests for module 'unistr/u32-strcpy'.
19156         * modules/unistr/u32-strcpy-tests: New file.
19157         * tests/unistr/test-u32-strcpy.c: New file.
19158
19159         Tests for module 'unistr/u16-strcpy'.
19160         * modules/unistr/u16-strcpy-tests: New file.
19161         * tests/unistr/test-u16-strcpy.c: New file.
19162
19163         Tests for module 'unistr/u8-strcpy'.
19164         * modules/unistr/u8-strcpy-tests: New file.
19165         * tests/unistr/test-u8-strcpy.c: New file.
19166         * tests/unistr/test-strcpy.h: New file.
19167
19168         Tests for module 'unistr/u32-strnlen'.
19169         * modules/unistr/u32-strnlen-tests: New file.
19170         * tests/unistr/test-u32-strnlen.c: New file.
19171
19172         Tests for module 'unistr/u16-strnlen'.
19173         * modules/unistr/u16-strnlen-tests: New file.
19174         * tests/unistr/test-u16-strnlen.c: New file.
19175
19176         Tests for module 'unistr/u8-strnlen'.
19177         * modules/unistr/u8-strnlen-tests: New file.
19178         * tests/unistr/test-u8-strnlen.c: New file.
19179         * tests/unistr/test-strnlen.h: New file.
19180
19181         Tests for module 'unistr/u32-strlen'.
19182         * modules/unistr/u32-strlen-tests: New file.
19183         * tests/unistr/test-u32-strlen.c: New file.
19184
19185         Tests for module 'unistr/u16-strlen'.
19186         * modules/unistr/u16-strlen-tests: New file.
19187         * tests/unistr/test-u16-strlen.c: New file.
19188
19189         Tests for module 'unistr/u8-strlen'.
19190         * modules/unistr/u8-strlen-tests: New file.
19191         * tests/unistr/test-u8-strlen.c: New file.
19192
19193         Tests for module 'unistr/u32-prev'.
19194         * modules/unistr/u32-prev-tests: New file.
19195         * tests/unistr/test-u32-prev.c: New file.
19196
19197         Tests for module 'unistr/u16-prev'.
19198         * modules/unistr/u16-prev-tests: New file.
19199         * tests/unistr/test-u16-prev.c: New file.
19200
19201         Tests for module 'unistr/u8-prev'.
19202         * modules/unistr/u8-prev-tests: New file.
19203         * tests/unistr/test-u8-prev.c: New file.
19204
19205         Tests for module 'unistr/u32-next'.
19206         * modules/unistr/u32-next-tests: New file.
19207         * tests/unistr/test-u32-next.c: New file.
19208
19209         Tests for module 'unistr/u16-next'.
19210         * modules/unistr/u16-next-tests: New file.
19211         * tests/unistr/test-u16-next.c: New file.
19212
19213         Tests for module 'unistr/u8-next'.
19214         * modules/unistr/u8-next-tests: New file.
19215         * tests/unistr/test-u8-next.c: New file.
19216
19217         Tests for module 'unistr/u32-strmbtouc'.
19218         * modules/unistr/u32-strmbtouc-tests: New file.
19219         * tests/unistr/test-u32-strmbtouc.c: New file.
19220
19221         Tests for module 'unistr/u16-strmbtouc'.
19222         * modules/unistr/u16-strmbtouc-tests: New file.
19223         * tests/unistr/test-u16-strmbtouc.c: New file.
19224
19225         Tests for module 'unistr/u8-strmbtouc'.
19226         * modules/unistr/u8-strmbtouc-tests: New file.
19227         * tests/unistr/test-u8-strmbtouc.c: New file.
19228
19229         Tests for module 'unistr/u32-strmblen'.
19230         * modules/unistr/u32-strmblen-tests: New file.
19231         * tests/unistr/test-u32-strmblen.c: New file.
19232
19233         Tests for module 'unistr/u16-strmblen'.
19234         * modules/unistr/u16-strmblen-tests: New file.
19235         * tests/unistr/test-u16-strmblen.c: New file.
19236
19237         Tests for module 'unistr/u8-strmblen'.
19238         * modules/unistr/u8-strmblen-tests: New file.
19239         * tests/unistr/test-u8-strmblen.c: New file.
19240
19241         Tests for module 'unistr/u32-cpy-alloc'.
19242         * modules/unistr/u32-cpy-alloc-tests: New file.
19243         * tests/unistr/test-u32-cpy-alloc.c: New file.
19244
19245         Tests for module 'unistr/u16-cpy-alloc'.
19246         * modules/unistr/u16-cpy-alloc-tests: New file.
19247         * tests/unistr/test-u16-cpy-alloc.c: New file.
19248
19249         Tests for module 'unistr/u8-cpy-alloc'.
19250         * modules/unistr/u8-cpy-alloc-tests: New file.
19251         * tests/unistr/test-u8-cpy-alloc.c: New file.
19252         * tests/unistr/test-cpy-alloc.h: New file.
19253
19254         Tests for module 'unistr/u32-mbsnlen'.
19255         * modules/unistr/u32-mbsnlen-tests: New file.
19256         * tests/unistr/test-u32-mbsnlen.c: New file.
19257
19258         Tests for module 'unistr/u16-mbsnlen'.
19259         * modules/unistr/u16-mbsnlen-tests: New file.
19260         * tests/unistr/test-u16-mbsnlen.c: New file.
19261
19262         Tests for module 'unistr/u8-mbsnlen'.
19263         * modules/unistr/u8-mbsnlen-tests: New file.
19264         * tests/unistr/test-u8-mbsnlen.c: New file.
19265
19266         Tests for module 'unistr/u32-chr'.
19267         * modules/unistr/u32-chr-tests: New file.
19268         * tests/unistr/test-u32-chr.c: New file.
19269
19270         Tests for module 'unistr/u16-chr'.
19271         * modules/unistr/u16-chr-tests: New file.
19272         * tests/unistr/test-u16-chr.c: New file.
19273
19274         Tests for module 'unistr/u8-chr'.
19275         * modules/unistr/u8-chr-tests: New file.
19276         * tests/unistr/test-u8-chr.c: New file.
19277         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
19278
19279         Tests for module 'unistr/u32-cmp2'.
19280         * modules/unistr/u32-cmp2-tests: New file.
19281         * tests/unistr/test-u32-cmp2.c: New file.
19282
19283         Tests for module 'unistr/u16-cmp2'.
19284         * modules/unistr/u16-cmp2-tests: New file.
19285         * tests/unistr/test-u16-cmp2.c: New file.
19286
19287         Tests for module 'unistr/u8-cmp2'.
19288         * modules/unistr/u8-cmp2-tests: New file.
19289         * tests/unistr/test-u8-cmp2.c: New file.
19290         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
19291
19292         Tests for module 'unistr/u32-cmp'.
19293         * modules/unistr/u32-cmp-tests: New file.
19294         * tests/unistr/test-u32-cmp.c: New file.
19295
19296         Tests for module 'unistr/u16-cmp'.
19297         * modules/unistr/u16-cmp-tests: New file.
19298         * tests/unistr/test-u16-cmp.c: New file.
19299
19300         Tests for module 'unistr/u8-cmp'.
19301         * modules/unistr/u8-cmp-tests: New file.
19302         * tests/unistr/test-u8-cmp.c: New file.
19303         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
19304
19305         Tests for module 'unistr/u32-set'.
19306         * modules/unistr/u32-set-tests: New file.
19307         * tests/unistr/test-u32-set.c: New file.
19308
19309         Tests for module 'unistr/u16-set'.
19310         * modules/unistr/u16-set-tests: New file.
19311         * tests/unistr/test-u16-set.c: New file.
19312
19313         Tests for module 'unistr/u8-set'.
19314         * modules/unistr/u8-set-tests: New file.
19315         * tests/unistr/test-u8-set.c: New file.
19316         * tests/unistr/test-set.h: New file.
19317
19318         Tests for module 'unistr/u32-move'.
19319         * modules/unistr/u32-move-tests: New file.
19320         * tests/unistr/test-u32-move.c: New file.
19321
19322         Tests for module 'unistr/u16-move'.
19323         * modules/unistr/u16-move-tests: New file.
19324         * tests/unistr/test-u16-move.c: New file.
19325
19326         Tests for module 'unistr/u8-move'.
19327         * modules/unistr/u8-move-tests: New file.
19328         * tests/unistr/test-u8-move.c: New file.
19329         * tests/unistr/test-move.h: New file.
19330
19331         Tests for module 'unistr/u32-cpy'.
19332         * modules/unistr/u32-cpy-tests: New file.
19333         * tests/unistr/test-u32-cpy.c: New file.
19334
19335         Tests for module 'unistr/u16-cpy'.
19336         * modules/unistr/u16-cpy-tests: New file.
19337         * tests/unistr/test-u16-cpy.c: New file.
19338
19339         Tests for module 'unistr/u8-cpy'.
19340         * modules/unistr/u8-cpy-tests: New file.
19341         * tests/unistr/test-u8-cpy.c: New file.
19342         * tests/unistr/test-cpy.h: New file.
19343
19344 2010-01-09  Bruno Haible  <bruno@clisp.org>
19345
19346         Tests for module 'unistr/u32-uctomb'.
19347         * modules/unistr/u32-uctomb-tests: New file.
19348         * tests/unistr/test-u32-uctomb.c: New file.
19349
19350         Tests for module 'unistr/u16-uctomb'.
19351         * modules/unistr/u16-uctomb-tests: New file.
19352         * tests/unistr/test-u16-uctomb.c: New file.
19353
19354         Tests for module 'unistr/u8-uctomb'.
19355         * modules/unistr/u8-uctomb-tests: New file.
19356         * tests/unistr/test-u8-uctomb.c: New file.
19357
19358         Tests for module 'unistr/u32-mbtoucr'.
19359         * modules/unistr/u32-mbtoucr-tests: New file.
19360         * tests/unistr/test-u32-mbtoucr.c: New file.
19361
19362         Tests for module 'unistr/u16-mbtoucr'.
19363         * modules/unistr/u16-mbtoucr-tests: New file.
19364         * tests/unistr/test-u16-mbtoucr.c: New file.
19365
19366         Tests for module 'unistr/u8-mbtoucr'.
19367         * modules/unistr/u8-mbtoucr-tests: New file.
19368         * tests/unistr/test-u8-mbtoucr.c: New file.
19369
19370         Tests for module 'unistr/u32-mbtouc'.
19371         * modules/unistr/u32-mbtouc-tests: New file.
19372         * tests/unistr/test-u32-mbtouc.c: New file.
19373
19374         Tests for module 'unistr/u16-mbtouc'.
19375         * modules/unistr/u16-mbtouc-tests: New file.
19376         * tests/unistr/test-u16-mbtouc.c: New file.
19377
19378         Tests for module 'unistr/u8-mbtouc'.
19379         * modules/unistr/u8-mbtouc-tests: New file.
19380         * tests/unistr/test-u8-mbtouc.c: New file.
19381
19382         Tests for module 'unistr/u32-mbtouc-unsafe'.
19383         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
19384         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
19385         * tests/unistr/test-u32-mbtouc.h: New file.
19386
19387         Tests for module 'unistr/u16-mbtouc-unsafe'.
19388         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
19389         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
19390         * tests/unistr/test-u16-mbtouc.h: New file.
19391
19392         Tests for module 'unistr/u8-mbtouc-unsafe'.
19393         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
19394         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
19395         * tests/unistr/test-u8-mbtouc.h: New file.
19396
19397         Tests for module 'unistr/u32-mblen'.
19398         * modules/unistr/u32-mblen-tests: New file.
19399         * tests/unistr/test-u32-mblen.c: New file.
19400
19401         Tests for module 'unistr/u16-mblen'.
19402         * modules/unistr/u16-mblen-tests: New file.
19403         * tests/unistr/test-u16-mblen.c: New file.
19404
19405         Tests for module 'unistr/u8-mblen'.
19406         * modules/unistr/u8-mblen-tests: New file.
19407         * tests/unistr/test-u8-mblen.c: New file.
19408
19409         Tests for module 'unistr/u32-to-u16'.
19410         * modules/unistr/u32-to-u16-tests: New file.
19411         * tests/unistr/test-u32-to-u16.c: New file.
19412
19413         Tests for module 'unistr/u32-to-u8'.
19414         * modules/unistr/u32-to-u8-tests: New file.
19415         * tests/unistr/test-u32-to-u8.c: New file.
19416
19417         Tests for module 'unistr/u16-to-u32'.
19418         * modules/unistr/u16-to-u32-tests: New file.
19419         * tests/unistr/test-u16-to-u32.c: New file.
19420
19421         Tests for module 'unistr/u16-to-u8'.
19422         * modules/unistr/u16-to-u8-tests: New file.
19423         * tests/unistr/test-u16-to-u8.c: New file.
19424
19425         Tests for module 'unistr/u8-to-u32'.
19426         * modules/unistr/u8-to-u32-tests: New file.
19427         * tests/unistr/test-u8-to-u32.c: New file.
19428
19429         Tests for module 'unistr/u8-to-u16'.
19430         * modules/unistr/u8-to-u16-tests: New file.
19431         * tests/unistr/test-u8-to-u16.c: New file.
19432
19433         Tests for module 'unistr/u32-check'.
19434         * modules/unistr/u32-check-tests: New file.
19435         * tests/unistr/test-u32-check.c: New file.
19436
19437         Tests for module 'unistr/u16-check'.
19438         * modules/unistr/u16-check-tests: New file.
19439         * tests/unistr/test-u16-check.c: New file.
19440
19441         Tests for module 'unistr/u8-check'.
19442         * modules/unistr/u8-check-tests: New file.
19443         * tests/unistr/test-u8-check.c: New file.
19444
19445         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
19446         (category_equals): New function.
19447         (main): Add more tests.
19448         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
19449
19450         * tests/unictype/test-bidi_byname.c (main): Add more tests.
19451
19452 2010-01-10  Bruno Haible  <bruno@clisp.org>
19453
19454         unistr/u*-strcoll: Try harder to distinguish different strings.
19455         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
19456         compare s1 and s2 to see if they are different.
19457
19458 2010-01-10  Bruno Haible  <bruno@clisp.org>
19459
19460         unistr/u*-stpncpy: Fix the return value.
19461         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
19462         description of the return value consistent with stpncpy in glibc.
19463         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
19464         written non-NUL unit.
19465
19466 2010-01-10  Bruno Haible  <bruno@clisp.org>
19467
19468         unistr/u*-next: Add missing dependencies.
19469         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
19470         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
19471         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
19472
19473 2010-01-10  Bruno Haible  <bruno@clisp.org>
19474
19475         unistr/u8-mbsnlen: Fix return value for incomplete character.
19476         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
19477         u8_mblen.
19478         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
19479         Remove unistr/u8-mblen.
19480         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
19481         u16_mblen.
19482         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
19483         Remove unistr/u16-mblen.
19484
19485 2010-01-10  Bruno Haible  <bruno@clisp.org>
19486
19487         wchar: Fix compilation error when <wchar.h> is used from coreutils.
19488         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
19489         Reported by Brian Gough <bjg@gnu.org> and
19490         Chris Clayton <chris2553@googlemail.com> via
19491         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
19492
19493 2010-01-09  Bruno Haible  <bruno@clisp.org>
19494
19495         unistr/u16-to-u32: Reject invalid input.
19496         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
19497         u16_mbtouc.
19498         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
19499         Remove unistr/u16-mbtouc.
19500
19501         unistr/u16-to-u8: Reject invalid input.
19502         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
19503         u16_mbtouc.
19504         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
19505         Remove unistr/u16-mbtouc.
19506
19507         unistr/u8-to-u32: Reject invalid input.
19508         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
19509         u8_mbtouc.
19510         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
19511         Remove unistr/u8-mbtouc.
19512
19513         unistr/u8-to-u16: Reject invalid input.
19514         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
19515         u8_mbtouc.
19516         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
19517         Remove unistr/u8-mbtouc.
19518
19519 2010-01-09  Bruno Haible  <bruno@clisp.org>
19520
19521         Tests for module 'getlogin'.
19522         * modules/getlogin-tests: New file.
19523         * tests/test-getlogin.c: New file.
19524
19525         New module 'getlogin'.
19526         * lib/unistd.in.h (getlogin): New declaration.
19527         * lib/getlogin.c: New file.
19528         * m4/getlogin.m4: New file.
19529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
19530         HAVE_GETLOGIN.
19531         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
19532         HAVE_GETLOGIN.
19533         * modules/getlogin: New file.
19534         * doc/posix-functions/getlogin.texi: Mention the new module.
19535         Reported by John W. Eaton <jwe@gnu.org>.
19536
19537 2010-01-09  Bruno Haible  <bruno@clisp.org>
19538
19539         getlogin_r: Support for native Windows.
19540         * lib/getlogin_r.c: Include <windows.h>
19541         (getlogin_r): Implement for native Windows.
19542         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
19543         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
19544         via John W. Eaton <jwe@gnu.org>.
19545
19546 2010-01-09  Bruno Haible  <bruno@clisp.org>
19547
19548         getlogin_r: Small fixes.
19549         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
19550         succeeds.
19551         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
19552         before testing whether getlogin_r is declared. No need to set
19553         HAVE_DECL_GETLOGIN_R to 1.
19554         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
19555
19556 2010-01-09  Bruno Haible  <bruno@clisp.org>
19557
19558         * lib/unistd.in.h (getlogin_r): Add comment.
19559
19560 2010-01-09  Bruno Haible  <bruno@clisp.org>
19561
19562         Tests for module 'getlogin_r'.
19563         * modules/getlogin_r-tests: New file.
19564         * tests/test-getlogin_r.c: New file.
19565
19566 2010-01-09  Jim Meyering  <meyering@redhat.com>
19567
19568         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
19569         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
19570         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
19571
19572 2010-01-08  Simon Josefsson  <simon@josefsson.org>
19573
19574         * lib/dup2.c (rpl_dup2): Improve comment.
19575
19576 2010-01-08  Eric Blake  <ebb9@byu.net>
19577
19578         maint.mk: allow packages to add makefile @@ exceptions
19579         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
19580         (sc_makefile_check): Rename...
19581         (sc_makefile_at_at_check): ...to this, and use hook.
19582
19583         dup2: work around mingw bug
19584         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
19585         Reported by Simon Josefsson.
19586
19587 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
19588
19589         glob: Fix C++ compilation.
19590         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
19591         C++.
19592
19593 2010-01-07  Bruno Haible  <bruno@clisp.org>
19594
19595         Fix indentation of wctype.in.h, broken since 2007-01-06.
19596         * lib/wctype.in.h: Fix indentation of preprocessor directives.
19597
19598 2010-01-07  Bruno Haible  <bruno@clisp.org>
19599
19600         mbslen: Avoid collision with system function.
19601         * lib/string.in.h [MirBSD]: Include <wchar.h>.
19602         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
19603         * m4/mbslen.m4: New file.
19604         * modules/mbslen (Files): Add it.
19605         (configure.ac): Invoke gl_MBSLEN.
19606         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
19607         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
19608         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
19609         via Ian Beckwith <ianb@erislabs.net>.
19610
19611 2010-01-07  Bruno Haible  <bruno@clisp.org>
19612
19613         dirent: Document the last fix.
19614         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
19615
19616 2010-01-07  Bruno Haible  <bruno@clisp.org>
19617
19618         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
19619         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
19620         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
19621         va_list are defined.
19622         * doc/posix-headers/stdio.texi: Document the bug of missing types.
19623         Reported by Eric Blake.
19624
19625 2010-01-07  Bruno Haible  <bruno@clisp.org>
19626
19627         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
19628         * modules/xlist (Depends-on): Add 'list',
19629         * modules/xoset (Depends-on): Add 'oset'.
19630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19631
19632 2010-01-07  Bruno Haible  <bruno@clisp.org>
19633
19634         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
19635         * doc/posix-functions/strncasecmp.texi: Likewise.
19636
19637 2010-01-07  Bruno Haible  <bruno@clisp.org>
19638
19639         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
19640
19641 2010-01-07  John W. Eaton  <jwe@octave.org>
19642
19643         wctype: allow C++ use
19644         * lib/wctype.in.h: Add extern "C" block for C++.
19645
19646 2010-01-06  Eric Blake  <ebb9@byu.net>
19647
19648         maint.mk: detect incorrect GFDL usage
19649         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
19650
19651 2010-01-06  Jim Meyering  <meyering@redhat.com>
19652         and Eric Blake  <ebb9@byu.net>
19653
19654         maint.mk: ignore multi-line copyright in NEWS
19655         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
19656
19657 2010-01-06  Eric Blake  <ebb9@byu.net>
19658
19659         select: add missing dependency
19660         * modules/select-tests (Depends-on): Move sockets dependency...
19661         * modules/select (Depends-on): ...here.
19662         Reported by Ian Beckwith.
19663
19664         doc: regenerate INSTALL
19665         * doc/INSTALL: Reflect recent autoconf update.
19666         * doc/INSTALL.ISO: Likewise.
19667         * doc/INSTALL.UTF-8: Likewise.
19668
19669         pread: fix compilation on glibc
19670         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
19671         Reported by Ralf Wildenhues.
19672
19673         dirent: fix test failure
19674         * lib/dirent.in.h (includes): Guarantee ino_t.
19675         Reported by Ralf Wildenhues.
19676
19677 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
19678
19679         linkat, renameat: avoid bad free
19680         * lib/at-func2.c (at_func2): Fix typo.
19681         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
19682
19683 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19684
19685         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
19686         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
19687         to avoid failure of symlink test later.
19688
19689 2010-01-06  Eric Blake  <ebb9@byu.net>
19690
19691         stdio, unistd: guarantee ssize_t
19692         * lib/unistd.in.h (includes): Ensure that types required by POSIX
19693         2008 are exposed when needed.
19694         * lib/stdio.in.h (includes): Likewise.
19695         Reported by Ralf Wildenhues.
19696
19697 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
19698
19699         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
19700         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
19701         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
19702
19703 2010-01-06  Jim Meyering  <meyering@redhat.com>
19704
19705         readtokens: this module *does* require xalloc.h
19706         It uses only functions that were omitted by the old syntax-check rule.
19707         * lib/readtokens.c: Include "xalloc.h" once again.
19708         * modules/readtokens (Depends-on): Add xalloc.
19709         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
19710
19711 2010-01-05  Eric Blake  <ebb9@byu.net>
19712
19713         maint: support 'make announcement' from a VPATH build
19714         * top/maint.mk (announcement): Look for correct NEWS file.
19715
19716 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
19717
19718         utimens (fdutimens): ignore a negative FD, per contract
19719         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
19720         when we have a valid file descriptor.  Otherwise, using a brand
19721         new glibc (with just-patched futimens that now fails with EBADF)
19722         would cause this function to fail with ENOSYS.
19723         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
19724         See also http://bugzilla.redhat.com/552320.
19725
19726 2010-01-05  Eric Blake  <ebb9@byu.net>
19727
19728         strcase: document what it provides
19729         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
19730         gnulib module.
19731         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
19732         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
19733
19734 2010-01-05  Jim Meyering  <meyering@redhat.com>
19735
19736         maint: remove useless inclusions of "xalloc.h"
19737         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
19738         * lib/readtokens.c: Likewise.
19739         * lib/same.c: Likewise.
19740         * modules/getloadavg (Depends-on): Remove xalloc.
19741         * modules/readtokens: Likewise.
19742         * modules/same: Likewise.
19743
19744         maint.mk: include 4 more function names in alloca.h-checking regexp
19745         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
19746         regexp.  Before, we would give a false-positive (saying alloca.h
19747         is included unnecessarily) when the only uses involved omitted symbols.
19748
19749         xalloc.h: use consistent formatting
19750         * lib/xalloc.h: Move declarations to start in the first column.
19751
19752 2010-01-05  Eric Blake  <ebb9@byu.net>
19753
19754         mkdir: avoid xalloc
19755         * lib/mkdir.c (includes): Drop unused header.
19756         Reported by John W. Eaton.
19757
19758 2010-01-04  Jim Meyering  <meyering@redhat.com>
19759
19760         nl_langinfo: avoid configure-time syntax error
19761         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
19762         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
19763         the empty string.  Don't let that provoke a shell syntax error.
19764
19765         regcomp, regexec, fnmatch: avoid array bounds read error
19766         * lib/regcomp.c (build_equiv_class): From glibc:
19767         Use only the low 24 bits of a findidx return value as an index
19768         into the weights array.  Patch by Ulrich Drepper:
19769         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
19770         * lib/regexec.c (check_node_accept_bytes): Likewise.
19771         * lib/fnmatch_loop.c (FCT): Likewise.
19772
19773         regcomp: skip collseq lookup when there are no rules
19774         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
19775         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
19776
19777         regcomp: recognize ill-formed { } expressions
19778         * lib/regcomp.c (parse_dup_op): From glibc:
19779         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
19780
19781         regcomp: fix typo in comment
19782         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
19783         s/satisfy/satisfies/.
19784
19785         regcomp: sync from glibc: remove dead store
19786         * lib/regcomp.c (duplicate_node_closure): Remove useless
19787         search_duplicated_node call and dead store.
19788
19789         regcomp: sync from glibc; always use nl_langinfo
19790         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
19791         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
19792         * modules/regex (Depends-on): Add nl_langinfo.
19793
19794 2010-01-04  Eric Blake  <ebb9@byu.net>
19795
19796         fdopendir: fix configure test
19797         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
19798
19799 2010-01-01  Bruno Haible  <bruno@clisp.org>
19800
19801         wchar: Remove unused configure check.
19802         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
19803
19804 2010-01-01  Eric Blake  <ebb9@byu.net>
19805
19806         headers: make check of system header explicit
19807         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
19808         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
19809         ourselves.
19810         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19811         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19812         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
19813         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
19814         internals.
19815         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
19816         missing.
19817         Suggested by Bruno Haible.
19818
19819 2010-01-01  Jim Meyering  <meyering@redhat.com>
19820
19821         ChangeLog: tweak to eliminate unnecessary copyright line
19822         * ChangeLog: Remove a copyright line that was mistakenly updated
19823         by today's update-copyright run.  Reported by Eric Blake.
19824
19825         test-update-copyright: don't let envvar setting cause test failure
19826         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19827
19828 2010-01-01  Bruno Haible  <bruno@clisp.org>
19829
19830         localename: Avoid gcc warning.
19831         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
19832         function if it is not used.
19833
19834 2010-01-01  Jim Meyering  <meyering@redhat.com>
19835
19836         update nearly all FSF copyright year lists to include 2010
19837         Use the same procedure as for 2009, outlined in
19838         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
19839
19840         version-etc: set COPYRIGHT_YEAR to 2010
19841         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
19842
19843 2009-12-31  Eric Blake  <ebb9@byu.net>
19844
19845         doc: correct availability of cygwin 1.5.x getopt
19846         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
19847         variables.
19848         * doc/posix-functions/opterr.texi (opterr): Likewise.
19849         * doc/posix-functions/optind.texi (optind): Likewise.
19850         * doc/posix-functions/optopt.texi (optopt): Likewise.
19851         * doc/posix-functions/tzname.texi (tzname): Likewise.
19852
19853         openat: update maintainer
19854         * modules/openat (Maintainer): Add myself.
19855
19856         utimens: avoid shadowing warning
19857         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
19858         buffers into one, to avoid shadowing, as well as avoiding a
19859         redundant stat.
19860         Reported by Jim Meyering.
19861
19862         test-dup2: avoid compiler warning
19863         * tests/test-dup2.c (is_inheritable): Only define if used.
19864
19865 2010-01-01  Bruno Haible  <bruno@clisp.org>
19866
19867         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
19868         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
19869         defined, use wctomb instead of wcrtomb.
19870
19871 2010-01-01  Bruno Haible  <bruno@clisp.org>
19872
19873         iconv: Reject native Solaris iconv.
19874         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
19875         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
19876
19877 2009-12-31  Bruno Haible  <bruno@clisp.org>
19878
19879         * tests/test-signal.c (main): Remove test of 'SIG'.
19880
19881 2009-12-31  Bruno Haible  <bruno@clisp.org>
19882
19883         spawn: Fix incomplete fix.
19884         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19885         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19886         warnings for GNULIB_POSIXCHECK again.
19887         Reported by Eric Blake.
19888
19889 2009-12-31  Bruno Haible  <bruno@clisp.org>
19890
19891         Avoid namespace pollution on glibc systems.
19892         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
19893         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
19894         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
19895         glibc systems.
19896
19897 2009-12-31  Bruno Haible  <bruno@clisp.org>
19898
19899         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
19900         (gl_REPLACE_WCHAR_H): Turn into a no-op.
19901         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
19902         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
19903         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
19904         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
19905         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
19906
19907 2009-12-31  Bruno Haible  <bruno@clisp.org>
19908
19909         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
19910         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
19911         afterwards.
19912
19913 2009-12-31  Bruno Haible  <bruno@clisp.org>
19914
19915         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
19916         SYS_UTSNAME_H.
19917
19918 2009-12-31  Bruno Haible  <bruno@clisp.org>
19919
19920         spawn: Fix misapplied patch.
19921         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19922         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19923         warnings for GNULIB_POSIXCHECK.
19924
19925 2009-12-31  Bruno Haible  <bruno@clisp.org>
19926
19927         times: Update after sys_times changed.
19928         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
19929         * modules/times (Files): Add it.
19930         (configure.ac): Invoke gl_FUNC_TIMES.
19931
19932 2009-12-31  Bruno Haible  <bruno@clisp.org>
19933
19934         Use AC_C_INLINE where necessary.
19935         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
19936         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
19937         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
19938         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
19939         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19940         * m4/mbiter.m4 (gl_MBITER): Likewise.
19941         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
19942         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19943         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
19944         * modules/u64 (configure.ac): Likewise.
19945
19946 2009-12-31  Bruno Haible  <bruno@clisp.org>
19947
19948         Use AC_C_INLINE instead of module 'inline' where possible.
19949         * modules/inline (Description): Clarify purpose.
19950         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
19951         * modules/count-one-bits (Depends-on): Remove inline.
19952         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
19953         * modules/openat (Depends-on): Remove inline.
19954         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
19955         instead of depending on module 'inline'.
19956         * modules/filevercmp (Depends-on, configure.ac): Likewise.
19957         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
19958         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
19959         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
19960         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
19961         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
19962         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
19963         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
19964         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
19965         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
19966         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
19967         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
19968         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
19969         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
19970         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
19971         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
19972         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
19973         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
19974         Likewise.
19975         * modules/unictype/property-ascii-hex-digit (Depends-on,
19976         configure.ac): Likewise.
19977         * modules/unictype/property-bidi-arabic-digit (Depends-on,
19978         configure.ac): Likewise.
19979         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
19980         configure.ac): Likewise.
19981         * modules/unictype/property-bidi-block-separator (Depends-on,
19982         configure.ac): Likewise.
19983         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
19984         configure.ac): Likewise.
19985         * modules/unictype/property-bidi-common-separator (Depends-on,
19986         configure.ac): Likewise.
19987         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
19988         Likewise.
19989         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
19990         configure.ac): Likewise.
19991         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
19992         configure.ac): Likewise.
19993         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
19994         configure.ac): Likewise.
19995         * modules/unictype/property-bidi-european-digit (Depends-on,
19996         configure.ac): Likewise.
19997         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
19998         configure.ac): Likewise.
19999         * modules/unictype/property-bidi-left-to-right (Depends-on,
20000         configure.ac): Likewise.
20001         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
20002         configure.ac): Likewise.
20003         * modules/unictype/property-bidi-other-neutral (Depends-on,
20004         configure.ac): Likewise.
20005         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
20006         Likewise.
20007         * modules/unictype/property-bidi-segment-separator (Depends-on,
20008         configure.ac): Likewise.
20009         * modules/unictype/property-bidi-whitespace (Depends-on,
20010         configure.ac): Likewise.
20011         * modules/unictype/property-combining (Depends-on, configure.ac):
20012         Likewise.
20013         * modules/unictype/property-composite (Depends-on, configure.ac):
20014         Likewise.
20015         * modules/unictype/property-currency-symbol (Depends-on,
20016         configure.ac): Likewise.
20017         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
20018         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
20019         Likewise.
20020         * modules/unictype/property-default-ignorable-code-point (Depends-on,
20021         configure.ac): Likewise.
20022         * modules/unictype/property-deprecated (Depends-on, configure.ac):
20023         Likewise.
20024         * modules/unictype/property-diacritic (Depends-on, configure.ac):
20025         Likewise.
20026         * modules/unictype/property-extender (Depends-on, configure.ac):
20027         Likewise.
20028         * modules/unictype/property-format-control (Depends-on, configure.ac):
20029         Likewise.
20030         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
20031         Likewise.
20032         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
20033         Likewise.
20034         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
20035         Likewise.
20036         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
20037         Likewise.
20038         * modules/unictype/property-hyphen (Depends-on, configure.ac):
20039         Likewise.
20040         * modules/unictype/property-id-continue (Depends-on, configure.ac):
20041         Likewise.
20042         * modules/unictype/property-id-start (Depends-on, configure.ac):
20043         Likewise.
20044         * modules/unictype/property-ideographic (Depends-on, configure.ac):
20045         Likewise.
20046         * modules/unictype/property-ids-binary-operator (Depends-on,
20047         configure.ac): Likewise.
20048         * modules/unictype/property-ids-trinary-operator (Depends-on,
20049         configure.ac): Likewise.
20050         * modules/unictype/property-ignorable-control (Depends-on,
20051         configure.ac): Likewise.
20052         * modules/unictype/property-iso-control (Depends-on, configure.ac):
20053         Likewise.
20054         * modules/unictype/property-join-control (Depends-on, configure.ac):
20055         Likewise.
20056         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
20057         Likewise.
20058         * modules/unictype/property-line-separator (Depends-on, configure.ac):
20059         Likewise.
20060         * modules/unictype/property-logical-order-exception (Depends-on,
20061         configure.ac): Likewise.
20062         * modules/unictype/property-lowercase (Depends-on, configure.ac):
20063         Likewise.
20064         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
20065         * modules/unictype/property-non-break (Depends-on, configure.ac):
20066         Likewise.
20067         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
20068         Likewise.
20069         * modules/unictype/property-numeric (Depends-on, configure.ac):
20070         Likewise.
20071         * modules/unictype/property-other-alphabetic (Depends-on,
20072         configure.ac): Likewise.
20073         * modules/unictype/property-other-default-ignorable-code-point
20074         (Depends-on, configure.ac): Likewise.
20075         * modules/unictype/property-other-grapheme-extend (Depends-on,
20076         configure.ac): Likewise.
20077         * modules/unictype/property-other-id-continue (Depends-on,
20078         configure.ac): Likewise.
20079         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
20080         Likewise.
20081         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
20082         Likewise.
20083         * modules/unictype/property-other-math (Depends-on, configure.ac):
20084         Likewise.
20085         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
20086         Likewise.
20087         * modules/unictype/property-paired-punctuation (Depends-on,
20088         configure.ac): Likewise.
20089         * modules/unictype/property-paragraph-separator (Depends-on,
20090         configure.ac): Likewise.
20091         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
20092         Likewise.
20093         * modules/unictype/property-pattern-white-space (Depends-on,
20094         configure.ac): Likewise.
20095         * modules/unictype/property-private-use (Depends-on, configure.ac):
20096         Likewise.
20097         * modules/unictype/property-punctuation (Depends-on, configure.ac):
20098         Likewise.
20099         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
20100         Likewise.
20101         * modules/unictype/property-radical (Depends-on, configure.ac):
20102         Likewise.
20103         * modules/unictype/property-sentence-terminal (Depends-on,
20104         configure.ac): Likewise.
20105         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
20106         Likewise.
20107         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
20108         * modules/unictype/property-terminal-punctuation (Depends-on,
20109         configure.ac): Likewise.
20110         * modules/unictype/property-titlecase (Depends-on, configure.ac):
20111         Likewise.
20112         * modules/unictype/property-unassigned-code-value (Depends-on,
20113         configure.ac): Likewise.
20114         * modules/unictype/property-unified-ideograph (Depends-on,
20115         configure.ac): Likewise.
20116         * modules/unictype/property-uppercase (Depends-on, configure.ac):
20117         Likewise.
20118         * modules/unictype/property-variation-selector (Depends-on,
20119         configure.ac): Likewise.
20120         * modules/unictype/property-white-space (Depends-on, configure.ac):
20121         Likewise.
20122         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
20123         Likewise.
20124         * modules/unictype/property-xid-start (Depends-on, configure.ac):
20125         Likewise.
20126         * modules/unictype/property-zero-width (Depends-on, configure.ac):
20127         Likewise.
20128         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
20129         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
20130         Likewise.
20131
20132 2009-12-31  Bruno Haible  <bruno@clisp.org>
20133
20134         Remove unnecessary AC_C_INLINE invocation.
20135         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
20136         since 2009-08-21.
20137
20138 2009-12-31  Jim Meyering  <meyering@redhat.com>
20139
20140         maint.mk: don't require explicit gpg_key_ID in cfg.mk
20141         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
20142         With this change, we can all remove the gpg_key_ID = ... definition
20143         from our respective cfg.mk files.
20144
20145         maint.mk: create announcement template in ~/, not in /tmp
20146         * top/maint.mk (emit_upload_commands): Adjust.
20147         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
20148         Remove temporary file, .ci-msg.
20149
20150 2009-12-31  Eric Blake  <ebb9@byu.net>
20151
20152         link-warning: always build headers with link warnings
20153         * modules/arpa_inet (Makefile.am): Always build replacement
20154         header.
20155         * modules/ctype (Makefile.am): Likewise.
20156         * modules/dirent (Makefile.am): Likewise.
20157         * modules/inttypes (Makefile.am): Likewise.
20158         * modules/langinfo (Makefile.am): Likewise.
20159         * modules/locale (Makefile.am): Likewise.
20160         * modules/spawn (Makefile.am): Likewise.
20161         * modules/sys_file (Makefile.am): Likewise.
20162         * modules/sys_ioctl (Makefile.am): Likewise.
20163         * modules/sys_select (Makefile.am): Likewise.
20164         * modules/sys_socket (Makefile.am): Likewise.
20165         * modules/sys_times (Makefile.am): Likewise.
20166         * modules/sys_utsname (Makefile.am): Likewise.
20167         * modules/sys_wait (Makefile.am): Likewise.
20168         * modules/wchar (Makefile.am): Likewise.
20169         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
20170         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
20171         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
20172         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
20173         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
20174         Likewise.
20175         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20176         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20177         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
20178         Likewise.
20179         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
20180         Likewise.
20181         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
20182         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
20183         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
20184         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20185         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20186         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20187         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20188         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
20189         (gl_WCHAR_H_DEFAULTS): Likewise.
20190
20191 2009-12-31  Eric Blake  <ebb9@byu.net>
20192
20193         signal, spawn: use link warnings
20194         * lib/signal.in.h (sigset_t): Make unconditional.
20195         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
20196         (sigpending, sigprocmask, sigaction): Add link warnings.
20197         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
20198         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
20199         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
20200         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
20201         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
20202         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
20203         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
20204         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
20205         (posix_spawn_file_actions_destroy)
20206         (posix_spawn_file_actions_addopen)
20207         (posix_spawn_file_actions_addclose)
20208         (posix_spawn_file_actions_adddup2): Likewise.
20209         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
20210         * tests/test-signal.c (main): Enhance test.
20211
20212         spawn: improve wrapper support
20213         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
20214         (gl_SPAWN_H_DEFAULTS): New defaults.
20215         * modules/spawn (Makefile.am): Substitute them.
20216         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
20217         Only declare if missing or broken.
20218
20219         sys_times, sys_utsname: use include_next
20220         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
20221         header.
20222         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
20223         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20224         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20225         * modules/sys_times (Depends-on): Add include_next.
20226         (Makefile.am): Substitute additional values.
20227         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20228         * lib/sys_times.in.h (includes): Include native header, if
20229         available.
20230         * lib/sys_utsname.in.h (includes): Likewise.
20231         * tests/test-sys_times.c (main): Enhance test.
20232
20233         fdutimensat: revert prior patch
20234         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
20235         utimens.h.
20236         Reported by Bruno Haible.
20237
20238 2009-12-30  Eric Blake  <ebb9@byu.net>
20239
20240         sys_wait: drop link-warning dependency
20241         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
20242         link-warning efforts.
20243         * lib/sys_wait.in.h: Likewise.
20244
20245         fdutimensat: remove bogus dependency
20246         * modules/fdutimensat (Depends-on): Drop inline.
20247
20248         unistd: fix typo
20249         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
20250
20251 2009-12-30  Bruno Haible  <bruno@clisp.org>
20252
20253         Fix compilation error with Solaris cc.
20254         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
20255         * lib/unicase/u16-is-invariant.c: Likewise.
20256         * lib/unicase/u32-is-invariant.c: Likewise.
20257         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
20258
20259 2009-12-30  Bruno Haible  <bruno@clisp.org>
20260
20261         Fix test crash.
20262         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
20263         locales.
20264         Reported by Simon Josefsson <simon@josefsson.org>.
20265
20266 2009-12-30  Bruno Haible  <bruno@clisp.org>
20267
20268         Fix compilation error on most platforms.
20269         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
20270         Reported by Simon Josefsson <simon@josefsson.org>
20271         and Nelson H. F. Beebe <beebe@math.utah.edu>.
20272
20273 2009-12-30  Eric Blake  <ebb9@byu.net>
20274
20275         futimens, utimensat: work around ntfs-3g bug
20276         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
20277         a ctime bug is present, and expand workaround to cover ntfs-3g.
20278         * lib/utimens.c (fdutimens, lutimens): Likewise.
20279         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
20280         (validate_timespec): Adjust return value.
20281         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
20282         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20283         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
20284
20285 2009-12-29  Eric Blake  <ebb9@byu.net>
20286
20287         link-warning: make usage consistent
20288         * modules/ctype (Depends-on): Add link-warning.
20289         (Makefile.am): Update rules accordingly.
20290         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20291         * modules/locale (Depends-on, Makefile.am): Likewise.
20292         * modules/sys_file (Makefile.am): Likewise.
20293         * modules/getopt-posix (Makefile.am): Delete unused link warning
20294         efforts.
20295         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
20296         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
20297         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
20298         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
20299
20300         stdio: remove unused variables
20301         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
20302         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
20303         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20304
20305         tests: test more substitute headers
20306         * modules/ctype-tests: New file.
20307         * modules/dirent-tests: Likewise.
20308         * modules/spawn-tests: Likewise.
20309         * modules/sys_file-tests: Likewise.
20310         * modules/sys_ioctl-tests: Likewise.
20311         * modules/sys_wait-tests: Likewise.
20312         * tests/test-ctype.c: Likewise.
20313         * tests/test-dirent.c: Likewise.
20314         * tests/test-spawn.c: Likewise.
20315         * tests/test-sys_file.c: Likewise.
20316         * tests/test-sys_ioctl.c: Likewise.
20317         * tests/test-sys_wait.c: Likewise.
20318         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
20319         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
20320         whether or not flock is in use.
20321
20322         tests: remove License section from module
20323         * modules/arpa_inet-tests: Remove unneeded section.
20324         * modules/byteswap-tests: Likewise.
20325         * modules/ceilf-tests: Likewise.
20326         * modules/ceill-tests: Likewise.
20327         * modules/crypto/des-tests: Likewise.
20328         * modules/crypto/gc-arcfour-tests: Likewise.
20329         * modules/crypto/gc-arctwo-tests: Likewise.
20330         * modules/crypto/gc-des-tests: Likewise.
20331         * modules/crypto/gc-hmac-md5-tests: Likewise.
20332         * modules/crypto/gc-hmac-sha1-tests: Likewise.
20333         * modules/crypto/gc-md2-tests: Likewise.
20334         * modules/crypto/gc-md4-tests: Likewise.
20335         * modules/crypto/gc-md5-tests: Likewise.
20336         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
20337         * modules/crypto/gc-rijndael-tests: Likewise.
20338         * modules/crypto/gc-sha1-tests: Likewise.
20339         * modules/crypto/gc-tests: Likewise.
20340         * modules/crypto/md2-tests: Likewise.
20341         * modules/crypto/md4-tests: Likewise.
20342         * modules/fcntl-h-tests: Likewise.
20343         * modules/floorf-tests: Likewise.
20344         * modules/floorl-tests: Likewise.
20345         * modules/frexp-nolibm-tests: Likewise.
20346         * modules/frexp-tests: Likewise.
20347         * modules/frexpl-nolibm-tests: Likewise.
20348         * modules/frexpl-tests: Likewise.
20349         * modules/getaddrinfo-tests: Likewise.
20350         * modules/inttypes-tests: Likewise.
20351         * modules/isfinite-tests: Likewise.
20352         * modules/isinf-tests: Likewise.
20353         * modules/ldexpl-tests: Likewise.
20354         * modules/locale-tests: Likewise.
20355         * modules/math-tests: Likewise.
20356         * modules/netdb-tests: Likewise.
20357         * modules/netinet_in-tests: Likewise.
20358         * modules/printf-frexp-tests: Likewise.
20359         * modules/printf-frexpl-tests: Likewise.
20360         * modules/priv-set-tests: Likewise.
20361         * modules/random_r-tests: Likewise.
20362         * modules/round-tests: Likewise.
20363         * modules/roundf-tests: Likewise.
20364         * modules/roundl-tests: Likewise.
20365         * modules/search-tests: Likewise.
20366         * modules/select-tests: Likewise.
20367         * modules/signal-tests: Likewise.
20368         * modules/stdbool-tests: Likewise.
20369         * modules/stddef-tests: Likewise.
20370         * modules/stdint-tests: Likewise.
20371         * modules/stdio-tests: Likewise.
20372         * modules/stdlib-tests: Likewise.
20373         * modules/string-tests: Likewise.
20374         * modules/strings-tests: Likewise.
20375         * modules/sys_select-tests: Likewise.
20376         * modules/sys_socket-tests: Likewise.
20377         * modules/sys_stat-tests: Likewise.
20378         * modules/sys_time-tests: Likewise.
20379         * modules/sys_utsname-tests: Likewise.
20380         * modules/sysexits-tests: Likewise.
20381         * modules/time-tests: Likewise.
20382         * modules/trunc-tests: Likewise.
20383         * modules/truncf-tests: Likewise.
20384         * modules/truncl-tests: Likewise.
20385         * modules/tsearch-tests: Likewise.
20386         * modules/unistd-tests: Likewise.
20387         * modules/wchar-tests: Likewise.
20388         * modules/wctype-tests: Likewise.
20389
20390         tests: fix license on several tests
20391         * tests/test-des.c: Update to GPLv3+.
20392         * tests/test-flock.c: Likewise.
20393         * tests/test-fsync.c: Likewise.
20394         * tests/test-futimens.h: Likewise.
20395         * tests/test-gc-arcfour.c: Likewise.
20396         * tests/test-gc-arctwo.c: Likewise.
20397         * tests/test-gc-des.c: Likewise.
20398         * tests/test-gc-hmac-md5.c: Likewise.
20399         * tests/test-gc-hmac-sha1.c: Likewise.
20400         * tests/test-gc-md2.c: Likewise.
20401         * tests/test-gc-md4.c: Likewise.
20402         * tests/test-gc-md5.c: Likewise.
20403         * tests/test-gc-pbkdf2-sha1.c: Likewise.
20404         * tests/test-gc-rijndael.c: Likewise.
20405         * tests/test-gc-sha1.c: Likewise.
20406         * tests/test-gc.c: Likewise.
20407         * tests/test-getcwd.c: Likewise.
20408         * tests/test-link.c: Likewise.
20409         * tests/test-link.h: Likewise.
20410         * tests/test-lutimens.h: Likewise.
20411         * tests/test-md2.c: Likewise.
20412         * tests/test-md4.c: Likewise.
20413         * tests/test-mkdir.h: Likewise.
20414         * tests/test-rename.c: Likewise.
20415         * tests/test-rename.h: Likewise.
20416         * tests/test-safe-alloc.c: Likewise.
20417         * tests/test-utimens-common.h: Likewise.
20418         * tests/test-utimens.h: Likewise.
20419
20420         maint: sync license texts
20421         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
20422         * doc/gpl-3.0.texi: Revert copyright year update.
20423         * doc/lgpl-3.0.texi: Likewise.
20424
20425 2009-12-29  Jim Meyering  <meyering@redhat.com>
20426
20427         update nearly all FSF copyright year lists to include 2009
20428         The files named by the following are exempted:
20429             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
20430               test -f "$dst" && { echo "$dst"; continue; }
20431               test -d "$dst" || continue
20432               echo "$dst"/$(basename "$src")
20433             done > exempt
20434             git ls-files tests/unictype >> exempt
20435         In the remaining files, convert to all-interval notation if
20436         - there is already at least one year interval like 2000-2003
20437         - the file is maintained by me
20438         - the file is in lib/uni*/, where that style already prevails
20439         Otherwise, use update-copyright's default.
20440
20441 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20442         and Eric Blake  <ebb9@byu.net>
20443
20444         tests: don't require debug system() to pass
20445         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
20446         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20447         * tests/test-unlink.h (test_unlink_func): Likewise.
20448         * tests/test-fstatat.c (main): ...into callers.
20449         * tests/test-lstat.c (main): Likewise.
20450         * tests/test-rmdir.c (main): Likewise.
20451         * tests/test-unlink.c (main): Likewise.
20452         * tests/test-unlinkat.c (main): Likewise.
20453         * tests/test-areadlink-with-size.c (main): Don't require a
20454         debug-only system call to pass, aiding cross-testing to mingw.
20455         * tests/test-areadlink.c (main): Likewise.
20456         * tests/test-areadlinkat-with-size.c (main): Likewise.
20457         * tests/test-areadlinkat.c (main): Likewise.
20458         * tests/test-canonicalize-lgpl.c (main): Likewise.
20459         * tests/test-canonicalize.c (main): Likewise.
20460         * tests/test-chown.c (main): Likewise.
20461         * tests/test-fchownat.c (main): Likewise.
20462         * tests/test-lchown.c (main): Likewise.
20463         * tests/test-fdutimensat.c (main): Likewise.
20464         * tests/test-futimens.c (main): Likewise.
20465         * tests/test-link.c (main): Likewise.
20466         * tests/test-linkat.c (main): Likewise.
20467         * tests/test-mkdir.c (main): Likewise.
20468         * tests/test-mkdirat.c (main): Likewise.
20469         * tests/test-mkfifo.c (main): Likewise.
20470         * tests/test-mkfifoat.c (main): Likewise.
20471         * tests/test-mknod.c (main): Likewise.
20472         * tests/test-readlink.c (main): Likewise.
20473         * tests/test-remove.c (main): Likewise.
20474         * tests/test-rename.c (main): Likewise.
20475         * tests/test-renameat.c (main): Likewise.
20476         * tests/test-symlink.c (main): Likewise.
20477         * tests/test-symlinkat.c (main): Likewise.
20478         * tests/test-utimens.c (main): Likewise.
20479         * tests/test-utimensat.c (main): Likewise.
20480
20481 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20482
20483         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
20484         on $(UNUSED_PARAMETER_H) to avoid build failure.
20485
20486 2009-12-28  Jim Meyering  <meyering@redhat.com>
20487
20488         update-copyright: you may specify a max. line length other than 72
20489         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
20490
20491         maint: use consistent FSF copyright line syntax
20492         * lib/posixtm.c: Add missing comma in FSF copyright line.
20493         * lib/posixtm.h: Likewise.
20494         * lib/getugroups.c: Add missing ", Inc.".
20495
20496         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
20497         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
20498         FSF copyright line.  Remove trailing blanks.
20499
20500 2009-12-28  Eric Blake  <ebb9@byu.net>
20501
20502         test-dup2: reduce dependencies
20503         * modules/cloexec (Configure.ac): Set witness.
20504         * modules/dup2-tests (Depends-on): Drop cloexec.
20505         * tests/test-dup2.c (main): Skip portion of test if cloexec module
20506         not present.
20507         Suggested by Bruno Haible.
20508
20509 2009-12-26  Bruno Haible  <bruno@clisp.org>
20510
20511         Remove an unneeded dependency.
20512         * modules/fseterr (Depends-on): Remove dup2.
20513
20514 2009-12-26  Eric Blake  <ebb9@byu.net>
20515
20516         tests: use macros.h in more places
20517         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
20518         (ASSERT_STREAM): Provide default of stderr.
20519         * tests/test-dirent-safer.c: Include macros.h, using alternate
20520         stream for assertions.
20521         * tests/test-dup-safer.c: Likewise.
20522         * tests/test-freopen-safer.c: Likewise.
20523         * tests/test-getopt.c: Likewise.
20524         * tests/test-openat-safer.c: Likewise.
20525         * tests/test-pipe.c: Likewise.
20526         * tests/test-popen-safer.c: Likewise.
20527         * modules/dirent-safer-tests (Files): Include macros.h.
20528         * modules/unistd-safer-tests (Files): Likewise.
20529         * modules/freopen-safer-tests (Files): Likewise.
20530         * modules/getopt-posix-tests (Files): Likewise.
20531         * modules/openat-safer-tests (Files): Likewise.
20532         * modules/pipe-tests (Files): Likewise.
20533
20534 2009-12-26  Bruno Haible  <bruno@clisp.org>
20535
20536         javacomp: Portability fix.
20537         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
20538         that it also works on Solaris.
20539
20540 2009-12-26  Bruno Haible  <bruno@clisp.org>
20541
20542         localename: Fix storage allocation of gl_locale_name_thread's result.
20543         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
20544         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
20545         all platforms that have 'uselocale'.
20546         (gl_locale_name_thread_unsafe): New function, extracted from
20547         gl_locale_name_thread.
20548         (gl_locale_name_thread): Call struniq on all platforms that have
20549         'uselocale'.
20550         * tests/test-localename.c (test_locale_name_thread): Check that the
20551         resulting strings are permanently allocated.
20552         * modules/localename-tests (Depends-on): Add strdup.
20553
20554 2009-12-26  Bruno Haible  <bruno@clisp.org>
20555
20556         * tests/test-localename.c (categories): Fill in the strings.
20557
20558 2009-12-26  Jim Meyering  <meyering@redhat.com>
20559
20560         isdir: complete the removal of m4/isdir.m4
20561         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
20562
20563         isdir: clean up, since at least grep still uses it
20564         * lib/isdir.c: Include "isdir.h".
20565         (S_ISDIR): Remove now-unneeded definition.
20566         * modules/isdir (Files): Add lib/isdir.h.
20567         * lib/isdir.h: New file, with declaration.
20568         * m4/isdir.m4: Remove file -- unneeded.
20569
20570 2009-12-25  Bruno Haible  <bruno@clisp.org>
20571
20572         selinux-h: Make generated .h files standalone.
20573         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
20574         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
20575         * lib/se-selinux.in.h: Likewise.
20576         * modules/selinux-h (Depends-on): Add unused-parameter.
20577         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
20578         selinux/selinux.h and selinux/context.h.
20579         Suggested by Eric Blake.
20580
20581 2009-12-25  Bruno Haible  <bruno@clisp.org>
20582
20583         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
20584         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
20585         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
20586         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
20587         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
20588
20589 2009-12-24  Bruno Haible  <bruno@clisp.org>
20590
20591         openat: Fix warning.
20592         * lib/openat-proc.c: Include <unistd.h>.
20593
20594 2009-12-24  Bruno Haible  <bruno@clisp.org>
20595
20596         New module 'unused-parameter'.
20597         * build-aux/unused-parameter.h: New file, extracted from earlier
20598         gnulib-common.m4.
20599         * modules/unused-parameter: New file.
20600         * lib/unistr.h: Include unused-parameter.h.
20601         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
20602         _GL_UNUSED.
20603         * modules/unistr/base (Depends-on): Add unused-parameter.
20604
20605 2009-12-24  Bruno Haible  <bruno@clisp.org>
20606
20607         Add missing dependencies to 'extensions' module.
20608         * m4/extensions.m4: Add comment.
20609         * modules/accept4 (Depends-on): Add extensions.
20610         * modules/dup3 (Depends-on): Likewise.
20611         * modules/fcntl (Depends-on): Likewise.
20612         * modules/futimens (Depends-on): Likewise.
20613         * modules/mknod (Depends-on): Likewise.
20614         * modules/pipe2 (Depends-on): Likewise.
20615         * modules/stat-time (Depends-on): Likewise.
20616         * modules/strcasestr-simple (Depends-on): Likewise.
20617         * modules/strsignal (Depends-on): Likewise.
20618         * modules/utimensat (Depends-on): Likewise.
20619         * modules/localcharset (Depends-on): Likewise. Needed because of
20620         gl_FCNTL_O_FLAGS.
20621         * modules/wcrtomb (Depends-on): Likewise. Needed because of
20622         AC_TYPE_MBSTATE_T.
20623         * modules/wcsnrtombs (Depends-on): Likewise.
20624         * modules/wcsrtombs (Depends-on): Likewise.
20625
20626 2009-12-24  Bruno Haible  <bruno@clisp.org>
20627
20628         binary-io: Avoid gcc warning due to SET_BINARY.
20629         * lib/binary-io.h (SET_BINARY): Cast the result to void.
20630         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
20631
20632 2009-12-24  Bruno Haible  <bruno@clisp.org>
20633
20634         Avoid future namespace pollution on glibc systems.
20635         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
20636         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
20637         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
20638         glibc systems.
20639
20640 2009-12-24  Bruno Haible  <bruno@clisp.org>
20641
20642         Refactor common macros used in tests.
20643         * tests/macros.h: New file.
20644         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
20645         and/or <stdlib.h>, if appropriate.
20646         (ASSERT, SIZEOF): Remove macros.
20647         * tests/test-areadlink-with-size.c: Likewise.
20648         * tests/test-areadlinkat.c: Likewise.
20649         * tests/test-areadlinkat-with-size.c: Likewise.
20650         * tests/test-argmatch.c: Likewise.
20651         * tests/test-argv-iter.c: Likewise.
20652         * tests/test-array-mergesort.c: Likewise.
20653         * tests/test-array_list.c: Likewise.
20654         * tests/test-array_oset.c: Likewise.
20655         * tests/test-avltree_list.c: Likewise.
20656         * tests/test-avltree_oset.c: Likewise.
20657         * tests/test-avltreehash_list.c: Likewise.
20658         * tests/test-base64.c: Likewise.
20659         * tests/test-binary-io.c: Likewise.
20660         * tests/test-bitrotate.c: Likewise.
20661         * tests/test-btowc.c: Likewise.
20662         * tests/test-byteswap.c: Likewise.
20663         * tests/test-c-ctype.c: Likewise.
20664         * tests/test-c-stack.c: Likewise.
20665         * tests/test-c-strcasecmp.c: Likewise.
20666         * tests/test-c-strcasestr.c: Likewise.
20667         * tests/test-c-strncasecmp.c: Likewise.
20668         * tests/test-c-strstr.c: Likewise.
20669         * tests/test-canonicalize-lgpl.c: Likewise.
20670         * tests/test-canonicalize.c: Likewise.
20671         * tests/test-carray_list.c: Likewise.
20672         * tests/test-ceilf1.c: Likewise.
20673         * tests/test-ceilf2.c: Likewise.
20674         * tests/test-ceill.c: Likewise.
20675         * tests/test-chown.c: Likewise.
20676         * tests/test-cloexec.c: Likewise.
20677         * tests/test-copy-acl.c: Likewise.
20678         * tests/test-copy-file.c: Likewise.
20679         * tests/test-count-one-bits.c: Likewise.
20680         * tests/test-dprintf-posix.c: Likewise.
20681         * tests/test-dup2.c: Likewise.
20682         * tests/test-dup3.c: Likewise.
20683         * tests/test-duplocale.c: Likewise.
20684         * tests/test-fbufmode.c: Likewise.
20685         * tests/test-fchdir.c: Likewise.
20686         * tests/test-fchownat.c: Likewise.
20687         * tests/test-fcntl-safer.c: Likewise.
20688         * tests/test-fcntl.c: Likewise.
20689         * tests/test-fdopendir.c: Likewise.
20690         * tests/test-fdutimensat.c: Likewise.
20691         * tests/test-fflush2.c: Likewise.
20692         * tests/test-file-has-acl.c: Likewise.
20693         * tests/test-filevercmp.c: Likewise.
20694         * tests/test-flock.c: Likewise.
20695         * tests/test-floorf1.c: Likewise.
20696         * tests/test-floorf2.c: Likewise.
20697         * tests/test-floorl.c: Likewise.
20698         * tests/test-fnmatch.c: Likewise.
20699         * tests/test-fopen.h: Likewise.
20700         * tests/test-fpending.c: Likewise.
20701         * tests/test-fprintf-posix.c: Likewise.
20702         * tests/test-fpurge.c: Likewise.
20703         * tests/test-freadable.c: Likewise.
20704         * tests/test-freadahead.c: Likewise.
20705         * tests/test-freading.c: Likewise.
20706         * tests/test-freadptr.c: Likewise.
20707         * tests/test-freadptr2.c: Likewise.
20708         * tests/test-freadseek.c: Likewise.
20709         * tests/test-freopen.c: Likewise.
20710         * tests/test-frexp.c: Likewise.
20711         * tests/test-frexpl.c: Likewise.
20712         * tests/test-fseek.c: Likewise.
20713         * tests/test-fseeko.c: Likewise.
20714         * tests/test-fstatat.c: Likewise.
20715         * tests/test-fstrcmp.c: Likewise.
20716         * tests/test-fsync.c: Likewise.
20717         * tests/test-ftell.c: Likewise.
20718         * tests/test-ftello.c: Likewise.
20719         * tests/test-func.c: Likewise.
20720         * tests/test-futimens.c: Likewise.
20721         * tests/test-fwritable.c: Likewise.
20722         * tests/test-fwriting.c: Likewise.
20723         * tests/test-getcwd.c: Likewise.
20724         * tests/test-getdate.c: Likewise.
20725         * tests/test-getdelim.c: Likewise.
20726         * tests/test-getdtablesize.c: Likewise.
20727         * tests/test-getgroups.c: Likewise.
20728         * tests/test-getline.c: Likewise.
20729         * tests/test-getndelim2.c: Likewise.
20730         * tests/test-glob.c: Likewise.
20731         * tests/test-hash.c: Likewise.
20732         * tests/test-i-ring.c: Likewise.
20733         * tests/test-iconv-utf.c: Likewise.
20734         * tests/test-iconv.c: Likewise.
20735         * tests/test-idpriv-drop.c: Likewise.
20736         * tests/test-idpriv-droptemp.c: Likewise.
20737         * tests/test-inet_ntop.c: Likewise.
20738         * tests/test-inet_pton.c: Likewise.
20739         * tests/test-isblank.c: Likewise.
20740         * tests/test-isfinite.c: Likewise.
20741         * tests/test-isinf.c: Likewise.
20742         * tests/test-isnan.c: Likewise.
20743         * tests/test-isnand.h: Likewise.
20744         * tests/test-isnanf.h: Likewise.
20745         * tests/test-isnanl.h: Likewise.
20746         * tests/test-lchown.c: Likewise.
20747         * tests/test-ldexpl.c: Likewise.
20748         * tests/test-link.c: Likewise.
20749         * tests/test-linkat.c: Likewise.
20750         * tests/test-linked_list.c: Likewise.
20751         * tests/test-linkedhash_list.c: Likewise.
20752         * tests/test-localename.c: Likewise.
20753         * tests/test-lseek.c: Likewise.
20754         * tests/test-lstat.c: Likewise.
20755         * tests/test-mbmemcasecmp.c: Likewise.
20756         * tests/test-mbmemcasecoll.c: Likewise.
20757         * tests/test-mbrtowc.c: Likewise.
20758         * tests/test-mbscasecmp.c: Likewise.
20759         * tests/test-mbscasestr1.c: Likewise.
20760         * tests/test-mbscasestr2.c: Likewise.
20761         * tests/test-mbscasestr3.c: Likewise.
20762         * tests/test-mbscasestr4.c: Likewise.
20763         * tests/test-mbschr.c: Likewise.
20764         * tests/test-mbscspn.c: Likewise.
20765         * tests/test-mbsinit.c: Likewise.
20766         * tests/test-mbsncasecmp.c: Likewise.
20767         * tests/test-mbsnrtowcs.c: Likewise.
20768         * tests/test-mbspbrk.c: Likewise.
20769         * tests/test-mbspcasecmp.c: Likewise.
20770         * tests/test-mbsrchr.c: Likewise.
20771         * tests/test-mbsrtowcs.c: Likewise.
20772         * tests/test-mbsspn.c: Likewise.
20773         * tests/test-mbsstr1.c: Likewise.
20774         * tests/test-mbsstr2.c: Likewise.
20775         * tests/test-mbsstr3.c: Likewise.
20776         * tests/test-memchr.c: Likewise.
20777         * tests/test-memchr2.c: Likewise.
20778         * tests/test-memcmp.c: Likewise.
20779         * tests/test-memmem.c: Likewise.
20780         * tests/test-memrchr.c: Likewise.
20781         * tests/test-mkdir.c: Likewise.
20782         * tests/test-mkdirat.c: Likewise.
20783         * tests/test-mkfifo.c: Likewise.
20784         * tests/test-mkfifoat.c: Likewise.
20785         * tests/test-mknod.c: Likewise.
20786         * tests/test-nanosleep.c: Likewise.
20787         * tests/test-nl_langinfo.c: Likewise.
20788         * tests/test-obstack-printf.c: Likewise.
20789         * tests/test-open.c: Likewise.
20790         * tests/test-openat.c: Likewise.
20791         * tests/test-pipe-filter-gi1.c: Likewise.
20792         * tests/test-pipe-filter-gi2-main.c: Likewise.
20793         * tests/test-pipe-filter-ii1.c: Likewise.
20794         * tests/test-pipe-filter-ii2-main.c: Likewise.
20795         * tests/test-pipe2.c: Likewise.
20796         * tests/test-popen.h: Likewise.
20797         * tests/test-posixtm.c: Likewise.
20798         * tests/test-pread.c: Likewise.
20799         * tests/test-printf-frexp.c: Likewise.
20800         * tests/test-printf-frexpl.c: Likewise.
20801         * tests/test-printf-posix.c: Likewise.
20802         * tests/test-priv-set.c: Likewise.
20803         * tests/test-quotearg.c: Likewise.
20804         * tests/test-random_r.c: Likewise.
20805         * tests/test-rawmemchr.c: Likewise.
20806         * tests/test-rbtree_list.c: Likewise.
20807         * tests/test-rbtree_oset.c: Likewise.
20808         * tests/test-rbtreehash_list.c: Likewise.
20809         * tests/test-readlink.c: Likewise.
20810         * tests/test-remove.c: Likewise.
20811         * tests/test-rename.c: Likewise.
20812         * tests/test-renameat.c: Likewise.
20813         * tests/test-rmdir.c: Likewise.
20814         * tests/test-round1.c: Likewise.
20815         * tests/test-roundf1.c: Likewise.
20816         * tests/test-roundl.c: Likewise.
20817         * tests/test-safe-alloc.c: Likewise.
20818         * tests/test-sameacls.c: Likewise.
20819         * tests/test-set-mode-acl.c: Likewise.
20820         * tests/test-setenv.c: Likewise.
20821         * tests/test-sigaction.c: Likewise.
20822         * tests/test-signbit.c: Likewise.
20823         * tests/test-sleep.c: Likewise.
20824         * tests/test-snprintf-posix.c: Likewise.
20825         * tests/test-snprintf.c: Likewise.
20826         * tests/test-sprintf-posix.c: Likewise.
20827         * tests/test-stat-time.c: Likewise.
20828         * tests/test-stat.c: Likewise.
20829         * tests/test-strcasestr.c: Likewise.
20830         * tests/test-strchrnul.c: Likewise.
20831         * tests/test-strerror.c: Likewise.
20832         * tests/test-striconv.c: Likewise.
20833         * tests/test-striconveh.c: Likewise.
20834         * tests/test-striconveha.c: Likewise.
20835         * tests/test-strsignal.c: Likewise.
20836         * tests/test-strstr.c: Likewise.
20837         * tests/test-strtod.c: Likewise.
20838         * tests/test-strverscmp.c: Likewise.
20839         * tests/test-symlink.c: Likewise.
20840         * tests/test-symlinkat.c: Likewise.
20841         * tests/test-trunc1.c: Likewise.
20842         * tests/test-trunc2.c: Likewise.
20843         * tests/test-truncf1.c: Likewise.
20844         * tests/test-truncf2.c: Likewise.
20845         * tests/test-truncl.c: Likewise.
20846         * tests/test-uname.c: Likewise.
20847         * tests/test-unlink.c: Likewise.
20848         * tests/test-unlinkat.c: Likewise.
20849         * tests/test-unsetenv.c: Likewise.
20850         * tests/test-usleep.c: Likewise.
20851         * tests/test-utimens.c: Likewise.
20852         * tests/test-utimensat.c: Likewise.
20853         * tests/test-vasnprintf-posix.c: Likewise.
20854         * tests/test-vasnprintf-posix2.c: Likewise.
20855         * tests/test-vasnprintf.c: Likewise.
20856         * tests/test-vasprintf-posix.c: Likewise.
20857         * tests/test-vasprintf.c: Likewise.
20858         * tests/test-vdprintf-posix.c: Likewise.
20859         * tests/test-vfprintf-posix.c: Likewise.
20860         * tests/test-vprintf-posix.c: Likewise.
20861         * tests/test-vsnprintf-posix.c: Likewise.
20862         * tests/test-vsnprintf.c: Likewise.
20863         * tests/test-vsprintf-posix.c: Likewise.
20864         * tests/test-wcrtomb.c: Likewise.
20865         * tests/test-wcsnrtombs.c: Likewise.
20866         * tests/test-wcsrtombs.c: Likewise.
20867         * tests/test-wctype.c: Likewise.
20868         * tests/test-wcwidth.c: Likewise.
20869         * tests/test-xfprintf-posix.c: Likewise.
20870         * tests/test-xmemdup0.c: Likewise.
20871         * tests/test-xprintf-posix.c: Likewise.
20872         * tests/test-xvasprintf.c: Likewise.
20873         * tests/unicase/test-locale-language.c: Likewise.
20874         * tests/unicase/test-mapping-part1.h: Likewise.
20875         * tests/unicase/test-predicate-part1.h: Likewise.
20876         * tests/unicase/test-u8-casecmp.c: Likewise.
20877         * tests/unicase/test-u8-casecoll.c: Likewise.
20878         * tests/unicase/test-u8-casefold.c: Likewise.
20879         * tests/unicase/test-u8-is-cased.c: Likewise.
20880         * tests/unicase/test-u8-is-casefolded.c: Likewise.
20881         * tests/unicase/test-u8-is-lowercase.c: Likewise.
20882         * tests/unicase/test-u8-is-titlecase.c: Likewise.
20883         * tests/unicase/test-u8-is-uppercase.c: Likewise.
20884         * tests/unicase/test-u8-tolower.c: Likewise.
20885         * tests/unicase/test-u8-totitle.c: Likewise.
20886         * tests/unicase/test-u8-toupper.c: Likewise.
20887         * tests/unicase/test-u16-casecmp.c: Likewise.
20888         * tests/unicase/test-u16-casecoll.c: Likewise.
20889         * tests/unicase/test-u16-casefold.c: Likewise.
20890         * tests/unicase/test-u16-is-cased.c: Likewise.
20891         * tests/unicase/test-u16-is-casefolded.c: Likewise.
20892         * tests/unicase/test-u16-is-lowercase.c: Likewise.
20893         * tests/unicase/test-u16-is-titlecase.c: Likewise.
20894         * tests/unicase/test-u16-is-uppercase.c: Likewise.
20895         * tests/unicase/test-u16-tolower.c: Likewise.
20896         * tests/unicase/test-u16-totitle.c: Likewise.
20897         * tests/unicase/test-u16-toupper.c: Likewise.
20898         * tests/unicase/test-u32-casecmp.c: Likewise.
20899         * tests/unicase/test-u32-casecoll.c: Likewise.
20900         * tests/unicase/test-u32-casefold.c: Likewise.
20901         * tests/unicase/test-u32-is-cased.c: Likewise.
20902         * tests/unicase/test-u32-is-casefolded.c: Likewise.
20903         * tests/unicase/test-u32-is-lowercase.c: Likewise.
20904         * tests/unicase/test-u32-is-titlecase.c: Likewise.
20905         * tests/unicase/test-u32-is-uppercase.c: Likewise.
20906         * tests/unicase/test-u32-tolower.c: Likewise.
20907         * tests/unicase/test-u32-totitle.c: Likewise.
20908         * tests/unicase/test-u32-toupper.c: Likewise.
20909         * tests/unicase/test-ulc-casecmp.c: Likewise.
20910         * tests/unicase/test-ulc-casecoll.c: Likewise.
20911         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
20912         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
20913         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
20914         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
20915         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
20916         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
20917         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
20918         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
20919         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
20920         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
20921         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
20922         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
20923         * tests/unictype/test-bidi_byname.c: Likewise.
20924         * tests/unictype/test-bidi_name.c: Likewise.
20925         * tests/unictype/test-bidi_of.c: Likewise.
20926         * tests/unictype/test-bidi_test.c: Likewise.
20927         * tests/unictype/test-block_list.c: Likewise.
20928         * tests/unictype/test-block_of.c: Likewise.
20929         * tests/unictype/test-block_test.c: Likewise.
20930         * tests/unictype/test-categ_and.c: Likewise.
20931         * tests/unictype/test-categ_and_not.c: Likewise.
20932         * tests/unictype/test-categ_byname.c: Likewise.
20933         * tests/unictype/test-categ_name.c: Likewise.
20934         * tests/unictype/test-categ_none.c: Likewise.
20935         * tests/unictype/test-categ_of.c: Likewise.
20936         * tests/unictype/test-categ_or.c: Likewise.
20937         * tests/unictype/test-categ_test_withtable.c: Likewise.
20938         * tests/unictype/test-combining.c: Likewise.
20939         * tests/unictype/test-decdigit.c: Likewise.
20940         * tests/unictype/test-digit.c: Likewise.
20941         * tests/unictype/test-mirror.c: Likewise.
20942         * tests/unictype/test-numeric.c: Likewise.
20943         * tests/unictype/test-pr_byname.c: Likewise.
20944         * tests/unictype/test-pr_test.c: Likewise.
20945         * tests/unictype/test-predicate-part1.h: Likewise.
20946         * tests/unictype/test-scripts.c: Likewise.
20947         * tests/unictype/test-sy_c_ident.c: Likewise.
20948         * tests/unictype/test-sy_java_ident.c: Likewise.
20949         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
20950         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
20951         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
20952         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
20953         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
20954         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
20955         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
20956         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
20957         * tests/uninorm/test-canonical-decomposition.c: Likewise.
20958         * tests/uninorm/test-compat-decomposition.c: Likewise.
20959         * tests/uninorm/test-composition.c: Likewise.
20960         * tests/uninorm/test-decomposing-form.c: Likewise.
20961         * tests/uninorm/test-decomposition.c: Likewise.
20962         * tests/uninorm/test-u8-nfc.c: Likewise.
20963         * tests/uninorm/test-u8-nfd.c: Likewise.
20964         * tests/uninorm/test-u8-nfkc.c: Likewise.
20965         * tests/uninorm/test-u8-nfkd.c: Likewise.
20966         * tests/uninorm/test-u8-normcmp.c: Likewise.
20967         * tests/uninorm/test-u8-normcoll.c: Likewise.
20968         * tests/uninorm/test-u16-nfc.c: Likewise.
20969         * tests/uninorm/test-u16-nfd.c: Likewise.
20970         * tests/uninorm/test-u16-nfkc.c: Likewise.
20971         * tests/uninorm/test-u16-nfkd.c: Likewise.
20972         * tests/uninorm/test-u16-normcmp.c: Likewise.
20973         * tests/uninorm/test-u16-normcoll.c: Likewise.
20974         * tests/uninorm/test-u32-nfc.c: Likewise.
20975         * tests/uninorm/test-u32-nfd.c: Likewise.
20976         * tests/uninorm/test-u32-nfkc.c: Likewise.
20977         * tests/uninorm/test-u32-nfkd.c: Likewise.
20978         * tests/uninorm/test-u32-normalize-big.c: Likewise.
20979         * tests/uninorm/test-u32-normcmp.c: Likewise.
20980         * tests/uninorm/test-u32-normcoll.c: Likewise.
20981         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
20982         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
20983         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
20984         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
20985         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
20986         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
20987         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
20988         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
20989         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
20990         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
20991         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
20992         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
20993         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
20994         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
20995         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
20996         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
20997         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
20998         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
20999         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
21000         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
21001         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
21002         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
21003         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
21004         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
21005         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
21006         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
21007         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
21008         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
21009         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
21010         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
21011         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
21012         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
21013         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
21014         * tests/uniwidth/test-u8-strwidth.c: Likewise.
21015         * tests/uniwidth/test-u8-width.c: Likewise.
21016         * tests/uniwidth/test-u16-strwidth.c: Likewise.
21017         * tests/uniwidth/test-u16-width.c: Likewise.
21018         * tests/uniwidth/test-u32-strwidth.c: Likewise.
21019         * tests/uniwidth/test-u32-width.c: Likewise.
21020         * tests/uniwidth/test-uc_width.c: Likewise.
21021         * tests/uniwidth/test-uc_width2.c: Likewise.
21022         * modules/acl-tests (Files): Add tests/macros.h.
21023         * modules/areadlink-tests (Files): Likewise.
21024         * modules/areadlink-with-size-tests (Files): Likewise.
21025         * modules/areadlinkat-tests (Files): Likewise.
21026         * modules/areadlinkat-with-size-tests (Files): Likewise.
21027         * modules/argmatch-tests (Files): Likewise.
21028         * modules/argv-iter-tests (Files): Likewise.
21029         * modules/array-list-tests (Files): Likewise.
21030         * modules/array-mergesort-tests (Files): Likewise.
21031         * modules/array-oset-tests (Files): Likewise.
21032         * modules/avltree-list-tests (Files): Likewise.
21033         * modules/avltree-oset-tests (Files): Likewise.
21034         * modules/avltreehash-list-tests (Files): Likewise.
21035         * modules/base64-tests (Files): Likewise.
21036         * modules/binary-io-tests (Files): Likewise.
21037         * modules/bitrotate-tests (Files): Likewise.
21038         * modules/btowc-tests (Files): Likewise.
21039         * modules/byteswap-tests (Files): Likewise.
21040         * modules/c-ctype-tests (Files): Likewise.
21041         * modules/c-stack-tests (Files): Likewise.
21042         * modules/c-strcase-tests (Files): Likewise.
21043         * modules/c-strcasestr-tests (Files): Likewise.
21044         * modules/c-strstr-tests (Files): Likewise.
21045         * modules/canonicalize-lgpl-tests (Files): Likewise.
21046         * modules/canonicalize-tests (Files): Likewise.
21047         * modules/carray-list-tests (Files): Likewise.
21048         * modules/ceilf-tests (Files): Likewise.
21049         * modules/ceill-tests (Files): Likewise.
21050         * modules/chown-tests (Files): Likewise.
21051         * modules/cloexec-tests (Files): Likewise.
21052         * modules/copy-file-tests (Files): Likewise.
21053         * modules/count-one-bits-tests (Files): Likewise.
21054         * modules/dprintf-posix-tests (Files): Likewise.
21055         * modules/dup2-tests (Files): Likewise.
21056         * modules/dup3-tests (Files): Likewise.
21057         * modules/duplocale-tests (Files): Likewise.
21058         * modules/fbufmode-tests (Files): Likewise.
21059         * modules/fchdir-tests (Files): Likewise.
21060         * modules/fcntl-safer-tests (Files): Likewise.
21061         * modules/fcntl-tests (Files): Likewise.
21062         * modules/fdopendir-tests (Files): Likewise.
21063         * modules/fdutimensat-tests (Files): Likewise.
21064         * modules/fflush-tests (Files): Likewise.
21065         * modules/filevercmp-tests (Files): Likewise.
21066         * modules/flock-tests (Files): Likewise.
21067         * modules/floorf-tests (Files): Likewise.
21068         * modules/floorl-tests (Files): Likewise.
21069         * modules/fnmatch-tests (Files): Likewise.
21070         * modules/fopen-safer-tests (Files): Likewise.
21071         * modules/fopen-tests (Files): Likewise.
21072         * modules/fpending-tests (Files): Likewise.
21073         * modules/fprintf-posix-tests (Files): Likewise.
21074         * modules/fpurge-tests (Files): Likewise.
21075         * modules/freadable-tests (Files): Likewise.
21076         * modules/freadahead-tests (Files): Likewise.
21077         * modules/freading-tests (Files): Likewise.
21078         * modules/freadptr-tests (Files): Likewise.
21079         * modules/freadseek-tests (Files): Likewise.
21080         * modules/freopen-tests (Files): Likewise.
21081         * modules/frexp-nolibm-tests (Files): Likewise.
21082         * modules/frexp-tests (Files): Likewise.
21083         * modules/frexpl-nolibm-tests (Files): Likewise.
21084         * modules/frexpl-tests (Files): Likewise.
21085         * modules/fseek-tests (Files): Likewise.
21086         * modules/fseeko-tests (Files): Likewise.
21087         * modules/fstrcmp-tests (Files): Likewise.
21088         * modules/fsync-tests (Files): Likewise.
21089         * modules/ftell-tests (Files): Likewise.
21090         * modules/ftello-tests (Files): Likewise.
21091         * modules/func-tests (Files): Likewise.
21092         * modules/futimens-tests (Files): Likewise.
21093         * modules/fwritable-tests (Files): Likewise.
21094         * modules/fwriting-tests (Files): Likewise.
21095         * modules/getcwd-tests (Files): Likewise.
21096         * modules/getdate-tests (Files): Likewise.
21097         * modules/getdelim-tests (Files): Likewise.
21098         * modules/getdtablesize-tests (Files): Likewise.
21099         * modules/getgroups-tests (Files): Likewise.
21100         * modules/getline-tests (Files): Likewise.
21101         * modules/getndelim2-tests (Files): Likewise.
21102         * modules/glob-tests (Files): Likewise.
21103         * modules/hash-tests (Files): Likewise.
21104         * modules/i-ring-tests (Files): Likewise.
21105         * modules/iconv-tests (Files): Likewise.
21106         * modules/iconv_open-utf-tests (Files): Likewise.
21107         * modules/idpriv-drop-tests (Files): Likewise.
21108         * modules/idpriv-droptemp-tests (Files): Likewise.
21109         * modules/inet_ntop-tests (Files): Likewise.
21110         * modules/inet_pton-tests (Files): Likewise.
21111         * modules/isblank-tests (Files): Likewise.
21112         * modules/isfinite-tests (Files): Likewise.
21113         * modules/isinf-tests (Files): Likewise.
21114         * modules/isnan-tests (Files): Likewise.
21115         * modules/isnand-nolibm-tests (Files): Likewise.
21116         * modules/isnand-tests (Files): Likewise.
21117         * modules/isnanf-nolibm-tests (Files): Likewise.
21118         * modules/isnanf-tests (Files): Likewise.
21119         * modules/isnanl-nolibm-tests (Files): Likewise.
21120         * modules/isnanl-tests (Files): Likewise.
21121         * modules/lchown-tests (Files): Likewise.
21122         * modules/ldexpl-tests (Files): Likewise.
21123         * modules/link-tests (Files): Likewise.
21124         * modules/linkat-tests (Files): Likewise.
21125         * modules/linked-list-tests (Files): Likewise.
21126         * modules/linkedhash-list-tests (Files): Likewise.
21127         * modules/localename-tests (Files): Likewise.
21128         * modules/lseek-tests (Files): Likewise.
21129         * modules/lstat-tests (Files): Likewise.
21130         * modules/mbmemcasecmp-tests (Files): Likewise.
21131         * modules/mbmemcasecoll-tests (Files): Likewise.
21132         * modules/mbrtowc-tests (Files): Likewise.
21133         * modules/mbscasecmp-tests (Files): Likewise.
21134         * modules/mbscasestr-tests (Files): Likewise.
21135         * modules/mbschr-tests (Files): Likewise.
21136         * modules/mbscspn-tests (Files): Likewise.
21137         * modules/mbsinit-tests (Files): Likewise.
21138         * modules/mbsncasecmp-tests (Files): Likewise.
21139         * modules/mbsnrtowcs-tests (Files): Likewise.
21140         * modules/mbspbrk-tests (Files): Likewise.
21141         * modules/mbspcasecmp-tests (Files): Likewise.
21142         * modules/mbsrchr-tests (Files): Likewise.
21143         * modules/mbsrtowcs-tests (Files): Likewise.
21144         * modules/mbsspn-tests (Files): Likewise.
21145         * modules/mbsstr-tests (Files): Likewise.
21146         * modules/memchr-tests (Files): Likewise.
21147         * modules/memchr2-tests (Files): Likewise.
21148         * modules/memcmp-tests (Files): Likewise.
21149         * modules/memmem-tests (Files): Likewise.
21150         * modules/memrchr-tests (Files): Likewise.
21151         * modules/mkdir-tests (Files): Likewise.
21152         * modules/mkfifo-tests (Files): Likewise.
21153         * modules/mkfifoat-tests (Files): Likewise.
21154         * modules/mknod-tests (Files): Likewise.
21155         * modules/nanosleep-tests (Files): Likewise.
21156         * modules/nl_langinfo-tests (Files): Likewise.
21157         * modules/obstack-printf-tests (Files): Likewise.
21158         * modules/open-tests (Files): Likewise.
21159         * modules/openat-tests (Files): Likewise.
21160         * modules/pipe-filter-gi-tests (Files): Likewise.
21161         * modules/pipe-filter-ii-tests (Files): Likewise.
21162         * modules/pipe2-tests (Files): Likewise.
21163         * modules/popen-safer-tests (Files): Likewise.
21164         * modules/popen-tests (Files): Likewise.
21165         * modules/posixtm-tests (Files): Likewise.
21166         * modules/pread-tests (Files): Likewise.
21167         * modules/printf-frexp-tests (Files): Likewise.
21168         * modules/printf-frexpl-tests (Files): Likewise.
21169         * modules/printf-posix-tests (Files): Likewise.
21170         * modules/priv-set-tests (Files): Likewise.
21171         * modules/quotearg-tests (Files): Likewise.
21172         * modules/random_r-tests (Files): Likewise.
21173         * modules/rawmemchr-tests (Files): Likewise.
21174         * modules/rbtree-list-tests (Files): Likewise.
21175         * modules/rbtree-oset-tests (Files): Likewise.
21176         * modules/rbtreehash-list-tests (Files): Likewise.
21177         * modules/readlink-tests (Files): Likewise.
21178         * modules/remove-tests (Files): Likewise.
21179         * modules/rename-tests (Files): Likewise.
21180         * modules/renameat-tests (Files): Likewise.
21181         * modules/rmdir-tests (Files): Likewise.
21182         * modules/round-tests (Files): Likewise.
21183         * modules/roundf-tests (Files): Likewise.
21184         * modules/roundl-tests (Files): Likewise.
21185         * modules/safe-alloc-tests (Files): Likewise.
21186         * modules/setenv-tests (Files): Likewise.
21187         * modules/sigaction-tests (Files): Likewise.
21188         * modules/signbit-tests (Files): Likewise.
21189         * modules/sleep-tests (Files): Likewise.
21190         * modules/snprintf-posix-tests (Files): Likewise.
21191         * modules/snprintf-tests (Files): Likewise.
21192         * modules/sprintf-posix-tests (Files): Likewise.
21193         * modules/stat-tests (Files): Likewise.
21194         * modules/stat-time-tests (Files): Likewise.
21195         * modules/strcasestr-tests (Files): Likewise.
21196         * modules/strchrnul-tests (Files): Likewise.
21197         * modules/strerror-tests (Files): Likewise.
21198         * modules/striconv-tests (Files): Likewise.
21199         * modules/striconveh-tests (Files): Likewise.
21200         * modules/striconveha-tests (Files): Likewise.
21201         * modules/strsignal-tests (Files): Likewise.
21202         * modules/strstr-tests (Files): Likewise.
21203         * modules/strtod-tests (Files): Likewise.
21204         * modules/strverscmp-tests (Files): Likewise.
21205         * modules/symlink-tests (Files): Likewise.
21206         * modules/symlinkat-tests (Files): Likewise.
21207         * modules/trunc-tests (Files): Likewise.
21208         * modules/truncf-tests (Files): Likewise.
21209         * modules/truncl-tests (Files): Likewise.
21210         * modules/uname-tests (Files): Likewise.
21211         * modules/unicase/cased-tests (Files): Likewise.
21212         * modules/unicase/ignorable-tests (Files): Likewise.
21213         * modules/unicase/locale-language-tests (Files): Likewise.
21214         * modules/unicase/tolower-tests (Files): Likewise.
21215         * modules/unicase/totitle-tests (Files): Likewise.
21216         * modules/unicase/toupper-tests (Files): Likewise.
21217         * modules/unicase/u8-casecmp-tests (Files): Likewise.
21218         * modules/unicase/u8-casecoll-tests (Files): Likewise.
21219         * modules/unicase/u8-casefold-tests (Files): Likewise.
21220         * modules/unicase/u8-is-cased-tests (Files): Likewise.
21221         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
21222         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
21223         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
21224         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
21225         * modules/unicase/u8-tolower-tests (Files): Likewise.
21226         * modules/unicase/u8-totitle-tests (Files): Likewise.
21227         * modules/unicase/u8-toupper-tests (Files): Likewise.
21228         * modules/unicase/u16-casecmp-tests (Files): Likewise.
21229         * modules/unicase/u16-casecoll-tests (Files): Likewise.
21230         * modules/unicase/u16-casefold-tests (Files): Likewise.
21231         * modules/unicase/u16-is-cased-tests (Files): Likewise.
21232         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
21233         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
21234         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
21235         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
21236         * modules/unicase/u16-tolower-tests (Files): Likewise.
21237         * modules/unicase/u16-totitle-tests (Files): Likewise.
21238         * modules/unicase/u16-toupper-tests (Files): Likewise.
21239         * modules/unicase/u32-casecmp-tests (Files): Likewise.
21240         * modules/unicase/u32-casecoll-tests (Files): Likewise.
21241         * modules/unicase/u32-casefold-tests (Files): Likewise.
21242         * modules/unicase/u32-is-cased-tests (Files): Likewise.
21243         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
21244         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
21245         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
21246         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
21247         * modules/unicase/u32-tolower-tests (Files): Likewise.
21248         * modules/unicase/u32-totitle-tests (Files): Likewise.
21249         * modules/unicase/u32-toupper-tests (Files): Likewise.
21250         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
21251         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
21252         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
21253         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
21254         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
21255         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
21256         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
21257         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
21258         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
21259         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
21260         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
21261         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
21262         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
21263         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
21264         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
21265         * modules/unictype/bidicategory-name-tests (Files): Likewise.
21266         * modules/unictype/bidicategory-of-tests (Files): Likewise.
21267         * modules/unictype/bidicategory-test-tests (Files): Likewise.
21268         * modules/unictype/block-list-tests (Files): Likewise.
21269         * modules/unictype/block-of-tests (Files): Likewise.
21270         * modules/unictype/block-test-tests (Files): Likewise.
21271         * modules/unictype/category-C-tests (Files): Likewise.
21272         * modules/unictype/category-Cc-tests (Files): Likewise.
21273         * modules/unictype/category-Cf-tests (Files): Likewise.
21274         * modules/unictype/category-Cn-tests (Files): Likewise.
21275         * modules/unictype/category-Co-tests (Files): Likewise.
21276         * modules/unictype/category-Cs-tests (Files): Likewise.
21277         * modules/unictype/category-L-tests (Files): Likewise.
21278         * modules/unictype/category-Ll-tests (Files): Likewise.
21279         * modules/unictype/category-Lm-tests (Files): Likewise.
21280         * modules/unictype/category-Lo-tests (Files): Likewise.
21281         * modules/unictype/category-Lt-tests (Files): Likewise.
21282         * modules/unictype/category-Lu-tests (Files): Likewise.
21283         * modules/unictype/category-M-tests (Files): Likewise.
21284         * modules/unictype/category-Mc-tests (Files): Likewise.
21285         * modules/unictype/category-Me-tests (Files): Likewise.
21286         * modules/unictype/category-Mn-tests (Files): Likewise.
21287         * modules/unictype/category-N-tests (Files): Likewise.
21288         * modules/unictype/category-Nd-tests (Files): Likewise.
21289         * modules/unictype/category-Nl-tests (Files): Likewise.
21290         * modules/unictype/category-No-tests (Files): Likewise.
21291         * modules/unictype/category-P-tests (Files): Likewise.
21292         * modules/unictype/category-Pc-tests (Files): Likewise.
21293         * modules/unictype/category-Pd-tests (Files): Likewise.
21294         * modules/unictype/category-Pe-tests (Files): Likewise.
21295         * modules/unictype/category-Pf-tests (Files): Likewise.
21296         * modules/unictype/category-Pi-tests (Files): Likewise.
21297         * modules/unictype/category-Po-tests (Files): Likewise.
21298         * modules/unictype/category-Ps-tests (Files): Likewise.
21299         * modules/unictype/category-S-tests (Files): Likewise.
21300         * modules/unictype/category-Sc-tests (Files): Likewise.
21301         * modules/unictype/category-Sk-tests (Files): Likewise.
21302         * modules/unictype/category-Sm-tests (Files): Likewise.
21303         * modules/unictype/category-So-tests (Files): Likewise.
21304         * modules/unictype/category-Z-tests (Files): Likewise.
21305         * modules/unictype/category-Zl-tests (Files): Likewise.
21306         * modules/unictype/category-Zp-tests (Files): Likewise.
21307         * modules/unictype/category-Zs-tests (Files): Likewise.
21308         * modules/unictype/category-and-not-tests (Files): Likewise.
21309         * modules/unictype/category-and-tests (Files): Likewise.
21310         * modules/unictype/category-byname-tests (Files): Likewise.
21311         * modules/unictype/category-name-tests (Files): Likewise.
21312         * modules/unictype/category-none-tests (Files): Likewise.
21313         * modules/unictype/category-of-tests (Files): Likewise.
21314         * modules/unictype/category-or-tests (Files): Likewise.
21315         * modules/unictype/category-test-withtable-tests (Files): Likewise.
21316         * modules/unictype/combining-class-tests (Files): Likewise.
21317         * modules/unictype/ctype-alnum-tests (Files): Likewise.
21318         * modules/unictype/ctype-alpha-tests (Files): Likewise.
21319         * modules/unictype/ctype-blank-tests (Files): Likewise.
21320         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
21321         * modules/unictype/ctype-digit-tests (Files): Likewise.
21322         * modules/unictype/ctype-graph-tests (Files): Likewise.
21323         * modules/unictype/ctype-lower-tests (Files): Likewise.
21324         * modules/unictype/ctype-print-tests (Files): Likewise.
21325         * modules/unictype/ctype-punct-tests (Files): Likewise.
21326         * modules/unictype/ctype-space-tests (Files): Likewise.
21327         * modules/unictype/ctype-upper-tests (Files): Likewise.
21328         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
21329         * modules/unictype/decimal-digit-tests (Files): Likewise.
21330         * modules/unictype/digit-tests (Files): Likewise.
21331         * modules/unictype/mirror-tests (Files): Likewise.
21332         * modules/unictype/numeric-tests (Files): Likewise.
21333         * modules/unictype/property-alphabetic-tests (Files): Likewise.
21334         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
21335         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
21336         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
21337         Likewise.
21338         * modules/unictype/property-bidi-block-separator-tests (Files):
21339         Likewise.
21340         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
21341         Likewise.
21342         * modules/unictype/property-bidi-common-separator-tests (Files):
21343         Likewise.
21344         * modules/unictype/property-bidi-control-tests (Files): Likewise.
21345         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
21346         Likewise.
21347         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
21348         Likewise.
21349         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
21350         Likewise.
21351         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
21352         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
21353         Likewise.
21354         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
21355         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
21356         Likewise.
21357         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
21358         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
21359         * modules/unictype/property-bidi-segment-separator-tests (Files):
21360         Likewise.
21361         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
21362         * modules/unictype/property-byname-tests (Files): Likewise.
21363         * modules/unictype/property-combining-tests (Files): Likewise.
21364         * modules/unictype/property-composite-tests (Files): Likewise.
21365         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
21366         * modules/unictype/property-dash-tests (Files): Likewise.
21367         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
21368         * modules/unictype/property-default-ignorable-code-point-tests (Files):
21369         Likewise.
21370         * modules/unictype/property-deprecated-tests (Files): Likewise.
21371         * modules/unictype/property-diacritic-tests (Files): Likewise.
21372         * modules/unictype/property-extender-tests (Files): Likewise.
21373         * modules/unictype/property-format-control-tests (Files): Likewise.
21374         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
21375         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
21376         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
21377         * modules/unictype/property-hex-digit-tests (Files): Likewise.
21378         * modules/unictype/property-hyphen-tests (Files): Likewise.
21379         * modules/unictype/property-id-continue-tests (Files): Likewise.
21380         * modules/unictype/property-id-start-tests (Files): Likewise.
21381         * modules/unictype/property-ideographic-tests (Files): Likewise.
21382         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
21383         * modules/unictype/property-ids-trinary-operator-tests (Files):
21384         Likewise.
21385         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
21386         * modules/unictype/property-iso-control-tests (Files): Likewise.
21387         * modules/unictype/property-join-control-tests (Files): Likewise.
21388         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
21389         * modules/unictype/property-line-separator-tests (Files): Likewise.
21390         * modules/unictype/property-logical-order-exception-tests (Files):
21391         Likewise.
21392         * modules/unictype/property-lowercase-tests (Files): Likewise.
21393         * modules/unictype/property-math-tests (Files): Likewise.
21394         * modules/unictype/property-non-break-tests (Files): Likewise.
21395         * modules/unictype/property-not-a-character-tests (Files): Likewise.
21396         * modules/unictype/property-numeric-tests (Files): Likewise.
21397         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
21398         * modules/unictype/property-other-default-ignorable-code-point-tests
21399         (Files): Likewise.
21400         * modules/unictype/property-other-grapheme-extend-tests (Files):
21401         Likewise.
21402         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
21403         * modules/unictype/property-other-id-start-tests (Files): Likewise.
21404         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
21405         * modules/unictype/property-other-math-tests (Files): Likewise.
21406         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
21407         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
21408         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
21409         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
21410         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
21411         * modules/unictype/property-private-use-tests (Files): Likewise.
21412         * modules/unictype/property-punctuation-tests (Files): Likewise.
21413         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
21414         * modules/unictype/property-radical-tests (Files): Likewise.
21415         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
21416         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
21417         * modules/unictype/property-space-tests (Files): Likewise.
21418         * modules/unictype/property-terminal-punctuation-tests (Files):
21419         Likewise.
21420         * modules/unictype/property-test-tests (Files): Likewise.
21421         * modules/unictype/property-titlecase-tests (Files): Likewise.
21422         * modules/unictype/property-unassigned-code-value-tests (Files):
21423         Likewise.
21424         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
21425         * modules/unictype/property-uppercase-tests (Files): Likewise.
21426         * modules/unictype/property-variation-selector-tests (Files): Likewise.
21427         * modules/unictype/property-white-space-tests (Files): Likewise.
21428         * modules/unictype/property-xid-continue-tests (Files): Likewise.
21429         * modules/unictype/property-xid-start-tests (Files): Likewise.
21430         * modules/unictype/property-zero-width-tests (Files): Likewise.
21431         * modules/unictype/scripts-tests (Files): Likewise.
21432         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
21433         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
21434         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
21435         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
21436         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
21437         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
21438         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
21439         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
21440         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
21441         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
21442         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
21443         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
21444         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
21445         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
21446         * modules/uninorm/composition-tests (Files): Likewise.
21447         * modules/uninorm/decomposing-form-tests (Files): Likewise.
21448         * modules/uninorm/decomposition-tests (Files): Likewise.
21449         * modules/uninorm/filter-tests (Files): Likewise.
21450         * modules/uninorm/nfc-tests (Files): Likewise.
21451         * modules/uninorm/nfd-tests (Files): Likewise.
21452         * modules/uninorm/nfkc-tests (Files): Likewise.
21453         * modules/uninorm/nfkd-tests (Files): Likewise.
21454         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
21455         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
21456         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
21457         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
21458         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
21459         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
21460         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
21461         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21462         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
21463         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
21464         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
21465         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
21466         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21467         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
21468         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
21469         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
21470         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
21471         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21472         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
21473         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
21474         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
21475         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
21476         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21477         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
21478         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
21479         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
21480         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
21481         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
21482         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
21483         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
21484         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
21485         * modules/uniwidth/u8-width-tests (Files): Likewise.
21486         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
21487         * modules/uniwidth/u16-width-tests (Files): Likewise.
21488         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
21489         * modules/uniwidth/u32-width-tests (Files): Likewise.
21490         * modules/uniwidth/width-tests (Files): Likewise.
21491         * modules/unlink-tests (Files): Likewise.
21492         * modules/unsetenv-tests (Files): Likewise.
21493         * modules/usleep-tests (Files): Likewise.
21494         * modules/utimens-tests (Files): Likewise.
21495         * modules/utimensat-tests (Files): Likewise.
21496         * modules/vasnprintf-posix-tests (Files): Likewise.
21497         * modules/vasnprintf-tests (Files): Likewise.
21498         * modules/vasprintf-posix-tests (Files): Likewise.
21499         * modules/vasprintf-tests (Files): Likewise.
21500         * modules/vdprintf-posix-tests (Files): Likewise.
21501         * modules/vfprintf-posix-tests (Files): Likewise.
21502         * modules/vprintf-posix-tests (Files): Likewise.
21503         * modules/vsnprintf-posix-tests (Files): Likewise.
21504         * modules/vsnprintf-tests (Files): Likewise.
21505         * modules/vsprintf-posix-tests (Files): Likewise.
21506         * modules/wcrtomb-tests (Files): Likewise.
21507         * modules/wcsnrtombs-tests (Files): Likewise.
21508         * modules/wcsrtombs-tests (Files): Likewise.
21509         * modules/wctype-tests (Files): Likewise.
21510         * modules/wcwidth-tests (Files): Likewise.
21511         * modules/xmemdup0-tests (Files): Likewise.
21512         * modules/xprintf-posix-tests (Files): Likewise.
21513         * modules/xvasprintf-tests (Files): Likewise.
21514
21515 2009-12-24  Eric Blake  <ebb9@byu.net>
21516
21517         test-nanosleep: fix typo
21518         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
21519         patch.
21520         Reported by Bruno Haible.
21521
21522 2009-12-24  Bruno Haible  <bruno@clisp.org>
21523
21524         Reduce namespace pollution on glibc systems.
21525         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
21526         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
21527         systems.
21528         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
21529         <getopt.h> on glibc systems.
21530         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
21531         systems.
21532         * lib/fcntl.c: Include <unistd.h> here instead.
21533
21534 2009-12-24  Bruno Haible  <bruno@clisp.org>
21535
21536         * lib/stdlib.in.h (includes): Fix typo in today's commit.
21537
21538 2009-12-24  Eric Blake  <ebb9@byu.net>
21539
21540         tests: add signature checks
21541         * tests/signature.h (SIGNATURE_CHECK): New file.
21542         * modules/atexit-tests (Files): Use it.
21543         * modules/btowc-tests (Files): Likewise.
21544         * modules/canonicalize-lgpl-tests (Files): Likewise.
21545         * modules/ceilf-tests (Files): Likewise.
21546         * modules/ceill-tests (Files): Likewise.
21547         * modules/chown-tests (Files): Likewise.
21548         * modules/dprintf-posix-tests (Files): Likewise.
21549         * modules/dup2-tests (Files): Likewise.
21550         * modules/dup3-tests (Files): Likewise.
21551         * modules/duplocale-tests (Files): Likewise.
21552         * modules/fchdir-tests (Files): Likewise.
21553         * modules/fcntl-tests (Files): Likewise.
21554         * modules/fdopendir-tests (Files): Likewise.
21555         * modules/fflush-tests (Files): Likewise.
21556         * modules/flock-tests (Files): Likewise.
21557         * modules/floorf-tests (Files): Likewise.
21558         * modules/floorl-tests (Files): Likewise.
21559         * modules/fnmatch-tests (Files): Likewise.
21560         * modules/fopen-tests (Files): Likewise.
21561         * modules/fprintf-posix-tests (Files): Likewise.
21562         * modules/freopen-tests (Files): Likewise.
21563         * modules/frexp-nolibm-tests (Files): Likewise.
21564         * modules/frexp-tests (Files): Likewise.
21565         * modules/frexpl-nolibm-tests (Files): Likewise.
21566         * modules/frexpl-tests (Files): Likewise.
21567         * modules/fseek-tests (Files): Likewise.
21568         * modules/fseeko-tests (Files): Likewise.
21569         * modules/fsync-tests (Files): Likewise.
21570         * modules/ftell-tests (Files): Likewise.
21571         * modules/ftello-tests (Files): Likewise.
21572         * modules/futimens-tests (Files): Likewise.
21573         * modules/getaddrinfo-tests (Files): Likewise.
21574         * modules/getcwd-tests (Files): Likewise.
21575         * modules/getdelim-tests (Files): Likewise.
21576         * modules/getdtablesize-tests (Files): Likewise.
21577         * modules/getgroups-tests (Files): Likewise.
21578         * modules/gethostname-tests (Files): Likewise.
21579         * modules/getline-tests (Files): Likewise.
21580         * modules/getopt-posix-tests (Files): Likewise.
21581         * modules/gettimeofday-tests (Files): Likewise.
21582         * modules/glob-tests (Files): Likewise.
21583         * modules/iconv-tests (Files): Likewise.
21584         * modules/inet_ntop-tests (Files): Likewise.
21585         * modules/inet_pton-tests (Files): Likewise.
21586         * modules/isblank-tests (Files): Likewise.
21587         * modules/lchown-tests (Files): Likewise.
21588         * modules/ldexpl-tests (Files): Likewise.
21589         * modules/link-tests (Files): Likewise.
21590         * modules/linkat-tests (Files): Likewise.
21591         * modules/lseek-tests (Files): Likewise.
21592         * modules/lstat-tests (Files): Likewise.
21593         * modules/mbrtowc-tests (Files): Likewise.
21594         * modules/mbsinit-tests (Files): Likewise.
21595         * modules/mbsnrtowcs-tests (Files): Likewise.
21596         * modules/mbsrtowcs-tests (Files): Likewise.
21597         * modules/memchr-tests (Files): Likewise.
21598         * modules/memcmp-tests (Files): Likewise.
21599         * modules/memmem-tests (Files): Likewise.
21600         * modules/memrchr-tests (Files): Likewise.
21601         * modules/mkdir-tests (Files): Likewise.
21602         * modules/mkfifo-tests (Files): Likewise.
21603         * modules/mkfifoat-tests (Files): Likewise.
21604         * modules/mknod-tests (Files): Likewise.
21605         * modules/nanosleep-tests (Files): Likewise.
21606         * modules/nl_langinfo-tests (Files): Likewise.
21607         * modules/obstack-printf-tests (Files): Likewise.
21608         * modules/open-tests (Files): Likewise.
21609         * modules/openat-tests (Files): Likewise.
21610         * modules/perror-tests (Files): Likewise.
21611         * modules/pipe2-tests (Files): Likewise.
21612         * modules/poll-tests (Files): Likewise.
21613         * modules/popen-tests (Files): Likewise.
21614         * modules/posix_spawn-tests (Files): Likewise.
21615         * modules/posix_spawnp-tests (Files): Likewise.
21616         * modules/pread-tests (Files): Likewise.
21617         * modules/printf-posix-tests (Files): Likewise.
21618         * modules/pty-tests (Files): Likewise.
21619         * modules/random_r-tests (Files): Likewise.
21620         * modules/rawmemchr-tests (Files): Likewise.
21621         * modules/readlink-tests (Files): Likewise.
21622         * modules/remove-tests (Files): Likewise.
21623         * modules/rename-tests (Files): Likewise.
21624         * modules/renameat-tests (Files): Likewise.
21625         * modules/rmdir-tests (Files): Likewise.
21626         * modules/round-tests (Files): Likewise.
21627         * modules/roundf-tests (Files): Likewise.
21628         * modules/roundl-tests (Files): Likewise.
21629         * modules/select-tests (Files): Likewise.
21630         * modules/setenv-tests (Files): Likewise.
21631         * modules/sigaction-tests (Files): Likewise.
21632         * modules/sleep-tests (Files): Likewise.
21633         * modules/snprintf-posix-tests (Files): Likewise.
21634         * modules/snprintf-tests (Files): Likewise.
21635         * modules/sprintf-posix-tests (Files): Likewise.
21636         * modules/stat-tests (Files): Likewise.
21637         * modules/strcasestr-tests (Files): Likewise.
21638         * modules/strchrnul-tests (Files): Likewise.
21639         * modules/strerror-tests (Files): Likewise.
21640         * modules/strsignal-tests (Files): Likewise.
21641         * modules/strstr-tests (Files): Likewise.
21642         * modules/strtod-tests (Files): Likewise.
21643         * modules/strverscmp-tests (Files): Likewise.
21644         * modules/symlink-tests (Files): Likewise.
21645         * modules/symlinkat-tests (Files): Likewise.
21646         * modules/times-tests (Files): Likewise.
21647         * modules/trunc-tests (Files): Likewise.
21648         * modules/truncf-tests (Files): Likewise.
21649         * modules/truncl-tests (Files): Likewise.
21650         * modules/tsearch-tests (Files): Likewise.
21651         * modules/uname-tests (Files): Likewise.
21652         * modules/unlink-tests (Files): Likewise.
21653         * modules/unsetenv-tests (Files): Likewise.
21654         * modules/usleep-tests (Files): Likewise.
21655         * modules/utimensat-tests (Files): Likewise.
21656         * modules/vasprintf-tests (Files): Likewise.
21657         * modules/vdprintf-posix-tests (Files): Likewise.
21658         * modules/vfprintf-posix-tests (Files): Likewise.
21659         * modules/vprintf-posix-tests (Files): Likewise.
21660         * modules/vsnprintf-posix-tests (Files): Likewise.
21661         * modules/vsnprintf-tests (Files): Likewise.
21662         * modules/vsprintf-posix-tests (Files): Likewise.
21663         * modules/wcrtomb-tests (Files): Likewise.
21664         * modules/wcsnrtombs-tests (Files): Likewise.
21665         * modules/wcsrtombs-tests (Files): Likewise.
21666         * modules/wcwidth-tests (Files): Likewise.
21667         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
21668         * tests/test-isinf.c (isinf): Likewise.
21669         * tests/test-isnan.c (isnan): Likewise.
21670         * tests/test-signbit.c (signbit): Likewise.
21671         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
21672         declaration, either as macro or with correct signature.
21673         (select): Ensure function under test is declared with correct
21674         signature in correct header.
21675         * tests/test-atexit.c (atexit): Likewise.
21676         * tests/test-btowc.c (btowc): Likewise.
21677         * tests/test-canonicalize-lgpl.c (realpath)
21678         (canonicalize_file_name): Likewise.
21679         * tests/test-ceilf1.c (ceilf): Likewise.
21680         * tests/test-ceill.c (ceill): Likewise.
21681         * tests/test-chown.c (chown): Likewise.
21682         * tests/test-dprintf-posix.c (dprintf): Likewise.
21683         * tests/test-dup2.c (dup2): Likewise.
21684         * tests/test-dup3.c (dup3): Likewise.
21685         * tests/test-duplocale.c (duplocale): Likewise.
21686         * tests/test-fchdir.c (fchdir): Likewise.
21687         * tests/test-fchownat.c (fchownat): Likewise.
21688         * tests/test-fcntl.c (fcntl): Likewise.
21689         * tests/test-fdopendir.c (fdopendir): Likewise.
21690         * tests/test-fflush.c (fflush): Likewise.
21691         * tests/test-flock.c (flock): Likewise.
21692         * tests/test-floorf1.c (floorf): Likewise.
21693         * tests/test-floorl.c (floorl): Likewise.
21694         * tests/test-fnmatch.c (fnmatch): Likewise.
21695         * tests/test-fopen.c (fopen): Likewise.
21696         * tests/test-fprintf-posix.c (fprintf): Likewise.
21697         * tests/test-freopen.c (freopen): Likewise.
21698         * tests/test-frexp.c (frexp): Likewise.
21699         * tests/test-frexpl.c (frexpl): Likewise.
21700         * tests/test-fseek.c (fseek): Likewise.
21701         * tests/test-fseeko.c (fseeko): Likewise.
21702         * tests/test-fstatat.c (fstatat): Likewise.
21703         * tests/test-fsync.c (fsync): Likewise.
21704         * tests/test-ftell.c (ftell): Likewise.
21705         * tests/test-ftello.c (ftello): Likewise.
21706         * tests/test-futimens.c (futimens): Likewise.
21707         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
21708         (gai_strerror): Likewise.
21709         * tests/test-getcwd.c (getcwd): Likewise.
21710         * tests/test-getdelim.c (getdelim): Likewise.
21711         * tests/test-getdtablesize.c (getdtablesize): Likewise.
21712         * tests/test-getgroups.c (getgroups): Likewise.
21713         * tests/test-gethostname.c (gethostname): Likewise.
21714         * tests/test-getline.c (getline): Likewise.
21715         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
21716         Likewise.
21717         * tests/test-gettimeofday.c (gettimeofday): Likewise.
21718         * tests/test-glob.c (glob, globfree): Likewise.
21719         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
21720         * tests/test-inet_ntop.c (inet_ntop): Likewise.
21721         * tests/test-inet_pton.c (inet_pton): Likewise.
21722         * tests/test-isblank.c (isblank): Likewise.
21723         * tests/test-lchown.c (lchown): Likewise.
21724         * tests/test-ldexpl.c (ldexpl): Likewise.
21725         * tests/test-link.c (link): Likewise.
21726         * tests/test-linkat.c (linkat): Likewise.
21727         * tests/test-lseek.c (lseek): Likewise.
21728         * tests/test-lstat.c (lstat): Likewise.
21729         * tests/test-mbrtowc.c (mbrtowc): Likewise.
21730         * tests/test-mbsinit.c (mbsinit): Likewise.
21731         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
21732         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
21733         * tests/test-memchr.c (memchr): Likewise.
21734         * tests/test-memcmp.c (memcmp): Likewise.
21735         * tests/test-memmem.c (memmem): Likewise.
21736         * tests/test-memrchr.c (memrchr): Likewise.
21737         * tests/test-mkdir.c (mkdir): Likewise.
21738         * tests/test-mkdirat.c (mkdirat): Likewise.
21739         * tests/test-mkfifo.c (mkfifo): Likewise.
21740         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
21741         * tests/test-mknod.c (mknod): Likewise.
21742         * tests/test-nanosleep.c (nanosleep): Likewise.
21743         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
21744         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
21745         Likewise.
21746         * tests/test-open.c (open): Likewise.
21747         * tests/test-openat.c (openat): Likewise.
21748         * tests/test-perror.c (perror): Likewise.
21749         * tests/test-pipe2.c (pipe2): Likewise.
21750         * tests/test-poll.c (poll): Likewise.
21751         * tests/test-popen.c (popen, pclose): Likewise.
21752         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
21753         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
21754         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
21755         (posix_spawn_file_actions_destroy)
21756         (posix_spawn_file_actions_addclose)
21757         (posix_spawn_file_actions_addopen)
21758         (posix_spawn_file_actions_adddup2): Likewise.
21759         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
21760         * tests/test-pread.c (pread): Likewise.
21761         * tests/test-printf-posix.c (printf): Likewise.
21762         * tests/test-pty.c (openpty, forkpty): Likewise.
21763         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
21764         (random_r): Likewise.
21765         * tests/test-rawmemchr.c (rawmemchr): Likewise.
21766         * tests/test-readlink.c (readlink): Likewise.
21767         * tests/test-remove.c (remove): Likewise.
21768         * tests/test-rename.c (rename): Likewise.
21769         * tests/test-renameat.c (renameat): Likewise.
21770         * tests/test-rmdir.c (rmdir): Likewise.
21771         * tests/test-round1.c (round): Likewise.
21772         * tests/test-roundf1.c (roundf): Likewise.
21773         * tests/test-roundl.c (roundl): Likewise.
21774         * tests/test-setenv.c (setenv): Likewise.
21775         * tests/test-sigaction.c (sigaction): Likewise.
21776         * tests/test-sleep.c (sleep): Likewise.
21777         * tests/test-snprintf.c (snprintf): Likewise.
21778         * tests/test-sprintf-posix.c (sprintf): Likewise.
21779         * tests/test-stat.c (stat): Likewise.
21780         * tests/test-stpncpy.c (stpncpy): Likewise.
21781         * tests/test-strcasestr.c (strcasestr): Likewise.
21782         * tests/test-strchrnul.c (strchrnul): Likewise.
21783         * tests/test-strerror.c (strerror): Likewise.
21784         * tests/test-strsignal.c (strsignal): Likewise.
21785         * tests/test-strstr.c (strstr): Likewise.
21786         * tests/test-strtod.c (strtod): Likewise.
21787         * tests/test-strverscmp.c (strverscmp): Likewise.
21788         * tests/test-symlink.c (symlink): Likewise.
21789         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
21790         * tests/test-times.c (times): Likewise.
21791         * tests/test-trunc1.c (trunc): Likewise.
21792         * tests/test-truncf1.c (truncf): Likewise.
21793         * tests/test-truncl.c (truncl): Likewise.
21794         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
21795         Likewise.
21796         * tests/test-uname.c (uname): Likewise.
21797         * tests/test-unlink.c (unlink): Likewise.
21798         * tests/test-unlinkat.c (unlinkat): Likewise.
21799         * tests/test-unsetenv.c (unsetenv): Likewise.
21800         * tests/test-usleep.c (usleep): Likewise.
21801         * tests/test-utimensat.c (utimensat): Likewise.
21802         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
21803         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
21804         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
21805         * tests/test-vprintf-posix.c (vprintf): Likewise.
21806         * tests/test-vsnprintf.c (vsnprintf): Likewise.
21807         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
21808         * tests/test-wcrtomb.c (wcrtomb): Likewise.
21809         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
21810         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
21811         * tests/test-wcwidth.c (wcwidth): Likewise.
21812
21813         build: pull in conditional headers during GNULIB_POSIXCHECK
21814         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
21815         definitions from any conditionally-included headers.
21816         * lib/stdlib.in.h (includes): Likewise.
21817         * lib/unistd.in.h (includes): Likewise.
21818
21819 2009-12-24  Bruno Haible  <bruno@clisp.org>
21820
21821         * tests/test-argv-iter.c: Include header file being tested immediately
21822         after config.h.
21823         * tests/test-base64.c: Likewise.
21824         * tests/test-flock.c: Likewise.
21825         * tests/test-fsync.c: Likewise.
21826         * tests/test-getdate.c: Likewise.
21827         * tests/test-getndelim2.c: Likewise.
21828         * tests/test-isfinite.c: Likewise.
21829         * tests/test-isinf.c: Likewise.
21830         * tests/test-strerror.c: Likewise.
21831         * tests/test-strsignal.c: Likewise.
21832
21833 2009-12-23  Eric Blake  <ebb9@byu.net>
21834
21835         unistd: work around cygwin bug
21836         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
21837         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
21838         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
21839
21840 2009-12-23  Bruno Haible  <bruno@clisp.org>
21841
21842         localename: More tests.
21843         * tests/test-localename.c (SIZEOF): New macro.
21844         (categories): New variable.
21845         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
21846         test_locale_name_default): Add test w.r.t. thread locale.
21847         (test_locale_name_thread): New function.
21848         (main): Invoke it.
21849
21850         localename: Make aware of thread locale.
21851         * lib/localename.h (gl_locale_name_thread): New declaration.
21852         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
21853         behaviour with respect to thread locale.
21854         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
21855         <langinfo.h>, glthread/lock.h.
21856         (SIZE_BITS): New macro.
21857         (string_hash): New function.
21858         (struct hash_node): New type.
21859         (HASH_TABLE_SIZE): New macro.
21860         (struniq_hash_table, struniq_lock): New variables.
21861         (struniq): New function.
21862         (gl_locale_name_thread): New function.
21863         (gl_locale_name): Invoke it.
21864         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
21865         * modules/localename (Depends-on): Add lock.
21866         Reported by Mike Gran <spk121@yahoo.com>.
21867
21868 2009-12-23  Eric Blake  <ebb9@byu.net>
21869
21870         va-args: new module
21871         * modules/va-args: New file.
21872         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
21873         * MODULES.html.sh (Core language properties): Mention it.
21874
21875         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
21876         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
21877         named alias for __attribute__((__unused__)).
21878         * lib/chown.c: Update client.
21879         * lib/fchmodat.c: Likewise.
21880         * lib/fts.c: Likewise.
21881         * lib/getdate.y: Likewise.
21882         * lib/getgroups.c: Likewise.
21883         * lib/getopt.c: Likewise.
21884         * lib/getugroups.c: Likewise.
21885         * lib/mkdir.c: Likewise.
21886         * lib/mkfifo.c: Likewise.
21887         * lib/mkfifoat.c: Likewise.
21888         * lib/mknod.c: Likewise.
21889         * lib/mknodat.c: Likewise.
21890         * lib/readlink.c: Likewise.
21891         * lib/se-context.in.h: Likewise.
21892         * lib/se-selinux.in.h: Likewise.
21893         * lib/sockets.c: Likewise.
21894         * lib/symlink.c: Likewise.
21895         * lib/symlinkat.c: Likewise.
21896         * lib/unicodeio.c: Likewise.
21897         * lib/unistr.h: Likewise.
21898         * tests/test-areadlink.c: Likewise.
21899         * tests/test-areadlinkat.c: Likewise.
21900         * tests/test-filenamecat.c: Likewise.
21901         * tests/test-fseeko.c: Likewise.
21902         * tests/test-ftello.c: Likewise.
21903         * tests/test-getdate.c: Likewise.
21904         * tests/test-getgroups.c: Likewise.
21905         * tests/test-gethostname.c: Likewise.
21906         * tests/test-quotearg.c: Likewise.
21907         * tests/test-version-etc.c: Likewise.
21908         * tests/test-xalloc-die.c: Likewise.
21909         * tests/test-xfprintf-posix.c: Likewise.
21910         * tests/test-xprintf-posix.c: Likewise.
21911         * tests/test-xvasprintf.c: Likewise.
21912
21913         tests: avoid compiler warnings
21914         * tests/test-fcntl.c (main): Delete unused parameters.
21915         * tests/test-freopen-safer.c (main): Likewise.
21916         * tests/test-xalloc-die.c (main): Mark unused parameters.
21917         * tests/test-fseeko.c (main): Likewise.
21918         * tests/test-ftello.c (main): Likewise.
21919         * tests/test-nanosleep.c (main): Avoid declaration warning.
21920         * tests/test-sleep.c (main): Likewise.
21921         * tests/test-unsetenv.c (main): Silence warning about string
21922         literal.
21923         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
21924
21925 2009-12-23  Bruno Haible  <bruno@clisp.org>
21926
21927         * tests/test-localename.c (test_locale_name): New function, extracted
21928         from main. Also test mixed situations.
21929         (test_locale_name_posix, test_locale_name_environ,
21930         test_locale_name_default): New functions.
21931         (main): Invoke them all.
21932         * modules/localename-tests (configure.ac): Test for newlocale.
21933
21934 2009-12-23  Bruno Haible  <bruno@clisp.org>
21935
21936         unistd: Ensure getcwd gets declared before being overridden.
21937         * lib/unistd.in.h: Conditionally include <io.h>.
21938
21939 2009-12-22  Bruno Haible  <bruno@clisp.org>
21940
21941         wchar: Diagnose broken combination of glibc and gcc versions and flags.
21942         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
21943         (gl_WCHAR_H): Invoke it.
21944         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
21945         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
21946         Reported by Karl Berry <karl@freefriends.org>.
21947
21948 2009-12-22  Eric Blake  <ebb9@byu.net>
21949
21950         math, unistd: avoid redundant includes
21951         * lib/math.in.h (isnan): No need to re-include <math.h>.
21952         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
21953
21954         getsubopt: work around cygwin bug
21955         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
21956         avoid conflicting with system getsubopt.
21957         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
21958         bug.
21959
21960         getopt: synchronize from glibc
21961         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
21962         parameter order.  Adjust all callers.
21963         (_getopt_internal_r, main): Adjust quoting in error messages.
21964         Drop considerations for outdated POSIX 1003.2 error message.
21965         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
21966         callers.
21967         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
21968
21969         test-getopt: test stderr behavior
21970         * modules/getopt-posix-tests (Depends-on): Add dup2.
21971         * tests/test-getopt.c (ASSERT): Avoid stderr.
21972         (main): Move stderr to a temporary file.
21973         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
21974         Instead, add parameter to inform caller if output occurred.
21975         (test_getopt): Adjust all existing tests to expect silence, and
21976         add new tests of leading ":".
21977         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
21978         glibc shortcomings with leading "-:" or "+:" in optstring.
21979         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21980         Likewise.
21981         * doc/posix-functions/getopt.texi (getopt): Likewise.
21982
21983         test-getopt: enhance test
21984         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
21985         supports optind=0.
21986         * tests/test-getopt.c (OPTIND_MIN): Move...
21987         * tests/test-getopt.h (OPTIND_MIN): ...here.
21988         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
21989         Require that optind=0 works, since modern BSD supports it in
21990         addition to optreset, and since coreutils expects it.
21991         (test_getopt_long_only): New test.
21992         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
21993         glibc shortcomings with 'W;', and enforcement of optind=0.
21994         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21995         Likewise.
21996
21997 2009-12-21  Bruno Haible  <bruno@clisp.org>
21998
21999         localename: Improvements for MacOS X and Cygwin.
22000         * lib/localename.h (gl_locale_name_environ): New declaration.
22001         * lib/localename.c (gl_locale_name_environ): New function, extracted from
22002         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
22003         (gl_locale_name_posix): Invoke it.
22004         (gl_locale_name_default): Add comments. Use Windows native API also on
22005         Cygwin.
22006
22007 2009-12-21  Bruno Haible  <bruno@clisp.org>
22008
22009         Update list of Win32 locale ids.
22010         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
22011         (LANG_SAMI): Renamed from LANG_SAAMI.
22012         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
22013         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
22014         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
22015         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
22016         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
22017         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
22018         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
22019         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
22020         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
22021         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
22022         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
22023         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
22024         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
22025         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
22026         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
22027         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
22028         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
22029         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
22030         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
22031         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
22032         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
22033         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
22034         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
22035         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
22036         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
22037         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
22038         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
22039         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
22040         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
22041         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
22042         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
22043         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
22044         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
22045         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
22046         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
22047         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
22048         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
22049         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
22050         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
22051         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
22052         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
22053         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
22054         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
22055         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
22056         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
22057         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
22058         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
22059         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
22060         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
22061         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
22062         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
22063         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
22064         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
22065         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
22066         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
22067         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
22068         Add more languages and countries for Sami, Sorbian. Add more countries
22069         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
22070         for Pashto. Change country for Syriac, Tswana.
22071
22072 2009-12-21  Eric Blake  <ebb9@byu.net>
22073
22074         test-utimens: avoid spurious failure
22075         * tests/test-chown.h (nap): Factor...
22076         * tests/nap.h: ...into new file.
22077         * tests/test-lchown.h (nap): Avoid duplication.
22078         * tests/test-utimens-common.h (nap): Use shared implementation,
22079         necessary on file systems with 1-second resolution.
22080         * modules/chown-tests (Files): Include new file.
22081         * modules/fdutimensat-tests (Files): Likewise.
22082         * modules/futimens-tests (Files): Likewise.
22083         * modules/lchown-tests (Files): Likewise.
22084         * modules/openat-tests (Files): Likewise.
22085         * modules/utimens-tests (Files): Likewise.
22086         * modules/utimensat-tests (Files): Likewise.
22087
22088 2009-12-19  Eric Blake  <ebb9@byu.net>
22089
22090         futimens, utimensat: work around Linux bug
22091         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
22092         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22093         * lib/utimensat.c (rpl_utimensat): Work around it.
22094         * lib/futimens.c (rpl_futimens): Adjust comment.
22095
22096         utimens: work around Linux ctime bug
22097         * lib/utimens.c (detect_ctime_bug): New helper function.
22098         (update_timespec): Differentiate between workaround needed for
22099         this bug vs. what is needed for systems that lack utimensat.
22100         (fdutimens, lutimens): Work around bug.
22101
22102         utimens: check for ctime update
22103         * tests/test-utimens-common.h (check_ctime): Define.
22104         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
22105         * tests/test-futimens.h (test_futimens): Likewise.
22106         * tests/test-lutimens.h (test_lutimens): Likewise.
22107         * doc/posix-functions/futimens.texi (futimens): Document the bug.
22108         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22109
22110 2009-12-19  Bruno Haible  <bruno@clisp.org>
22111
22112         dprintf-posix: Check against memory leak fixed on 2009-12-15.
22113         * tests/test-dprintf-posix2.sh: New file.
22114         * tests/test-dprintf-posix2.c: New file.
22115         * modules/dprintf-posix-tests (Files): Add them.
22116         (configure.ac): Check for getrlimit and setrlimit.
22117         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22118
22119 2009-12-19  Bruno Haible  <bruno@clisp.org>
22120
22121         fprintf-posix: Check against memory leak fixed on 2009-12-15.
22122         * tests/test-fprintf-posix3.sh: New file.
22123         * tests/test-fprintf-posix3.c: New file.
22124         * modules/fprintf-posix-tests (Files): Add them.
22125         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22126
22127 2009-12-19  Eric Blake  <ebb9@byu.net>
22128
22129         dirfd: fix prototype
22130         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
22131         * lib/dirfd.c (dirfd): Likewise.
22132
22133         canonicalize: reduce memory usage
22134         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
22135         allocation to size.
22136         Reported by Solar Designer <solar@openwall.com>.
22137
22138 2009-12-19  Bruno Haible  <bruno@clisp.org>
22139
22140         New module attribute 'Applicability'.
22141         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
22142         * gnulib-tool: New option --extract-applicability.
22143         (func_usage): Document it.
22144         (sed_extract_prog): Recognize it.
22145         (func_get_applicability): New function.
22146         (func_import): Generalize handling of 'link-warning' module.
22147         * modules/link-warning (Applicability): New section.
22148         * modules/arg-nonnull (Applicability): New section.
22149         Repoted by Simon Josefsson <simon@josefsson.org>.
22150
22151 2009-12-19  Bruno Haible  <bruno@clisp.org>
22152
22153         fflush: tweak
22154         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
22155         * lib/fseeko.c (rpl_fseeko): Likewise.
22156
22157 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
22158
22159         * lib/gl_list.h: Fix typo in comment.
22160
22161 2009-12-16  Eric Blake  <ebb9@byu.net>
22162
22163         fcntl: use to simplify other modules
22164         * modules/cloexec (Depends-on): Add fcntl.
22165         * modules/fchdir (Depends-on): Likewise.
22166         * modules/fd-safer-flag (Depends-on): Likewise.
22167         * modules/unistd-safer (Depends-on): Likewise.
22168         * modules/dup3 (configure.ac): Set module indicator.
22169         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
22170         missing.
22171         * lib/fchdir.c (_gl_register_dup): Fix comment.
22172         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
22173         * lib/dup-safer.c (dup_safer): Likewise.
22174         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
22175         * lib/dup3.c (dup3): Likewise.
22176         * tests/test-fchdir.c (main): Enhance test.
22177         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
22178
22179         fcntl: port portions of fcntl to mingw
22180         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
22181         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
22182         replacement for mingw.
22183         * modules/fcntl (Description): Update.
22184         (Depends-on): Add dup2.
22185         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
22186         * modules/fcntl-h (Makefile.am): Substitute it.
22187         * lib/fcntl.in.h (fcntl): Update declaration.
22188         (F_DUPFD, F_GETFD): New macros, when needed.
22189         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22190         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
22191         * tests/test-fcntl.c (check_flags, main): Enhance test for items
22192         we now guarantee.
22193
22194         fcntl: work around cygwin bug in F_DUPFD
22195         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
22196         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
22197         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
22198         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
22199         * doc/posix-functions/fcntl.texi (fcntl): Document it.
22200
22201         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
22202         * modules/fcntl (Files): List new files.
22203         (configure.ac): Run a test.
22204         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
22205         * lib/fcntl.c (rpl_fcntl): Likewise.
22206         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
22207         (gl_FCNTL_H): Always replace fcntl.h.
22208         * modules/fcntl-h (Makefile.am): Substitute witnesses.
22209         * lib/fcntl.in.h (fcntl): Declare replacement.
22210         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
22211         needed, plus a witness.
22212         * doc/posix-functions/fcntl.texi (fcntl): Document this.
22213         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
22214         * tests/test-fcntl.c: New file.
22215         * modules/fcntl-tests: Likewise.
22216
22217         binary-io: avoid potential compilation warning
22218         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
22219         directives.
22220
22221         fflush: avoid compilation error on NetBSD
22222         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
22223         between off_t and fpos_t, since the latter is sometimes a struct.
22224         * lib/fseeko.c (rpl_fseeko): Likewise.
22225         Reported by Alexander Nasonov <alnsn@yandex.ru>.
22226
22227 2009-12-15  Eric Blake  <ebb9@byu.net>
22228
22229         fcntl-h, stdio, sys_ioctl: fix declarations
22230         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
22231         function must not take arguments.
22232         * lib/sys_ioctl.in.h (ioctl): Likewise.
22233         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
22234         (open): Add a link warning.
22235
22236 2009-12-15  Jim Meyering  <meyering@redhat.com>
22237
22238         areadlink, areadlink-with-size: relax license to LGPLv2+
22239         * modules/areadlink (License): Relax to LGPLv2+.
22240         * modules/areadlink-with-size (License): Likewise.
22241
22242 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
22243             Bruno Haible  <bruno@clisp.org>
22244
22245         *printf: Fix memory leak.
22246         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
22247         * lib/vfprintf.c (vfprintf): Likewise.
22248         * lib/dprintf.c (dprintf): Likewise.
22249         * lib/vdprintf.c (vdprintf): Likewise.
22250
22251 2009-12-14  Eric Blake  <ebb9@byu.net>
22252
22253         accept4: adjust module dependencies
22254         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
22255
22256         utimens: one more try at avoiding compiler warning
22257         * lib/utimens.c (lutimens): Lower scope of result.
22258
22259 2009-12-13  Bruno Haible  <bruno@clisp.org>
22260
22261         Move the malloc checking from module 'list' to new module 'xlist'.
22262         * modules/xlist: New file.
22263         * lib/gl_xlist.h: New file.
22264         * lib/gl_xlist.c: New file.
22265         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
22266         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
22267         gl_list_add_last, gl_list_add_before, gl_list_add_after,
22268         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
22269         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
22270         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
22271         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
22272         gl_sortedlist_nx_add): New declarations.
22273         (struct gl_list_implementation): Rename and change methods accordingly.
22274         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
22275         (gl_list_nx_create): Renamed from gl_list_create.
22276         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22277         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22278         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22279         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22280         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22281         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22282         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22283         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22284         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
22285         gl_list_create_empty.
22286         (gl_list_nx_create): Renamed from gl_list_create.
22287         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22288         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22289         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22290         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22291         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22292         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22293         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22294         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22295         * lib/gl_array_list.c: Don't include xalloc.h.
22296         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
22297         NULL upon out-of-memory.
22298         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
22299         out-of-memory.
22300         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
22301         Change return type to 'int'.
22302         (gl_array_nx_set_at): Renamed from gl_array_set_at.
22303         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22304         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
22305         upon out-of-memory.
22306         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
22307         upon out-of-memory.
22308         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
22309         upon out-of-memory.
22310         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
22311         upon out-of-memory.
22312         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
22313         out-of-memory.
22314         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
22315         Update.
22316         (gl_array_list_implementation): Update.
22317         * lib/gl_carray_list.c: Don't include xalloc.h.
22318         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
22319         Return NULL upon out-of-memory.
22320         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
22321         out-of-memory.
22322         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
22323         Change return type to 'int'.
22324         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
22325         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22326         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
22327         upon out-of-memory.
22328         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
22329         upon out-of-memory.
22330         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
22331         out-of-memory.
22332         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
22333         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
22334         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
22335         Update.
22336         (gl_carray_list_implementation): Update.
22337         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
22338         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
22339         gl_linked_create_empty. Return NULL upon out-of-memory.
22340         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
22341         out-of-memory.
22342         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
22343         Change return type to 'int'. Return -1 upon out-of-memory.
22344         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
22345         out-of-memory.
22346         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
22347         upon out-of-memory.
22348         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
22349         upon out-of-memory.
22350         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
22351         NULL upon out-of-memory.
22352         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
22353         upon out-of-memory.
22354         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
22355         out-of-memory.
22356         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
22357         Update.
22358         * lib/gl_linked_list.c: Don't include xalloc.h.
22359         (gl_linked_list_implementation): Update.
22360         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
22361         (add_to_bucket): Change return type to 'int'.
22362         (gl_linkedhash_list_implementation): Update.
22363         * lib/gl_anytree_list1.h (free_subtree): New function.
22364         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
22365         gl_tree_create_empty. Return NULL upon out-of-memory.
22366         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
22367         Change return type to 'int'. Return -1 upon out-of-memory.
22368         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
22369         out-of-memory.
22370         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
22371         (gl_tree_remove_node): New function, moved here from
22372         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
22373         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
22374         Update.
22375         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
22376         malloc, not xmalloc. Return NULL upon out-of-memory.
22377         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22378         out-of-memory.
22379         (gl_tree_remove_node_from_tree): New function, extracted from
22380         gl_tree_remove_node.
22381         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22382         upon out-of-memory.
22383         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22384         out-of-memory.
22385         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22386         upon out-of-memory.
22387         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22388         upon out-of-memory.
22389         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22390         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
22391         not xmalloc. Return NULL upon out-of-memory.
22392         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22393         out-of-memory.
22394         (gl_tree_remove_node_from_tree): New function, extracted from
22395         gl_tree_remove_node.
22396         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22397         upon out-of-memory.
22398         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22399         out-of-memory.
22400         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22401         upon out-of-memory.
22402         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22403         upon out-of-memory.
22404         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22405         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
22406         gl_anytree_list1.h before gl_anyavltree_list2.h.
22407         (gl_avltree_list_implementation): Update.
22408         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
22409         gl_anytree_list1.h before gl_anyavltree_list2.h.
22410         (gl_rbtree_list_implementation): Update.
22411         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
22412         Change return type to 'int'. Return -1 upon out-of-memory. Use
22413         __builtin_expect.
22414         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
22415         (gl_avltreehash_list_implementation): Update.
22416         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
22417         (gl_rbtreehash_list_implementation): Update.
22418         * modules/array-list (Depends-on): Remove xalloc.
22419         * modules/carray-list (Depends-on): Likewise.
22420         * modules/linked-list (Depends-on): Likewise.
22421         * modules/linkedhash-list (Depends-on): Likewise.
22422         * modules/avltree-list (Depends-on): Likewise.
22423         * modules/rbtree-list (Depends-on): Likewise.
22424         * modules/avltreehash-list (Depends-on): Likewise.
22425         * modules/rbtreehash-list (Depends-on): Likewise.
22426
22427         * modules/xsublist: New file.
22428         * lib/gl_xsublist.h: New file.
22429         * lib/gl_xsublist.c: New file.
22430         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
22431         (gl_sublist_nx_create): New declaration.
22432         * lib/gl_sublist.c: Don't include xalloc.h.
22433         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
22434         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
22435         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
22436         Change return type to 'int'. Return -1 upon out-of-memory.
22437         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
22438         upon out-of-memory.
22439         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
22440         NULL upon out-of-memory.
22441         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
22442         upon out-of-memory.
22443         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
22444         NULL upon out-of-memory.
22445         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
22446         NULL upon out-of-memory.
22447         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
22448         upon out-of-memory.
22449         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
22450         (gl_sublist_list_implementation): Update.
22451         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
22452         upon out-of-memory.
22453         * modules/sublist (Depends-on): Remove xalloc.
22454
22455         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
22456         * tests/test-carray_list.c: Likewise.
22457         * tests/test-linked_list.c: Likewise.
22458         * tests/test-linkedhash_list.c: Likewise.
22459         * tests/test-avltree_list.c: Likewise.
22460         * tests/test-rbtree_list.c: Likewise.
22461         * tests/test-avltreehash_list.c: Likewise.
22462         * tests/test-rbtreehash_list.c: Likewise.
22463         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
22464         * modules/carray-list-tests (Makefile.am): Likewise.
22465         * modules/linked-list-tests (Makefile.am): Likewise.
22466         * modules/linkedhash-list-tests (Makefile.am): Likewise.
22467         * modules/avltree-list-tests (Makefile.am): Likewise.
22468         * modules/rbtree-list-tests (Makefile.am): Likewise.
22469         * modules/avltreehash-list-tests (Makefile.am): Likewise.
22470         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
22471
22472         * NEWS: Mention the changes.
22473
22474         * lib/clean-temp.c: Include gl_xlist.h.
22475         * modules/clean-temp (Depends-on): Add xlist.
22476
22477         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
22478         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
22479
22480         * tests/test-array_oset.c: Include gl_xlist.h.
22481         * modules/array-oset-tests (Depends-on): Add xlist.
22482
22483         Reported by José E. Marchesi <jemarch@gnu.org>.
22484
22485 2009-12-13  Bruno Haible  <bruno@clisp.org>
22486
22487         Move the malloc checking from module 'oset' to new module 'xoset'.
22488         * modules/xoset: New file.
22489         * lib/gl_xoset.h: New file.
22490         * lib/gl_xoset.c: New file.
22491         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
22492         declarations.
22493         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
22494         (struct gl_oset_implementation): Rename and change methods accordingly.
22495         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
22496         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22497         'int'. Mark as __warn_unused_result__.
22498         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
22499         gl_oset_create_empty.
22500         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22501         'int'.
22502         * lib/gl_array_oset.c: Don't include xalloc.h.
22503         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
22504         malloc, not xmalloc.
22505         (grow): Change return type to 'int'. Don't call xalloc_die.
22506         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
22507         to 'int'.
22508         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
22509         'int'.
22510         (gl_array_oset_implementation): Update.
22511         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
22512         gl_tree_create_empty.
22513         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
22514         'int'.
22515         * lib/gl_avltree_oset.c: Don't include xalloc.h.
22516         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22517         xmalloc.
22518         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22519         not xmalloc.
22520         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22521         xmalloc.
22522         (gl_avltree_oset_implementation): Update.
22523         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
22524         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22525         xmalloc.
22526         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22527         not xmalloc.
22528         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22529         xmalloc.
22530         (gl_rbtree_oset_implementation): Update.
22531         * modules/array-oset (Depends-on): Remove xalloc.
22532         * modules/avltree-oset (Depends-on): Likewise.
22533         * modules/rbtree-oset (Depends-on): Likewise.
22534         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
22535         * tests/test-avltree_oset.c: Likewise.
22536         * tests/test-rbtree_oset.c: Likewise.
22537         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
22538         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
22539         * modules/rbtree-oset-tests (Makefile.am): Likewise.
22540         * NEWS: Mention the change.
22541
22542 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
22543
22544         maint.mk: allow a project to override release-prep commands
22545         * top/maint.mk (alpha, beta, stable): Move release-preparatory
22546         commands into a new rule.
22547         (release-prep): New rule.
22548         (release-prep-hook): New overridable variable.
22549
22550 2009-12-13  Bruno Haible  <bruno@clisp.org>
22551
22552         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
22553
22554 2009-12-13  Jim Meyering  <meyering@redhat.com>
22555
22556         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
22557         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
22558
22559 2009-12-12  Bruno Haible  <bruno@clisp.org>
22560
22561         duplocale: Tweak.
22562         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
22563
22564 2009-12-12  Karl Berry  <karl@gnu.org>
22565
22566         * config/srclist.txt (strtoll.c): tab changes, no more sync.
22567
22568 2009-12-12  Bruno Haible  <bruno@clisp.org>
22569
22570         * m4/po.m4: Undo incorrect untabification.
22571
22572 2009-12-12  Bruno Haible  <bruno@clisp.org>
22573
22574         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
22575         * modules/c-strtod (Depends-on): Add locale.
22576         * modules/c-strtold (Depends-on): Likewise.
22577
22578 2009-12-12  Bruno Haible  <bruno@clisp.org>
22579
22580         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
22581
22582 2009-12-11  Eric Blake  <ebb9@byu.net>
22583
22584         setenv: relax requirement in light of POSIX ruling
22585         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
22586         not NULL.
22587         * tests/test-setenv.c (main): Relax test.
22588         * tests/test-unsetenv.c (main): Likewise.
22589         * doc/posix-functions/setenv.texi (setenv): Document this.
22590         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22591
22592 2009-12-11  Bruno Haible  <bruno@clisp.org>
22593
22594         New module 'fd-safer-flag'.
22595         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
22596         * lib/dup-safer.c (dup_safer_flag): Remove function.
22597         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
22598         * lib/fd-safer.c (fd_safer_flag): Remove function.
22599         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
22600         * modules/cloexec (configure.ac): Drop indicator macro.
22601         * modules/fd-safer-flag: New file.
22602         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
22603         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
22604         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
22605
22606 2009-12-11  Bruno Haible  <bruno@clisp.org>
22607
22608         Tests for module 'nl_langinfo'.
22609         * modules/nl_langinfo-tests: New file.
22610         * tests/test-nl_langinfo.sh: New file.
22611         * tests/test-nl_langinfo.c: New file.
22612
22613         New module 'nl_langinfo'.
22614         * lib/nl_langinfo.c: New file.
22615         * m4/nl_langinfo.m4: New file.
22616         * modules/nl_langinfo: New file.
22617         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
22618
22619 2009-12-11  Bruno Haible  <bruno@clisp.org>
22620
22621         Tests for module 'langinfo'.
22622         * modules/langinfo-tests: New file.
22623         * tests/test-langinfo.c: New file.
22624
22625         New module 'langinfo'.
22626         * lib/langinfo.in.h: New file.
22627         * m4/langinfo_h.m4: New file.
22628         * modules/langinfo: New file.
22629         * doc/posix-headers/langinfo.texi: Mention the new module.
22630
22631 2009-12-11  Bruno Haible  <bruno@clisp.org>
22632
22633         * lib/config.charset: Untabify.
22634
22635 2009-12-11  Bruno Haible  <bruno@clisp.org>
22636
22637         * modules/unistd-safer (configure.ac): Drop indicator macro.
22638
22639 2009-12-11  Bruno Haible  <bruno@clisp.org>
22640
22641         Move pipe2-safer code to its own file.
22642         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
22643         * lib/pipe-safer.c (pipe2_safer): Remove function.
22644         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
22645         (Makefile.am): Add it to lib_SOURCES.
22646
22647 2009-12-10  Bruno Haible  <bruno@clisp.org>
22648
22649         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
22650
22651 2009-12-10  Bruno Haible  <bruno@clisp.org>
22652
22653         Declare which arguments expect non-NULL values, for GCC and clang.
22654         * build-aux/arg-nonnull.h: New file.
22655         * modules/arg-nonnull: New file.
22656         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
22657         (inet_ntop, inet_pton): Use it.
22658         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
22659         (closedir, dirfd, opendir, scandir, alphasort): Use it.
22660         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
22661         (open, openat): Use it.
22662         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
22663         (fnmatch): Use it.
22664         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
22665         (getopt, getopt_long, getopt_long_only): Use it.
22666         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
22667         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
22668         Use it.
22669         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
22670         (iconv_open): Use it.
22671         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
22672         (strtoimax, strtoumax): Use it.
22673         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
22674         (duplocale): Use it.
22675         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
22676         (frexp, frexpl): Use it.
22677         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
22678         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
22679         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
22680         (tsearch, tfind, tdelete, twalk): Use it.
22681         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
22682         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
22683         sigpending): Use it.
22684         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
22685         (posix_spawn, posix_spawnp, posix_spawnattr_init,
22686         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
22687         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
22688         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
22689         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
22690         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
22691         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
22692         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
22693         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
22694         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
22695         Use it.
22696         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
22697         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
22698         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
22699         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
22700         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
22701         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
22702         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
22703         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
22704         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
22705         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
22706         strtoull, unsetenv): Use it.
22707         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
22708         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
22709         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
22710         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
22711         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
22712         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
22713         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
22714         (strcasecmp, strncasecmp): Use it.
22715         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
22716         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
22717         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
22718         rpl_setsockopt): Use it.
22719         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
22720         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
22721         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
22722         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
22723         (gettimeofday): Use it.
22724         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
22725         (times): Use it.
22726         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
22727         (uname): Use it.
22728         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
22729         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
22730         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
22731         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
22732         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
22733         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
22734         unlinkat, write): Use it.
22735         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
22736         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
22737         * lib/argv-iter.h: Include arg-nonnull.h.
22738         (_ATTRIBUTE_NONNULL_): Remove macro.
22739         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
22740         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
22741         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
22742         optimization.
22743         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
22744         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
22745         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
22746         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
22747         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
22748         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
22749         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
22750         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
22751         * modules/arpa_inet (Depends-on): Add arg-nonnull.
22752         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
22753         * modules/dirent (Depends-on): Add arg-nonnull.
22754         (Makefile.am): Insert arg-nonnull.h into dirent.h.
22755         * modules/fcntl-h (Depends-on): Add arg-nonnull.
22756         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
22757         * modules/fnmatch (Depends-on): Add arg-nonnull.
22758         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
22759         * modules/getopt-posix (Depends-on): Add arg-nonnull.
22760         (Makefile.am): Insert arg-nonnull.h into getopt.h.
22761         * modules/glob (Depends-on): Add arg-nonnull.
22762         (Makefile.am): Insert arg-nonnull.h into glob.h.
22763         * modules/iconv_open (Depends-on): Add arg-nonnull.
22764         (Makefile.am): Insert arg-nonnull.h into iconv.h.
22765         * modules/inttypes (Depends-on): Add arg-nonnull.
22766         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
22767         * modules/locale (Depends-on): Add arg-nonnull.
22768         (Makefile.am): Insert arg-nonnull.h into locale.h.
22769         * modules/math (Depends-on): Add arg-nonnull.
22770         (Makefile.am): Insert arg-nonnull.h into math.h.
22771         * modules/netdb (Depends-on): Add arg-nonnull.
22772         (Makefile.am): Insert arg-nonnull.h into netdb.h.
22773         * modules/search (Depends-on): Add arg-nonnull.
22774         (Makefile.am): Insert arg-nonnull.h into search.h.
22775         * modules/signal (Depends-on): Add arg-nonnull.
22776         (Makefile.am): Insert arg-nonnull.h into signal.h.
22777         * modules/spawn (Depends-on): Add arg-nonnull.
22778         (Makefile.am): Insert arg-nonnull.h into spawn.h.
22779         * modules/stdio (Depends-on): Add arg-nonnull.
22780         (Makefile.am): Insert arg-nonnull.h into stdio.h.
22781         * modules/stdlib (Depends-on): Add arg-nonnull.
22782         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
22783         * modules/string (Depends-on): Add arg-nonnull.
22784         (Makefile.am): Insert arg-nonnull.h into string.h.
22785         * modules/strings (Depends-on): Add arg-nonnull.
22786         (Makefile.am): Insert arg-nonnull.h into strings.h.
22787         * modules/sys_socket (Depends-on): Add arg-nonnull.
22788         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
22789         * modules/sys_stat (Depends-on): Add arg-nonnull.
22790         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
22791         * modules/sys_time (Depends-on): Add arg-nonnull.
22792         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
22793         * modules/sys_times (Depends-on): Add arg-nonnull.
22794         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
22795         * modules/sys_utsname (Depends-on): Add arg-nonnull.
22796         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
22797         * modules/time (Depends-on): Add arg-nonnull.
22798         (Makefile.am): Insert arg-nonnull.h into time.h.
22799         * modules/unistd (Depends-on): Add arg-nonnull.
22800         (Makefile.am): Insert arg-nonnull.h into unistd.h.
22801         * modules/wchar (Depends-on): Add arg-nonnull.
22802         (Makefile.am): Insert arg-nonnull.h into wchar.h.
22803         * modules/argv-iter (Depends-on): Add arg-nonnull.
22804         * tests/test-canonicalize.c (null_ptr): New function.
22805         (main): Use it.
22806         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
22807         (main): Use it.
22808         * tests/test-memmem.c (null_ptr): New function.
22809         (main): Use it.
22810         Reported by Jim Meyering.
22811
22812 2009-12-10  Bruno Haible  <bruno@clisp.org>
22813
22814         Use spaces for indentation, not tabs.
22815         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
22816         * m4/*.m4: Untabify.
22817         * build-aux/*.h: Untabify.
22818         * tests/**/*.[hc]: Untabify.
22819         * README: New section "Indent with spaces, not TABs", based on
22820         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
22821         * NEWS: Mention the change.
22822
22823 2009-12-10  Bruno Haible  <bruno@clisp.org>
22824
22825         pty test: Fix link error.
22826         * modules/pty-tests (Makefile.am): Add the default LDADD value to
22827         test_pty_LDADD.
22828
22829 2009-12-07  Simon Josefsson  <simon@josefsson.org>
22830
22831         * modules/pty: New file.
22832         * modules/pty-tests: New file.
22833         * m4/pty.m4: New file.
22834         * tests/test-pty.c: New file.
22835         * doc/glibc-headers/pty.texi: Modified.
22836         * doc/glibc-functions/forkpty.texi: Modified.
22837         * doc/glibc-functions/openpty.texi: Modified.
22838
22839 2009-12-10  Bruno Haible  <bruno@clisp.org>
22840
22841         Avoid syntax error in C++ mode.
22842         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
22843
22844 2009-12-10  Bruno Haible  <bruno@clisp.org>
22845
22846         Use sed with option -e.
22847         * gnulib-tool (func_version, func_emit_copyright_notice,
22848         func_emit_initmacro_end, func_import, func_create_testdir): Pass
22849         option -e to sed.
22850         * modules/link-warning (Makefile.am): Likewise.
22851
22852 2009-12-10  Jim Meyering  <meyering@redhat.com>
22853
22854         mgetgroups: do not write bytes beyond end of malloc'd buffer
22855         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
22856         username, we call getgroups with a one-element-shorter buffer,
22857         but still told it the length was original, max_n_groups.
22858
22859 2009-12-09  Eric Blake  <ebb9@byu.net>
22860
22861         cloexec: relax license
22862         * modules/cloexec (Maintainer): Add myself.
22863         (License): Use LGPL, not GPL.
22864
22865         link-warning: optimize generation
22866         * modules/link-warning (Makefile.am): Reduce process usage.
22867
22868 2009-12-09  Bruno Haible  <bruno@clisp.org>
22869
22870         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
22871         workaround was added on 2009-11-17.
22872
22873 2009-12-09  Jim Meyering  <meyering@redhat.com>
22874             Bruno Haible  <bruno@clisp.org>
22875
22876         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
22877         * modules/link-warning (Makefile.am): Make the comment-removing sed
22878         command more robust in the face of bootstrap-prepended comment lines.
22879
22880 2009-12-09  Bruno Haible  <bruno@clisp.org>
22881
22882         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
22883         most one group.
22884
22885 2009-12-09  Simon Josefsson <simon@josefsson.org>
22886             Bruno Haible  <bruno@clisp.org>
22887
22888         * build-aux/link-warning.h: Add copyright notice.
22889         * modules/link-warning (Makefile.am): Generate link-warning.h from
22890         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
22891         * NEWS: Mention change in link-warning module.
22892         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
22893         * modules/dirent (Makefile.am): Add dependency to dirent.h.
22894         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
22895         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
22896         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
22897         * modules/math (Makefile.am): Add dependency to math.h.
22898         * modules/search (Makefile.am): Add dependency to search.h.
22899         * modules/signal (Makefile.am): Add dependency to signal.h.
22900         * modules/spawn (Makefile.am): Add dependency to spawn.h.
22901         * modules/stdio (Makefile.am): Add dependency to stdio.h.
22902         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
22903         * modules/string (Makefile.am): Add dependency to string.h.
22904         * modules/strings (Makefile.am): Add dependency to strings.h.
22905         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
22906         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
22907         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
22908         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
22909         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
22910         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
22911         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
22912         * modules/unistd (Makefile.am): Add dependency to unistd.h.
22913         * modules/wchar (Makefile.am): Add dependency to wchar.h.
22914
22915 2009-12-09  Bruno Haible  <bruno@clisp.org>
22916
22917         fchdir: Optimize away rpl_fstat when possible.
22918         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
22919         REPLACE_OPEN_DIRECTORY.
22920         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
22921
22922 2009-12-09  Bruno Haible  <bruno@clisp.org>
22923
22924         * lib/fchdir.c: Update comment.
22925
22926 2009-12-09  Bruno Haible  <bruno@clisp.org>
22927
22928         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
22929
22930 2009-12-08  Eric Blake  <ebb9@byu.net>
22931
22932         fchdir: avoid memory leak on re-registration.
22933         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
22934
22935 2009-12-08  Jim Meyering  <meyering@redhat.com>
22936
22937         init.sh: avoid Solaris 10 /bin/sh portability problem
22938         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
22939         sourced script:
22940           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
22941           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
22942           bar
22943         tests/init.sh relied on that, accepting a --set-path=DIR argument,
22944         and two tests used that idiom.
22945         * tests/init.sh: Update suggested usage comments.
22946         (path_prepend_): New function, to be used in place
22947         of the --src-path=DIR option.
22948         (setup_): Move PATH-prepending code into path_prepend_.
22949         * tests/test-pread.sh: Adapt to new usage.
22950         * tests/test-xalloc-die.sh: Likewise.
22951
22952 2009-12-08  Simon Josefsson  <simon@josefsson.org>
22953
22954         * doc/gnulib.texi (Glibc pty.h): Add.
22955         * doc/glibc-functions/forkpty.texi: Add.
22956         * doc/glibc-functions/openpty.texi: Add.
22957         Suggested by Bruno Haible.
22958
22959 2009-12-08  Eric Blake  <ebb9@byu.net>
22960
22961         fchdir: fix logic bugs
22962         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
22963         * tests/test-fchdir.c (main): Enhance test.
22964         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
22965         is in use.
22966
22967         dup2: fix logic bugs
22968         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
22969         REPLACE_DUP2 to decide when rpl_dup2 is needed.
22970         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
22971         exists.
22972         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
22973
22974 2009-12-07  Eric Blake  <ebb9@byu.net>
22975
22976         unlink: fix m4 detection
22977         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
22978
22979         unistd-safer: add unit test
22980         * modules/unistd-safer-tests: New file.
22981         * tests/test-dup-safer.c: Likewise.
22982         * tests/test-cloexec.c (setmode): Avoid compiler warning.
22983         * tests/test-dup2.c (setmode): Likewise.
22984         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
22985
22986         cloexec: preserve text vs. binary across dup_cloexec
22987         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
22988         mode.
22989         * modules/dup2-tests (Depends-on): Add binary-io.
22990         * modules/cloexec-tests (Depends-on): Likewise.
22991         * tests/test-dup2.c (setmode, is_mode): New helpers.
22992         (main): Add tests that translation mode is preserved.
22993         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
22994         Reported by Bruno Haible.
22995
22996         mgetgroups: reduce duplicate listings
22997         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
22998         resulting array.
22999         * tests/test-chown.h (test_chown): Simplify client.
23000         * tests/test-lchown.h (test_lchown): Likewise.
23001
23002 2009-12-06  Bruno Haible  <bruno@clisp.org>
23003
23004         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
23005         value.
23006
23007 2009-12-06  Bruno Haible  <bruno@clisp.org>
23008
23009         * lib/progname.c: Include stdio.h, stdlib.h.
23010         (set_program_name): Reject a NULL argument.
23011
23012 2009-12-05  Eric Blake  <ebb9@byu.net>
23013
23014         pipe2-safer: new module
23015         * modules/pipe2-safer: New file.
23016         * lib/unistd-safer.h (pipe2_safer): New prototype.
23017         * lib/unistd--.h (pipe2): New wrapper.
23018         * lib/pipe-safer.c (pipe2_safer): New function.
23019         * modules/pipe (Depends-on): Add pipe2-safer.
23020         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
23021
23022         stdlib-safer: preserve cloexec flag for mkostemp[s]
23023         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
23024         fd_safer_flag.
23025
23026         unistd-safer: allow preservation of cloexec status via flag
23027         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
23028         prototypes.
23029         * lib/dup-safer.c (dup_safer_flag): New function.
23030         * lib/fd-safer.c (fd_safer_flag): Likewise.
23031         * modules/cloexec (configure.ac): Set witness.
23032
23033         test-dup2: enhance test
23034         * modules/dup2-tests (Depends-on): Add cloexec.
23035         * tests/test-dup2.c (main): Enhance test.
23036
23037         cloexec: add dup_cloexec
23038         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
23039         header and comments.
23040         * lib/cloexec.c (set_cloexec_flag): Add comments.
23041         (dup_cloexec): New function, with mingw implementation borrowed
23042         from...
23043         * lib/w32spawn.h (dup_noinherit): ...here.
23044         * modules/execute (Depends-on): Add cloexec.
23045         * modules/pipe (Depends-on): Likewise.
23046         * modules/cloexec (Depends-on): Add dup2.
23047         * modules/cloexec-tests (Files): New file.
23048         * tests/test-cloexec.c: Likewise.
23049
23050         test-xalloc-die: fix test for mingw
23051         * modules/xalloc-die-tests (Files): Add tests/init.sh.
23052         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
23053         directory and .exe suffix off argv[0] output.
23054
23055         test-fseeko: fix test for mingw
23056         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
23057         than undefining fseek, so test will pass on mingw.
23058
23059 2009-12-05  Bruno Haible  <bruno@clisp.org>
23060
23061         * lib/progname.h (set_program_name): Clarify specification.
23062         * lib/progname.c (set_program_name): Likewise.
23063         Reported by Jim Meyering.
23064
23065 2009-12-05  Jim Meyering  <meyering@redhat.com>
23066
23067         maint.mk: backslash-escape parens in default regexp
23068         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
23069         backslash-escape the literal parentheses.
23070
23071         maint.mk: news-date-check: use grep -E
23072         * top/maint.mk (today): Define a Make variable, not a...
23073         (news-date-check): ...shell variable.
23074         (news-date-regexp): Use the Make variable.
23075         Use grep's -E option.  Change the failing diagnostic to mention
23076         the variable, $(news-date-regexp).
23077
23078 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
23079
23080         maintainer-makefile: allow customization of NEWS entry format
23081         * top/maint.mk (news-date-regexp): New overridable variable.
23082         (news-date-check): Use it.
23083
23084 2009-12-04  Eric Blake  <ebb9@byu.net>
23085
23086         mgetgroups: add xgetgroups, and avoid ENOSYS failures
23087         * lib/mgetgroups.h (xgetgroups): New prototype.
23088         * lib/mgetgroups.c (xgetgroups): New wrapper.
23089         (mgetgroups): Handle ENOSYS.
23090         * modules/mgetgroups (Depends-on): Add realloc.
23091         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
23092
23093         mgetgroups: avoid argument promotion issues with -1
23094         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
23095         for invalid gid_t.
23096         * tests/test-chown.h (getegid, test_chown): Likewise.
23097         * tests/test-lchown.h (getegid, test_lchown): Likewise.
23098
23099 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
23100
23101         exclude: Fix header file problems.
23102         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
23103
23104 2009-12-01  Jim Meyering  <meyering@redhat.com>
23105
23106         fts: fts_open: do not let an empty string cause immediate failure
23107         This is required in support of GNU rm, for which the command
23108         "rm A '' B" must process and remove both A and B, in spite of
23109         the empty string argument.
23110         * lib/fts.c (fts_open): Do not let the presence of an empty string
23111         cause fts_open to fail immediately.  Most fts-using tools must be
23112         able to process all arguments, in order, and can be expected to
23113         diagnose such arguments themselves.
23114
23115 2009-11-30  Eric Blake  <ebb9@byu.net>
23116
23117         utimens: fix compilation error
23118         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
23119         Declare variable at right scope.
23120
23121 2009-11-29  Jim Meyering  <meyering@redhat.com>
23122
23123         bootstrap: handle perl-5.11's changed --version output
23124         * build-aux/bootstrap (get_version): Handle perl separately,
23125         since perl-5.11's --version output is different.
23126
23127 2009-11-28  Jim Meyering  <meyering@redhat.com>
23128
23129         userspec: depend on the inttostr module, too
23130         * modules/userspec (Depends-on): Add inttostr.
23131
23132         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
23133         * lib/userspec.c (parse_with_separator): Do not accept a user ID
23134         number of MAXUID when it evaluates to (uid_t) -1.
23135         Likewise for group ID.  Reported by Matt McCutchen in
23136         <http://savannah.gnu.org/bugs/?28113>
23137
23138         userspec: reformat to use spaces, not TABs
23139         * lib/userspec.c: Expand TABs to spaces.
23140         Add Emacs' "indent-tabs-mode: nil" hint.
23141
23142 2009-11-27  Eric Blake  <ebb9@byu.net>
23143
23144         getopt-gnu: flush out another BSD bug
23145         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
23146         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
23147         flush out BSD bug.
23148         * tests/test-getopt.h (test_getopt): End lists with NULL.
23149         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23150         (test_getopt_long_posix): Enhance test.
23151         * modules/getopt-posix-tests (Depends-on): Add stdbool.
23152         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
23153         getopt-gnu.
23154         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23155         Likewise.
23156
23157 2009-11-27  Simon Josefsson  <simon@josefsson.org>
23158
23159         * modules/idpriv-droptemp-tests (Notice): Fix text.
23160
23161 2009-11-27  Jim Meyering  <meyering@redhat.com>
23162
23163         test-xalloc-die: avoid spurious failure due to libtool argv difference
23164         In a libtool-enabled project, this test would fail due to a difference
23165         in the emitted program name, e.g.,
23166         -test-xalloc-die: memory exhausted
23167         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
23168         Use program to avoid that.
23169         * modules/xalloc-die-tests (Depends-on): Add progname.
23170         * tests/test-xalloc-die.c: Include progname.h".
23171         (program_name): Remove decl.
23172         (main): Call set_program_name.
23173         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
23174
23175 2009-11-26  Richard Jones  <rjones@redhat.com>
23176
23177         w32sock: leave win32 error in place.
23178         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
23179
23180 2009-11-26  Eric Blake  <ebb9@byu.net>
23181
23182         init.sh: suggest to use skip_ and fail_ functions in comments
23183         * tests/init.sh: Add a sentence.
23184
23185 2009-11-25  Bruno Haible  <bruno@clisp.org>
23186
23187         init.sh: add documentation in comments
23188         * tests/init.sh: Add some developer and user documentation.
23189
23190 2009-11-26  Jim Meyering  <meyering@redhat.com>
23191
23192         init.sh: accommodate even those who specify bogus srcdir manually
23193         * tests/init.sh: Normally, srcdir is guaranteed by automake and
23194         configure-time tests to be sanitized, so that there is no need to
23195         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
23196         (with no double quotes) suffices.  However, since tests may be
23197         invoked manually, and since you may explicitly set srcdir to the
23198         name of a directory containing spaces, do quote its uses here.
23199         * tests/test-pread.sh: Likewise.
23200         Suggested by Bruno Haible.
23201
23202         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
23203         * tests/test-pread.sh: Write no data into the pipe, because
23204         test-pread actually reads none.  This avoids a diagnostic,
23205         "bash: echo: write error: Broken pipe", that arises in the unusual
23206         event something is ignoring SIGPIPE, and might be interpreted
23207         as some sort of failure.  Reported by Bruno Haible.
23208
23209 2009-11-25  Jim Meyering  <meyering@redhat.com>
23210
23211         test-pread: cover failure with ESPIPE and EINVAL
23212         * tests/test-pread.c (main): Test for failure, too.
23213         * tests/test-pread.sh: Invoke with stdin on a pipe.
23214         Suggested by Eric Blake.
23215
23216         pread: improvement and fix
23217         * modules/pread (Depends-on): Depend on lseek, for portability to
23218         e.g., mingw.  Suggested by Eric Blake.
23219         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
23220
23221         unistd.in.h: correct declaration of pread
23222         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
23223         Reported by Richard W.M. Jones.
23224
23225         test-pread.sh: distribute the test script
23226         * modules/pread-tests (Files): Include test-pread.sh.
23227
23228         test-pread.sh: clean up
23229         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
23230         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
23231         That is unnecessary, since it's always ".".
23232         Suggestion from Eric Blake.
23233
23234         test-pread.sh: make executable
23235         * tests/test-pread.sh: Set executable bit.
23236         Reported by Eric Blake.
23237
23238         correct typo in test-pread.sh
23239         * tests/test-pread.sh: Add #! line.
23240
23241         test pread
23242         * tests/test-pread.c: New file.
23243         * tests/test-pread.sh: Likewise.
23244         * modules/pread-tests: Likewise.
23245
23246         pread: new module
23247         * modules/pread: New file.
23248         * lib/unistd.in.h (pread): Define/declare.
23249         * lib/pread.c (pread): New file.
23250         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
23251         * modules/unistd (Makefile.am): Substitute witnesses.
23252         * doc/posix-functions/pread.texi (pread): Update.
23253         * MODULES.html.sh: Add pread.
23254
23255 2009-11-25  Jim Meyering  <meyering@redhat.com>
23256
23257         tests/init.sh: new file to be used via most *.sh tests
23258         * tests/init.sh: New file.
23259
23260 2009-11-25  Eric Blake  <ebb9@byu.net>
23261
23262         utimens: work around older Linux failure with symlinks
23263         * lib/utimens.c (lutimensat_works_really): New variable.
23264         (fdutimens, lutimens): Use it to manage kernels that support
23265         nanosecond times on files, but not on symlinks.
23266         Reported by OndÅ™ej Vašík.
23267
23268         utimes: fix configure grammar
23269         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
23270
23271 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
23272
23273         regex: Fix fastmap for multibyte character ranges.
23274         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
23275         characters when a multibyte character range is included.
23276
23277 2009-11-22  Andy Wingo  <wingo@pobox.com>
23278
23279         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
23280         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
23281
23282 2009-11-24  Bruno Haible  <bruno@clisp.org>
23283
23284         doc: Most *_l functions exist in MacOS X 10.5.
23285         * doc/posix-functions/duplocale.texi: Update platforms list.
23286         * doc/posix-functions/freelocale.texi: Likewise.
23287         * doc/posix-functions/newlocale.texi: Likewise.
23288         * doc/posix-functions/uselocale.texi: Likewise.
23289         * doc/posix-functions/isalnum_l.texi: Likewise.
23290         * doc/posix-functions/isalpha_l.texi: Likewise.
23291         * doc/posix-functions/isblank_l.texi: Likewise.
23292         * doc/posix-functions/iscntrl_l.texi: Likewise.
23293         * doc/posix-functions/isdigit_l.texi: Likewise.
23294         * doc/posix-functions/isgraph_l.texi: Likewise.
23295         * doc/posix-functions/islower_l.texi: Likewise.
23296         * doc/posix-functions/isprint_l.texi: Likewise.
23297         * doc/posix-functions/ispunct_l.texi: Likewise.
23298         * doc/posix-functions/isspace_l.texi: Likewise.
23299         * doc/posix-functions/isupper_l.texi: Likewise.
23300         * doc/posix-functions/iswalnum_l.texi: Likewise.
23301         * doc/posix-functions/iswalpha_l.texi: Likewise.
23302         * doc/posix-functions/iswblank_l.texi: Likewise.
23303         * doc/posix-functions/iswcntrl_l.texi: Likewise.
23304         * doc/posix-functions/iswctype_l.texi: Likewise.
23305         * doc/posix-functions/iswdigit_l.texi: Likewise.
23306         * doc/posix-functions/iswgraph_l.texi: Likewise.
23307         * doc/posix-functions/iswlower_l.texi: Likewise.
23308         * doc/posix-functions/iswprint_l.texi: Likewise.
23309         * doc/posix-functions/iswpunct_l.texi: Likewise.
23310         * doc/posix-functions/iswspace_l.texi: Likewise.
23311         * doc/posix-functions/iswupper_l.texi: Likewise.
23312         * doc/posix-functions/iswxdigit_l.texi: Likewise.
23313         * doc/posix-functions/isxdigit_l.texi: Likewise.
23314         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
23315         * doc/posix-functions/strcasecmp_l.texi: Likewise.
23316         * doc/posix-functions/strcoll_l.texi: Likewise.
23317         * doc/posix-functions/strfmon_l.texi: Likewise.
23318         * doc/posix-functions/strftime_l.texi: Likewise.
23319         * doc/posix-functions/strncasecmp_l.texi: Likewise.
23320         * doc/posix-functions/strxfrm_l.texi: Likewise.
23321         * doc/posix-functions/tolower_l.texi: Likewise.
23322         * doc/posix-functions/toupper_l.texi: Likewise.
23323         * doc/posix-functions/towctrans_l.texi: Likewise.
23324         * doc/posix-functions/towlower_l.texi: Likewise.
23325         * doc/posix-functions/towupper_l.texi: Likewise.
23326         * doc/posix-functions/wcscoll_l.texi: Likewise.
23327         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
23328         * doc/posix-functions/wctrans_l.texi: Likewise.
23329         * doc/posix-functions/wctype_l.texi: Likewise.
23330         * doc/glibc-functions/strptime_l.texi: Likewise.
23331         * doc/glibc-functions/strtod_l.texi: Likewise.
23332         * doc/glibc-functions/strtof_l.texi: Likewise.
23333         * doc/glibc-functions/strtol_l.texi: Likewise.
23334         * doc/glibc-functions/strtold_l.texi: Likewise.
23335         * doc/glibc-functions/strtoll_l.texi: Likewise.
23336         * doc/glibc-functions/strtoul_l.texi: Likewise.
23337         * doc/glibc-functions/strtoull_l.texi: Likewise.
23338         * doc/glibc-functions/wcsftime_l.texi: Likewise.
23339         * doc/glibc-functions/wcstod_l.texi: Likewise.
23340         * doc/glibc-functions/wcstof_l.texi: Likewise.
23341         * doc/glibc-functions/wcstol_l.texi: Likewise.
23342         * doc/glibc-functions/wcstold_l.texi: Likewise.
23343         * doc/glibc-functions/wcstoll_l.texi: Likewise.
23344         * doc/glibc-functions/wcstoul_l.texi: Likewise.
23345         * doc/glibc-functions/wcstoull_l.texi: Likewise.
23346
23347 2009-11-24  Bruno Haible  <bruno@clisp.org>
23348
23349         duplocale: Fix logic bug.
23350         * lib/duplocale.c: Don't include <langinfo.h>.
23351         (_NL_LOCALE_NAME): Remove macro.
23352         (rpl_duplocale): Use setlocale instead of nl_langinfo.
23353         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
23354
23355 2009-11-23  Jim Meyering  <meyering@redhat.com>
23356
23357         test-update-copyright: don't hard-code /usr/bin/perl
23358         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
23359         perl to print the current year.  Gilles Espinasse reported that
23360         the replaced use of perl was hard-coded as /usr/bin/perl.
23361
23362 2009-11-23  Bruno Haible  <bruno@clisp.org>
23363
23364         duplocale: Add support for glibc 2.3.x.
23365         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
23366
23367 2009-11-22  Bruno Haible  <bruno@clisp.org>
23368
23369         vasnprintf: Tiny optimization.
23370         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
23371         MacOS X.
23372
23373 2009-11-22  Bruno Haible  <bruno@clisp.org>
23374
23375         Tests for module 'duplocale'.
23376         * modules/duplocale-tests: New file.
23377         * tests/test-duplocale.c: New file.
23378
23379         New module 'duplocale'.
23380         * m4/duplocale.m4: New file.
23381         * lib/locale.in.h (duplocale): New declaration.
23382         * lib/duplocale.c: New file.
23383         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
23384         gl_LOCALE_H_DEFAULTS): New macros.
23385         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
23386         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
23387         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
23388         REPLACE_DUPLOCALE.
23389         * modules/duplocale: New file.
23390         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
23391
23392 2009-11-22  Bruno Haible  <bruno@clisp.org>
23393
23394         * modules/locale-tests (configure.ac): Test for newlocale function.
23395         * tests/test-locale.c: When the system has extended locale functions,
23396         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
23397
23398         locale: Make locale_t available when possible.
23399         * lib/locale.in.h: Include <xlocale.h> when it exists.
23400         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
23401         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
23402         * modules/locale (Depends-on): Add extensions.
23403         (Makefile.am): Also substitute HAVE_XLOCALE_H.
23404         * doc/posix-headers/locale.texi: Document the problem with locale_t.
23405
23406 2009-11-22  Bruno Haible  <bruno@clisp.org>
23407
23408         Add comments.
23409         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
23410         invocation.
23411         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
23412         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23413         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23414
23415 2009-11-22  Bruno Haible  <bruno@clisp.org>
23416
23417         error: account for the possibility of freopen (stdout).
23418         * lib/error.c: Include <unistd.h>.
23419         (flush_stdout): New function, extracted from error and error_at_line.
23420         Determine stdout's fd dynamically.
23421         (error, error_at_line): Invoke flush_stdout.
23422         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
23423         * modules/error (Depends-on): Add unistd.
23424
23425 2009-11-22  Bruno Haible  <bruno@clisp.org>
23426
23427         diffseq: Add comment.
23428         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
23429
23430 2009-11-22  Jim Meyering  <meyering@redhat.com>
23431
23432         c-stack: avoid defining an unused static function
23433         * lib/c-stack.c (find_stack_direction): Do not define this function
23434         when it will not be used.
23435
23436         diffseq: avoid spurious gcc warnings
23437         * lib/diffseq.h (IF_LINT2): Define.
23438         (compareseq): Use it to initialize two members of "part".
23439         This avoids two used-uninitialized warnings.
23440
23441 2009-11-21  Jim Meyering  <meyering@redhat.com>
23442
23443         c-stack: avoid "ignoring return value of `write'" warning
23444         * lib/c-stack.c: Include "ignore-value.h".
23445         (die): Explicitly ignore each write return value.
23446         * modules/c-stack (Depends-on): Add ignore-value.
23447
23448 2009-11-21  Bruno Haible  <bruno@clisp.org>
23449
23450         diffseq: reduce scope of variable 'best'.
23451         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
23452         variable, earlier used for two different purposes.
23453
23454 2009-11-21  Jim Meyering  <meyering@redhat.com>
23455
23456         diffseq: remove useless assignment to "best"
23457         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
23458         assignment.  At that point "best" is already guaranteed to be zero.
23459
23460 2009-11-20  Eric Blake  <ebb9@byu.net>
23461
23462         build: mention ftp redirector in release announcements
23463         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
23464         values that used to come from cfg.mk; mention FTP redirect URL.
23465         * build-aux/announce-gen: Mention the mirror list.
23466         Suggested by Karl Berry.
23467
23468         nanosleep: improve port to mingw
23469         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
23470         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
23471         LIB_NANOSLEEP, but only when needed.
23472         * modules/select (Link): Document LIBSOCKET.
23473         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
23474         enough.
23475
23476         nanosleep: work around cygwin bug
23477         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
23478         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
23479         bug.
23480         (getnow): Delete, not needed.
23481         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
23482         LIB_CLOCK_GETTIME.
23483         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
23484         clock-time, gettime.
23485         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
23486         bug.
23487         * modules/nanosleep-tests: New test.
23488         * tests/test-nanosleep.c: New file.
23489
23490         sleep: work around cygwin bug
23491         * lib/sleep.c (rpl_sleep): Work around the bug.
23492         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
23493         (gl_PREREQ_SLEEP): Delete unused macro.
23494         * modules/sleep (Depends-on): Add verify.
23495         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23496         * modules/unistd (Makefile.am): Substitute witness.
23497         * lib/unistd.in.h (sleep): Update prototype.
23498         * doc/posix-functions/sleep.texi (sleep): Document the bug.
23499         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
23500         * modules/sleep-tests (Depends-on): Check for alarm.
23501
23502 2009-11-20  Jim Meyering  <meyering@redhat.com>
23503
23504         maint.mk: improve sc_prohibit_magic_number_exit
23505         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
23506         so it does not match uses like System.exit(1).
23507         Add comments showing how to correct all offenders.
23508
23509 2009-11-19  Eric Blake  <ebb9@byu.net>
23510
23511         xalloc-die-tests: add missing library
23512         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
23513
23514         test-xvasprintf: silence compiler warnings
23515         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
23516         empty string from gcc.
23517
23518 2009-11-19  Jim Meyering  <meyering@redhat.com>
23519
23520         xfreopen: new module, from coreutils
23521         * modules/xfreopen: New module.
23522         * lib/xfreopen.c: New file.
23523         * lib/xfreopen.h: New file.
23524         * MODULES.html.sh (File stream based Input/Output"): Add it.
23525
23526 2009-11-19  Eric Blake  <ebb9@byu.net>
23527
23528         manywarnings: depend on warnings
23529         * modules/manywarnings (Depends-on): Add warnings.
23530
23531         build: avoid compiler warnings
23532         * lib/select.c (rpl_select): Delete unused variable.
23533         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
23534
23535 2009-11-18  Eric Blake  <ebb9@byu.net>
23536
23537         tests: avoid false negative with --with-packager
23538         * tests/test-version-etc.sh: Discard packager information.
23539         * tests/test-argp-version-etc-1.sh: Likewise.
23540         Reported by Mike Frysinger.
23541
23542         utimens: fix regression on Solaris
23543         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
23544         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
23545         can only change fd timestamps via futimesat.  Instead, use an
23546         additional witness macro to avoid BSD bug.
23547         Reported by Jim Meyering.
23548
23549 2009-11-17  Eric Blake  <ebb9@byu.net>
23550
23551         usleep: use it to simplify tests
23552         * modules/stat-time-tests (Depends-on): Add usleep.
23553         (configure.ac): Drop usleep check.
23554         * modules/chown-tests (Depends-on, configure.ac): Likewise.
23555         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
23556         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
23557         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
23558         * modules/openat-tests (Depends-on, configure.ac): Likewise.
23559         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
23560         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
23561         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
23562         Likewise.
23563         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
23564         * tests/test-lchown.h (nap): Likewise.
23565         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
23566         * tests/test-stat-time.c (nap): Likewise.
23567         * tests/test-utimens-common.h (nap): Update comments.
23568
23569         usleep: new module
23570         * modules/usleep: New file.
23571         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23572         * lib/usleep.c (usleep): Likewise.
23573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23574         * modules/unistd (Makefile.am): Substitute witnesses.
23575         * lib/unistd.in.h (usleep): Add declaration.
23576         * doc/pastposix-functions/usleep.texi (usleep): Document this.
23577         * MODULES.html.sh (Date and time): Likewise.
23578         * modules/usleep-tests (Depends-on): New test.
23579         * tests/test-usleep.c: New file.
23580
23581         chown: work around OpenBSD bug
23582         * lib/chown.c (rpl_chown): Work around the bug.
23583         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
23584         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
23585         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
23586         * modules/chown (Depends-on): Add stdbool.
23587         * modules/lchown (Depends-on): Likewise.
23588         * doc/posix-functions/chown.texi (chown): Document the bug.
23589         * doc/posix-functions/lchown.texi (lchown): Likewise.
23590         * tests/test-lchown.h (test_chown): Relax test.
23591
23592         mkstemp: avoid conflict with C++ keyword template
23593         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
23594         * lib/mkostemp.c (mkostemp): Likewise.
23595         * lib/mkostemps.c (mkostemps): Likewise.
23596         * lib/mkstemp.c (mkstemp): Likewise.
23597         * lib/mkstemps.c (mkstemps): Likewise.
23598
23599         xalloc-die-tests: optimize
23600         * tests/test-xalloc-die.sh: Reduce number of processes.
23601
23602 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23603
23604         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
23605         patch from ludo@gnu.org (Ludovic Courtès).
23606
23607 2009-11-17  Jim Meyering  <meyering@redhat.com>
23608
23609         version-etc: use proper license string
23610         * modules/version-etc (License): Use LGPL, not LGPLv3+.
23611         * modules/version-etc-fsf: Likewise.
23612
23613 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23614
23615         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
23616         printed to stdout.  Deal with EOL differences.
23617
23618 2009-11-17  Eric Blake  <ebb9@byu.net>
23619
23620         unsetenv: work around Solaris bug
23621         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
23622         * lib/unsetenv.c (rpl_unsetenv): Work around it.
23623         Reported by Jim Meyering.
23624
23625         vasnprintf: avoid compiler warnings
23626         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
23627         variables.
23628         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
23629
23630 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23631
23632         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
23633         settings since xalloc-die is no longer the self test,
23634         xalloc-die.sh is.
23635
23636 2009-11-17  Jim Meyering  <meyering@redhat.com>
23637
23638         test-xalloc-die.sh: make the code agree with the commit log
23639         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
23640         at the end, just in case you happen to have a test-xalloc-die
23641         program in some other PATH directory.
23642
23643         test-xalloc-die.sh: fix a portability bug
23644         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
23645         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
23646         Otherwise, argv[0] (as often seen in diagnostics) would be too
23647         system-dependent, sometimes with, and sometimes without the leading "./".
23648
23649         version-etc-fsf: relax license to LGPLv3+
23650         * modules/version-etc-fsf (License): Relax license.
23651
23652 2009-11-16  Eric Blake  <ebb9@byu.net>
23653
23654         xalloc-die-tests: avoid printing null pointer
23655         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
23656         shell script.
23657         * tests/test-xalloc-die.c (program_name): Declare.
23658         * tests/test-xalloc-die.sh (tmpfiles): New file.
23659
23660         setenv, unsetenv: work around various bugs
23661         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
23662         (setenv) [HAVE_SETENV]: Work around bugs.
23663         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
23664         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
23665         for bugs.
23666         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
23667         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
23668         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
23669         * modules/stdlib (Makefile.am): Update substitutions.
23670         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
23671         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
23672         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
23673         * modules/setenv-tests: New test.
23674         * modules/unsetenv-tests: Likewise.
23675         * tests/test-setenv.c: New file.
23676         * tests/test-unsetenv.c: Likewise.
23677
23678 2009-11-16  Jim Meyering  <meyering@redhat.com>
23679
23680         version-etc: relax license to LGPLv3+
23681         * modules/version-etc (License): Relax license.
23682
23683         better AC_REQUIRE expanded-before-required-warning avoidance
23684         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
23685         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
23686         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
23687         which is no longer needed.
23688
23689 2009-11-16  Eric Blake  <ebb9@byu.net>
23690
23691         test-freading: clean up temporary file
23692         * tests/test-freading.c (main): Remove file on success, and use
23693         ASSERT more liberally.
23694         Reported by Jim Meyering.
23695
23696 2009-11-16  Jim Meyering  <meyering@redhat.com>
23697
23698         avoid new AC_REQUIRE expanded-before-required warnings
23699         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
23700         merely using it.
23701         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
23702         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
23703
23704 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23705
23706         * tests/test-xalloc-die.c: New file.
23707         * modules/xalloc-die-tests: New file.
23708         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
23709         XFAIL_TESTS so it can be appended by modules.
23710
23711 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23712
23713         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
23714         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
23715
23716 2009-11-14  Eric Blake  <ebb9@byu.net>
23717
23718         fnmatch: avoid compiler warning
23719         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
23720         to silence compiler warning about mismatch signedness in ?:.
23721         Reported by Robert Millan.
23722
23723         intprops: add double-inclusion guard
23724         * lib/intprops.h: Allow idempotent includes.
23725         Suggested by Bruce Korb.
23726
23727         openat: detect Solaris fchownat bug
23728         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
23729         penalizing glibc chownat when only lchownat is broken.
23730         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
23731         trailing slash bugs.
23732         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
23733         * modules/openat-tests (Files): Include more files.
23734         (Depends-on): Add mgetgroups, sleep, stat-time.
23735         (configure.ac): Add additional checks.
23736         (Makefile.am): Build new test.
23737         * tests/test-fchownat.c: New file.
23738
23739         lchown: detect Solaris and FreeBSD bug
23740         * lib/lchown.c (rpl_lchown): Work around bug.
23741         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
23742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23743         * modules/unistd (Makefile.am): Populate it.
23744         * lib/unistd.in.h (lchown): Update declaration.
23745         * doc/posix-functions/lchown.texi (lchown): Document the bug.
23746         * modules/lchown-tests: New file.
23747         * tests/test-lchown.h (test_lchown): Likewise.
23748         * tests/test-lchown.c (main): Likewise.
23749
23750         chown: detect Solaris and FreeBSD bug
23751         * lib/chown.c (rpl_chown): Work around bug.
23752         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
23753         (gl_PREREQ_CHOWN): Delete.
23754         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23755         * modules/unistd (Makefile.am): Populate it.
23756         * lib/unistd.in.h (chown): Update declaration.
23757         * lib/lchown.c (chown): Update client.
23758         * modules/lchown (Depends-on): Add lstat.
23759         * doc/posix-functions/chown.texi (chown): Document the bug.
23760         * doc/posix-functions/getgroups.texi (getgroups): Document
23761         getgroups pitfall.
23762         * modules/chown-tests: New file.
23763         * tests/test-chown.h (test_chown): Likewise.
23764         * tests/test-chown.c (main): Likewise.
23765
23766 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
23767
23768         gnulib-tool: correctly detect absence of m4 directories
23769         * gnulib-tool: Avoid extra newline on data passed to wc -l.
23770
23771 2009-11-14  Jim Meyering  <meyering@redhat.com>
23772
23773         maint.mk: Prohibit inclusion of "xalloc.h" without use.
23774         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23775
23776 2009-11-14  John W. Eaton  <jwe@gnu.org>
23777
23778         strftime.h: wrap funtion declaration in extern "C" block
23779         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
23780
23781 2009-11-13  Eric Blake  <ebb9@byu.net>
23782
23783         getgroups: avoid compiler warning
23784         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
23785
23786         getgroups: work around FreeBSD bug
23787         * lib/getgroups.c (rpl_getgroups): Work around the bug.
23788         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
23789         * doc/posix-functions/getgroups.texi (getgroups): Document it.
23790         * tests/test-getgroups.c (main): Fix buffer overrun.
23791
23792         getgroups: avoid compilation failure
23793         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
23794         * modules/getgroups (Depends-on): Add stdint.
23795
23796 2009-11-13  Jim Meyering  <meyering@redhat.com>
23797
23798         test-getgroups: avoid compilation failure
23799         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
23800
23801 2009-11-13  Eric Blake  <ebb9@byu.net>
23802
23803         mgetgroups: new module, taken from coreutils
23804         * modules/mgetgroups: New file.
23805         * lib/mgetgroups.h: Likewise.
23806         * lib/mgetgroups.c (mgetgroups): Likewise.
23807         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
23808         * MODULES.html.sh (Users and groups): Mention it.
23809
23810         getgroups: don't expose GETGROUPS_T to user
23811         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
23812         an element at a time if GETGROUPS_T is wrong size.
23813         * lib/getugroups.h (getugroups): Change signature.
23814         * lib/unistd.in.h (getgroups): Likewise.
23815         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
23816         signature needs fixing.
23817         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
23818         AC_TYPE_GETGROUPS.
23819         * modules/group-member (Depends-on): Add getgroups.
23820         * lib/group-member.c (group_info, get_group_info): Use gid_t.
23821         (group_member): Rely on getgroups replacement.
23822         * lib/getugroups.c (getugroups): Use gid_t.
23823         * tests/test-getgroups.c (main): Likewise.
23824         * NEWS: Mention the signature change.
23825         * doc/posix-functions/getgroups.texi (getgroups): Mention the
23826         problem with signature.
23827         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
23828         GETGROUPS_T is still useful for setgroups.
23829
23830         getgroups, getugroups: provide stubs for mingw
23831         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
23832         * lib/getugroups.c (getugroups): Likewise.
23833         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
23834         function.  Modernize replacement scheme.
23835         (gl_PREREQ_GETGROUPS): Delete.
23836         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
23837         * modules/getgroups (configure.ac): Declare witness.
23838         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23839         * modules/unistd (Depends-on): Substitute witness.
23840         * lib/unistd.in.h (getgroups): Declare replacement.
23841
23842         getgroups: avoid calling exit
23843         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
23844         drop xalloc.
23845         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
23846         dependencies.
23847         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
23848         exiting, in the rare case of malloc failure.
23849
23850         getgroups: fix logic error
23851         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
23852         has more than 20 groups.
23853         * modules/getgroups-tests: New test.
23854         * tests/test-getgroups.c: New file.
23855
23856 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23857
23858         * tests/test-base64.c: Improve.
23859
23860 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23861
23862         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
23863         Blake <ebb9@byu.net>.
23864
23865 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23866
23867         * tests/test-xvasprintf.c: Add %s%s related checks.
23868
23869 2009-11-12  Eric Blake  <ebb9@byu.net>
23870
23871         version-etc: match standards.texi style
23872         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
23873         and use <> only for URLs.
23874
23875 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
23876
23877         fts: do not fail on a submount during traversal
23878         * lib/fts.c (fts_build): Read the stat info again after opening
23879         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
23880         Original report at http://bugzilla.redhat.com/501848.
23881
23882 2009-11-12  Jim Meyering  <meyering@redhat.com>
23883
23884         bootstrap: sync from coreutils
23885         * build-aux/bootstrap (bootstrap_epilogue): New function.
23886         Use git_modules_config in one more place.  This make bootstrap's
23887         --gnulib-srcdir option more useful for testing.
23888
23889         bootstrap: generalize autoheader check
23890         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
23891         AC_CONFIG_HEADERS.
23892
23893 2009-11-11  Eric Blake  <ebb9@byu.net>
23894
23895         mkfifoat: use new modules for Solaris and BSD bugs
23896         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
23897         * lib/mkfifoat.c (mknodat): Split...
23898         * lib/mknodat.c (mknodat): ...into new file.
23899         * modules/mkfifoat (Files): Ship new file.
23900         (Depends-on): Add mkfifo, mknod.
23901         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
23902         (Depends-on): Add symlink.
23903         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
23904         redundant with test_mkfifo.h.
23905         (do_mkfifoat, do_mknodat): New helpers.
23906
23907         mknod: new module
23908         * modules/mknod: New file.
23909         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
23910         * lib/mknod.c (mknod): Likewise.
23911         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23912         defaults.
23913         * modules/sys_stat (Makefile.am): Substitute them.
23914         * lib/sys_stat.in.h (mknod): Declare replacement.
23915         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23916         Document it.
23917         * doc/posix-functions/mknod.texi (mknod): Likewise.
23918         * modules/mknod-tests: New test.
23919         * tests/test-mknod.c: Likewise.
23920
23921         mkfifo: new module
23922         * modules/mkfifo: New file.
23923         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23924         * lib/mkfifo.c (mkfifo): Likewise.
23925         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23926         defaults.
23927         * modules/sys_stat (Makefile.am): Substitute them.
23928         * lib/sys_stat.in.h (mkfifo): Declare replacement.
23929         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23930         Document it.
23931         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
23932         * modules/mkfifo-tests: New test.
23933         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
23934         from test-mkfifoat.c.
23935         * tests/test-mkfifo.c: New file.
23936
23937         readlink: detect FreeBSD bug
23938         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
23939         slash on symlink.
23940         * doc/posix-functions/readlink.texi (readlink): Document the bug.
23941         * tests/test-readlink.h (test_readlink): Enhance test.
23942
23943         symlink: detect FreeBSD bug
23944         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
23945         slash on symlink.
23946         * doc/posix-functions/symlink.texi (symlink): Document the bug.
23947         * tests/test-symlink.h (test_symlink): Enhance test.
23948
23949 2009-11-10  Eric Blake  <ebb9@byu.net>
23950
23951         link: detect FreeBSD bug
23952         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
23953         symlink.
23954         * doc/posix-functions/link.texi (link): Document the bug.
23955         * tests/test-link.h (test_link): Enhance test.
23956         * tests/test-linkat.c (main): Update caller.
23957
23958         unlink, remove: detect FreeBSD bug
23959         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
23960         slash on symlink.
23961         * doc/posix-functions/unlink.texi (unlink): Document the bug.
23962         * doc/posix-functions/remove.texi (remove): Likewise.
23963         * tests/test-unlink.h (test_unlink): Enhance test.
23964         * tests/test-remove.c (main): Likewise.
23965
23966 2009-11-09  Eric Blake  <ebb9@byu.net>
23967
23968         rename: detect FreeBSD bug
23969         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
23970         slash on symlink.
23971         * modules/renameat-tests (Depends-on): Add filenamecat.
23972         * tests/test-rename.h (test_rename): Allow one more errno.
23973         * tests/test-renameat.c (main): Likewise.
23974         * doc/posix-functions/rename.texi (rename): Document the bug.
23975
23976         open: detect FreeBSD bug
23977         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
23978         symlink.
23979         * doc/posix-functions/open.texi (open): Document the bug.
23980         * doc/posix-functions/utimes.texi (utimes): Likewise.
23981         * tests/test-open.h (test_open): Add parameters, and test symlink
23982         handling.
23983         * tests/test-open.c (main): Adjust caller.
23984         * tests/test-fcntl-safer.c (main): Likewise.
23985         * modules/open-tests (Depends-on): Add stdbool, symlink.
23986         * modules/fcntl-safer-tests (Depends-on): Likewise.
23987         * tests/test-openat.c (main): Add test-open tests.
23988
23989         stat: detect FreeBSD bug
23990         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
23991         symlink.
23992         * doc/posix-functions/stat.texi (stat): Document the bug.
23993         * tests/test-stat.h (test_stat_func): Add argument.
23994         * tests/test-stat.c (main): Adjust caller.
23995         * tests/test-fstatat.c (main): Likewise.
23996         * modules/stat-tests (Depends-on): Add stdbool, symlink.
23997         Reported by Jim Meyering.
23998
23999 2009-11-09  James Youngman  <jay@gnu.org>
24000
24001         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
24002         * lib/strftime.c: Correct placement of #include "ignore-value.h".
24003
24004 2009-11-08  Jim Meyering  <meyering@redhat.com>
24005
24006         utimens: remove invalid futimesat call
24007         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
24008         It used the file descriptor of the target file as the DIR_FD
24009         parameter and NULL as the file name.  That caused failure with
24010         errno == EFAULT on FreeBSD-8.0-rc2
24011
24012 2009-11-07  Eric Blake  <ebb9@byu.net>
24013
24014         fflush, freadseek: use fseeko, not fseek
24015         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
24016         (clear_ungetc_buffer): Avoid potential problems on large files.
24017         * lib/freadseek.c (freadseek): Likewise.
24018         * modules/freadseek (Depends-on): Add fseeko.
24019         * modules/fseek (configure.ac): Set a witness.
24020         * tests/test-fflush.c (main): Use fseeko.
24021         * tests/test-fpurge.c (fseek): Disable link warning.
24022         * tests/test-freadable.c (fseek): Likewise.
24023         * tests/test-freading.c (fseek): Likewise.
24024         * tests/test-fseeko.c (fseek): Likewise.
24025         * tests/test-ftell.c (fseek): Likewise.
24026         * tests/test-ftello.c (fseek): Likewise.
24027         * tests/test-fwritable.c (fseek): Likewise.
24028         * tests/test-fwriting.c (fseek): Likewise.
24029
24030 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24031
24032         * modules/memchr (Depends-on): Drop getpagesize dependency.
24033
24034 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24035
24036         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
24037         Reported by Ludovic Courtès.
24038         * build-aux/pmccabe2html: Improve example usage.
24039         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
24040
24041 2009-11-06  Jim Meyering  <meyering@redhat.com>
24042
24043         do-release-commit-and-tag: New module.
24044         Automate the release-commit and tag process.
24045         * build-aux/do-release-commit-and-tag: New script, from coreutils.
24046         * modules/do-release-commit-and-tag: New file.
24047         * MODULES.html.sh (Support for maintaining and releasing): Add it.
24048
24049 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24050
24051         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
24052         because test-select.c uses inet_pton.
24053
24054 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24055
24056         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
24057         GETADDRINFO_LIB.  Bump serial number.
24058         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
24059         Suggested by Eric Blake <ebb9@byu.net>.
24060
24061 2009-11-05  Eric Blake  <ebb9@byu.net>
24062
24063         strtod: detect darwin bug
24064         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
24065         Reported by Leo Davis.
24066
24067         freopen-safer: new module
24068         * modules/freopen-safer: New module.
24069         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
24070         * lib/freopen-safer.c (freopen_safer): New file.
24071         * lib/stdio-safer.h (freopen_safer): New declaration.
24072         * lib/stdio--.h (freopen): New override.
24073         * MODULES.html.sh (File stream based Input/Output): Mention it.
24074         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
24075         freopen-safer module.
24076         * doc/posix-functions/stderr.texi (stderr): Likewise.
24077         * doc/posix-functions/stdin.texi (stdin): Likewise.
24078         * doc/posix-functions/stdout.texi (stdout): Likewise.
24079         * modules/freopen-safer-tests: New test.
24080         * tests/test-reopen-safer.c: New file.
24081
24082 2009-11-05  Jim Meyering  <meyering@redhat.com>
24083
24084         maint.mk: Prohibit inclusion of "close-stream.h" without use.
24085         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
24086
24087 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24088
24089         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
24090
24091 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24092
24093         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
24094
24095 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24096
24097         Fix link error.
24098         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24099         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24100
24101 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24102
24103         * tests/test-func.c: Also test value of __func__.
24104
24105 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24106
24107         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
24108         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
24109
24110 2009-11-05  Bruno Haible  <bruno@clisp.org>
24111
24112         Fix link error.
24113         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24114         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24115         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
24116
24117 2009-11-05  Bruno Haible  <bruno@clisp.org>
24118
24119         Tests for module 'inet_pton'.
24120         * modules/inet_pton-tests: New file.
24121         * tests/test-inet_pton.c: New file.
24122
24123 2009-11-05  Bruno Haible  <bruno@clisp.org>
24124
24125         Tests for module 'inet_ntop'.
24126         * modules/inet_ntop-tests: New file.
24127         * tests/test-inet_ntop.c: New file.
24128
24129 2009-11-04  Eric Blake  <ebb9@byu.net>
24130
24131         stdlib-safer: wrap all mkstemp variants
24132         * modules/mkostemp (configure.ac): Set witness.
24133         * modules/mkostemps (configure.ac): Likewise.
24134         * modules/mkstemps (configure.ac): Likewise.
24135         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
24136         (mkstemps_safer): Wrap more functions.
24137         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
24138         wrapping.
24139         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
24140         (mkstemps_safer): Implement the wrappers.
24141
24142         mkstemps, mkostemps: new modules
24143         * modules/mkostemps: New module.
24144         * modules/mkstemps: Likewise.
24145         * lib/mkostemps.c (mkostemps): New file.
24146         * lib/mkstemps.c (mkstemps): Likewise.
24147         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
24148         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
24149         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
24150         * modules/stdlib (Makefile.am): Substitute them.
24151         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
24152         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
24153         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
24154         * doc/gnulib.texi (Glibc stdlib.h): Include them.
24155         * MODULES.html.sh (File system functions): Mention them.
24156
24157         tempname: resync from glibc
24158         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
24159         same values for __GT_FILE as glibc.  Abort even when assertions
24160         are disabled.
24161         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
24162         match its value otherwise.  Allow idempotent inclusion.
24163         * lib/mkdtemp.c (mkdtemp): Adjust caller.
24164         * lib/mkostemp.c (mkostemp): Likewise.
24165         * lib/mkstemp.c (mkstemp): Likewise.
24166         * lib/tmpfile.c (tmpfile): Likewise.
24167         * NEWS: Document this.
24168
24169         utimens: fix use of futimens on older Linux
24170         * lib/utimens.c (fdutimens): Use updated, rather than original,
24171         timespec to avoid bug in older Linux kernel.
24172         Reported by Simon Josefsson.
24173
24174 2009-11-04  Bruno Haible  <bruno@clisp.org>
24175
24176         Make num_processors more flexible and consistent.
24177         * lib/nproc.h (enum nproc_query): New type.
24178         (num_processors): Add a 'query' argument.
24179         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
24180         (num_processors): Add a 'query' argument. Test the value of the
24181         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
24182         mingw, count the number of CPUs available for the current process.
24183         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
24184         Check for sched_getaffinity and sched_getaffinity_np.
24185         * modules/nproc (Depends-on): Add c-ctype, extensions.
24186         * NEWS: Mention the change.
24187
24188 2009-11-03  Bruno Haible  <bruno@clisp.org>
24189
24190         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
24191
24192 2009-11-03  Jim Meyering  <meyering@redhat.com>
24193
24194         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
24195         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
24196         if it is defined.
24197
24198 2009-11-02  Eric Blake  <ebb9@byu.net>
24199
24200         mktime, timegm: share common declaration
24201         * lib/mktime-internal.h: New file.
24202         * lib/mktime.c: Use it rather than open-coding a declaration.
24203         * lib/timegm.c: Likewise.
24204         * modules/mktime (Files): Ship it.
24205         * modules/timegm (Files): Likewise.
24206         Suggested by Bruno Haible.
24207
24208         test-update-copyright: update test to match script changes
24209         * tests/test-update-copyright.sh: Avoid hard-coding perl
24210         location.  Don't update *.bak created by earlier runs.
24211
24212 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24213             Simon Josefsson  <simon@josefsson.org>
24214             Bruno Haible  <bruno@clisp.org>
24215
24216         Fix link error on Solaris 8.
24217         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
24218         also in libnsl. Define also INET_PTON_LIB.
24219         * modules/inet_pton (Link): New section.
24220
24221 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24222             Bruno Haible  <bruno@clisp.org>
24223
24224         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
24225         * modules/inet_ntop (Link): New section.
24226         Reported by Boyan Kasarov <bkasarov@gmail.com>.
24227
24228 2009-11-02  Eric Blake  <ebb9@byu.net>
24229
24230         maint: avoid compiler warnings in m4 macros
24231         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
24232         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
24233
24234 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24235
24236         * m4/pmccabe2html.m4: Remove file.
24237         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
24238         function.  Change maintainer.
24239         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
24240         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
24241         Courtès).
24242
24243 2009-10-31  Eric Blake  <ebb9@byu.net>
24244
24245         fseeko: fix m4 regression
24246         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
24247         regression from 2009-10-27.
24248         Reported by Ralf Wildenhues.
24249
24250 2009-10-31  Jim Meyering  <meyering@redhat.com>
24251
24252         inttostr: aesthetics and improved (compile-time) safety
24253         Define inttype_is_signed rather than inttype_is_unsigned,
24254         since the sole use is via "#if inttype_is_signed".
24255         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
24256         inttype_is_unsigned.
24257         * lib/offtostr.c (inttype_is_signed): Likewise.
24258         * lib/uinttostr.c (inttype_is_signed): Likewise.
24259         * lib/umaxtostr.c (inttype_is_signed): Likewise.
24260         * lib/inttostr.c (inttostr): Use verify to cross-check the
24261         inttype_is_signed value and the signedness of the actual type.
24262         * modules/inttostr (Depends-on): Add verify.
24263
24264 2009-10-30  Eric Blake  <ebb9@byu.net>
24265
24266         build: avoid compiler warnings
24267         * lib/fchmodat.c (lchmod): Mark unused variables.
24268         * lib/getopt.c (_getopt_initialize): Likewise.
24269         * lib/mktime.c (__mktime_internal): Provide prototype.
24270         * lib/inttostr.c (inttostr): Avoid compiler warning even with
24271         older gcc that do not understand #pragma GCC diagnostic.
24272         * lib/uinttostr.c (inttype_is_unsigned): Define.
24273         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
24274
24275 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
24276
24277         stat: fix compilation on AIX
24278         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
24279         only see struct stat64.
24280
24281 2009-10-30  Eric Blake  <ebb9@byu.net>
24282
24283         exclude: make more robust
24284         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
24285         rather than masking a coding bug.
24286         Suggested by Bruno Haible.
24287
24288 2009-10-30  Jim Meyering  <meyering@redhat.com>
24289
24290         perl scripts: remove #!/usr/bin/perl in favor of more portable...
24291         Rather than putting #!/usr/bin/perl on the first line,
24292         start with a variant of what's recommended by "man perlrun" that
24293         invokes the first "perl" program from your shell's search path.
24294         * build-aux/gitlog-to-changelog: Replace #!... as above.
24295         Add a "Local Variables" perl mode setting.
24296         Prompted by a patch from Ludovic Courtès.
24297         Improved by Eric Blake.
24298         * build-aux/useless-if-before-free: Likewise.
24299         * build-aux/announce-gen: Likewise.
24300         * build-aux/update-copyright: Likewise.
24301
24302 2009-10-29  Eric Blake  <ebb9@byu.net>
24303
24304         filenamecat-lgpl: adjust clients
24305         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
24306         filenamecat.
24307         * modules/renameat (Depends-on): Likewise.
24308
24309         filenamecat: split into filenamecat-lgpl
24310         * modules/filenamecat-lgpl: New module.
24311         * modules/filenamecat (Files): Move library-safe files into
24312         filenamecat-lgpl.
24313         (Depends-on): Add filenamecat-lgpl.
24314         (configure.ac): Declare witness.
24315         * lib/filenamecat.h (file_name_concat): Only declare when using
24316         GPL module.
24317         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
24318         Move...
24319         * lib/filenamecat-lgpl.c: ...into new file.
24320         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
24321         (gl_FILE_NAME_CONCAT): Use it.
24322         * MODULES.html.sh (File system functions): Mention new module.
24323
24324         argp: avoid memory leak
24325         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
24326         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
24327         base_name, since the latter malloc()s and can call exit().
24328         Leak introduced 2006-07-03.
24329
24330         dirname-lgpl: adjust clients that don't need full dirname
24331         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
24332         * modules/filenamecat (Depends-on): Likewise.
24333         * modules/linkat (Depends-on): Likewise.
24334         * modules/mkancesdirs (Depends-on): Likewise.
24335         * modules/mkdir (Depends-on): Likewise.
24336         * modules/openat (Depends-on): Likewise.
24337         * modules/savewd (Depends-on): Likewise.
24338         * modules/rename (Depends-on): Likewise.
24339         (License): Relax license.
24340         * modules/mkdir-tests (Depends-on): Drop progname.
24341         (Makefile.am): Delete unneeded LDADD.
24342         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
24343
24344         dirname: split into dirname-lgpl
24345         * modules/dirname-lgpl: New module.
24346         * modules/dirname (Files): Move library-safe files into
24347         dirname-lgpl.
24348         (Depends-on): Add dirname-lgpl.
24349         (configure.ac): Declare witness.
24350         * modules/double-slash-root (License): Relax license.
24351         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
24352         module.
24353         * lib/dirname.c (dir_len, mdir_name): Move...
24354         * lib/dirname-lgpl.c: ...into new file.
24355         * lib/basename.c (last_component, base_len): Move...
24356         * lib/basename-lgpl.c: ...into new file.
24357         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
24358         (gl_DIRNAME): Use it.
24359         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
24360         Mention new module.
24361         * modules/dirname-tests (Depends-on): Add progname.
24362         * tests/test-dirname.c (program_name): Delete.
24363
24364         mkdir: make safe for libraries
24365         * modules/mkdir (Depends-on): Drop xalloc.
24366         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
24367         exit.
24368
24369         tests: avoid some compiler warnings
24370         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
24371         literals.
24372         * tests/test-memchr.c (main): Avoid type mismatch.
24373         * tests/test-arpa_inet.c (main): Avoid unused parameters.
24374         * tests/test-base64.c (main): Likewise.
24375         * tests/test-getdelim.c (main): Likewise.
24376         * tests/test-gethostname.c (main): Likewise.
24377         * tests/test-getline.c (main): Likewise.
24378         * tests/test-netinet_in.c (main): Likewise.
24379         * tests/test-select.c (open_server_socket, main): Likewise.
24380         * tests/test-select-stdin.c (main): Likewise.
24381         * tests/test-sockets.c (main): Likewise.
24382         * tests/test-strsignal.c (main): Likewise.
24383         * tests/test-sys_select.c (main): Likewise.
24384         * tests/test-sys_socket.c (main): Likewise.
24385         * tests/test-u64.c (main): Likewise.
24386         * tests/test-xfprintf-posix.c (main): Likewise.
24387         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
24388
24389         sockets: avoid compiler warning
24390         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
24391
24392         maint: detect usage(1) and other suspicious exits
24393         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
24394
24395 2009-10-29  Jim Meyering  <meyering@redhat.com>
24396
24397         timespec: long-to-int truncation could make timespec_cmp malfunction
24398         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
24399         a multiple of 2^32 nanoseconds as no difference.
24400
24401 2009-10-28  Jim Meyering  <meyering@redhat.com>
24402
24403         fprintftime: wrap macro code argument in "do {...} while(0)"
24404         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
24405         cpy macro must be a statement that can be followed by a semicolon.
24406         Now that the else clause contains a comment and is hence longer
24407         than one line, I require curly braces.  That in turn requires
24408         that we wrap this code block in the standard do...while(0).
24409
24410         fprintftime: remove stray semicolon from previous change
24411         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
24412
24413         fprintftime: avoid a warning about ignored fwrite return value
24414         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
24415         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
24416         that is unsafe.
24417         * modules/fprintftime (Depends-on): Add ignore-value.
24418
24419         exclude: avoid an unwarranted warning
24420         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
24421
24422 2009-10-27  Eric Blake  <ebb9@byu.net>
24423
24424         fseek: avoid compilation failure when fflush is replaced
24425         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
24426         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
24427         module is in use.
24428         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
24429         module is not in use; since REPLACE_FSEEK worked otherwise.
24430         (GNULIB_FTELLO): Likewise for ftell.
24431         Reported by Ian Beckwith and others.
24432
24433 2009-10-27  Bruno Haible  <bruno@clisp.org>
24434
24435         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
24436         Reported by Jim Meyering.
24437
24438 2009-10-27  Jim Meyering  <jim@meyering.net>
24439             Bruno Haible  <bruno@clisp.org>
24440
24441         Avoid warning despite dropping the return value of fwrite.
24442         * lib/unicodeio.c: Include ignore-value.h.
24443         (fwrite_success_callback): Explicitly ignore fwrite's return value.
24444         * modules/unicodeio (Depends-on): Add ignore-value.
24445
24446 2009-10-26  Eric Blake  <ebb9@byu.net>
24447
24448         areadlinkat: fix fallback path
24449         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
24450         pointer and zero.
24451
24452 2009-10-22  Pádraig Brady  <P@draigBrady.com>
24453
24454         Use a better IO block size for modern systems
24455         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
24456         * lib/md2.c: Likewise.
24457         * lib/md4.c: Likewise.
24458         * lib/md5.c: Likewise.
24459         * lib/sha1.c: Likewise.
24460         * lib/sha256.c: Likewise.
24461         * lib/sha512.c: Likewise.
24462
24463 2009-10-22  Eric Blake  <ebb9@byu.net>
24464
24465         tests: avoid several compiler warnings
24466         * tests/test-getcwd.c (main): Avoid buffer underflow.
24467         * tests/test-getdate.c (main): String literals are not safe with
24468         putenv, so use setenv.  Declare unused argument.
24469         * modules/getdate-tests (Depends-on): Add setenv.
24470         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
24471         problems with string literals in char *.
24472         * tests/test-hash.c (main): Avoid shadowing declaration.
24473         (insert_new): Treat string literals as char const *.
24474         * tests/test-getopt.h (test_getopt): Likewise.
24475         (getopt_loop): Alter types to minimize casting elsewhere.
24476         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
24477         (test_getopt_long_posix): Likewise.
24478         (do_getopt_long): Add wrapper to minimize casting.
24479         * tests/test-atexit.c (clear_temp_file): Use void.
24480         * tests/test-areadlink-with-size.c (main): Declare unused
24481         arguments.
24482         * tests/test-areadlink.c (main): Likewise.
24483         * tests/test-areadlinkat-with-size.c (main): Likewise.
24484         * tests/test-areadlinkat.c (main): Likewise.
24485         * tests/test-canonicalize-lgpl.c (main): Likewise.
24486         * tests/test-canonicalize.c (main): Likewise.
24487         * tests/test-dirent-safer.c (main): Likewise.
24488         * tests/test-dirname.c (main): Likewise.
24489         * tests/test-dup2.c (main): Likewise.
24490         * tests/test-fchdir.c (main): Likewise.
24491         * tests/test-fcntl-h.c (main): Likewise.
24492         * tests/test-fcntl-safer.c (main): Likewise.
24493         * tests/test-fdopendir.c (main): Likewise.
24494         * tests/test-fdutimensat.c (main): Likewise.
24495         * tests/test-fflush.c (main): Likewise.
24496         * tests/test-filenamecat.c (main): Likewise.
24497         * tests/test-filevercmp.c (main): Likewise.
24498         * tests/test-fopen-safer.c (main): Likewise.
24499         * tests/test-fopen.c (main): Likewise.
24500         * tests/test-fpending.c (main): Likewise.
24501         * tests/test-fpurge.c (main): Likewise.
24502         * tests/test-freading.c (main): Likewise.
24503         * tests/test-fstatat.c (main): Likewise.
24504         * tests/test-fsync.c (main): Likewise.
24505         * tests/test-futimens.c (main): Likewise.
24506         * tests/test-getndelim2.c (main): Likewise.
24507         * tests/test-gettimeofday.c (main): Likewise.
24508         * tests/test-getopt.c (main): Likewise.
24509         * tests/test-i-ring.c (main): Likewise.
24510         * tests/test-inttypes.c (main): Likewise.
24511         * tests/test-link.c (main): Likewise.
24512         * tests/test-lstat.c (main): Likewise.
24513         * tests/test-math.c (main): Likewise.
24514         * tests/test-md5.c (main): Likewise.
24515         * tests/test-memchr2.c (main): Likewise.
24516         * tests/test-memrchr.c (main): Likewise.
24517         * tests/test-mkdir.c (main): Likewise.
24518         * tests/test-mkdirat.c (main): Likewise.
24519         * tests/test-mkfifoat.c (main): Likewise.
24520         * tests/test-open.c (main): Likewise.
24521         * tests/test-openat-safer.c (main): Likewise.
24522         * tests/test-openat.c (main): Likewise.
24523         * tests/test-quotearg.c (main): Likewise.
24524         * tests/test-rawmemchr.c (main): Likewise.
24525         * tests/test-readlink.c (main): Likewise.
24526         * tests/test-remove.c (main): Likewise.
24527         * tests/test-rename.c (main): Likewise.
24528         * tests/test-renameat.c (main): Likewise.
24529         * tests/test-rmdir.c (main): Likewise.
24530         * tests/test-sha1.c (main): Likewise.
24531         * tests/test-signal.c (main): Likewise.
24532         * tests/test-sigaction.c (main): Likewise.
24533         * tests/test-stat.c (main): Likewise.
24534         * tests/test-stat-time.c (main): Likewise.
24535         * tests/test-stddef.c (main): Likewise.
24536         * tests/test-stdint.c (main): Likewise.
24537         * tests/test-stdio.c (main): Likewise.
24538         * tests/test-stdlib.c (main): Likewise.
24539         * tests/test-strchrnul.c (main): Likewise.
24540         * tests/test-strerror.c (main): Likewise.
24541         * tests/test-string.c (main): Likewise.
24542         * tests/test-strtod.c (main): Likewise.
24543         * tests/test-strverscmp.c (main): Likewise.
24544         * tests/test-symlink.c (main): Likewise.
24545         * tests/test-symlinkat.c (main): Likewise.
24546         * tests/test-sys_stat.c (main): Likewise.
24547         * tests/test-sys_time.c (main): Likewise.
24548         * tests/test-time.c (main): Likewise.
24549         * tests/test-unistd.c (main): Likewise.
24550         * tests/test-unlink.c (main): Likewise.
24551         * tests/test-unlinkat.c (main): Likewise.
24552         * tests/test-utimens.c (main): Likewise.
24553         * tests/test-utimensat.c (main): Likewise.
24554         * tests/test-version-etc.c (main): Likewise.
24555         * tests/test-wchar.c (main): Likewise.
24556         * tests/test-wctype.c (main): Likewise.
24557         * tests/test-xprintf-posix.c (main): Likewise.
24558         * tests/test-posixtm.c (main): Likewise.
24559         (STREQ): Delete unused macro.
24560         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
24561         shadowed variables.
24562         * tests/test-memchr.c (main): Likewise.
24563
24564 2009-10-21  Eric Blake  <ebb9@byu.net>
24565
24566         areadlinkat: avoid failure on older glibc
24567         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
24568         rather than mis-comparing 0 against FUNC_RESULT of char*.
24569
24570 2009-10-21  Bruno Haible  <bruno@clisp.org>
24571
24572         * modules/stpncpy (License): Relicense under LGPLv2+.
24573         Reported by David Lutterkort <lutter@redhat.com>.
24574
24575 2009-10-20  Eric Blake  <ebb9@byu.net>
24576
24577         utimensat: work around Solaris 9 bug
24578         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
24579         has trailing slash bugs.
24580         * tests/test-lutimens.h (test_lutimens): Enhance test.
24581         * tests/test-utimens.h (test_utimens): Likewise.
24582         * doc/posix-functions/utime.texi (utime): Enhance documentation.
24583         * doc/posix-functions/utimes.texi (utimes): Likewise.
24584         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24585         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
24586         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
24587         * doc/posix-functions/futimens.texi (futimens): Likewise.
24588
24589         fdutimensat: new module
24590         * modules/fdutimensat: New file.
24591         * lib/fdutimensat.c (fdutimensat): Likewise.
24592         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
24593         * MODULES.html.sh (File system functions): Mention module.
24594         * modules/fdutimensat-tests: New test.
24595         * tests/test-fdutimensat.c: Likewise.
24596
24597         doc: regenerate INSTALL
24598         * doc/INSTALL: Reflect recent autoconf update.
24599         * doc/INSTALL.ISO: Likewise.
24600         * doc/INSTALL.UTF-8: Likewise.
24601
24602 2009-10-20  Pádraig Brady  <P@draigBrady.com>
24603
24604         acl: warn if ACL support is not detected
24605         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
24606
24607 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
24608
24609         * lib/nproc.h: Add extern "C" block for C++.
24610
24611 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
24612             Bruno Haible  <bruno@clisp.org>
24613
24614         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
24615         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
24616         * doc/posix-functions/isalpha.texi: Likewise.
24617         * doc/posix-functions/isblank.texi: Likewise.
24618         * doc/posix-functions/iscntrl.texi: Likewise.
24619         * doc/posix-functions/isdigit.texi: Likewise.
24620         * doc/posix-functions/isgraph.texi: Likewise.
24621         * doc/posix-functions/islower.texi: Likewise.
24622         * doc/posix-functions/isprint.texi: Likewise.
24623         * doc/posix-functions/ispunct.texi: Likewise.
24624         * doc/posix-functions/isspace.texi: Likewise.
24625         * doc/posix-functions/isupper.texi: Likewise.
24626         * doc/posix-functions/isxdigit.texi: Likewise.
24627
24628 2009-10-18  Bruno Haible  <bruno@clisp.org>
24629
24630         Tests for module 'isblank'.
24631         * modules/isblank-tests: New file.
24632         * tests/test-isblank.c: New file.
24633
24634         New module 'isblank'.
24635         * lib/isblank.c: New file.
24636         * m4/isblank.m4: New file.
24637         * modules/isblank: New file.
24638         * doc/posix-functions/isblank.texi: Mention the new module.
24639
24640 2009-10-18  Bruno Haible  <bruno@clisp.org>
24641
24642         New module 'ctype'.
24643         * lib/ctype.in.h: New file.
24644         * m4/ctype.m4: New file.
24645         * modules/ctype: New file.
24646         * doc/posix-headers/ctype.texi: Mention the new module.
24647
24648 2009-10-18  Jim Meyering  <meyering@redhat.com>
24649
24650         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
24651         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
24652         right after its initialization, rather than farther down.
24653         Keeping these in close proximity makes it easier to ensure
24654         that each such variable is initialized.  E.g.,
24655
24656             LIB_CLOCK_GETTIME=
24657             AC_SUBST([LIB_CLOCK_GETTIME])
24658
24659         This change also increments these serial numbers.
24660         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
24661         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24662         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24663
24664 2009-10-18  Bruno Haible  <bruno@clisp.org>
24665
24666         Don't let environment variables perturb build.
24667         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
24668         (gl_PREREQ_GETHRXTIME): ... not here.
24669
24670 2009-10-18  Bruno Haible  <bruno@clisp.org>
24671
24672         Avoid symlink attack in localcharset module.
24673         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
24674         (O_NOFOLLOW): Define fallback.
24675         (get_charset_aliases): Don't open the file if it is a symbolic link.
24676         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
24677         gl_FCNTL_H.
24678         (gl_FCNTL_H): Require it.
24679         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
24680         * modules/localcharset (Files): Add m4/fcntl_h.m4.
24681         Reported by Fergal Glynn <fglynn@veracode.com>.
24682
24683 2009-10-18  Bruno Haible  <bruno@clisp.org>
24684
24685         Implement nproc for mingw.
24686         * lib/nproc.c: Include <windows.h>
24687         (num_processors): On native Windows platforms, try GetSystemInfo.
24688
24689 2009-10-18  Bruno Haible  <bruno@clisp.org>
24690
24691         Implement nproc for IRIX.
24692         * lib/nproc.c: Include <sys/sysmp.h>.
24693         (num_processors): On IRIX systems, try sysmp.
24694         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
24695
24696 2009-10-18  Bruno Haible  <bruno@clisp.org>
24697
24698         Implement nproc for HP-UX.
24699         * lib/nproc.c: Include <sys/pstat.h>
24700         (num_processors): On HP-UX systems, try pstat_getdynamic.
24701         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
24702         pstat_getdynamic.
24703
24704 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
24705             Bruno Haible  <bruno@clisp.org>
24706
24707         Implement nproc for NetBSD, OpenBSD.
24708         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
24709         (ARRAY_SIZE): New macro.
24710         (num_processors): On BSD systems, try sysctl of HW_NCPU.
24711         * m4/nproc.m4: New file.
24712         * modules/nproc (Files): Add m4/nproc.m4.
24713         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
24714         (Makefile.am): Instead, augment lib_SOURCES.
24715
24716 2009-10-18  Bruno Haible  <bruno@clisp.org>
24717
24718         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
24719         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
24720         sys/param.h.
24721
24722 2009-10-16  Eric Blake  <ebb9@byu.net>
24723
24724         utimensat: new module
24725         * modules/utimensat: New file.
24726         * lib/utimensat.c (utimensat): Likewise.
24727         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24728         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
24729         so we can work around Linux bugs.
24730         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24731         * modules/sys_stat (Makefile.am): Substitute them.
24732         * lib/sys_stat.in.h (utimensat): Declare it.
24733         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24734         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24735         * modules/utimensat-tests: New test.
24736         * tests/test-utimensat.c: Likewise.
24737
24738         utimens: let lutimens work on non-symlinks
24739         * lib/utimens.c (lutimens): Fall back to utimens rather than
24740         failing with ENOSYS, when file is not a symlink.
24741         (utimens): Reduce redirection.
24742         * tests/test-lutimens.h (test_lutimens): Update test to cover
24743         non-symlinks.
24744         * tests/test-utimens.h (test_utimens): Update test to cover
24745         symlinks.
24746         * tests/test-utimens.c (main): Update caller.
24747
24748         utimens: cache whether utimensat syscall works
24749         * lib/utimens.c (utimensat_works_really): New cache variable.
24750         (fdutimens, lutimens): Use it to avoid failing syscall.
24751
24752         test-stat-time, test-utimens: improve portability
24753         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
24754         ext4 on alpha, and for cygwin.
24755         * tests/test-utimens-common.h: New file.
24756         (nap): Factor delays into single function.
24757         * tests/test-lutimens.h (test_lutimens): Use new header.
24758         * tests/test-futimens.h (test_futimens): Likewise.
24759         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
24760         timestamps to occur from same machine, as was done previously for
24761         test_utimens.
24762         * modules/utimens-tests (Files): Ship new file.
24763         * modules/futimens-tests (Files): Likewise.
24764         Reported in part by Jim Meyering.
24765
24766         sys_stat: sort replacement declarations
24767         * lib/sys_stat.in.h: Sort declarations.
24768         * lib/futimens.c (futimens): Fix typo.
24769
24770 2009-10-15  Jim Meyering  <meyering@redhat.com>
24771
24772         don't let environment settings perturb build
24773         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
24774         could cause a configure-time and/or build-time malfunction.
24775         Typically, a configure-time function-in-library test is performed
24776         via code like this:
24777
24778           LIB_VAR=
24779           AC_SUBST([LIB_VAR])
24780           prefix_saved_LIBS=$LIBS
24781             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
24782                        [test "$ac_cv_search_FUNC" = "none required" ||
24783                         LIB_VAR=$ac_cv_search_FUNC])
24784           LIBS=$prefix_saved_LIBS
24785
24786         However, in each of the files affected by this change, the LIB_VAR=
24787         initialization was omitted.  Thus, when set in the environment, its
24788         value would propagate into generated Makefiles when FUNC is not found
24789         in LIB_NAME.
24790         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
24791         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24792         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24793
24794 2009-10-14  Eric Blake  <ebb9@byu.net>
24795
24796         fchdir: avoid infinite recursion in mingw
24797         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
24798         recursing.
24799
24800         test-stat-time: port to mingw
24801         * tests/test-stat-time.c (force_unlink): Return a value.
24802         (test_ctime) [W32]: Fix compilation error.
24803         (nap): Don't call usleep with too large an argument.  Use
24804         force_unlink.
24805         * doc/pastposix-functions/usleep.texi (usleep): Document the
24806         portability issue.
24807
24808 2009-10-13  Jim Meyering  <meyering@redhat.com>
24809
24810         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
24811         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
24812         * modules/pipe-filter-ii: Likewise.
24813         * modules/sys_socket-tests: Likewise.
24814         * modules/tsearch-tests: Likewise.
24815         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
24816         (check): Depend on it.
24817
24818 2009-10-12  Eric Blake  <ebb9@byu.net>
24819
24820         utimens-tests: port to NFS file systems
24821         * tests/test-utimens.h (test_utimens): Refactor utimecmp
24822         comparisons to avoid spurious failures from timestamp drift
24823         between NFS machines.
24824
24825 2009-10-12  Eric Blake  <ebb9@byu.net>
24826
24827         stat-time-tests: minor cleanups
24828         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
24829         * tests/test-stat-time.c (nap): Separate assignment from call.
24830         Suggested by Paolo Bonzini and Bruno Haible.
24831
24832         sys_stat: guarantee struct timespec
24833         * lib/sys_stat.in.h (includes): Always include <time.h>
24834         * modules/sys_stat (Depends-on): Add time.
24835         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
24836         mode_t permission values.
24837         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
24838         get at subsecond timestamps.
24839
24840 2009-10-10  Eric Blake  <ebb9@byu.net>
24841
24842         futimens: new module
24843         * modules/futimens: New file.
24844         * lib/futimens.c (futimens): Likewise.
24845         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
24846         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
24847         we can work around Linux bugs.
24848         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24849         * modules/sys_stat (Makefile.am): Substitute them.
24850         * lib/sys_stat.in.h (futimens): Declare it.
24851         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24852         * doc/posix-functions/futimens.texi (futimens): Likewise.
24853         * modules/futimens-tests: New test.
24854         * tests/test-futimens.c: Likewise.
24855
24856         utimens: introduce fdutimens
24857         * lib/utimens.h (fdutimens): New prototype.
24858         * lib/utimens.c (gl_futimens): Move guts...
24859         (fdutimens): ...to new interface.
24860         * tests/test-utimens.c (do_fdutimens): Use it.
24861
24862         utimens: add UTIME_NOW and UTIME_OMIT support
24863         * lib/utimens.c (validate_timespec, update_timespec): New helper
24864         functions.
24865         (gl_futimens, lutimens): Use them.
24866         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
24867         stdbool, sys_stat.
24868         (Link): Mention resulting library dependency.
24869         * modules/utimecmp (Link): Likewise.
24870         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
24871         (Makefile.am): Pick up library dependency.
24872         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
24873         definition.
24874         * tests/test-sys_stat.c: Test the definitions.
24875         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
24876         * NEWS: Document library dependency.
24877
24878         utimecmp: support symlink timestamps
24879         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
24880         hashing when possible.  Use pathconf when available.
24881         (SYSCALL_RESOLUTION): Recognize tighter resolution.
24882         * modules/utimecmp (Depends-on): Add lstat.
24883
24884         utimens: add lutimens interface
24885         * lib/utimens.c (lutimens): New function.
24886         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
24887         * lib/utimens.h (lutimens): Declare new interface.
24888         * tests/test-utimens.c (main): Enhance test.
24889         * tests/test-lutimens.h (test_lutimens): New file.
24890         * modules/utimens-tests (Files): Distribute it.
24891         (Depends-on): Add symlink.
24892         (configure.ac): Check for usleep.
24893
24894         utimens: validate futimens usage
24895         * lib/utimens.c (gl_futimens): Require valid fd up front, using
24896         fewer syscalls on failure later on.  Avoid compiler warning on
24897         mingw.
24898         * modules/utimens (Depends-on): Add dup2.
24899
24900         utimens: add test
24901         * modules/utimens-tests: New test.
24902         * tests/test-utimens.h: New file.
24903         * tests/test-futimens.h: Likewise.
24904         * tests/test-utimens.c: Likewise.
24905
24906         doc: mention timestamp portability issues
24907         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
24908         instead.
24909         * doc/posix-functions/utime.texi (utime): Likewise.
24910         * doc/posix-functions/utimes.texi (utimes): Likewise.
24911         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
24912         instead.
24913         * doc/posix-functions/futimens.texi (futimens): Mention utimens
24914         module.
24915         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24916         Mention weakness with symlink timestamps.
24917         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
24918         to utimensat/futimens instead.
24919         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
24920
24921         test-dup2: enhance test
24922         * tests/test-dup2.c (main): Also check AT_FDCWD.
24923
24924         test-stat-time: avoid more spurious failures
24925         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
24926         xfs; and avoid race if the two timestamps cross quantization edge.
24927
24928         relocatable: prefer 'file system' over 'filesystem'
24929         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
24930         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
24931         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
24932         * doc/relocatable.texi (Enabling Relocatability): Likewise.
24933         * lib/relocatable.c (compute_curr_prefix): Likewise.
24934
24935 2009-10-10  Jim Meyering  <meyering@redhat.com>
24936
24937         stat-time-tests: check for the usleep function
24938         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
24939
24940 2009-10-10  Bruno Haible  <bruno@clisp.org>
24941
24942         * modules/xnanosleep: Put the Link section after the Include section.
24943
24944 2009-10-09  Eric Blake  <ebb9@byu.net>
24945
24946         dup2: work around FreeBSD 6.1 bug
24947         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
24948         * doc/posix-functions/dup2.texi (dup2): Document it.
24949         Reported by Nelson H. F. Beebe and Jim Meyering.
24950
24951         test-stat-time: port to buggy NFS clients
24952         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
24953         (test_ctime): Also skip test if mtime and ctime are skewed.
24954
24955         maint: prefer 'file system' over 'filesystem'
24956         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24957         * doc/posix-functions/lstat.texi (lstat): Likewise.
24958         * lib/file-has-acl.c (file_has_acl): Likewise.
24959         * lib/fwriteerror.c [TEST]: Likewise.
24960         * tests/test-areadlink.h (test_areadlink): Likewise.
24961         * tests/test-areadlinkat-with-size.c (main): Likewise.
24962         * tests/test-areadlinkat.c (main): Likewise.
24963         * tests/test-canonicalize-lgpl.c (main): Likewise.
24964         * tests/test-canonicalize.c (main): Likewise.
24965         * tests/test-fstatat.c (main): Likewise.
24966         * tests/test-linkat.c (main): Likewise.
24967         * tests/test-lstat.h (test_lstat_func): Likewise.
24968         * tests/test-mkdir.h (test_mkdir): Likewise.
24969         * tests/test-readlink.h (test_readlink): Likewise.
24970         * tests/test-remove.c (main): Likewise.
24971         * tests/test-rename.h (test_rename): Likewise.
24972         * tests/test-renameat.c (main): Likewise.
24973         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24974         * tests/test-symlink.h (test_symlink): Likewise.
24975         * tests/test-symlinkat.c (main): Likewise.
24976         * tests/test-unlink.h (test_unlink_func): Likewise.
24977         * tests/test-unlinkat.c (main): Likewise.
24978
24979         maint: make realtime library usage explicit
24980         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
24981         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
24982         * modules/settime (Link): Likewise.
24983         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
24984
24985         test-stat-time: speed up execution
24986         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
24987         warning on mingw.
24988         (nap): New helper function.
24989         (prepare_test): Use it to reduce sleep time.
24990         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
24991         execution.
24992         * modules/stat-time-tests (configure.ac): Check for usleep.
24993
24994 2009-10-09  Jim Meyering  <meyering@redhat.com>
24995
24996         selinux-h: always use getfilecon wrappers
24997         * lib/getfilecon.c: New file.
24998         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
24999         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
25000         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
25001         (fgetfilecon): Provide a stub.
25002         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
25003         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
25004         file unconditionally.
25005         When <selinux/selinux.h> is found, arrange to use wrappers.
25006         * modules/selinux-h (Files): Add getfilecon.c.
25007         (Makefile.am): Substitute include-next-related bits
25008         into the now-always-generated selinux/selinux.h file.
25009         * doc/glibc-functions/lgetfilecon.texi: New file.
25010         * doc/glibc-functions/fgetfilecon.texi: New file.
25011         * doc/glibc-functions/getfilecon.texi: New file.
25012         * doc/glibc-functions/getfilecon-desc.texi: New file.
25013         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
25014         which to pull in the new files.
25015         * MODULES.html.sh (Misc): Add selinux-h.
25016
25017 2009-10-08  Jim Meyering  <meyering@redhat.com>
25018
25019         unistd: fix comment typo
25020         * lib/unistd.in.h (euidaccess): Fix a comment typo.
25021
25022 2009-10-08  Eric Blake  <ebb9@byu.net>
25023
25024         areadlink: use SIZE_MAX consistently
25025         * modules/areadlink (Depends-on): Add stdint.
25026         * modules/areadlink-with-size (Depends-on): Likewise.
25027         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
25028         gives NULL; drop sys/types, since unistd gives size_t; and add
25029         stdint for SIZE_MAX.
25030         (SIZE_MAX): Rely on headers.
25031         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
25032         and add stdint.
25033         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
25034         (SIZE_MAX): Likewise.
25035         (INITIAL_BUF_SIZE): Turn into enum.
25036         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
25037
25038 2009-10-08  Jim Meyering  <meyering@redhat.com>
25039
25040         areadlinkat: avoid compilation failure
25041         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
25042         Fix typo in comment.
25043
25044 2009-10-07  Eric Blake  <ebb9@byu.net>
25045
25046         areadlinkat-with-size: new module
25047         * modules/areadlinkat-with-size: New module.
25048         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
25049         * lib/areadlink.h (areadlinkat): Declare it.
25050         * MODULES.html.sh (File system functions): Mention it.
25051         * modules/areadlinkat-with-size-tests: New test.
25052         * tests/test-areadlinkat-with-size.c: New file.
25053
25054         xreadlinkat: new module
25055         * modules/xreadlinkat: New module.
25056         * lib/xreadlinkat.c (xreadlinkat): New file.
25057         * lib/xreadlink.h (xreadlinkat): Declare it.
25058         * MODULES.html.sh (File system functions): Mention it.
25059
25060         areadlinkat: new module
25061         * lib/at-func.c (FUNC_FAIL): New define.
25062         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
25063         * modules/areadlinkat: New module.
25064         * lib/linkat.c (areadlinkat): Move...
25065         * lib/areadlinkat.c (areadlinkat): ...to new file.
25066         * lib/areadlink.h (areadlinkat): Declare it.
25067         * modules/linkat (Depends-on): Add areadlinkat.
25068         * MODULES.html.sh (File system functions): Mention it.
25069         * modules/areadlinkat-tests: New test.
25070         * tests/test-areadlinkat.c: New file.
25071
25072         areadlink, areadlink-with-size: add tests
25073         * modules/areadlink-tests: New test.
25074         * modules/areadlink-with-size-tests: Likewise.
25075         * tests/test-areadlink.h: New file.
25076         * tests/test-areadlink.c: Likewise.
25077         * tests/test-areadlink-with-size.c: Likewise.
25078
25079         maint: minor cleanups
25080         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
25081         _UNUSED_PARAMETER_ instead.
25082         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
25083         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
25084         * modules/linkat-tests (Files): Distribute test-link.h.
25085
25086         openat, utimens: whitespace cleanup
25087         * lib/openat.c: Prefer space throughout, rather than mix of 8
25088         spaces vs. tabs.
25089         * lib/at-func.c: Likewise.
25090         * lib/utimens.c: Likewise.
25091
25092         openat: avoid using wrong fd
25093         * lib/openat.c (openat_permissive): Reject user's fd if saving the
25094         working directory chooses same fd.
25095         * lib/at-func.c (AT_FUNC_NAME): Likewise.
25096
25097         mkdir, mkdirat: fix cygwin 1.5.x bug
25098         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
25099         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
25100         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
25101         bug.
25102         (gl_PREREQ_MKDIR): Delete unused macro.
25103         * modules/mkdir (Files): Track file rename.
25104         (configure.ac): Update macro name.
25105         * modules/openat (Depends-on): Add mkdir.
25106         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
25107
25108         mkdir, mkdirat: add tests
25109         * modules/mkdir-tests: New test.
25110         * tests/test-mkdir.h: New file.
25111         * tests/test-mkdir.c: Likewise.
25112         * tests/test-mkdirat.c: Likewise.
25113         * modules/openat-tests (Files): Add new files.
25114         (Makefile.am): Run new test.
25115
25116 2009-10-06  Eric Blake  <ebb9@byu.net>
25117
25118         doc: tweak *at function documentation
25119         * doc/posix-functions/faccessat.texi (faccessat): Mention
25120         known issue with replacement.
25121         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
25122         * doc/posix-functions/linkat.texi (linkat): Likewise.
25123         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25124         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25125         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25126         * doc/posix-functions/renameat.texi (renameat): Likewise.
25127         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25128
25129         openat: fix GNU/Hurd bug in unlinkat
25130         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
25131         broken.
25132         * doc/posix-functions/unlink.texi (unlink): Document this.
25133         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
25134
25135         fdopendir: fix GNU/Hurd bug
25136         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
25137         allowing non-directory fds.
25138         * lib/fdopendir.c (rpl_fdopendir): Work around it.
25139         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
25140         * modules/dirent (Makefile.am): Substitute it.
25141         * lib/dirent.in.h (fdopendir): Declare replacement.
25142         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
25143         * tests/test-fdopendir.c (main): Test something other than
25144         /dev/null, since on Hurd that behaves like a directory.
25145
25146         test-symlink: port to GNU/Hurd
25147         * tests/test-symlink.h (test_symlink): Relax expected errno.
25148
25149         doc: tweak more cygwin information
25150         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
25151         now compatible with glibc.
25152         * doc/posix-functions/getopt.texi (getopt): Likewise.
25153
25154         getopt-gnu: add another test
25155         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
25156         guarantee behavior relied on by m4.
25157         * tests/test-getopt.c (main): Use it.
25158         * modules/getopt-posix-tests (Depends-on): Add setenv.
25159         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
25160
25161         getopt: fix compilation on darwin
25162         * lib/getopt.in.h (includes): Leave breadcrumbs during system
25163         include.
25164         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
25165         Reported by Ludovic Courtès.
25166
25167 2009-10-06  Bruno Haible  <bruno@clisp.org>
25168
25169         * modules/size_max (Description): Discourage its use.
25170         Reported by Simon Josefsson.
25171
25172 2009-10-06  Jim Meyering  <meyering@redhat.com>
25173
25174         linkat: avoid compilation failure
25175         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
25176
25177 2009-10-05  Eric Blake  <ebb9@byu.net>
25178
25179         linkat: support Linux 2.6.17
25180         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
25181         linkat on Linux, but allow cache variable override.
25182         * lib/linkat.c (rpl_linkat): Define override.
25183         * modules/linkat (Depends-on): Add symlinkat.
25184         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
25185         * modules/unistd (Makefile.am): Substitute it.
25186         * lib/unistd.in.h (linkat): Declare replacement.
25187         Reported by Pádraig Brady.
25188
25189         quotearg: port test to systems with C.UTF-8 locale
25190         * tests/test-quotearg.c (struct result_strings): Add another
25191         member, differentiating between C.ASCII and C.UTF-8 handling.
25192         (compare_strings): Add parameter.
25193         (main): Adjust all callers.
25194
25195         getopt: avoid clash with FreeBSD _getopt_internal
25196         * lib/getopt.in.h (_getopt_internal): Override the name.
25197         * lib/getopt_int.h (includes): Pick up any overrides.
25198         Reported by Reuben Thomas.
25199
25200         hash: allow C89 compilation
25201         * lib/hash.c (check_tuning): Move declaration before statement.
25202         Reported by Reuben Thomas.
25203
25204 2009-10-05  Karl Berry  <karl@gnu.org>
25205
25206         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
25207
25208 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
25209             Bruno Haible  <bruno@clisp.org>
25210
25211         * lib/uname.c (uname): Use a table-driven algorithm to compute
25212         Windows NT versions.
25213
25214 2009-10-04  Bruno Haible  <bruno@clisp.org>
25215
25216         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
25217         program_invocation_short_name.
25218         * modules/progname (configure.ac): Test for presence of
25219         program_invocation_short_name.
25220         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
25221
25222 2009-10-04  Bruno Haible  <bruno@clisp.org>
25223
25224         * lib/progname.c (set_program_name): Fix comment.
25225         Reported by Jim Meyering.
25226
25227 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25228             Bruno Haible  <bruno@clisp.org>
25229
25230         * lib/uname.c: Include <string.h>.
25231         (uname): Do only one call to GetVersionEx in the common case.
25232
25233 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25234             Bruno Haible  <bruno@clisp.org>
25235
25236         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
25237         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
25238         (uname): Add support for Windows CE and various non-x86 CPU types.
25239
25240 2009-10-03  Bruno Haible  <bruno@clisp.org>
25241
25242         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
25243         invocation to tests/configure.ac.
25244         Reported by Ian Beckwith <ianb@erislabs.net>.
25245
25246 2009-10-02  Eric Blake  <ebb9@byu.net>
25247
25248         fchdir: avoid compiler warning
25249         * lib/fchdir.c (canonicalize_file_name)
25250         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
25251
25252         test-open: support mingw errno values
25253         * tests/test-open.h (test_open): Relax test.
25254         * tests/test-fopen.h (test_fopen): Likewise.
25255         * tests/test-openat-safer.c (main): Likewise.
25256
25257         open: fix opening directory on mingw
25258         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
25259
25260         test-open: on GNU/Hurd, /dev/null is a directory
25261         * tests/test-fopen.h (main): Rename...
25262         (test_fopen): ...to this.  Use a guaranteed non-directory when
25263         confirming open behavior on trailing slash.
25264         * tests/test-openat-safer.c (main): Likewise.
25265         * tests/test-open.h (main): Likewise....
25266         (test_open): ...to this.
25267         * tests/test-fopen.c (main): Adjust caller.
25268         * tests/test-fopen-safer.c (main): Likewise.
25269         * tests/test-open.c (main): Likewise.
25270         * tests/test-fcntl-safer.c (main): Likewise.
25271         Reported by Samuel Thibault.
25272
25273         rename, fchdir: don't ignore chdir failure
25274         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
25275         * lib/rename.c (rpl_rename) [W32]: Likewise.
25276         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
25277         an empty destination directory if source cannot be renamed,
25278         although there is still possibility for failure.
25279         * doc/posix-functions/rename.texi (rename): Document the race.
25280         Reported by Jim Meyering.
25281
25282         maint: cleanup whitespace in recent commits
25283         * lib/rename.c (rpl_rename): Remove tabs.
25284         * tests/test-link.h (test_link): Likewise.
25285         * lib/fchdir.c (get_name): Likewise.
25286         Reported by Jim Meyering.
25287
25288 2009-10-02  Ben Pfaff  <blp@gnu.org>
25289
25290         relocatable-prog-wrapper: Add missing dependency on
25291         double-slash-root.
25292         * modules/relocatable-prog-wrapper: Add dependency.
25293         Reported by Ian Beckwith <ianb@erislabs.net>.
25294
25295 2009-10-02  Eric Blake  <ebb9@byu.net>
25296
25297         renameat: fix Solaris bugs
25298         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
25299         needed fixing.
25300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
25301         * modules/stdio (Makefile.am): Substitute it.
25302         * lib/stdio.in.h (renameat): Declare replacement.
25303         * lib/renameat.c (rpl_renameat): Implement fix.
25304
25305         renameat: new module
25306         * modules/renameat: New file.
25307         * lib/renameat.c (renameat): Likewise.
25308         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
25309         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25310         * modules/stdio (Makefile.am): Substitute them.
25311         * lib/stdio.in.h (renameat): Declare it.
25312         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25313         * doc/posix-functions/renameat.texi (renameat): Likewise.
25314         * modules/renameat-tests: New test.
25315         * tests/test-renameat.c: Likewise.
25316
25317         rename: fix mingw bugs
25318         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
25319         directory overwrite bugs.
25320
25321         rename: fix another cygwin 1.5 bug
25322         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
25323         checks.
25324         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
25325         unnecessary cygwin workarounds.  Also work around bug with moving
25326         full directory onto an empty one.
25327         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
25328
25329         rename-dest-slash: merge into rename module
25330         * modules/rename-dest-slash (Status): Mark obsolete.
25331         (Depends-on): Add rename.
25332         (Files): Let rename do it all.
25333         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
25334         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
25335         * m4/rename-dest-slash.m4: ...so this file can be deleted.
25336         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
25337         * lib/rename.c (rpl_rename): Update comments.
25338
25339         rename: fix cygwin 1.5.x bugs
25340         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
25341         * lib/rename.c (rpl_rename): Work around them.
25342         * modules/rename (Depends-on): Add same-inode.
25343
25344         rename: fix Solaris 10 bug
25345         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25346         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
25347         was the only bug.
25348
25349         rename: fix Solaris 9 bug
25350         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
25351         on non-directory.  Avoid calling exit.
25352         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
25353         strdup.
25354         * modules/rename-tests (Depends-on): Drop lstat.
25355         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25356         (gl_PREREQ_RENAME): Delete unused macro.
25357
25358         rename-dest-slash: fix NetBSD bug
25359         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
25360         links.
25361         * modules/rename-dest-slash (Depends-on): Add same-inode.
25362
25363         rename-tests: new test, exposes several platform bugs
25364         * modules/rename-tests: New file.
25365         * tests/test-rename.h: Likewise.
25366         * tests/test-rename.c: Likewise.
25367         * doc/posix-functions/rename.texi (rename): Improve documentation,
25368         including bugs that will eventually be fixed in gnulib.
25369
25370 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
25371
25372         * lib/uname.c: Include <stdlib.h>
25373         (uname): Assume version info is available.
25374
25375 2009-10-02  Jim Meyering  <meyering@redhat.com>
25376
25377         gnu-web-doc-update: correct --help output
25378         * build-aux/gnu-web-doc-update: Make --help output relevant.
25379
25380         gnu-web-doc-update: add standard options
25381         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
25382
25383         gnu-web-doc-update: New module.
25384         Use this script to automatically update the on-line web documentation
25385         for your GNU project at http://www.gnu.org/software/$pkg/manual/
25386         * modules/gnu-web-doc-update: New file, from coreutils.
25387         * build-aux/gnu-web-doc-update: New script.
25388
25389 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
25390
25391         link: LoadLibrary is not needed.
25392         * lib/link.c: Use GetModuleHandle.
25393
25394 2009-10-01  Eric Blake  <ebb9@byu.net>
25395
25396         getopt: bump serial number
25397         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
25398         change.
25399
25400         tests: tighten link, rmdir, and remove tests
25401         * tests/test-link.h (includes): No need to use <config.h> here.
25402         Clean up if directory hard link was created, otherwise test for
25403         trailing '.'.
25404         * tests/test-linkat.c (main): Simplify.
25405         * tests/test-remove.c (main): Enhance test for trailing '.'.
25406         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25407
25408 2009-10-01  Jim Meyering  <meyering@redhat.com>
25409
25410         maint.mk: requiring "make major" was annoying, for a "minor" release.
25411         What is intended is "stable", to contrast with alpha and beta,
25412         so require "make stable", not "make major".
25413         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
25414         (get_tool_versions): Likewise.
25415         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
25416
25417 2009-09-30  Ben Pfaff  <blp@gnu.org>
25418
25419         Fix broken build of replacement for Windows tmpfile().
25420         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
25421         flags argument added along with the 'mkostemp' module.
25422
25423 2009-09-28  Bruno Haible  <bruno@clisp.org>
25424
25425         Avoid identifier clash with POSIX function 'remove' defined as a macro.
25426         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
25427         to 'remove_elt'.
25428         (gl_list_remove): Update.
25429         * lib/gl_list.c (gl_list_remove): Update.
25430         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
25431         to 'remove_elt'.
25432         (gl_oset_remove): Update.
25433         * lib/gl_list.c (gl_oset_remove): Update.
25434         Reported by Eric Blake.
25435
25436 2009-09-28  Eric Blake  <ebb9@byu.net>
25437
25438         doc: mention yet more cygwin 1.7 status
25439         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
25440         cygwin.
25441         * doc/glibc-functions/execvpe.texi (execvpe): New file.
25442         * doc/gnulib.texi (Glibc unistd.h): Mention it.
25443
25444         argp: fix test failure
25445         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
25446         that are not upper-case.  Pass correct range to tolower.
25447
25448 2009-09-27  Jim Meyering  <meyering@redhat.com>
25449
25450         test-yesno: work around sparc-dash here-document infelicity
25451         Without this change, the literal \177 byte in a here document
25452         would make dash 0.5.5.1-3 access uninitialized memory.
25453         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
25454         Instead, use a marker, "@", and filter through tr to create the desired
25455         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
25456
25457 2009-09-27  Bruno Haible  <bruno@clisp.org>
25458
25459         Disable untested support for new flavours of ACLs on AIX.
25460         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
25461         progress.
25462         * lib/set-mode-acl.c (qset_acl): Likewise.
25463
25464 2008-12-07  Bruno Haible  <bruno@clisp.org>
25465
25466         Add support for new flavours of ACLs on AIX. (Untested.)
25467         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
25468         (file_has_acl): Add support for newer AIX.
25469         * lib/set-mode-acl.c (qset_acl): Likewise.
25470         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
25471         Rainer Tammer <tammer@tammer.net>.
25472
25473 2009-09-26  Eric Blake  <ebb9@byu.net>
25474
25475         argp: fix compilation of getopt
25476         * lib/getopt.in.h (includes): Use different guard than glibc.
25477         Reported by Sergey Poznyakoff.
25478
25479         doc: mention more cygwin 1.7 status
25480         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
25481         bug.
25482         * doc/posix-functions/execl.texi (execl): Likewise.
25483         * doc/posix-functions/execle.texi (execle): Likewise.
25484         * doc/posix-functions/execlp.texi (execlp): Likewise.
25485         * doc/posix-functions/execv.texi (execv): Likewise.
25486         * doc/posix-functions/execve.texi (execve): Likewise.
25487         * doc/posix-functions/execvp.texi (execvp): Likewise.
25488         * doc/glibc-functions/canonicalize_file_name.texi
25489         (canonicalize_file_name): Cygwin 1.7 now provides this.
25490         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
25491         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
25492         on AT_SYMLINK_NOFOLLOW.
25493
25494 2009-09-24  Eric Blake  <ebb9@byu.net>
25495
25496         test-linkat: make test more robust
25497         * tests/test-linkat.c (main): Avoid collision with EEXIST.
25498
25499         getopt: fix inclusion guards for cygwin
25500         * modules/getopt-posix (Depends-on): Add include-next.
25501         (Makefile.am): Substitute more items in replacement header.
25502         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
25503         <getopt.h>.
25504         * lib/getopt.in.h (includes): Use split inclusion guard, and
25505         prefer <getopt.h> over include <unistd.h> when one is present.
25506         (option): Also override name of 'struct option'.
25507
25508         same-inode: revert prior change; it is not yet ready
25509         * NEWS: Undo mention of this change.
25510         * lib/same-inode.h (same-inode.h): Undo tri-state change.
25511         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25512         * lib/cycle-check.c (cycle_check): Likewise.
25513         * lib/same.c (same_name): Likewise.
25514         * lib/at-func2.c (at_func2): Likewise.
25515
25516 2009-09-23  Eric Blake  <ebb9@byu.net>
25517
25518         linkat: new module
25519         * modules/linkat: New file.
25520         * lib/at-func2.c (at_func2): Likewise.
25521         * lib/linkat.c (linkat): Likewise.
25522         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25523         * lib/openat-priv.h (at_func2): Add declaration.
25524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25525         * modules/unistd (Makefile.am): Substitute them.
25526         * lib/unistd.in.h (linkat): Declare it.
25527         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25528         * doc/posix-functions/linkat.texi (linkat): Likewise.
25529         * doc/posix-functions/link.texi (link): Tweak wording.
25530         * tests/test-link.c (main): Move guts...
25531         * tests/test-link.h (test_link): ...into new file.
25532         * modules/linkat-tests: New test.
25533         * tests/test-linkat.c: Likewise.
25534         * modules/link-tests (Files): Ship new file.
25535         (Depends-on): Add stdbool.
25536
25537         dirname: add library-safe mdir_name
25538         * lib/dirname.h (mdir_name): New prototype.
25539         * lib/dirname.c (dir_name): Move guts...
25540         (mdir_name): ...to new function that avoids xalloc_die.
25541
25542         fchdir: another mingw fix
25543         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
25544         * lib/fchdir.c (get_name): New helper method; skips canonicalize
25545         on mingw (where it has not yet been ported), and make it optional
25546         elsewhere.
25547         (_gl_register_fd): Use it.
25548
25549         same-inode: make SAME_INODE tri-state, to port to mingw
25550         * NEWS: Mention this change.
25551         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
25552         st_ino always being 0.
25553         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25554         * lib/cycle-check.c (cycle_check): Likewise.
25555         * lib/same.c (same_name): Likewise.
25556
25557         lstat: avoid mingw compilation error
25558         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
25559         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
25560         lstat ourselves.
25561         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
25562         was adequate.
25563         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
25564         the checks for lstat.
25565         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
25566
25567         link: fix test failure on Solaris 9
25568         * lib/link.c (rpl_link): Don't assume link will catch bogus
25569         trailing slash on source.
25570
25571         test-symlinkat: enhance test
25572         * tests/test-readlink.c (main): Move guts...
25573         * tests/test-readlink.h (test_readlink): ...into new file.
25574         * tests/test-symlink.c (main): Move guts...
25575         * tests/test-symlink.h (test_symlink): ...into new file.
25576         * tests/test-symlinkat.c (main): Use new files for further
25577         coverage.
25578         (do_symlink, do_readlink): New helper functions.
25579         * modules/symlink-tests (Files): Ship new file.
25580         (Depends-on): Add stdbool.
25581         * modules/readlink-tests (Files): Ship new file.
25582         (Depends-on): Add stdbool.
25583         * modules/symlinkat-tests (Files): Use new files.
25584
25585 2009-09-23  Eric Blake  <ebb9@byu.net>
25586
25587         readlink: document portability issue with symlink length
25588         * doc/posix-functions/lstat.texi (lstat): Mention that some file
25589         systems have bogus st_size on symlinks, and mention the
25590         areadlink-with-size module.
25591         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
25592         * doc/posix-functions/readlink.texi (readlink): Mention the
25593         areadlink module, and ERANGE failure.
25594         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25595         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
25596
25597         readlink: fix Solaris 9 bug with trailing slash
25598         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
25599         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
25600         * doc/posix-functions/readlink.texi (readlink): Document this.
25601         * modules/readlink-tests: New test.
25602         * tests/test-readlink.c: Likewise.
25603
25604         readlink: fix cygwin 1.5.x bug with return type
25605         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
25606         * lib/unistd.in.h (readlink): Use ssize_t.
25607         * lib/readlink.c (readlink): Likewise.
25608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25609         * modules/unistd (Makefile.am): Substitute it.
25610         * lib/unistd.in.h (readlink): Declare replacement.
25611         * doc/posix-functions/readlink.texi (readlink): Document this.
25612
25613         symlink: use throughout gnulib
25614         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
25615         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
25616         symlink is not used.
25617         * modules/symlinkat (Depends-on): Add symlink.
25618         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25619         * modules/canonicalize-tests (Depends-on): Likewise.
25620         * modules/lstat-tests (Depends-on): Likewise.
25621         * modules/openat-tests (Depends-on): Likewise.
25622         * modules/remove-tests (Depends-on): Likewise.
25623         * modules/rmdir-tests (Depends-on): Likewise.
25624         * modules/unlink-tests (Depends-on): Likewise.
25625         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
25626         * tests/test-canonicalize.c (symlink): Likewise.
25627         * tests/test-fstatat.c (symlink): Likewise.
25628         * tests/test-lstat.c (symlink): Likewise.
25629         * tests/test-remove.c (symlink): Likewise.
25630         * tests/test-rmdir.c (symlink): Likewise.
25631         * tests/test-unlink.c (symlink): Likewise.
25632         * tests/test-unlinkat.c (symlink): Likewise.
25633
25634         symlink: new module, for Solaris 9 bug
25635         * modules/symlink: New file.
25636         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25637         * lib/symlink.c: Likewise.
25638         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25639         * modules/unistd (Makefile.am): Substitute them.
25640         * lib/unistd.in.h (symlink): Declare replacement.
25641         * MODULES.html.sh (File system functions): Mention it.
25642         * doc/posix-functions/symlink.texi (symlink): Likewise.
25643         * modules/symlink-tests: New test.
25644         * tests/test-symlink.c: Likewise.
25645
25646 2009-09-23  Bruno Haible  <bruno@clisp.org>
25647
25648         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
25649         when needed.
25650         Test case: gnulib-tool --import --with-tests atexit inttypes.
25651         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
25652
25653 2009-09-23  Bruno Haible  <bruno@clisp.org>
25654
25655         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
25656         subcommand, not in a subshell.
25657
25658 2009-09-22  Eric Blake  <ebb9@byu.net>
25659
25660         unistd: sort replacement declarations
25661         * lib/unistd.in.h: Sort declarations.
25662
25663         open, openat: minor optimization
25664         * lib/open.c (open): If open succeeded, len is non-zero.
25665         * lib/openat.c (rpl_openat): Likewise.
25666
25667         link-follow: ensure correct result
25668         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
25669         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
25670         distinguish between possible failures.
25671
25672 2009-09-21  Eric Blake  <ebb9@byu.net>
25673
25674         fts: avoid compiler warning
25675         * lib/fts.c (dirent_inode_sort_may_be_useful)
25676         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
25677
25678 2009-09-19  Bruno Haible  <bruno@clisp.org>
25679
25680         * lib/progreloc.c (canonicalize_file_name): New declaration.
25681
25682 2009-09-19  Eric Blake  <ebb9@byu.net>
25683
25684         link: fix quoting
25685         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
25686
25687         openat: fix openat bugs on Solaris 9
25688         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
25689         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
25690         * modules/openat (Depends-on): Add open.
25691         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
25692         * modules/fcntl-h (Makefile.am): Substitute it.
25693         * lib/fcntl.in.h (openat): Declare replacement.
25694         * doc/posix-functions/openat.texi (openat): Document this.
25695
25696         openat: move fstatat and unlinkat into correct files
25697         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
25698         compiled.
25699         * lib/openat.c (fstatat, unlinkat): Move...
25700         * lib/fstatat.c (fstatat): ...into correct files.
25701         * lib/unlinkat.c (unlinkat): Likewise.
25702
25703         openat: fix unlinkat bugs on Solaris 9
25704         * lib/unlinkat.c (unlinkat): New file.
25705         * modules/openat (Depends-on): Add unlink.
25706         (Files): Distribute it.
25707         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
25708         trailing slash behavior is broken.
25709         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25710         * modules/unistd (Makefile.am): Substitute it.
25711         * lib/unistd.in.h (unlinkat): Declare replacement.
25712         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
25713
25714         openat: fix fstatat bugs on Solaris 9
25715         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
25716         stat.
25717         * doc/posix-functions/fstatat.texi (fstatat): Document this.
25718
25719         test-unlinkat: enhance test, to expose Solaris 9 bug
25720         * tests/test-unlink.c (main): Factor guts...
25721         * tests/test-unlink.h (test_rmdir_func): ...into new file.
25722         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
25723         * tests/test-rmdir.c (main): Adjust caller.
25724         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
25725         (unlinker): New helper function.
25726         (rmdirat): Enhance check.
25727         * modules/rmdir-tests (Depends-on): Add stdbool.
25728         * modules/unlink-tests (Depends-on): Likewise.
25729         (Files): Add test-unlink.h.
25730         * modules/openat-tests (Files): Likewise.
25731         (Depends-on): Add unlinkdir.
25732
25733         test-fstatat: new test, to expose Solaris 9 bugs
25734         * tests/test-stat.c (main): Factor guts...
25735         * tests/test-stat.h (test_stat_func): ...into new file.
25736         * tests/test-lstat.c (main): Factor guts...
25737         * tests/test-lstat.h (test_lstat_func): ...into new file.
25738         * tests/test-fstatat.c: New file.
25739         * modules/stat-tests (Files): Add test-stat.h.
25740         * modules/lstat-tests (Files): Add test-lstat.h.
25741         (Depends-on): Add stdbool.
25742         * modules/openat-tests (Depends-on): Add pathmax.
25743         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
25744         (Makefile.am): Run new test.
25745
25746         remove: new module, for mingw and Solaris 9 bugs
25747         * modules/remove: New file.
25748         * lib/remove.c: Likewise.
25749         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
25750         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25751         * modules/stdio (Makefile.am): Use them.
25752         * lib/stdio.in.h (remove): Declare replacement.
25753         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25754         * doc/posix-functions/remove.texi (remove): Likewise.
25755         * modules/remove-tests: New test.
25756         * tests/test-remove.c: Likewise.
25757
25758         unlink: new module, for Solaris 9 bug
25759         * modules/unlink: New file.
25760         * lib/unlink.c: Likewise.
25761         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25763         * modules/unistd (Makefile.am): Use them.
25764         * lib/unistd.in.h (stat): Declare replacement.
25765         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25766         * doc/posix-functions/unlink.texi (unlink): Likewise.
25767         * modules/unlink-tests: New test.
25768         * tests/test-unlink.c: Likewise.
25769
25770         lstat: fix Solaris 9 bug
25771         * lib/lstat.c (lstat): Also check for trailing slash on
25772         non-symlink, non-directories.  Use stat module to simplify logic.
25773         * doc/posix-functions/lstat.texi (lstat): Document it.
25774         * modules/lstat-tests (Depends-on): Add errno, same-inode.
25775         (configure.ac): Check for symlink.
25776         * tests/test-lstat.c (main): Add more tests.
25777
25778         stat: add as dependency to other modules
25779         * modules/chown (Depends-on): Add stat.
25780         * modules/euidaccess (Depends-on): Likewise.
25781         * modules/fchdir (Depends-on): Likewise.
25782         * modules/isdir (Depends-on): Likewise.
25783         * modules/link (Depends-on): Likewise.
25784         * modules/lstat (Depends-on): Likewise.
25785         * modules/mkdir-p (Depends-on): Likewise.
25786         * modules/modechange (Depends-on): Likewise.
25787         * modules/open (Depends-on): Likewise.
25788         * modules/readlink (Depends-on): Likewise.
25789         * modules/same (Depends-on): Likewise.
25790
25791         stat: fix Solaris 9 bug
25792         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
25793         slash.
25794         * lib/stat.c (rpl_stat): Work around it.
25795         * doc/posix-functions/stat.texi (stat): Update documentation.
25796
25797         stat: new module, for mingw bug
25798         * modules/stat: New file.
25799         * lib/stat.c: Likewise.
25800         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25801         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25802         * modules/sys_stat (Makefile.am): Use them.
25803         * lib/sys_stat.in.h (stat): Declare replacement.
25804         * lib/openat.c (fstatat): Deal with lstat and stat being function
25805         macros.
25806         * modules/openat (Depends-on): Add inline.
25807         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25808         * doc/posix-functions/stat.texi (stat): Likewise.
25809         * modules/stat-tests: New test.
25810         * tests/test-stat.c: Likewise.
25811
25812 2009-09-19  Jim Meyering  <meyering@redhat.com>
25813
25814         syntax-check: detect unnecessary inclusion of canonicalize.h
25815         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
25816
25817 2009-09-19  Eric Blake  <ebb9@byu.net>
25818
25819         canonicalize-lgpl: adjust clients to use correct header
25820         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25821         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
25822         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
25823         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
25824         * lib/progreloc.c (includes): Likewise.
25825
25826 2009-09-19  Jim Meyering  <meyering@redhat.com>
25827
25828         test-posixtm.c: correct a comment
25829         * tests/test-posixtm.c: Correct first-line comment.
25830         Spotted by Eric Blake.
25831
25832 2009-09-16  Jim Meyering  <meyering@redhat.com>
25833
25834         posixtm-tests: make T const-correct; add a test case
25835         * tests/test-posixtm.c (T): Declare const.
25836         Add a test for -(2^31+1).
25837         Remove useless can-succeed-only-in-2002 test.
25838
25839         posixtm-tests: adjust the sole failing test
25840         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
25841         expected output matches what mktime now produces.  Cross-checked via
25842         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
25843
25844         posixtm: move #ifdef'd tests into a new module
25845         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
25846         * tests/test-posixtm.c: ... this new file.
25847         * modules/posixtm-tests: New module.
25848
25849 2009-09-19  Eric Blake  <ebb9@byu.net>
25850
25851         openat: simplify use of at-func.c
25852         * lib/at-func.c (includes): Include prerequisites here, to
25853         simplify requirements on client files.
25854         * lib/openat-priv.h: Add double-inclusion guard.
25855         * lib/faccessat.c (includes): Simplify.
25856         * lib/fchmodat.c (includes): Likewise.
25857         * lib/fchownat.c (includes): Likewise.
25858         * lib/mkdirat.c (includes): Likewise.
25859         * lib/mkfifoat.c (includes): Likewise.
25860         * lib/symlinkat.c (includes): Likewise.
25861
25862         openat: allow return of fd 0
25863         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
25864         * modules/save-cwd (Depends-on): Replace fcntl-safer with
25865         unistd-safer.
25866         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
25867         <fcntl.h>; this module does not leak fds.
25868         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
25869         must be allowed to return 0, leaving openat_safer to add the
25870         safety.
25871         (openat_permissive): Avoid writing to just-opened fd 2 if
25872         restoring the current directory fails.
25873         * lib/openat-die.c (openat_restore_fail): Add comment.
25874         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
25875         (save_cwd): Guarantee safe fd, but without use of open_safer.
25876         * tests/test-openat.c: New test.
25877         * modules/openat-tests (Files, Makefile.am): Distribute and build
25878         new file.
25879
25880         relocatable-prog-wrapper: fix build
25881         * modules/relocatable-prog-wrapper (Files): Update name of
25882         canonicalize m4 file, broken on 2009-09-17.
25883         Reported by emad hajjar <aleppos@hotmail.com>.
25884
25885 2009-09-19  Bruno Haible  <bruno@clisp.org>
25886
25887         * lib/safe-alloc.h: Use the standard header with GPL copyright.
25888         * lib/safe-alloc.c: Likewise.
25889         Reported by Ian Beckwith <ianb@erislabs.net>.
25890
25891 2009-09-18  Bruno Haible  <bruno@clisp.org>
25892
25893         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
25894         Reported by <erobles@sensacd.com.mx>.
25895
25896 2009-09-17  Eric Blake  <ebb9@byu.net>
25897
25898         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
25899         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
25900         slashes when checking if last component is missing.
25901         * tests/test-canonicalize.c (main): Test this.
25902
25903         canonicalize, canonicalize-lgpl: honor // if distinct from /
25904         * modules/canonicalize (Files): Add double-slash-root.m4.
25905         * modules/canonicalize-lgpl (Files): Likewise.
25906         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25907         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
25908         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
25909         fallback definition.
25910         (canonicalize_filename_mode): Use it to protect //.
25911         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
25912         (__realpath): Likewise.
25913         * tests/test-canonicalize.c (main): Test this.
25914         * tests/test-canonicalize-lgpl.c (main): Likewise.
25915         * modules/canonicalize-tests (Depends-on): Add same-inode.
25916         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25917
25918         canonicalize-lgpl: fix glibc bug with trailing slash
25919         * m4/canonicalize-lgpl.m4: Move contents...
25920         * m4/canonicalize.m4: ...here.
25921         (gl_CANONICALIZE_LGPL): Factor realpath check...
25922         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
25923         glibc 2.3.5 bug, fixed 2005-04-27.
25924         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
25925         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
25926         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
25927         * modules/canonicalize-lgpl (Files): Manage file rename.
25928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25929         * modules/stdlib (Makefile.am): Substitute witness.
25930         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
25931         is needed.
25932         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
25933         replacement is required.
25934         * lib/canonicalize.c (canonicalize_file_name): Likewise.
25935         * doc/glibc-functions/canonicalize_file_name.texi
25936         (canonicalize_file_name): Document this.
25937         * doc/posix-functions/realpath.texi (realpath): Likewise.
25938
25939         canonicalize-lgpl: reject non-directory with trailing slash
25940         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
25941         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
25942         catches failures in glibc 2.3.5.
25943         * tests/test-canonicalize.c (main): Likewise.
25944
25945         canonicalize-lgpl: use native realpath if it works
25946         * lib/canonicalize-lgpl.c (realpath): Guard with
25947         FUNC_REALPATH_WORKS.
25948         * lib/stdlib.in.h (realpath): Make declaration optional based on
25949         HAVE_REALPATH.
25950         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
25951         native realpath works.
25952         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25953         * modules/stdlib (Makefile.am): Substitute witness.
25954
25955         canonicalize, canonicalize-lgpl: use <stdlib.h>
25956         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
25957         (Include): Mention <stdlib.h>.
25958         (configure.ac): Mention functions we provide.
25959         * modules/canonicalize (configure.ac): Likewise.
25960         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
25961         realpath if canonicalize_file_name is missing.
25962         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
25963         * modules/stdlib (Makefile.am): Substitute witnesses.
25964         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
25965         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
25966         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
25967         * NEWS: Document this.
25968         * doc/glibc-functions/canonicalize_file_name.texi
25969         (canonicalize_file_name): Likewise.
25970         * doc/posix-functions/realpath.texi (realpath): Likewise.
25971         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
25972
25973         test-canonicalize: consolidate into single C program
25974         * tests/test-canonicalize.sh: Delete; move setup into...
25975         * tests/test-canonicalize.c (main): ...the program, making it
25976         easier to run in debugger.  Add some tests.
25977         * modules/canonicalize-tests (Files): Remove unused file.
25978         (Depends-on): Add progname.
25979         (configure.ac, Makefile.am): Simplify.
25980
25981         test-canonicalize-lgpl: consolidate into single C program
25982         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
25983         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
25984         easier to run in debugger.  Add some tests.
25985         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
25986         (configure.ac, Makefile.am): Simplify.
25987
25988         canonicalize: avoid resolvepath
25989         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
25990         unnecessary checks.
25991         * lib/canonicalize.c (includes): Simplify.
25992         (canonicalize_file_name): Drop resolvepath implementation.
25993         * modules/canonicalize (Depends-on): Drop filenamecat.
25994
25995         canonicalize: don't lose errno
25996         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
25997         over calls to free.
25998
25999         canonicalize: simplify errno handling
26000         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
26001         assignment.
26002
26003         canonicalize, canonicalize-lgpl: update module dependencies
26004         * modules/canonicalize (Depends-on): Add extensions, lstat,
26005         pathmax, stdlib.
26006         (Files): Drop pathmax.h.
26007         (configure.ac): Adjust macro name.
26008         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
26009         lstat, stdlib, sys_stat.
26010         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
26011         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
26012         extensions.
26013         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
26014         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
26015         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
26016         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
26017         declaration, if available.
26018         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
26019         we can rely on the readlink module.
26020         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
26021         (includes): Use <unistd.h> unconditionally.
26022
26023 2009-09-17  Eric Blake  <ebb9@byu.net>
26024
26025         maint: make Include sections of modules consistent
26026         * modules/alloca: Use only header name; no need to list #include.
26027         * modules/alloca-opt: Likewise.
26028         * modules/arpa_inet: Likewise.
26029         * modules/canon-host: Likewise.
26030         * modules/configmake: Likewise.
26031         * modules/dirent: Likewise.
26032         * modules/eealloc: Likewise.
26033         * modules/environ: Likewise.
26034         * modules/fchdir: Likewise.
26035         * modules/fcntl: Likewise.
26036         * modules/fcntl-h: Likewise.
26037         * modules/gethrxtime: Likewise.
26038         * modules/gettime: Likewise.
26039         * modules/ignore-value: Likewise.
26040         * modules/inet_ntop: Likewise.
26041         * modules/inet_pton: Likewise.
26042         * modules/inttypes: Likewise.
26043         * modules/isnand-nolibm: Likewise.
26044         * modules/isnanf-nolibm: Likewise.
26045         * modules/mbchar: Likewise.
26046         * modules/mbfile: Likewise.
26047         * modules/mbiter: Likewise.
26048         * modules/mbuiter: Likewise.
26049         * modules/netdb: Likewise.
26050         * modules/netinet_in: Likewise.
26051         * modules/nproc: Likewise.
26052         * modules/pagealign_alloc: Likewise.
26053         * modules/poll: Likewise.
26054         * modules/printf-frexp: Likewise.
26055         * modules/pthread: Likewise.
26056         * modules/putenv: Likewise.
26057         * modules/random_r: Likewise.
26058         * modules/relocatable-prog: Likewise.
26059         * modules/search: Likewise.
26060         * modules/select: Likewise.
26061         * modules/selinux-h: Likewise.
26062         * modules/settime: Likewise.
26063         * modules/signal: Likewise.
26064         * modules/size_max: Likewise.
26065         * modules/socklen: Likewise.
26066         * modules/ssize_t: Likewise.
26067         * modules/stdarg: Likewise.
26068         * modules/stdbool: Likewise.
26069         * modules/stddef: Likewise.
26070         * modules/stdint: Likewise.
26071         * modules/stdio: Likewise.
26072         * modules/stdlib: Likewise.
26073         * modules/string: Likewise.
26074         * modules/strings: Likewise.
26075         * modules/sys_file: Likewise.
26076         * modules/sys_ioctl: Likewise.
26077         * modules/sys_select: Likewise.
26078         * modules/sys_socket: Likewise.
26079         * modules/sys_stat: Likewise.
26080         * modules/sys_time: Likewise.
26081         * modules/sys_times: Likewise.
26082         * modules/sys_utsname: Likewise.
26083         * modules/sys_wait: Likewise.
26084         * modules/sysexits: Likewise.
26085         * modules/time: Likewise.
26086         * modules/times: Likewise.
26087         * modules/tmpfile: Likewise.
26088         * modules/trim: Likewise.
26089         * modules/unistd: Likewise.
26090         * modules/wchar: Likewise.
26091         * modules/wctype: Likewise.
26092
26093 2009-09-17  Bruno Haible  <bruno@clisp.org>
26094
26095         Make getdate.y compile on QNX and NetBSD 5 / i386.
26096         * m4/getdate.m4 (gl_GETDATE): Conditionally define
26097         TIME_T_FITS_IN_LONG_INT.
26098         * lib/getdate.y (long_time_t): New type.
26099         (relative_time): Change type of 'seconds' field to long_time_t.
26100         (get_date): Update types of local variables. Check against overflow
26101         during conversion from long_time_t to time_t.
26102         Reported by Matt Kraai <kraai@ftbfs.org>
26103         and Hasso Tepper <hasso@netbsd.org>.
26104
26105 2009-09-17  Bruno Haible  <bruno@clisp.org>
26106
26107         * modules/COPYING: Update copyright years.
26108         * modules/README: Likeiwse.
26109         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
26110         Reported by Ian Beckwith <ianb@erislabs.net>.
26111
26112 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26113
26114         * users.txt: Update references for gnuit package.
26115
26116 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26117
26118         * m4/getdelim.m4: Fix typo in copyright line.
26119
26120 2009-09-17  Bruno Haible  <bruno@clisp.org>
26121
26122         * lib/atoll.c: Use the standard header with GPL copyright.
26123         * lib/argz.in.h: Likewise.
26124         * lib/glob.c: Likewise.
26125         * lib/glob-libc.h: Likewise.
26126         * lib/random_r.c: Likewise.
26127         * lib/siglist.h: Likewise.
26128         * lib/strsignal.c: Likewise.
26129         Reported by Ian Beckwith <ianb@erislabs.net>.
26130
26131 2009-09-17  Eric Blake  <ebb9@byu.net>
26132
26133         rmdir: ensure correct dependency order
26134         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
26135
26136 2009-09-17  Bruno Haible  <bruno@clisp.org>
26137
26138         Disable assertion that fails on NetBSD 5 / i386.
26139         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
26140         Reported by Sam Steingold <sds@gnu.org>
26141         and Hasso Tepper <hasso@netbsd.org>.
26142
26143 2009-09-16  Eric Blake  <ebb9@byu.net>
26144
26145         unlinkdir: port to mingw
26146         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
26147         on which no one can unlink a directory.
26148
26149         stdlib: sort witness names
26150         * modules/stdlib (Makefile.am): Sort replacements.
26151         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
26152         * lib/stdlib.in.h: Likewise.
26153
26154         parse-duration-tests: avoid link failure
26155         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
26156         LIBINTL.
26157         Reported by Tom G. Christensen.
26158
26159         openat-tests: ensure unlinkat behaves like rmdir
26160         * tests/test-rmdir.c (main): Factor guts...
26161         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
26162         * modules/rmdir-tests (Files): Ship new file.
26163         * modules/openat-tests: New test.
26164         * tests/test-unlinkat.c: Likewise.
26165
26166         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
26167         * modules/rmdir-errno (Status, Notice): Now obsolete.
26168
26169         rmdir: work around cygwin 1.5.x and mingw bugs
26170         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
26171         * lib/rmdir.c (rmdir): Work around it.
26172         * modules/rmdir (Status, Notice): No longer obsolete.
26173         (Files): Add dos.m4.
26174         (Depends-on): Add unistd.
26175         (configure.ac): Set witnesses.
26176         (License): Relax to LGPLv2+.
26177         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
26178         * modules/unistd (Makefile.am): Substitute witnesses.
26179         * lib/unistd.in.h (rmdir): Declare replacement.
26180         * doc/posix-functions/rmdir.texi (rmdir): Document this.
26181         * modules/rmdir-tests: New tests.
26182         * tests/test-rmdir.c: Likewise.
26183
26184 2009-09-15  Eric Blake  <ebb9@byu.net>
26185
26186         fchdir: improve use of replacement functions
26187         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
26188         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
26189         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
26190         REPLACE_CLOSEDIR.
26191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
26192         * modules/sys_stat (Makefile.am): Substitute correct witness.
26193         * modules/dirent (Makefile.am): Likewise.
26194         * modules/unistd (Makefile.am): Likewise.
26195         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
26196         * lib/unistd.in.h (dup): Likewise.
26197         * lib/sys_stat.in.h (fstat): Likewise.
26198
26199         maint: ignore gnulib-tool temp files
26200         * .gitignore: Ignore files created during gnulib-tool --test.
26201
26202 2009-09-13  Jim Meyering  <meyering@redhat.com>
26203
26204         posixtm: don't reject a time that specify "60" as the number of seconds
26205         * lib/posixtm.c (posixtime): The code to reject invalid dates
26206         would also reject a time specified with the .60 suffix.
26207         But POSIX allows that, in order to accommodate leap seconds.
26208         So don't reject it.
26209         (main): Adjust tests accordingly.
26210         * modules/posixtm (Depends-on): Add stpcpy.
26211
26212 2009-09-11  Jim Meyering  <meyering@redhat.com>
26213
26214         announce-gen: include [$release_type] in emitted Subject:
26215         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
26216         e.g., [stable] in the emitted Subject: line.
26217
26218 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26219
26220         Remove obsolete macros from several modules.
26221         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
26222         obsolete Autoconf macros with their modern counterparts.
26223         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
26224         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
26225         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26226         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
26227         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
26228         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26229         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26230         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26231         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
26232         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
26233         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
26234         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
26235         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
26236         * m4/sockets.m4 (gl_SOCKETS): Likewise.
26237         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
26238         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
26239         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
26240         * m4/time_r.m4 (gl_TIME_R): Likewise.
26241         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
26242         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
26243         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
26244
26245         Fix copyright header in build-aux scripts.
26246         * build-aux/git-version-gen: Fix copyright header to match GPLv3
26247         recommendation.
26248         * build-aux/ncftpput-ftp: Likewise.
26249         * build-aux/update-copyright: Likewise.
26250
26251 2009-09-09  Eric Blake  <ebb9@byu.net>
26252
26253         test-link: allow Linux choice of errno
26254         * tests/test-link.c (main): Relax test for alternate error.
26255
26256         strndup: fix improper m4 caching
26257         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
26258         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
26259         (gl_PREREQ_STRNDUP): Delete.
26260         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
26261         * modules/string (Makefile.am): Substitute it.
26262         * lib/string.in.h (strndup): Modernize prototype.
26263
26264         getcwd: port to mingw
26265         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
26266         different from the POSIX assumptions made throughout the getcwd
26267         module; fortunately, the mingw getcwd does not need replacement.
26268         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
26269         * modules/getcwd-tests: New test.
26270         * tests/test-getcwd.c: Likewise.
26271
26272         link: fix platform bugs
26273         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
26274         * lib/link.c (link): Work around them.  Fix related mingw bug.
26275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
26276         * modules/unistd (Makefile.am): Substitute it.
26277         * lib/unistd.in.h (link): Declare replacement.
26278         * doc/posix-functions/link.texi (link): Document this.
26279         * modules/link (Depends-on): Add strdup-posix, sys_stat.
26280
26281         test-link: consolidate into single C program, test more cases
26282         * tests/test-link.sh: Delete.
26283         * tests/test-link.c: Test more error conditions.  Exposes bugs on
26284         at least Cygwin and Solaris.
26285         * modules/link-tests (Files): Remove unused file.
26286         (Depends-on): Add errno, sys_stat.
26287         (Makefile.am): Simplify.
26288
26289 2009-09-08  Bruno Haible  <bruno@clisp.org>
26290
26291         Work around towlower, towupper bug on mingw.
26292         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
26293         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
26294         * doc/posix-functions/towlower.texi: Mention the mingw bug.
26295         * doc/posix-functions/towupper.texi: Likewise.
26296         Reported by Eric Blake.
26297
26298 2009-09-08  Jim Meyering  <meyering@redhat.com>
26299
26300         build: don't try to run autoheader if we don't use it
26301         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
26302         is not used in configure.ac.
26303
26304 2009-09-08  Eric Blake  <ebb9@byu.net>
26305
26306         euidaccess: fix compilation error
26307         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
26308
26309         rawmemchr: relax license
26310         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
26311         okay.
26312         Reported by Jim Meyering.
26313
26314         mkfifoat: new module
26315         * modules/mkfifoat: New file.
26316         * lib/mkfifoat.c: Likewise.
26317         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
26318         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26319         * modules/sys_stat (Makefile.am): Use them.
26320         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
26321         * MODULES.html.sh (File system functions): Mention module.
26322         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
26323         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
26324         * modules/mkfifoat-tests: New test.
26325         * tests/test-mkfifoat.c: Likewise.
26326
26327         strchrnul: relax license
26328         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
26329         okay.
26330         Reported by Jim Meyering.
26331
26332 2009-09-08  Eric Blake  <ebb9@byu.net>
26333
26334         fstatat: fix compilation on Solaris
26335         * lib/fstatat.c (includes): Add fcntl.h.
26336         Reported by Pádraig Brady.
26337
26338 2009-09-07  Eric Blake  <ebb9@byu.net>
26339
26340         rename: modernize replacement
26341         * modules/rename (Depends-on): Add stdio.
26342         (configure.ac): Declare witness.
26343         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
26344         stdio take care of replacement.
26345         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
26346         * modules/stdio (Makefile.am): Substitute them.
26347         * lib/stdio.in.h (rename): Declare replacement.
26348         * lib/rename.c (includes): Allow cross-compilation to non-windows
26349         machines.
26350         * doc/posix-functions/rename.texi (rename): Improve
26351         documentation.
26352
26353         stdio: sort witness names
26354         * modules/stdio (Makefile.am): Sort replacements.
26355         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26356         * lib/stdio.in.h: Likewise.
26357
26358         getcwd: minor cleanups
26359         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
26360         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
26361
26362         openat: provide more convenience names
26363         * modules/faccessat (configure.ac): Add C witness.
26364         * lib/unistd.in.h (readlinkat): Fix typo.
26365         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
26366         convenience wrappers.
26367         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
26368         wrappers in syntax checks.
26369
26370 2009-09-06  Eric Blake  <ebb9@byu.net>
26371
26372         doc: fix comments in recent patches
26373         * lib/faccessat.c: Mention correct function.
26374         * lib/fchmodat.c: Likewise.
26375         * lib/fchownat.c: Likewise.
26376         * lib/symlinkat.c: Likewise.
26377         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
26378         constants.
26379
26380         faccessat, symlinkat: continue cleanup of previous patch
26381         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
26382         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26383         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
26384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
26385         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
26386         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
26387         set.
26388
26389 2009-09-06  Bruno Haible  <bruno@clisp.org>
26390
26391         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
26392         (fstatat): Declare if GNULIB_FSTATAT is set.
26393         (mkdirat): Declare if GNULIB_MKDIRAT is set.
26394         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
26395         (unlinkat): Declare if GNULIB_UNLINKAT is set.
26396         * modules/fcntl-h (Files): Remove m4/openat.m4.
26397         * modules/sys_stat (Files): Remove m4/openat.m4.
26398         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
26399         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
26400         * modules/unistd (Files): Remove m4/openat.m4.
26401         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
26402         GNULIB_OPENAT.
26403         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
26404         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
26405         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
26406         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
26407         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
26408         gl_OPENAT_DEFAULTS.
26409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
26410         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
26411         Don't require gl_OPENAT_DEFAULTS.
26412         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
26413         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
26414         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
26415         (gl_OPENAT_DEFAULTS): Remove macro.
26416
26417 2009-09-06  Bruno Haible  <bruno@clisp.org>
26418
26419         * modules/openat (configure.ac): Remove unneeded witness.
26420
26421 2009-09-06  Bruno Haible  <bruno@clisp.org>
26422
26423         Set errno to ENOSYS when a function is entirely unsupported.
26424         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
26425         EOPNOTSUPP.
26426         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26427         * modules/chown (Depends-on): Remove errno.
26428
26429 2009-09-06  Bruno Haible  <bruno@clisp.org>
26430
26431         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
26432
26433 2009-09-06  Bruno Haible  <bruno@clisp.org>
26434
26435         * lib/sys_stat.in.h: Fix preprocessor command indentation.
26436
26437 2009-09-06  Ben Pfaff  <blp@gnu.org>
26438             Bruno Haible  <bruno@clisp.org>
26439
26440         Work around a glibc bug in strtok_r.
26441         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
26442         Undefine if UNDEFINE_STRTOK_R is set.
26443         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
26444         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26445         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
26446         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
26447         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
26448         UNDEFINE_STRTOK_R.
26449         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
26450
26451 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26452
26453         exclude: minor fix
26454         * lib/exclude.c: Include wctype.h
26455
26456 2009-09-06  Akim Demaille  <demaille@gostai.com>
26457
26458         bootstrap: improve error message
26459         * build-aux/bootstrap (find_tool): Upon failure, report the list
26460         of candidates.
26461         Honor the initial value of the envvar.
26462
26463 2009-09-05  Eric Blake  <ebb9@byu.net>
26464
26465         symlinkat: new module
26466         * modules/symlinkat: New file.
26467         * lib/symlinkat.c: Likewise.
26468         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
26469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26470         * modules/unistd (Makefile.am): Use them.
26471         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
26472         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
26473         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
26474         * MODULES.html.sh (File system functions): Mention module.
26475         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26476         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26477         * modules/symlinkat-tests: New test.
26478         * tests/test-symlinkat.c: Likewise.
26479
26480         test-openat-safer: add more checks
26481         * tests/test-openat-safer.c (main): Check more code paths.
26482
26483 2009-09-05  Jim Meyering  <meyering@redhat.com>
26484
26485         syntax-check: detect unnecessary inclusion of openat.h
26486         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
26487
26488 2009-09-05  Bruno Haible  <bruno@clisp.org>
26489
26490         Support towlower, towupper.
26491         * doc/posix-functions/towlower.texi: Mention module wctype.
26492         * doc/posix-functions/towupper.texi: Likewise.
26493         * lib/wctype.in.h (towlower, towupper): New functions.
26494         * tests/test-wctype.c: Include stdio.h, stdlib.h.
26495         (ASSERT): New macro.
26496         (e): New variable.
26497         (main): Test also towlower, towupper. Test WEOF argument.
26498         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26499
26500 2009-09-05  Bruno Haible  <bruno@clisp.org>
26501
26502         Fix conversion behaviour when the input is invalid.
26503         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
26504         mark occurring in first pass of indirect conversion.
26505         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
26506         input.
26507         Found by clang's static analyzer.
26508
26509 2009-09-05  Bruno Haible  <bruno@clisp.org>
26510
26511         * tests/test-striconveh.c (main): Test indirect conversion on platforms
26512         where direct conversion is possible.
26513
26514 2009-09-04  Eric Blake  <ebb9@byu.net>
26515
26516         openat: fail with ENOENT on empty name
26517         * lib/openat-proc.c (openat_proc_name): Special-case the empty
26518         buffer.
26519
26520         link-follow: fix logic bug in prior patch
26521         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
26522         reversed sense of yes and no in prior patch.  Avoid confusing
26523         compilation failure with desired semantics.
26524
26525         link-follow: accomodate mingw and cross-compilation
26526         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
26527         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
26528         cross-compilation results to -1, to make linkat easier to
26529         implement when cross-compiling.  Trivially support mingw.
26530         * modules/link-follow (configure.ac): Call new name.
26531         * NEWS: Mention this.
26532
26533 2009-09-03  Eric Blake  <ebb9@byu.net>
26534
26535         faccessat: compile replacement
26536         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
26537         needed.
26538
26539         fts: fix compilation error
26540         * lib/fts.c (includes): Re-add "openat.h", for
26541         openat_needs_fchdir.
26542
26543         faccessat: new module
26544         * modules/faccessat: New file.
26545         * lib/faccessat.c: Likewise.
26546         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26547         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26548         * modules/unistd (Makefile.am): Use it.
26549         * lib/unistd.in.h (faccessat): Declare it.
26550         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
26551         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
26552         * MODULES.html.sh (File system functions): Mention it.
26553         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
26554         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26555
26556         euidaccess: prefer POSIX over non-standard implementation
26557         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
26558         * lib/euidaccess.c (euidaccess): Use it if available.
26559
26560         openat: make template easier to use
26561         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
26562         AT_FUNC_F2 to be undefined.
26563         (VALIDATE_FLAG): New macro; use it to reject bad flags.
26564         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
26565         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
26566         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
26567         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
26568         Likewise.
26569         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
26570         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
26571         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
26572         Likewise.
26573
26574         openat: declare in POSIX headers
26575         * NEWS: Mention this.
26576         * modules/openat (configure.ac): Declare witnesses.
26577         (Depends-on): Add fcntl-h, sys_stat, unistd.
26578         (Include): Mention correct headers.
26579         * modules/fcntl-h (Depends-on): Add link-warning.
26580         (Files): Add openat.m4.
26581         (Makefile.am): Substitute witnesses.
26582         * modules/sys_stat (Files, Makefile.am): Likewise.
26583         * modules/unistd (Files, Makefile.am): Likewise.
26584         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
26585         (gl_OPENAT_DEFAULTS): New macro.
26586         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
26587         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
26588         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
26589         (SYS_STAT_H): Remove unused variable.
26590         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
26591         * lib/fcntl--.h (includes): Remove unneeded header.
26592         * lib/openat-safer.c (includes): Likewise.
26593         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
26594         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
26595         appropriate headers.
26596         (__OPENAT_PREFIX): Delete.
26597         * lib/fcntl.in.h (openat): Provide declaration.
26598         (AT_FDCWD): Fix Solaris bug.
26599         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
26600         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
26601         * lib/fchmodat.c (includes):  Adjust to find declaration.
26602         * lib/fchownat.c (includes): Likewise.
26603         * lib/mkdirat.c (includes): Likewise.
26604         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
26605         still visible.
26606
26607 2009-09-02  Eric Blake  <ebb9@byu.net>
26608
26609         errno: use consistently
26610         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
26611         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
26612         * lib/canonicalize.c (ELOOP): Likewise.
26613         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
26614         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
26615         * lib/lchown.c (EOPNOTSUPP): Likewise.
26616         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
26617         * lib/savewd.c (ESTALE): Likewise.
26618         * lib/settime.c (ENOSYS): Likewise.
26619         * lib/utimens.c (ENOSYS): Likewise.
26620         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
26621         * lib/chdir-safer.c (ELOOP): Likewise.
26622         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
26623         * modules/c-stack (Depends-on): Add errno.
26624         * modules/canonicalize (Depends-on): Likewise.
26625         * modules/chdir-safer (Depends-on): Likewise.
26626         * modules/fdopendir (Depends-on): Likewise.
26627         * modules/inet_ntop (Depends-on): Likewise.
26628         * modules/inet_pton (Depends-on): Likewise.
26629         * modules/lchown (Depends-on): Likewise.
26630         * modules/openat (Depends-on): Likewise.
26631         * modules/savewd (Depends-on): Likewise.
26632         * modules/settime (Depends-on): Likewise.
26633         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
26634
26635         fts: avoid leaking fds
26636         * modules/fts (Depends-on): Add cloexec.
26637         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
26638         flag.
26639
26640         fts: make directory fds more robust
26641         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
26642         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
26643
26644         backupfile, chdir-long, fts, savedir: make safer
26645         * lib/backupfile.c (includes): Use "dirent--.h", since
26646         numbered_backup can write to stderr during readdir.
26647         * lib/savedir.c (includes): Likewise.
26648         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
26649         emulation can write to stderr on failure.
26650         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
26651         * lib/getcwd.c: Document why opendir_safer is unused.
26652         * lib/glob.c: Likewise.
26653         * lib/scandir.c: Likewise.
26654         * lib/openat-proc.c: Likewise, for open_safer.
26655         * modules/backupfile (Depends-on): Add dirent-safer.
26656         * modules/savedir (Depends-on): Likewise.
26657         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
26658         * modules/chdir-long (Depends-on): Add openat-safer.
26659
26660         openat-safer: new module
26661         * modules/openat-safer: New file.
26662         * lib/openat-safer.c: Likewise.
26663         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
26664         * lib/fcntl-safer.h (openat_safer): Declare.
26665         * lib/fcntl--.h (openat): Override.
26666         * MODULES.html.sh (File descriptor based I/O): Mention it.
26667         * lib/openat.h: Add double-inclusion guards.
26668         * lib/openat.c (includes): Only include "fcntl-safer.h", not
26669         "fcntl--.h", so we can implement openat.
26670         * modules/openat-safer-tests: New test.
26671         * tests/test-openat-safer.c: New file.
26672
26673         dirent-safer: new module
26674         * modules/dirent-safer: New file.
26675         * lib/dirent--.h: Likewise.
26676         * lib/dirent-safer.h: Likewise.
26677         * lib/opendir-safer.c: Likewise.
26678         * m4/dirent-safer.m4: Likewise.
26679         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
26680         * modules/dirent-safer-tests: New test.
26681         * tests/test-dirent-safer.c: New file.
26682         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
26683
26684         fdopendir: optimize on mingw
26685         * lib/unistd.in.h (_gl_directory_name): New prototype.
26686         * lib/fchdir.c (_gl_directory_name): Implement it.
26687         (fchdir): Use it to simplify implementation.
26688         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
26689         fchdir, when available, to avoid calling [f]chdir().
26690
26691         fdopendir: split into its own module
26692         * lib/openat.c (fdopendir): Move...
26693         * lib/fdopendir.c: ...into new file.
26694         * modules/fdopendir: New module.
26695         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
26696         * modules/openat (Depends-on): Add fdopendir.
26697         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
26698         fdopendir here.
26699         * modules/savedir (Depends-on): Only need fdopendir, not full
26700         openat.
26701         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
26702         * lib/openat.h (fdopendir): Drop prototype.
26703         * lib/dirent.in.h (fdopendir): Provide prototype.
26704         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
26705         * modules/dirent (Makefile.am): Substitute them.
26706         * MODULES.html.sh (File system functions): Mention it.
26707         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
26708         * modules/fdopendir-tests: New file.
26709         * tests/test-fdopendir.c: Likewise.
26710
26711         fchdir: use more consistent macro convention
26712         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
26713         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
26714         REPLACE_FCHDIR, rather than relying on config.h macros.
26715         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
26716         inside a single make-time REPLACE_FCHDIR block, rather than using
26717         the config.h FCHDIR_REPLACEMENT.
26718         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
26719         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
26720         Manage fstat replacement.
26721         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
26722         REPLACE_FCHDIR.
26723         * modules/sys_stat (Files): Add m4/unistd_h.m4.
26724         (Makefile.am): Substitute REPLACE_FCHDIR.
26725         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
26726         FCHDIR_REPLACEMENT.
26727         * lib/dup-safer.c (dup_safer): Likewise.
26728         * lib/dup2.c (rpl_dup2): Likewise.
26729         * lib/dup3.c (rpl_dup3): Likewise.
26730         * lib/open.c (rpl_open): Likewise.
26731
26732         fchdir: simplify error handling, and support dup3
26733         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
26734         stdbool, malloc-posix, realloc-posix.
26735         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
26736         (ensure_dirs_slot): Return false on allocation failure.
26737         (rpl_dup2): Delete.
26738         (_gl_register_dup): New function.
26739         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
26740         (_gl_register_fd): Close fd on allocation failure.
26741         * lib/fcntl.in.h (_gl_register_fd): Update signature.
26742         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
26743         prototype.
26744         (rpl_dup2_fchdir): Delete prototype.
26745         * lib/open.c (open): Update caller.
26746         * lib/dup2.c (dup2): Track fchdir metadata.
26747         * lib/dup3.c (dup3): Likewise.
26748         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
26749         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
26750
26751 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26752
26753         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
26754         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
26755         don't pass arguments to AC_OUTPUT.
26756
26757 2009-09-02  Bruno Haible  <bruno@clisp.org>
26758
26759         * modules/mkdtemp (License): Relicense under LGPLv2+.
26760         Reported by Paolo Bonzini.
26761
26762 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26763
26764         Replace uses of obsolete autoconf macros in Jim's modules.
26765         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
26766         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
26767         can evoke a warning from autoconf when run with -Wobsolete
26768         enabled.  They were declared obsolete for good reasons (see
26769         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
26770         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
26771         should not continue using the deprecated macros.
26772         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
26773         obsolete Autoconf macros with modern counterparts.
26774         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
26775         * m4/dos.m4 (gl_AC_DOS): Likewise.
26776         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
26777         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
26778         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
26779         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
26780         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
26781         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
26782         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
26783         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
26784         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
26785         Likewise.
26786         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
26787         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
26788         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
26789         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
26790         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
26791         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
26792
26793 2009-09-01  Eric Blake  <ebb9@byu.net>
26794
26795         fchdir: fix off-by-one bug in previous patch
26796         * lib/fchdir.c (rpl_fstat): Use correct bounds.
26797         (_gl_unregister_fd): Delete useless if.
26798
26799 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
26800
26801         maint.mk: sort the list of syntax-check rules
26802         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
26803         easier to get a sense of progress when the rules are run sequentially
26804         and take a long time.
26805
26806 2009-09-01  Simon Josefsson  <simon@josefsson.org>
26807
26808         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
26809         * modules/netinet_in: Likewise.
26810         * modules/sys_file: Likewise.
26811         * modules/sys_ioctl: Likewise.
26812         * modules/sys_select: Likewise.
26813         * modules/sys_socket: Likewise.
26814         * modules/sys_stat: Likewise.
26815         * modules/sys_time: Likewise.
26816         * modules/sys_times: Likewise.
26817         * modules/sys_utsname: Likewise.
26818         * modules/sys_wait: Likewise.
26819
26820 2009-09-01  Jim Meyering  <meyering@redhat.com>
26821
26822         fts: help ensure that return values are not ignored
26823         * lib/fts_.h (__GNUC_PREREQ): Define.
26824         (__attribute_warn_unused_result__): Define.
26825         (fts_children, fts_close, fts_open, fts_read): Declare with
26826         __attribute_warn_unused_result__.
26827
26828         fts: fts_close now fails also when closing a dir file descriptor fails
26829         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
26830         and propagate to caller, along with errno.
26831
26832         announce-gen: correct formatting in --help output
26833         * build-aux/announce-gen (usage): Move the one-line description in
26834         --help output "up", to where it belongs, just after Usage:.
26835
26836 2009-08-31  Eric Blake  <ebb9@byu.net>
26837
26838         fchdir: port to mingw
26839         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
26840         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
26841         opened, then use a substitute.
26842         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
26843         replacement.
26844         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
26845         (_gl_register_fd): No need to check stat if open already filters
26846         all directories.
26847         (fchdir): Fix error condition to match POSIX.
26848         * modules/fchdir (Depends-on): Add sys_stat.
26849         * doc/posix-functions/open.texi (open): Document the limitation.
26850         * modules/fchdir-tests: New file.
26851         * tests/test-fchdir.c: Likewise.
26852
26853         canonicalize: allow cross-testing from cygwin to mingw
26854         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
26855         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
26856         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
26857         Likewise.
26858         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
26859         target does not support symlinks.
26860         * tests/test-canonicalize-lgpl.sh: Likewise.
26861
26862         chown: avoid compilation warning on mingw
26863         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
26864         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
26865         mingw.
26866         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26867         * modules/chown (Depends-on): Add errno.
26868
26869 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26870
26871         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
26872         command.
26873
26874 2009-08-31  Jim Meyering  <meyering@redhat.com>
26875
26876         canonicalize: remove useless initialization
26877         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
26878         initialization of local, "end".
26879
26880 2009-08-30  Bruno Haible  <bruno@clisp.org>
26881
26882         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
26883         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
26884         ENOSYS.
26885
26886 2009-08-30  Bruno Haible  <bruno@clisp.org>
26887
26888         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
26889         /usr/xpg4/bin/tr when it exists.
26890         * tests/test-pipe-filter-gi1.sh: Likewise.
26891
26892 2009-08-30  Bruno Haible  <bruno@clisp.org>
26893
26894         Work around deficient /usr/bin/id program on Solaris.
26895         * tests/test-file-has-acl.sh (ID): New variable.
26896         * tests/test-set-mode-acl.sh (ID): Likewise.
26897         * tests/test-copy-acl.sh (ID): Likewise.
26898         * tests/test-copy-file.sh (ID): Likewise.
26899
26900 2009-08-30  Bruno Haible  <bruno@clisp.org>
26901
26902         New module 'xstriconveh'.
26903         * lib/xstriconveh.h: New file.
26904         * lib/xstriconveh.c: New file.
26905         * modules/xstriconveh: New file.
26906
26907 2009-08-30  Bruno Haible  <bruno@clisp.org>
26908
26909         Make it easier to use mem_cd_iconveh.
26910         * lib/striconveh.h (iconveh_t): New type.
26911         (iconveh_open, iconveh_close): New declarations.
26912         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26913         with a single 'const iconveh_t *' argument.
26914         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
26915         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26916         with a single 'const iconveh_t *' argument.
26917         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
26918         * tests/test-striconveh.c (main): Update.
26919         * NEWS: Mention the change.
26920
26921 2009-08-30  Bruno Haible  <bruno@clisp.org>
26922
26923         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
26924         problem.
26925
26926 2009-08-30  Bruno Haible  <bruno@clisp.org>
26927
26928         Work around iconv_open problem on Solaris.
26929         * lib/iconv_open-solaris.gperf: New file.
26930         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
26931         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
26932         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
26933         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
26934         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
26935         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
26936
26937 2009-08-29  Jim Meyering  <meyering@redhat.com>
26938
26939         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
26940         * top/maint.mk (cvs-check): Remove target; it was just an alias
26941         to the better-named vc-diff-check.
26942         (maintainer-distcheck): Remove rule.  It was used only from
26943         the (alpha/beta/major) target, and all of its commands but one
26944         were coreutils-specific.
26945         (vc-dist): Remove rule.
26946         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
26947         Run vc-diff-check, not vc-dist.
26948         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
26949
26950 2009-08-27  Bruno Haible  <bruno@clisp.org>
26951
26952         * tests/test-bitrotate.c (main): Remove test that uses a shift count
26953         of 0.
26954
26955 2009-08-27  Bruno Haible  <bruno@clisp.org>
26956
26957         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
26958         compilers.
26959         * doc/func.texi: Document the SunPRO C bug.
26960
26961 2009-08-27  Bruno Haible  <bruno@clisp.org>
26962
26963         Fix link error on Solaris.
26964         * tests/test-parse-duration.c (xstrdup): Remove function.
26965
26966 2009-08-26  Pádraig Brady  <P@draigbrady.com>
26967
26968         ignore-value: handle pointer types, too
26969         * lib/ignore-value.h (__attribute__): Remove definition.
26970         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
26971         of a more concise and more-often effective "(void) i" statement.
26972         (ignore_ptr): New function to suppress warnings from functions that
26973         return pointers, and to make it explicit that one function doesn't
26974         handle all cases.
26975
26976 2009-08-25  Bruno Haible  <bruno@clisp.org>
26977
26978         dup2: work around a Linux bug.
26979         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
26980         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
26981         * doc/posix-functions/dup2.texi: Mention the Linux bug.
26982         Reported by Simon Josefsson.
26983
26984 2009-08-25  Jim Meyering  <meyering@redhat.com>
26985
26986         libguestfs uses gnulib
26987         * users.txt: Add libguestfs.
26988
26989 2009-08-24  Eric Blake  <ebb9@byu.net>
26990
26991         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
26992         * lib/pipe2.c (includes): Add binary-io.h.
26993         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
26994
26995 2009-08-24  Bruno Haible  <bruno@clisp.org>
26996
26997         Tolerate declared but missing accept4 syscall.
26998         * lib/accept4.c (accept4): Invoke original accept4 function first, if
26999         available.
27000         * lib/sys_socket.in.h (accept4): If the function is already present,
27001         override it.
27002         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
27003         * modules/accept4 (Makefile.am): Compile accept4.c always.
27004         Reported by Paolo Bonzini and Eric Blake.
27005
27006 2009-08-23  Bruno Haible  <bruno@clisp.org>
27007
27008         New module 'accept4'.
27009         * lib/sys_socket.in.h (accept4): New declaration.
27010         * lib/accept4.c: New file.
27011         * m4/accept4.m4: New file.
27012         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27013         GNULIB_ACCEPT4, HAVE_ACCEPT4.
27014         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
27015         HAVE_ACCEPT4.
27016         * modules/accept4: New file.
27017         * doc/glibc-functions/accept4.texi: Mention the new module.
27018
27019 2009-08-24  Jim Meyering  <meyering@redhat.com>
27020
27021         progname: also set global program_invocation_name, when possible
27022         Before this change, a libtool-enabled program that calls glibc's
27023         error function would report the program name as
27024         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
27025         * modules/progname (configure.ac): Check for a declaration of
27026         program_invocation_name.
27027         * lib/progname.c:  Include <errno.h>.
27028         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
27029         Set program_invocation_name.
27030
27031 2009-08-23  Bruno Haible  <bruno@clisp.org>
27032
27033         * lib/dup3.c: Include <string.h>.
27034
27035 2009-08-23  Bruno Haible  <bruno@clisp.org>
27036
27037         * lib/dup3.c (dup3): Test only once whether the system actually exists.
27038         * lib/pipe2.c (pipe2): Likewise.
27039         Suggested by Eric Blake.
27040
27041 2009-08-23  Bruno Haible  <bruno@clisp.org>
27042
27043         Tolerate declared but missing dup3 syscall.
27044         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
27045         * lib/unistd.in.h (dup3): If the function is already present,
27046         override it.
27047         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
27048         * modules/dup3 (Makefile.am): Compile dup3.c always.
27049         Reported by Paolo Bonzini.
27050
27051 2009-08-23  Bruno Haible  <bruno@clisp.org>
27052
27053         Tolerate declared but missing pipe2 syscall.
27054         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
27055         available.
27056         * lib/unistd.in.h (pipe2): If the function is already present,
27057         override it.
27058         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
27059         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
27060         Reported by Paolo Bonzini.
27061
27062 2009-08-23  Bruno Haible  <bruno@clisp.org>
27063
27064         * lib/pipe2.c (pipe2): Move #ifs inside function.
27065
27066 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27067
27068         quotearg: document limitations of quote_these_too
27069         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
27070         those limitations are created.
27071         * lib/quotearg.h (set_char_quoting): Document that digits and
27072         letters that are special after backslash are not permitted.
27073         (quotearg_char): Cross-reference set_char_quoting documentation.
27074
27075 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
27076
27077         quotearg: implement custom_quoting_style
27078         * lib/quotearg.c: (struct quoting_options): Add left_quote and
27079         right_quote fields.
27080         (set_custom_quoting): New public function.
27081         (quotearg_buffer_restyled): Add left_quote and right_quote
27082         arguments, handle them very much like locale quoting, and update
27083         all uses.
27084         (quotearg_n_custom): New public function.
27085         (quotearg_n_custom_mem): New public function.
27086         (quotearg_custom): New public function.
27087         (quotearg_custom_mem): New public function.
27088         * lib/quotearg.h: Prototype and document new public functions.
27089         (enum quoting_style): For escape_quoting_style and
27090         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
27091         ignored even though they're otherwise like c_quoting_style.
27092         Add custom_quoting_style member and document with comparison to
27093         clocale_quoting_style.
27094         * tests/test-quotearg.c (custom_quotes): New array.
27095         (custom_results): New array.
27096         (main): Extend to test custom quoting.
27097
27098 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27099
27100         quotearg: fix right quote escaping when it's in quote_these_too
27101         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
27102         quote, be sure to prepend only one backslash.
27103         * tests/test-quotearg.c (use_quote_double_quotes): New function.
27104         (main): Test it.
27105
27106 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27107
27108         quotearg-tests: test escaping of embedded locale quotes
27109         * tests/test-quotearg.c (struct result_strings): Add member for
27110         new input.
27111         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
27112         (inputs): Add new input.
27113         (results_g): Add expected results.
27114         (flag_results): Likewise.
27115         (locale_results): Likewise.
27116         (compare_strings): Check those.
27117
27118 2009-08-23  Bruno Haible  <bruno@clisp.org>
27119
27120         Tests for module 'dup3'.
27121         * modules/dup3-tests: New file.
27122         * tests/test-dup3.c: New file.
27123
27124         New module 'dup3'.
27125         * lib/unistd.in.h (dup3): New declaration.
27126         * lib/dup3.c: New file.
27127         * m4/dup3.m4: New file.
27128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
27129         HAVE_DUP3.
27130         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
27131         * modules/dup3: New file.
27132         * doc/glibc-functions/dup3.texi: Mention the new module.
27133
27134 2009-08-23  Bruno Haible  <bruno@clisp.org>
27135
27136         Tweak the dup2 test.
27137         * tests/test-dup2.c (main): Create the test file empty. Verify that an
27138         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
27139         the test file is still empty. Fix argument order of lseek.
27140
27141 2009-08-23  Bruno Haible  <bruno@clisp.org>
27142
27143         Avoid test link errors when the modules getopt-gnu, gettext are used.
27144         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
27145         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27146
27147 2009-08-23  Bruno Haible  <bruno@clisp.org>
27148
27149         Fix getdtablesize() on mingw.
27150         * lib/getdtablesize.c (getdtablesize): Implement differently.
27151         * lib/unistd.in.h (getdtablesize): Improve comment.
27152
27153 2009-08-23  Bruno Haible  <bruno@clisp.org>
27154
27155         New module 'mkostemp'.
27156         Based on Ulrich Drepper's 2007-08-10 change in glibc.
27157         * lib/stdlib.in.h (mksotemp): New declaration.
27158         * lib/mkostemp.c: New file, from glibc with modifications.
27159         * lib/tempname.h (GT_FILE): Remove outdated comment.
27160         (gen_tempname): Add flags argument.
27161         * lib/tempname.c (__GT_BIGFILE): Remove macro.
27162         (__GT_FILE): Map to 1.
27163         (small_open, large_open): Remove macros.
27164         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
27165         * lib/mkstemp.c (mkstemp): Update.
27166         * lib/mkdtemp.c (mkdtemp): Likewise.
27167         * m4/mkostemp.m4: New file.
27168         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
27169         HAVE_MKOSTEMP.
27170         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
27171         HAVE_MKOSTEMP.
27172         * modules/mkostemp: New file, based on modules/mkstemp.
27173         * doc/glibc-functions/mkostemp.texi: Mention the new module.
27174         * NEWS: Mention the change.
27175
27176 2009-08-23  Bruno Haible  <bruno@clisp.org>
27177
27178         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
27179         Reported by Eric Blake.
27180
27181 2009-08-23  Bruno Haible  <bruno@clisp.org>
27182
27183         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
27184         Reported by Eric Blake.
27185
27186 2009-08-23  Bruno Haible  <bruno@clisp.org>
27187
27188         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
27189         * modules/pipe2 (Depends-on): Likewise.
27190
27191 2009-08-23  Eric Blake  <ebb9@byu.net>
27192
27193         fcntl-h: add O_TTY_INIT support
27194         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
27195         * tests/test-fcntl-h.c (o): Test it.
27196         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27197
27198         fcntl-h: rename from fcntl, in preparation for fcntl(2)
27199         * modules/fcntl: Move <fcntl.h> header replacement...
27200         * modules/fcntl-h: ...to new name, so as not to collide with
27201         like-named function.
27202         * tests/test-fcntl.c: Rename...
27203         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
27204         * modules/fcntl-tests: Rename...
27205         * modules/fcntl-h-tests: ...to this.  Update test file name.
27206         * modules/chdir-long (Depends-on): Update clients.
27207         * modules/chdir-safer (Depends-on): Likewise.
27208         * modules/fcntl-safer (Depends-on): Likewise.
27209         * modules/fts (Depends-on): Likewise.
27210         * modules/mkancesdirs (Depends-on): Likewise.
27211         * modules/mkdir-p (Depends-on): Likewise.
27212         * modules/open (Depends-on): Likewise.
27213         * modules/savewd (Depends-on): Likewise.
27214         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
27215         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27216
27217 2009-08-22  Bruno Haible  <bruno@clisp.org>
27218
27219         * modules/binary-io (License): Relicense under LGPL.
27220         * modules/pipe2 (License): Likewise.
27221
27222 2009-08-22  Bruno Haible  <bruno@clisp.org>
27223
27224         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
27225         return value.
27226         * lib/pipe-filter-gi.c (filter_init): Likewise.
27227         Reported by Eric Blake.
27228
27229 2009-08-22  Bruno Haible  <bruno@clisp.org>
27230
27231         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
27232         * modules/pipe (Depends-on): Add pipe2.
27233
27234 2009-08-22  Bruno Haible  <bruno@clisp.org>
27235
27236         Tests for module 'pipe2'.
27237         * modules/pipe2-tests: New file.
27238         * tests/test-pipe2.c: New file.
27239
27240         New module 'pipe2'.
27241         * lib/unistd.in.h (pipe2): New declaration.
27242         * lib/pipe2.c: New file.
27243         * m4/pipe2.m4: New file.
27244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
27245         HAVE_PIPE2.
27246         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
27247         * modules/pipe2: New file.
27248         * doc/glibc-functions/pipe2.texi: Mention the new module.
27249
27250 2009-08-22  Bruno Haible  <bruno@clisp.org>
27251
27252         Reference some new glibc functions.
27253         * doc/glibc-functions/accept4.texi: New file.
27254         * doc/glibc-functions/dup3.texi: New file.
27255         * doc/glibc-functions/mkostemp.texi: New file.
27256         * doc/glibc-functions/pipe2.texi: New file.
27257         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
27258         (Glibc sys/socket.h): Refer to accept4.
27259         (Glibc unistd.h): Refer to dup3, pipe2.
27260         Reported by Eric Blake.
27261
27262 2009-08-22  Jim Meyering  <meyering@redhat.com>
27263             Bruno Haible  <bruno@clisp.org>
27264
27265         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
27266         This makes it so packages using automake-1.11's silent-rules option
27267         can print e.g., a single "GEN    configmake.h" line, rather than
27268         the 30+ statements that perform the job.  If you want to see the
27269         actual commands, you can still run "make V=1".
27270         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
27271         so that make output is abbreviated when those variables are defined
27272         appropriately.
27273         * modules/argz: Likewise.
27274         * modules/arpa_inet: Likewise.
27275         * modules/byteswap: Likewise.
27276         * modules/configmake: Likewise.
27277         * modules/dirent: Likewise.
27278         * modules/errno: Likewise.
27279         * modules/fcntl: Likewise.
27280         * modules/float: Likewise.
27281         * modules/fnmatch: Likewise.
27282         * modules/getopt-posix: Likewise.
27283         * modules/glob: Likewise.
27284         * modules/iconv_open: Likewise.
27285         * modules/inttypes: Likewise.
27286         * modules/localcharset: Likewise.
27287         * modules/locale: Likewise.
27288         * modules/math: Likewise.
27289         * modules/netdb: Likewise.
27290         * modules/netinet_in: Likewise.
27291         * modules/poll: Likewise.
27292         * modules/posix_spawnp-tests: Likewise.
27293         * modules/sched: Likewise.
27294         * modules/search: Likewise.
27295         * modules/selinux-h: Likewise.
27296         * modules/signal: Likewise.
27297         * modules/spawn: Likewise.
27298         * modules/stdarg: Likewise.
27299         * modules/stdbool: Likewise.
27300         * modules/stddef: Likewise.
27301         * modules/stdint: Likewise.
27302         * modules/stdio: Likewise.
27303         * modules/stdlib: Likewise.
27304         * modules/string: Likewise.
27305         * modules/strings: Likewise.
27306         * modules/sys_file: Likewise.
27307         * modules/sys_ioctl: Likewise.
27308         * modules/sys_select: Likewise.
27309         * modules/sys_socket: Likewise.
27310         * modules/sys_stat: Likewise.
27311         * modules/sys_time: Likewise.
27312         * modules/sys_times: Likewise.
27313         * modules/sys_utsname: Likewise.
27314         * modules/sys_wait: Likewise.
27315         * modules/sysexits: Likewise.
27316         * modules/time: Likewise.
27317         * modules/unistd: Likewise.
27318         * modules/wchar: Likewise.
27319         * modules/wctype: Likewise.
27320
27321 2009-08-22  Jim Meyering  <meyering@redhat.com>
27322
27323         announce-gen: detect write failure
27324         * build-aux/announce-gen: Add Coda at end.
27325         Remove equivalent-but-more-verbose block at top.
27326
27327 2009-08-19  Akim Demaille  <demaille@gostai.com>
27328
27329         bootstrap: --help to stdout.
27330         * bootstrap (usage): Don't send --help to stderr.
27331         Use a here doc instead of a long string.
27332
27333 2009-08-21  Eric Blake  <ebb9@byu.net>
27334
27335         test-popen-safer: split from test-popen
27336         * tests/test-popen.c (main): Move...
27337         * tests/test-popen.h: ...into new file.
27338         * tests/test-popen-safer2.c: New file.
27339         * modules/popen-tests (Files): Add test-popen.h.
27340         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
27341         Suggested by Bruno Haible.
27342
27343         test-fcntl-safer: split from test-open
27344         * tests/test-open.c (main): Move...
27345         * tests/test-open.h: ...into new file.
27346         * tests/test-fcntl-safer.c: New file.
27347         * modules/open-tests (Files): Add test-open.h.
27348         * modules/fcntl-safer-tests: New file.
27349         Suggested by Bruno Haible.
27350
27351         test-fopen-safer: split from test-fopen
27352         * tests/test-fopen.c (main): Move...
27353         * tests/test-fopen.h: ...into new file.
27354         * tests/test-fopen-safer.c: New file.
27355         * modules/fopen-tests (Files): Add test-fopen.h.
27356         * modules/fopen-safer-tests: New file.
27357         Suggested by Bruno Haible.
27358
27359 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27360
27361         popen-safer: test O_CLOEXEC at run-time.
27362         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
27363
27364 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27365
27366         fcntl: move more flags to the header
27367         * lib/cloexec.c: Do not define FD_CLOEXEC here.
27368         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
27369         * lib/fcntl.in.h: Do both things here.
27370
27371 2009-08-21  Jim Meyering  <meyering@redhat.com>
27372
27373         consistently remove $@-t before redirecting to it
27374         * modules/argz: Remove $@-t and $@ before redirecting to the former.
27375         * modules/alloca-opt: Likewise.
27376         * modules/byteswap: Likewise.
27377         * modules/fnmatch: Likewise.
27378         * modules/getopt-posix: Likewise.
27379         * modules/glob: Likewise.
27380         * modules/poll: Likewise.
27381         * modules/posix_spawnp-tests: Likewise.
27382         * modules/sys_socket: Likewise.
27383         * modules/sysexits: Likewise.
27384
27385 2009-08-21  Eric Blake  <ebb9@byu.net>
27386
27387         popen: simplify access to original popen
27388         * lib/popen.c (rpl_popen): No need to worry about popen being a
27389         macro.
27390         Reported by Bruno Haible.
27391
27392 2009-08-20  Eric Blake  <ebb9@byu.net>
27393
27394         build: avoid some compiler warnings
27395         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
27396         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
27397         type.
27398         (new_exclude_segment, excluded_file_pattern_p)
27399         (excluded_file_name_p): Reduce scope.
27400         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
27401         old-style declaration.
27402
27403 2009-08-20  Simon Josefsson  <simon@josefsson.org>
27404
27405         * tests/test-exclude1.sh: Handle Windows EOL.
27406         * tests/test-exclude2.sh: Likewise.
27407         * tests/test-exclude3.sh: Likewise.
27408         * tests/test-exclude4.sh: Likewise.
27409         * tests/test-exclude5.sh: Likewise.
27410         * tests/test-exclude6.sh: Likewise.
27411         * tests/test-exclude7.sh: Likewise.
27412
27413 2009-08-19  Akim Demaille  <demaille@gostai.com>
27414
27415         bootstrap: find sha1sum when named gsha1sum.
27416         * bootstrap (find_tool): New.
27417         ($SHA1SUM): New.
27418         Use it.
27419
27420 2009-08-20  Jim Meyering  <meyering@redhat.com>
27421
27422         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
27423         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
27424         expression that converts "." in a file name to "\." in the resulting
27425         regexp.  Start with a dummy statement, so that prior shell variable
27426         definitions are expanded portably.  Reported by Simon Josefsson.
27427
27428 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
27429
27430         Fix polling for writeability of a screen buffer.
27431         * lib/poll.c: Distinguish input and screen buffers for the
27432         Win32 implementation.
27433         * lib/select.c: Likewise.
27434
27435 2009-08-19  Eric Blake  <ebb9@byu.net>
27436
27437         popen-safer: prevent popen from clobbering std descriptors
27438         * modules/popen-safer: New file.
27439         * lib/popen-safer.c: Likewise.
27440         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
27441         * lib/stdio--.h (popen): Provide override.
27442         * lib/stdio-safer.h (popen_safer): Provide declaration.
27443         * tests/test-popen.c (includes): Partially test this.
27444         * modules/popen-safer-tests: New file, for more tests.
27445         * tests/test-popen-safer.c: Likewise.
27446         * MODULES.html.sh (file stream based Input/Output): Mention it.
27447
27448         tests: test some of the *-safer modules
27449         * modules/fopen-safer (Depends-on): Add fopen.
27450         * modules/fcntl-safer (Depends-on): Add fcntl.
27451         * modules/stdlib-safer (Depends-on): Add stdlib.
27452         (configure.ac): Set indicator.
27453         * modules/unistd-safer (configure.ac): Likewise.
27454         * modules/tmpfile-safer (configure.ac): Likewise.
27455         (Depends-on): Add tmpfile.
27456         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
27457         active.
27458         * tests/test-fopen.c (includes): Test safer versions when they are
27459         in use.
27460         * tests/test-open.c (includes): Likewise.
27461
27462         popen: fix cygwin 1.5 bug when stdin closed
27463         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
27464         * modules/popen: New file.
27465         * modules/popen-tests: Likewise.
27466         * tests/test-popen.c: Likewise.
27467         * m4/popen.m4: Likewise.
27468         * lib/popen.c: Likewise.
27469         * lib/stdio.in.h (popen): New declaration.
27470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
27471         * modules/stdio (Makefile.am): Likewise.
27472         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
27473
27474 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
27475
27476         maint.mk: give full control over update-copyright exclusions
27477         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
27478         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
27479         (update-copyright): Don't force inclusion of top-level
27480         ChangeLog.  Don't force exclusion of all COPYING files, but make
27481         them the default exclusion instead.
27482
27483 2009-08-16  Bruno Haible  <bruno@clisp.org>
27484
27485         Fix test failures on Solaris 10.
27486         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
27487         tests when Solaris iconv() is used.
27488         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
27489         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
27490         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
27491         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
27492         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
27493
27494 2009-08-16  Bruno Haible  <bruno@clisp.org>
27495
27496         Fix test failures on Solaris 10.
27497         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
27498         'tr' program and pass it as first argument.
27499         * tests/test-pipe-filter-gi1.sh: Likewise.
27500         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
27501         program as first argument.
27502         * tests/test-pipe-filter-gi1.c (main): Likewise.
27503
27504 2009-08-16  Eric Blake  <ebb9@byu.net>
27505
27506         fpurge: fix previous commits
27507         * modules/fpurge (Makefile.am): Make replacement conditional,
27508         partially reverting 2007-04-29 change; missed in previous
27509         attempt.
27510         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
27511         is missing.
27512
27513 2009-08-16  Bruno Haible  <bruno@clisp.org>
27514
27515         Clarify fpurge's effect on the file position.
27516         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
27517         * tests/test-fpurge.c (main): Make a second pass for checking the file
27518         position.
27519
27520 2009-08-16  Bruno Haible  <bruno@clisp.org>
27521
27522         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
27523         declaration of fpurge is missing.
27524         * tests/test-fpurge.c (main): Check that the file has not more contents
27525         than expected. Close the file before removing it.
27526
27527 2009-08-15  Eric Blake  <ebb9@byu.net>
27528
27529         fpurge: don't wrap working cygwin implementation
27530         * lib/fpurge.c (fpurge): Fix comment typo.
27531         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
27532         1.7 to avoid replacement.
27533         * tests/test-fpurge.c (main): Enhance test.
27534
27535 2009-08-15  Eric Blake  <ebb9@byu.net>
27536         and Jim Meyering  <meyering@redhat.com>
27537
27538         test-update-copyright: skip if perl is insufficient
27539         * tests/test-update-copyright.sh: Failure to run maintainer tool
27540         should not cause testsuite failure on cygwin 1.5.
27541
27542 2009-08-14  Eric Blake  <ebb9@byu.net>
27543
27544         doc: mention more functions added in cygwin 1.7.0
27545         * doc/posix-headers/limits.texi (limits.h): Update for recent
27546         cygwin additions.
27547         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
27548         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
27549         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
27550         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
27551         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
27552
27553 2009-08-14  Eric Blake  <ebb9@byu.net>
27554
27555         maint.mk: simplify update-copyright rule
27556         * top/maint.mk (update-copyright-local): Delete, and document how
27557         to do it in cfg.mk instead.
27558         (update-copyright-exclude-regexp): Delete, and document how to do
27559         it in .x-update-copyright instead.
27560         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
27561         exclude ChangeLog.
27562
27563 2009-08-14  Bruno Haible  <bruno@clisp.org>
27564
27565         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
27566
27567 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27568
27569         maint.mk: support update-copyright-env
27570         * top/maint.mk (update-copyright-env): Define place-holder.
27571         (update-copyright): Expand $(update-copyright-env) before
27572         invoking update-copyright.
27573
27574 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27575
27576         update-copyright: implement forced reformatting
27577         * build-aux/update-copyright: Implement and document
27578         UPDATE_COPYRIGHT_FORCE.
27579         * tests/test-update-copyright.sh: Test it.
27580
27581 2009-08-14  Eric Blake  <ebb9@byu.net>
27582         and Bruno Haible  <bruno@clisp.org>
27583
27584         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
27585         * tests/test-locale.c: Revert previous patch related to NULL.
27586         * tests/test-stdio.c: Likewise.
27587         * tests/test-stdlib.c: Likewise.
27588         * tests/test-string.c: Likewise.
27589         * tests/test-unistd.c: Likewise.
27590         * modules/time-tests (Depends-on): Add verify.
27591         * modules/wchar-tests (Depends-on): Likewise.
27592         * tests/test-time.c: Test for NULL compliance.
27593         * tests/test-wchar.c: Likewise.
27594         * modules/locale (Depends-on): Add stddef.
27595         * modules/stdio (Depends-on): Likewise.
27596         * modules/stdlib (Depends-on): Likewise.
27597         * modules/string (Depends-on): Likewise.
27598         * modules/time (Depends-on): Likewise.
27599         * modules/unistd (Depends-on): Likewise.
27600         * modules/wchar (Depends-on): Likewise.
27601         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
27602         * lib/stdlib.in.h (includes): Likewise.
27603         * lib/string.in.h (includes): Likewise.
27604         * lib/time.in.h (includes): Likewise.
27605         * lib/unistd.in.h (includes): Likewise.
27606         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
27607         replaced.
27608         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27609         * m4/stddef_h.m4: New file.
27610         * modules/stddef: Likewise.
27611         * lib/stddef.in.h: Likewise.
27612         * modules/stddef-tests: Likewise.
27613         * tests/test-stddef.c: Likewise.
27614         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
27615         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
27616         * doc/posix-headers/locale.texi (locale.h): Likewise.
27617         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
27618         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27619         * doc/posix-headers/string.texi (string.h): Likewise.
27620         * doc/posix-headers/time.texi (time.h): Likewise.
27621         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
27622         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
27623
27624 2009-08-14  Eric Blake  <ebb9@byu.net>
27625
27626         doc: improve git diff of texinfo files
27627         * .gitattributes: Add rule for *.texi files, with hint on how to
27628         use it.
27629         Copied from m4, and based on a report by Bruno Haible.
27630
27631 2009-08-14  Bruno Haible  <bruno@clisp.org>
27632
27633         Disable multithread support by default on Cygwin 1.5.x for real.
27634         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
27635
27636 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27637
27638         update-copyright: much ado about intervals
27639         * build-aux/update-copyright: Implement and document
27640         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
27641         of copyright year intervals.
27642         Also, document UPDATE_COPYRIGHT_YEAR.
27643         * tests/test-update-copyright.sh: Test it.
27644
27645         update-copyright: convert 2-digit to 4-digit years
27646         * build-aux/update-copyright: Implement and document.
27647         * tests/test-update-copyright.sh: Update.
27648
27649 2009-08-14  Jim Meyering  <meyering@redhat.com>
27650
27651         test-exclude: avoid coreutils "make check" failure
27652         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
27653         just as in test-argmatch.c.
27654
27655 2009-08-13  Eric Blake  <ebb9@byu.net>
27656
27657         test-dup2: fix bad assumption
27658         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
27659         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
27660
27661         test-version-etc: fix CRLF portability issue
27662         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
27663         recognize \r.
27664         * tests/test-argp-version-etc-1.sh: Likewise.
27665
27666         getopt: update client modules
27667         * modules/argp (Depends-on): Use getopt-gnu.
27668         * modules/git-merge-changelog (Depends-on): Likewise.
27669         * modules/long-options (Depends-on): Likewise.
27670         * modules/xstrtol (Depends-on): Likewise.
27671
27672 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27673
27674         * tests/test-version-etc.sh: Don't fail on different
27675         project/version.  Don't fail on CRLF differences.  Rewrite to use
27676         multiple -e instead of multiple sed forks, suggested by Eric Blake
27677         <ebb9@byu.net>.
27678         * tests/test-argp-version-etc-1.sh: Likewise.
27679
27680 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27681
27682         * tests/test-version-etc.sh: Don't fail on different
27683         project/version.
27684
27685 2009-08-12  Bruno Haible  <bruno@clisp.org>
27686
27687         Tests for modules 'getopt-posix', 'getopt-gnu'.
27688         * modules/getopt-posix-tests: New file.
27689         * tests/test-getopt.c: New file.
27690         * tests/test-getopt.h: New file.
27691         * tests/test-getopt_long.h: New file.
27692
27693         New modules 'getopt-posix', 'getopt-gnu'.
27694         * modules/getopt-gnu: New file, renamed from modules/getopt.
27695         * modules/getopt-posix: New file.
27696         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
27697         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
27698         (gl_GETOPT): Remove macro.
27699         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
27700         Disable the test against BSD systems that declare optreset. Test
27701         against mingw bug. Test against lack of support of optional arguments
27702         on many platforms.
27703         * doc/glibc-headers/getopt.texi: Update module name and list of
27704         relevant platforms.
27705         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
27706         'getopt-gnu' and more portability problems.
27707         * NEWS: Mention the changes.
27708
27709 2009-08-12  Bruno Haible  <bruno@clisp.org>
27710
27711         Ensure that optarg etc. get declared by <unistd.h>.
27712         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
27713         AC_USE_SYSTEM_EXTENSIONS.
27714         * modules/getopt (Depends-on): Add 'extensions'.
27715
27716 2009-08-12  Bruno Haible  <bruno@clisp.org>
27717
27718         Avoid test link errors.
27719         * modules/pipe-filter-ii-tests (Makefile.am): Define
27720         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
27721         * modules/pipe-filter-gi-tests (Makefile.am): Define
27722         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
27723         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27724
27725 2009-08-12  Bruno Haible  <bruno@clisp.org>
27726
27727         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
27728         gl_GETOPT_SUBSTITUTE before.
27729         (gl_GETOPT): Use it.
27730         * m4/argp.m4 (gl_ARGP): Update.
27731         Reported by Sergey Poznyakoff.
27732
27733         * m4/getopt.m4: Reorder macros.
27734         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
27735         (gl_GETOPT_SUBSTITUTE): Remove macro.
27736
27737 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27738
27739         Minor improvement in gitlog-to-changelog
27740
27741         * build-aux/gitlog-to-changelog: New option `--format' makes
27742         output format string configurable.
27743
27744 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27745
27746         Optimize exclude: use hash tables for non-wildcard patterns.
27747
27748         * lib/exclude.c: Include hash.h and mbuiter.h
27749         (struct exclude_pattern, exclude_segment): New data types.
27750         (struct exclude): Rewrite.
27751         (fnmatch_pattern_has_wildcards): New function.
27752         (new_exclude_segment, free_exclude_segment): New functions.
27753         (excluded_file_pattern_p, excluded_file_name_p): New functions.
27754         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
27755         * lib/exclude.h (is_fnmatch_pattern): New prototype.
27756         * modules/exclude: Depend on hash and mbuiter.
27757
27758         * modules/exclude-tests: New file.
27759         * tests/test-exclude.c: New file.
27760         * tests/test-exclude1.sh: New file.
27761         * tests/test-exclude2.sh: New file.
27762         * tests/test-exclude3.sh: New file.
27763         * tests/test-exclude4.sh: New file.
27764         * tests/test-exclude5.sh: New file.
27765         * tests/test-exclude6.sh: New file.
27766         * tests/test-exclude7.sh: New file.
27767
27768 2009-08-12  Bruno Haible  <bruno@clisp.org>
27769
27770         Ensure that getopt() gets declared by <unistd.h>.
27771         * lib/unistd.in.h: Conditionally include getopt.h.
27772         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
27773         Set GNULIB_UNISTD_H_GETOPT.
27774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27775         GNULIB_UNISTD_H_GETOPT.
27776         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
27777
27778 2009-08-12  Bruno Haible  <bruno@clisp.org>
27779
27780         Clarify logic.
27781         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
27782         gl_replace_getopt instead of GETOPT_H.
27783
27784 2009-08-12  Bruno Haible  <bruno@clisp.org>
27785
27786         * m4/getopt.m4: Add comments.
27787
27788 2009-08-12  Bruno Haible  <bruno@clisp.org>
27789
27790         Disable multithread support by default on Cygwin 1.5.x.
27791         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
27792         set gl_use_threads=no if not specified otherwise.
27793
27794 2009-08-11  Bruno Haible  <bruno@clisp.org>
27795
27796         Avoid compilation error on NetBSD 5.0.
27797         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
27798         * tests/test-stdio.c: Likewise.
27799         * tests/test-stdlib.c: Likewise.
27800         * tests/test-string.c: Likewise.
27801         * tests/test-unistd.c: Likewise.
27802         Reported by Greg Troxel <gdt@ir.bbn.com>
27803         at <https://savannah.gnu.org/support/?106973>.
27804
27805 2009-08-11  Bruno Haible  <bruno@clisp.org>
27806
27807         * modules/dup2-tests (Depends-on): Remove close.
27808
27809         Undo 2009-07-19 commit.
27810         * modules/acl-tests (Depends-on): Remove close.
27811         * modules/binary-io-tests (Depends-on): Likewise.
27812         * modules/closein-tests (Depends-on): Likewise.
27813         * modules/flock-tests (Depends-on): Likewise.
27814         * modules/fsync-tests (Depends-on): Likewise.
27815         * modules/lseek-tests (Depends-on): Likewise.
27816         * modules/pipe-tests (Depends-on): Likewise.
27817         * modules/posix_spawn-tests (Depends-on): Likewise.
27818         * modules/posix_spawnp-tests (Depends-on): Likewise.
27819         * modules/stat-time-tests (Depends-on): Likewise.
27820         * modules/yesno-tests (Depends-on): Likewise.
27821
27822 2009-08-10  Bruno Haible  <bruno@clisp.org>
27823
27824         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
27825
27826 2009-08-10  Bruno Haible  <bruno@clisp.org>
27827
27828         Fix a gcc warning.
27829         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
27830
27831 2009-08-10  Bruno Haible  <bruno@clisp.org>
27832
27833         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
27834         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
27835         not only the first time.
27836         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
27837         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
27838         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
27839         is 1, not only the the first time.
27840
27841 2009-08-10  Bruno Haible  <bruno@clisp.org>
27842
27843         Make it possible to use module 'gethostname' without module 'close'.
27844         * lib/unistd.in.h (close): Evoke a link error only if
27845         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27847         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27848         * modules/unistd (Makefile.am): Substitute
27849         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27850         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
27851         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27852         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27853         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27854         * modules/sys_ioctl (Makefile.am): Substitute
27855         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27856         * modules/socket (configure.ac): On native Windows, set
27857         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
27858         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27859         Reported by Sam Steingold <sds@gnu.org>.
27860
27861 2009-08-10  Bruno Haible  <bruno@clisp.org>
27862
27863         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
27864         * modules/ioctl (configure.ac): Likewise.
27865
27866 2009-08-10  Bruno Haible  <bruno@clisp.org>
27867
27868         Avoid collision between gnulib wrapper and libintl wrapper.
27869         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
27870         already defined in intl/printf.c.
27871         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
27872         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
27873
27874 2009-08-09  Bruno Haible  <bruno@clisp.org>
27875
27876         Make <sys/select.h> really self-contained, also on Solaris 10.
27877         * lib/sys_select.in.h: Include <string.h>.
27878         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
27879         Solaris 10 problem.
27880         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
27881         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
27882         Reported by Jim Meyering.
27883
27884 2009-08-09  Bruno Haible  <bruno@clisp.org>
27885
27886         Avoid warnings from 'aclocal' that are due to a use of macro name
27887         AM_XGETTEXT_OPTION that is not defined in automake.
27888         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
27889         automake.
27890         * modules/error (configure.ac): Likewise.
27891         * modules/propername (configure.ac): Likewise.
27892         * modules/vasprintf (configure.ac): Likewise.
27893         * modules/verror (configure.ac): Likewise.
27894         * modules/xprintf (configure.ac): Likewise.
27895         * modules/xvasprintf (configure.ac): Likewise.
27896
27897 2009-08-08  Bruno Haible  <bruno@clisp.org>
27898
27899         Avoid compilation error in C++ mode.
27900         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
27901         Reported by Sam Steingold <sds@gnu.org>.
27902
27903 2009-08-08  Bruno Haible  <bruno@clisp.org>
27904
27905         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
27906         for the various Unix platforms.
27907         * doc/posix-headers/limits.texi: Update platforms list regarding
27908         HOST_NAME_MAX.
27909         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27910
27911 2009-08-07  Jim Meyering  <meyering@redhat.com>
27912
27913         selinux-at: fix typo in a comment
27914         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
27915         Spotted by Paolo Bonzini.
27916
27917         selinux-at: remove redundant m4 code, add documentation
27918         * modules/selinux-at (configure.ac): Remove redundant code.
27919         LIB_SELINUX is already set via the dependent module, selinux-h.
27920         (Include): Add quotes around selinux-at.h.
27921         * lib/selinux-at.h: Add documentation.
27922         Reported by Bruno Haible in
27923         http://marc.info/?l=gnulib-bug&m=124958988300749
27924
27925 2009-08-07  Bruno Haible  <bruno@clisp.org>
27926
27927         Avoid link error on MacOS X 10.3 and 10.4.
27928         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
27929         on non-ELF systems.
27930         * lib/argp-pv.c (argp_program_version): Likewise.
27931         Reported by Simon Josefsson.
27932
27933 2009-08-07  Simon Josefsson  <simon@josefsson.org>
27934
27935         * tests/test-version-etc.sh: Use $EXEEXT.
27936
27937 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
27938
27939         update-copyright: update documentation to point to maint.mk
27940         * build-aux/update-copyright: Here.
27941
27942 2009-08-06  Jim Meyering  <meyering@redhat.com>
27943
27944         maint.mk: support update-copyright-local
27945         * top/maint.mk (update-copyright-local): Define place-holder.
27946         (update-copyright): Depend on $(update-copyright-local).
27947
27948 2009-08-06  Jim Meyering  <meyering@redhat.com>
27949
27950         selinux-at: new module
27951         Initially written for coreutils, this module will soon be
27952         used by findutils, too.
27953         * MODULES.html.sh [Misc]: Add selinux-at.
27954         * lib/selinux-at.h: New file, from coreutils.
27955         * lib/selinux-at.c: Likewise.
27956         * modules/selinux-at: Likewise.
27957         (License): Change from LGPL to GPL, since it depends
27958         on the GPL'd openat module.
27959
27960         doc: update README
27961         * README: Remove references to cogito.
27962         Remove cvs-repo-updating instructions from 2007.
27963         Don't imply that CVS is better if you have limited disk space.
27964
27965 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27966
27967         update-copyright: support C-style comments
27968         * build-aux/update-copyright: Implement and document.
27969         * tests/test-update-copyright.sh: Test.
27970
27971 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27972
27973         update-copyright: support omitted "(C)"
27974         * build-aux/update-copyright: Implement and document.  Also,
27975         allow variable whitespace before "(C)".
27976         * tests/test-update-copyright.sh: Test.
27977
27978 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27979
27980         update-copyright: don't trip on non-FSF copyright statements
27981         * build-aux/update-copyright: Fix so that the first correctly
27982         formatted FSF copyright statement is recognized no matter what
27983         appears before it.  Update documentation.
27984         * tests/test-update-copyright.sh: Test that.
27985
27986 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27987
27988         update-copyright: clean up code a little
27989         * build-aux/update-copyright: Append "_re" to the name of any
27990         variable holding a regular expression.
27991         Replace "old" and "new" with "stmt" in variable names.
27992         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
27993         handled correctly.
27994         Format code more consistently.
27995
27996 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27997
27998         update-copyright-tests: improve portability
27999         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
28000         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
28001
28002 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28003
28004         update-copyright: support @copyright{} and &copy;
28005         * build-aux/update-copyright: Implement and document.
28006         * tests/test-update-copyright.sh: Test.
28007
28008 2009-08-04  Jim Meyering  <meyering@redhat.com>
28009
28010         update-copyright-tests: correctly test EOL=\r\n handling
28011         * tests/test-update-copyright.sh: Put \r at the end of some lines
28012         for the dos-eol tests.  Based on a patch by Joel E. Denny.
28013
28014         maint.mk: make update-copyright exclusion list more configurable
28015         * top/maint.mk (update-copyright): Default to excluding COPYING,
28016         but allow an override, in case someone does want to update that file.
28017
28018         maint.mk: don't update copyright date in COPYING
28019         * top/maint.mk (update-copyright): Exclude COPYING.
28020
28021         maint.mk: add a copyright-updating rule
28022         * top/maint.mk (update-copyright): New rule.
28023         Derived from coreutils/Makefile.am.
28024
28025         update-copyright: rename some variables
28026         * build-aux/update-copyright: Rename a few variables for clarity.
28027         Tweak syntax.  List Joel E. Denny as coauthor.
28028
28029 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28030
28031         update-copyright: fix bug for 2-digit last year and add tests
28032         * build-aux/update-copyright: Fix bug.
28033         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
28034         specified.
28035         * modules/update-copyright-tests: New
28036         * tests/test-update-copyright.sh: New.
28037
28038 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28039
28040         update-copyright: handle leading tabs in line prefix
28041         * build-aux/update-copyright: Count leading tabs as 8 spaces
28042         when computing margin.  This helps with the formatting of
28043         ChangeLogs, for example.
28044         Fix documentation a little.
28045
28046 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28047
28048         update-copyright: support EOL=\r\n
28049         * build-aux/update-copyright: Implement that.
28050
28051 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28052
28053         update-copyright: automatically format copyright statements
28054         * build-aux/update-copyright: Implement that.
28055         Also, be a little more predictable and safer by always failing
28056         when the full copyright format is not perfectly recognized as an
28057         unbroken whole.  Discussed at
28058         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
28059         Rewrite documentation.
28060
28061 2009-08-03  Bruno Haible  <bruno@clisp.org>
28062
28063         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
28064
28065 2009-08-02  Bruno Haible  <bruno@clisp.org>
28066
28067         Tests for module 'uname'.
28068         * modules/uname-tests: New file.
28069         * tests/test-uname.c: New file.
28070
28071         New module 'uname'.
28072         * lib/uname.c: New file.
28073         * m4/uname.m4: New file.
28074         * modules/uname: New file.
28075         * doc/posix-functions/uname.texi: Mention the new module.
28076
28077 2009-08-02  Bruno Haible  <bruno@clisp.org>
28078
28079         Tests for module 'sys_utsname'.
28080         * modules/sys_utsname-tests: New file.
28081         * tests/test-sys_utsname.c: New file.
28082
28083         New module 'sys_utsname'.
28084         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
28085         * m4/sys_utsname_h.m4: New file.
28086         * modules/sys_utsname: New file.
28087         * doc/posix-headers/sys_utsname.texi: Mention the new module.
28088
28089 2009-08-02  Bruno Haible  <bruno@clisp.org>
28090
28091         Implicitly initialize the sockets library.
28092         * lib/gethostname.c: Include sockets.h.
28093         (rpl_gethostname): Invoke gl_sockets_startup.
28094         * lib/socket.c: Include sockets.h.
28095         (rpl_socket): Invoke gl_sockets_startup.
28096         * modules/gethostname (Depends-on): Add sockets.
28097         * modules/socket (Depends-on): Likewise.
28098         * tests/test-poll.c: Don't include sockets.h.
28099         (main): Don't invoke gl_sockets_startup.
28100         * tests/test-select.c: Don't include sockets.h.
28101         (main): Don't invoke gl_sockets_startup.
28102
28103 2009-08-02  Bruno Haible  <bruno@clisp.org>
28104
28105         Allow multiple calls to gl_sockets_startup.
28106         * lib/sockets.c (initialized_sockets_version): New variable.
28107         (gl_sockets_startup): Do nothing if already called for this or a higher
28108         version.
28109         (gl_sockets_cleanup): Reset initialized_sockets_version.
28110
28111 2009-08-03  Simon Josefsson  <simon@josefsson.org>
28112
28113         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
28114         different project/version.
28115
28116 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
28117             Bruno Haible  <bruno@clisp.org>
28118
28119         Tests for module 'pipe-filter-gi'.
28120         * modules/pipe-filter-gi-tests: New file.
28121         * tests/test-pipe-filter-gi1.sh: New file.
28122         * tests/test-pipe-filter-gi1.c: New file.
28123         * tests/test-pipe-filter-gi2.sh: New file.
28124         * tests/test-pipe-filter-gi2-main.c: New file.
28125         * tests/test-pipe-filter-gi2-child.c: New file.
28126
28127         New module 'pipe-filter-gi'.
28128         * lib/pipe-filter-gi.c: New file.
28129         * modules/pipe-filter-gi: New file.
28130
28131 2009-08-02  Bruno Haible  <bruno@clisp.org>
28132             Paolo Bonzini  <bonzini@gnu.org>
28133
28134         Tests for module 'pipe-filter-ii'.
28135         * modules/pipe-filter-ii-tests: New file.
28136         * tests/test-pipe-filter-ii1.sh: New file.
28137         * tests/test-pipe-filter-ii1.c: New file.
28138         * tests/test-pipe-filter-ii2.sh: New file.
28139         * tests/test-pipe-filter-ii2-main.c: New file.
28140         * tests/test-pipe-filter-ii2-child.c: New file.
28141
28142         New module 'pipe-filter-ii'.
28143         * lib/pipe-filter.h: New file.
28144         * lib/pipe-filter-ii.c: New file.
28145         * lib/pipe-filter-aux.h: New file.
28146         * modules/pipe-filter-ii: New file.
28147
28148 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28149
28150         * lib/gc-libgcrypt.c: Change copyright to FSF.
28151         * lib/gc-gnulib.c: Likewise.
28152
28153 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
28154
28155         * lib/gethostname.c: Include limits.h.
28156
28157 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28158             Bruno Haible  <bruno@clisp.org>
28159
28160         Ensure HOST_NAME_MAX as part of the gethostname module.
28161         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
28162         define also HOST_NAME_MAX.
28163         * tests/test-gethostname.c: Include <limits.h>.
28164         (main): Check also HOST_NAME_MAX.
28165         * doc/posix-headers/limits.texi: Document the mingw problem.
28166
28167 2009-08-02  Bruno Haible  <bruno@clisp.org>
28168
28169         * lib/gethostname.c (gethostname): Fix handling of large len argument.
28170         Add comments.
28171
28172 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28173
28174         * lib/gethostname.c: Add Windows wrapper.
28175         * m4/gethostname.m4: Look for gethostname in -lws2_32.
28176         * modules/gethostname: Depend on sys_socket & errno, for also
28177         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
28178         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
28179
28180 2009-07-31  Jim Meyering  <meyering@redhat.com>
28181
28182         getloadavg: fix symbol name in comment
28183         * lib/getloadavg.c: Correct a typo I introduced when adding
28184         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
28185         Matt Kraai spotted the problem.
28186
28187 2009-07-29  Matt Kraai  <mkraai@beckman.com>
28188
28189         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
28190         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
28191         code also if ! defined N_NAME_POINTER.
28192         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
28193         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
28194         but the n_name member is a 12-byte array.
28195
28196 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
28197
28198         update-copyright: generalize comment handling
28199         * build-aux/update-copyright: Handle copyright statements
28200         within more comment styles.
28201         Document usage.
28202         Report any file with an external copyright holder or parse failure.
28203
28204 2009-07-29  Jim Meyering  <meyering@redhat.com>
28205
28206         mktime: correct setting of REPLACE_MKTIME
28207         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
28208
28209         update-copyright: new module
28210         * modules/update-copyright: New file.
28211         * build-aux/update-copyright: New file.
28212         * MODULES.html.sh (maint+release support): Add update-copyright.
28213
28214 2009-07-27  Bruno Haible  <bruno@clisp.org>
28215
28216         Fix compilation error when <ctime> is used and mktime is replaced.
28217         * lib/time.in.h (mktime): New declaration.
28218         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
28219         REPLACE_MKTIME instead of defining mktime in config.h.
28220         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
28221         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
28222         Reported by Ross McFarland <rwmcfa1@neces.com>.
28223
28224 2009-07-27  Bruno Haible  <bruno@clisp.org>
28225
28226         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
28227         Reported by Matt Kraai <mkraai@beckman.com>.
28228
28229 2009-07-25  Jim Meyering  <meyering@redhat.com>
28230
28231         maint.mk: avoid warnings about missing files
28232         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
28233         diagnostic when .prev-version does not exist.
28234         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
28235         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
28236         nonexistent cfg.mk.
28237         Suggestions from Simon Josefsson.
28238
28239 2009-07-25  Bruno Haible  <bruno@clisp.org>
28240
28241         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
28242         defined as macros. Needed on QNX 6.4.1.
28243         Reported by Matt Kraai <mkraai@beckman.com>.
28244
28245 2009-07-23  Jim Meyering  <meyering@redhat.com>
28246
28247         maint.mk: invoke "make dist" with a working value of XZ_OPT
28248         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
28249
28250 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
28251
28252         Make fseeko.c compile on QNX.
28253         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
28254
28255 2009-07-22  Peter Simons  <simons@cryp.to>
28256
28257         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
28258         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
28259         * lib/md4.h: Likewise.
28260         * lib/md5.h: Likewise.
28261         * lib/sha1.h: Likewise.
28262         * lib/sha256.h: Likewise.
28263         * lib/sha512.h: Likewise.
28264
28265         tests-sha1: don't assign literal string to 'char *' variable
28266         * tests/test-sha1.c (main): Declare locals with "const" to match
28267         attributes of the right hand side.
28268
28269 2009-07-21  Eric Blake  <ebb9@byu.net>
28270
28271         dup2: fix more mingw problems
28272         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
28273         fd to itself.
28274         * doc/posix-functions/dup2.texi (dup2): Document the bug.
28275         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
28276         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
28277         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
28278         care of mingw bugs.
28279
28280 2009-07-21  Jim Meyering  <meyering@redhat.com>
28281
28282         vc-list-files: avoid failure when /bin/sh is dash
28283         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
28284         On some Debian based systems, /bin/sh is a symlink to dash, and running
28285         this command would omit the "/" following each 'tests' prefix:
28286           dash -x build-aux/vc-list-files -C . tests
28287         That is because bash and dash work differently:
28288           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
28289           bash ok
28290           dash odd
28291
28292 2009-07-21  Eric Blake  <ebb9@byu.net>
28293
28294         dup2-tests: test previous patch
28295         * modules/dup2-tests: New file.
28296         * tests/test-dup2.c: Likewise.
28297         * tests/test-open.c (main): Avoid unspecified behavior.
28298         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
28299         test.
28300
28301         dup2: work around mingw and cygwin 1.5 bug
28302         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
28303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28304         * modules/unistd (Makefile.am): Substitute it.
28305         * lib/unistd.in.h (dup2): Declare the replacement.
28306         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
28307         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
28308         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
28309         * modules/execute (Depends-on): Add dup2.
28310         * modules/fseterr (Depends-on): Likewise.
28311         * modules/pipe (Depends-on): Likewise.
28312         * modules/posix_spawn-internal (Depends-on): Likewise.
28313
28314 2009-07-21  Bruno Haible  <bruno@clisp.org>
28315
28316         * modules/.gitattributes: New file.
28317
28318 2009-07-20  Bruno Haible  <bruno@clisp.org>
28319
28320         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
28321         (main): Use it.
28322
28323 2009-07-20  Eric Blake  <ebb9@byu.net>
28324
28325         test-pipe: make a bit more robust.
28326         * tests/test-pipe.c (myerr): Allow error messages regardless of
28327         what we do to stderr.
28328         (test_pipe): Rearrange to avoid deadlock.
28329         (child_main): Try a larger read, to ensure we avoided deadlock.
28330         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
28331         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
28332         if misused.
28333
28334 2009-07-19  Jim Meyering  <meyering@redhat.com>
28335
28336         fts: avoid false-positive cycle-detection
28337         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
28338         for each new command line argument.
28339
28340 2009-07-19  Bruno Haible  <bruno@clisp.org>
28341
28342         Fix build error on mingw with the modules sys_select and unistd.
28343         * modules/acl-tests (Depends-on): Add close.
28344         * modules/binary-io-tests (Depends-on): Likewise.
28345         * modules/closein-tests (Depends-on): Likewise.
28346         * modules/flock-tests (Depends-on): Likewise.
28347         * modules/fsync-tests (Depends-on): Likewise.
28348         * modules/lseek-tests (Depends-on): Likewise.
28349         * modules/pipe-tests (Depends-on): Likewise.
28350         * modules/posix_spawn-tests (Depends-on): Likewise.
28351         * modules/posix_spawnp-tests (Depends-on): Likewise.
28352         * modules/stat-time-tests (Depends-on): Likewise.
28353         * modules/yesno-tests (Depends-on): Likewise.
28354
28355 2009-07-19  Bruno Haible  <bruno@clisp.org>
28356
28357         Unify conditionals.
28358         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
28359         macros, not at the compiler macros.
28360         * lib/pipe.c: Likewise.
28361         * lib/execute.c: Likewise.
28362         * lib/spawni.c: Likewise.
28363
28364 2009-07-19  Bruno Haible  <bruno@clisp.org>
28365
28366         Fix handling of closed stdin/stdout/stderr on mingw.
28367         * lib/w32spawn.h: Include unistd.h.
28368         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
28369         file descriptor with O_NOINHERIT flag.
28370         (fd_safer_noinherit): New function, based on fd-safer.c.
28371         (dup_safer_noinherit): New function, based on dup-safer.c.
28372         (undup_safer_noinherit): New function.
28373         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
28374         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
28375         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
28376         instead of fd_safer.
28377         * tests/test-pipe.c: Include <windows.h>.
28378         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
28379         result.
28380
28381         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
28382         from main.
28383         (test_pipe): Pass an extra argument for disambiguation.
28384         (main): Invoke parent_main or child_main.
28385
28386         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
28387         consistently.
28388
28389 2009-07-18  Eric Blake  <ebb9@byu.net>
28390
28391         test-pipe: fix mingw build
28392         * tests/test-pipe.c (main): Avoid fcntl on mingw.
28393
28394 2009-07-18  Bruno Haible  <bruno@clisp.org>
28395
28396         * modules/pipe-tests (Makefile.am): Fix typo.
28397
28398 2009-07-18  Eric Blake  <ebb9@byu.net>
28399
28400         error: fix mingw build
28401         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
28402         Reported by Bruno Haible.
28403
28404         error: avoid undefined use of stdout
28405         * lib/error.c (error, error_at_line): Check that fd 1 is open
28406         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
28407         is handling faults and the close_stdout module wants to report the
28408         detection of closed stdout as an error.
28409
28410 2009-07-17  Eric Blake  <ebb9@byu.net>
28411
28412         pipe: be robust in face of closed fds
28413         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
28414         should cause child to misbehave.
28415         * modules/pipe-tests: New module.
28416         * tests/test-pipe.c: New file.
28417         * tests/test-pipe.sh: New file.
28418         Reported by Akim Demaille.
28419
28420 2009-07-14  Bruno Haible  <bruno@clisp.org>
28421
28422         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
28423         Reported by anonymous kc.
28424
28425 2009-07-07  Jim Meyering  <meyering@redhat.com>
28426
28427         maint.mk: don't look for translatable strings in *.m4 or *.mk
28428         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
28429         when searching for translatable strings.
28430
28431 2009-07-05  Jim Meyering  <meyering@redhat.com>
28432
28433         remove superfluous parentheses in STREQ definition
28434         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
28435         * lib/getugroups.c (STREQ): Likewise.
28436         * lib/fnmatch.c (STREQ): Likewise.
28437         Spotted by Bruno Haible.
28438
28439 2009-07-04  Jim Meyering  <meyering@redhat.com>
28440
28441         argv-iter: new module
28442         * MODULES.html.sh: Add argv-iter.
28443         * lib/argv-iter.c, lib/argv-iter.h: New files.
28444         * modules/argv-iter: New file.
28445         * modules/argv-iter-tests: New file.
28446         * tests/test-argv-iter.c: Test it.
28447
28448 2009-07-04  Bruno Haible  <bruno@clisp.org>
28449
28450         Fix assertion.
28451         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
28452         contains more exact copies of a given entry than file2, leave the extra
28453         copies unpaired rather than aborting.
28454         Reported by Eric Blake.
28455
28456 2009-07-02  Bruno Haible  <bruno@clisp.org>
28457
28458         Speedup git-merge-changelog for git cherry-pick.
28459         * lib/git-merge-changelog.c (struct entries_mapping): New type.
28460         (entries_mapping_get): New function, extracted from compute_mapping.
28461         (entries_mapping_reverse_get): New function.
28462         (compute_mapping): Add a 'full' argument. Return the result in a
28463         'struct entries_mapping'.
28464         (main): Update. Access the mappings through entries_mapping_get.
28465         Reported by Eric Blake.
28466
28467 2009-07-02  Bruno Haible  <bruno@clisp.org>
28468
28469         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
28470         best_i.
28471
28472 2009-07-02  Bruno Haible  <bruno@clisp.org>
28473
28474         Speed up approximate search for matching ChangeLog entries.
28475         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
28476         argument. Call fstrcmp_bounded instead of fstrcmp.
28477         (compute_mapping, try_split_merged_entry, main): Update callers.
28478
28479 2009-07-02  Bruno Haible  <bruno@clisp.org>
28480
28481         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
28482
28483 2009-06-30  Bruno Haible  <bruno@clisp.org>
28484
28485         Reduce the number of uc_is_cased calls.
28486         * lib/unicase.h (casing_suffix_context_t): Add
28487         'first_char_except_ignorable' field.
28488         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
28489         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
28490         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
28491         Update initializer.
28492         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
28493         case-ignorable characters.
28494         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
28495         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
28496         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
28497         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
28498         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
28499
28500 2009-06-30  Bruno Haible  <bruno@clisp.org>
28501
28502         Tests for module 'unicase/ignorable'.
28503         * modules/unicase/ignorable-tests: New file.
28504         * tests/unicase/test-ignorable.c: New file, generated by
28505         gen-uni-tables.
28506
28507         Tests for module 'unicase/cased'.
28508         * modules/unicase/cased-tests: New file.
28509         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
28510         * tests/unicase/test-predicate-part1.h: New file, derived from
28511         tests/unictype/test-predicate-part1.h.
28512         * tests/unicase/test-predicate-part2.h: New file, same as
28513         tests/unictype/test-predicate-part2.h.
28514
28515         Fix evaluation of "Before C" condition of FINAL_SIGMA.
28516         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
28517         (output_casing_properties): New function.
28518         (main): Call it.
28519         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
28520         * lib/unicase/cased.c: Include unictype/bitmap.h.
28521         (uc_is_cased): Define through a bitmap lookup.
28522         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
28523         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
28524         (uc_is_case_ignorable): Define through a bitmap lookup.
28525         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
28526         lib/unictype/bitmap.h.
28527         (Depends-on): Add inline. Clean up.
28528         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
28529         lib/unictype/bitmap.h.
28530         (Depends-on): Add inline. Clean up.
28531         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
28532         recognition.
28533         * tests/unicase/test-u16-tolower.c (main): Likewise.
28534         * tests/unicase/test-u32-tolower.c (main): Likewise.
28535
28536 2009-06-30  Bruno Haible  <bruno@clisp.org>
28537
28538         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
28539         * lib/unicase/u16-casemap.c: Likewise.
28540         * lib/unicase/u32-casemap.c: Likewise.
28541
28542 2009-06-29  Bruno Haible  <bruno@clisp.org>
28543
28544         Define u32_casefold as a wrapper around u32_ct_casefold.
28545         * lib/unicase/u32-casefold.c: Update.
28546         * modules/unicase/u32-casefold (Depends-on): Add
28547         unicase/u32-ct-casefold, unicase/empty-prefix-context,
28548         unicase/empty-suffix-context. Clean up.
28549
28550         Define u16_casefold as a wrapper around u16_ct_casefold.
28551         * lib/unicase/u16-casefold.c: Update.
28552         * modules/unicase/u16-casefold (Depends-on): Add
28553         unicase/u16-ct-casefold, unicase/empty-prefix-context,
28554         unicase/empty-suffix-context. Clean up.
28555
28556         Define u8_casefold as a wrapper around u8_ct_casefold.
28557         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
28558         * lib/unicase/u8-casefold.c: Update.
28559         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
28560         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28561
28562         Define u32_totitle as a wrapper around u32_ct_totitle.
28563         * lib/unicase/u32-totitle.c: Update.
28564         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
28565         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28566
28567         Define u16_totitle as a wrapper around u16_ct_totitle.
28568         * lib/unicase/u16-totitle.c: Update.
28569         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
28570         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28571
28572         Define u8_totitle as a wrapper around u8_ct_totitle.
28573         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
28574         functions.
28575         (FUNC): Delegate to U_CT_TOTITLE.
28576         * lib/unicase/u8-totitle.c: Update.
28577         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
28578         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28579
28580         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
28581         invocation.
28582         * modules/unicase/u32-tolower (Depends-on): Add
28583         unicase/empty-prefix-context, unicase/empty-suffix-context.
28584
28585         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
28586         invocation.
28587         * modules/unicase/u16-tolower (Depends-on): Add
28588         unicase/empty-prefix-context, unicase/empty-suffix-context.
28589
28590         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
28591         * modules/unicase/u8-tolower (Depends-on): Add
28592         unicase/empty-prefix-context, unicase/empty-suffix-context.
28593
28594         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
28595         invocation.
28596         * modules/unicase/u32-toupper (Depends-on): Add
28597         unicase/empty-prefix-context, unicase/empty-suffix-context.
28598
28599         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
28600         invocation.
28601         * modules/unicase/u16-toupper (Depends-on): Add
28602         unicase/empty-prefix-context, unicase/empty-suffix-context.
28603
28604         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
28605         * modules/unicase/u8-toupper (Depends-on): Add
28606         unicase/empty-prefix-context, unicase/empty-suffix-context.
28607
28608         New module 'unicase/u32-ct-casefold'.
28609         * lib/unicase/u32-ct-casefold.c: New file.
28610         * modules/unicase/u32-ct-casefold: New file.
28611
28612         New module 'unicase/u16-ct-casefold'.
28613         * lib/unicase/u16-ct-casefold.c: New file.
28614         * modules/unicase/u16-ct-casefold: New file.
28615
28616         New module 'unicase/u8-ct-casefold'.
28617         * lib/unicase/u8-ct-casefold.c: New file.
28618         * lib/unicase/u-ct-casefold.h: New file, derived from
28619         lib/unicase/u-casefold.h.
28620         * modules/unicase/u8-ct-casefold: New file.
28621
28622         New module 'unicase/u32-ct-totitle'.
28623         * lib/unicase/u32-ct-totitle.c: New file.
28624         * modules/unicase/u32-ct-totitle: New file.
28625
28626         New module 'unicase/u16-ct-totitle'.
28627         * lib/unicase/u16-ct-totitle.c: New file.
28628         * modules/unicase/u16-ct-totitle: New file.
28629
28630         New module 'unicase/u8-ct-totitle'.
28631         * lib/unicase/u8-ct-totitle.c: New file.
28632         * lib/unicase/u-ct-totitle.h: New file, derived from
28633         lib/unicase/u-totitle.h.
28634         * modules/unicase/u8-ct-totitle: New file.
28635
28636         New module 'unicase/u32-ct-tolower'.
28637         * lib/unicase/u32-ct-tolower.c: New file.
28638         * modules/unicase/u32-ct-tolower: New file.
28639
28640         New module 'unicase/u16-ct-tolower'.
28641         * lib/unicase/u16-ct-tolower.c: New file.
28642         * modules/unicase/u16-ct-tolower: New file.
28643
28644         New module 'unicase/u8-ct-tolower'.
28645         * lib/unicase/u8-ct-tolower.c: New file.
28646         * modules/unicase/u8-ct-tolower: New file.
28647
28648         New module 'unicase/u32-ct-toupper'.
28649         * lib/unicase/u32-ct-toupper.c: New file.
28650         * modules/unicase/u32-ct-toupper: New file.
28651
28652         New module 'unicase/u16-ct-toupper'.
28653         * lib/unicase/u16-ct-toupper.c: New file.
28654         * modules/unicase/u16-ct-toupper: New file.
28655
28656         New module 'unicase/u8-ct-toupper'.
28657         * lib/unicase/u8-ct-toupper.c: New file.
28658         * modules/unicase/u8-ct-toupper: New file.
28659
28660         Add context arguments to u*_casemap functions.
28661         * lib/unicase/unicasemap.h: Include unicase.h.
28662         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
28663         suffix_context arguments.
28664         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
28665         functions.
28666         (FUNC): Add prefix_context and suffix_context arguments. Use
28667         uc_is_cased and uc_is_case_ignorable.
28668         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
28669         * lib/unicase/u16-casemap.c: Likewise.
28670         * lib/unicase/u32-casemap.c: Likewise.
28671         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
28672         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28673         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
28674         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28675         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
28676         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28677
28678         New module 'unicase/u32-suffix-context'.
28679         * lib/unicase/u32-suffix-context.c: New file.
28680         * modules/unicase/u32-suffix-context: New file.
28681
28682         New module 'unicase/u16-suffix-context'.
28683         * lib/unicase/u16-suffix-context.c: New file.
28684         * modules/unicase/u16-suffix-context: New file.
28685
28686         New module 'unicase/u8-suffix-context'.
28687         * lib/unicase/u8-suffix-context.c: New file.
28688         * lib/unicase/u-suffix-context.h: New file.
28689         * modules/unicase/u8-suffix-context: New file.
28690
28691         New module 'unicase/empty-suffix-context'.
28692         * lib/unicase/empty-suffix-context.c: New file.
28693         * modules/unicase/empty-suffix-context: New file.
28694
28695         New module 'unicase/u32-prefix-context'.
28696         * lib/unicase/u32-prefix-context.c: New file.
28697         * modules/unicase/u32-prefix-context: New file.
28698
28699         New module 'unicase/u16-prefix-context'.
28700         * lib/unicase/u16-prefix-context.c: New file.
28701         * modules/unicase/u16-prefix-context: New file.
28702
28703         New module 'unicase/u8-prefix-context'.
28704         * lib/unicase/u8-prefix-context.c: New file.
28705         * lib/unicase/u-prefix-context.h: New file.
28706         * lib/unicase/context.h: New file.
28707         * modules/unicase/u8-prefix-context: New file.
28708
28709         New module 'unicase/empty-prefix-context'.
28710         * lib/unicase/empty-prefix-context.c: New file.
28711         * modules/unicase/empty-prefix-context: New file.
28712
28713         New module 'unicase/ignorable'.
28714         * lib/unicase/ignorable.c: New file.
28715         * modules/unicase/ignorable: New file.
28716
28717         New module 'unicase/cased'.
28718         * lib/unicase/caseprop.h: New file.
28719         * lib/unicase/cased.c: New file.
28720         * modules/unicase/cased: New file.
28721
28722         New functions for case mapping of substrings.
28723         * lib/unicase.h (casing_prefix_context_t): New type.
28724         (unicase_empty_prefix_context): New variable.
28725         (u8_casing_prefix_context, u16_casing_prefix_context,
28726         u32_casing_prefix_context, u8_casing_prefixes_context,
28727         u16_casing_prefixes_context, u32_casing_prefixes_context): New
28728         declarations.
28729         (casing_suffix_context_t): New type.
28730         (unicase_empty_suffix_context): New variable.
28731         (u8_casing_suffix_context, u16_casing_suffix_context,
28732         u32_casing_suffix_context, u8_casing_suffixes_context,
28733         u16_casing_suffixes_context, u32_casing_suffixes_context,
28734         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
28735         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
28736         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
28737         declarations.
28738
28739 2009-06-28  Jim Meyering  <meyering@redhat.com>
28740
28741         boostrap: indent only with spaces
28742         * build-aux/bootstrap: Indent only with spaces, never TABs.
28743
28744         bootstrap: split long lines
28745         * build-aux/bootstrap: Keep line length < 80.
28746
28747         bootstrap: sync from coreutils
28748         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
28749         just as autoreconf does.  Verify a list of prerequisite
28750         package-name,version-number pairs if defined in bootstrap.conf.
28751         Refer to README-prereq, if prerequisites are not satisfied.
28752
28753 2009-06-27  Eric Blake  <ebb9@byu.net>
28754
28755         tests: add test for bogus NULL definition
28756         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
28757         * tests/test-stdlib.c: Likewise.
28758         * tests/test-string.c: Likewise.
28759         * tests/test-locale.c: Likewise.
28760         * tests/test-unistd.c: Likewise.
28761         * modules/stdio-tests (Depends-on): Add verify.
28762         * modules/stdlib-tests (Depends-on): Likewise.
28763         * modules/string-tests (Depends-on): Likewise.
28764         * modules/locale-tests (Depends-on): Likewise.
28765         * modules/unistd-tests (Depends-on): Likewise.
28766
28767 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
28768
28769         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
28770         self-explaining comment.
28771         * m4/selinux-selinux-h: Update serial.
28772         (gl_LIBSELINUX): New macro, adding a warning for missing development
28773         packages to code extracted from...
28774         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
28775         Add warning for missing development packages here, too.
28776
28777 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
28778
28779         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
28780
28781 2009-06-25  Eric Blake  <ebb9@byu.net>
28782
28783         version-etc: fix regression
28784         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
28785         gcc.
28786         (version_etc): Use it, to catch bugs with trailing NULL.
28787         * lib/version-etc.c (version_etc_arn): Delete unused argument.
28788         (version_etc_va): Fix logic bug.
28789         * modules/version-etc-tests: Add test.
28790         * tests/test-version-etc.c: New file.
28791         * tests/test-version-etc.sh: Likewise.
28792
28793 2009-06-25  Sam Steingold  <sds@gnu.org>
28794
28795         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
28796         mbtowc declaration.
28797
28798 2009-06-25  Eric Blake  <ebb9@byu.net>
28799
28800         fpurge: migrate into <stdio.h>
28801         * lib/fpurge.h: Delete...
28802         * lib/stdio.in.h (fpurge): ...and declare here, instead.
28803         * lib/fpurge.c (fpurge): Change declaring header.
28804         * modules/fpurge (Files): Drop deleted file.
28805         (Depends-on): Add stdio.
28806         (configure.ac): Set witness.
28807         * modules/stdio (Makefile.am): Support fpurge macros.
28808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28809         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
28810         * lib/fflush.c: Update client.
28811         * tests/test-fpurge.c: Likewise.
28812         * NEWS: Mention the change.
28813
28814 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28815
28816         * lib/argp-version-etc.c (program_authors): Add const
28817         qualifier.
28818         * lib/version-etc.c: Fix typos in the comments.
28819         * modules/argp-version-etc: Depends on version-etc.
28820
28821 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28822
28823         argp-version-etc: new module.
28824
28825         * lib/argp-version-etc.c: New file.
28826         * lib/argp-version-etc.h: New file.
28827         * modules/argp-version-etc: New file.
28828         * modules/argp-version-etc-tests: New file.
28829         * tests/test-argp-version-etc.c: New test.
28830         * tests/test-argp-version-etc-1.sh: New test.
28831
28832 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28833
28834         Provide additional interfaces and documentation for version-etc
28835         module.
28836
28837         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
28838         interfaces.
28839         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
28840         prototypes.
28841
28842 2009-06-24  Bruno Haible  <bruno@clisp.org>
28843
28844         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
28845         HAVE_LIB${NAME} macro.
28846         Reported by Sam Steingold <sds@gnu.org>.
28847
28848 2009-06-23  Simon Josefsson  <simon@josefsson.org>
28849
28850         * modules/hash-tests (test_hash_LDADD): Link to libintl when
28851         needed.
28852
28853 2009-06-21  Bruno Haible  <bruno@clisp.org>
28854
28855         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
28856         work.
28857         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
28858         together with LIB${NAME}, LTLIB${NAME}.
28859         Reported by Sam Steingold <sds@gnu.org>.
28860
28861 2009-06-20  Jim Meyering  <meyering@redhat.com>
28862
28863         tests: make sc_require_test_exit_idiom more generic
28864         * top/maint.mk (Exit_witness_file): New overridable variable.
28865         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
28866         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
28867
28868 2009-06-19  Jim Meyering  <meyering@redhat.com>
28869
28870         hash: reverse order of src/dst parameters in an internal interface
28871         * lib/hash.c (transfer_entries): Reverse order of parameters to
28872         put DST before SRC.  Adjust callers.
28873
28874         tests: test-hash: avoid wholesale duplication
28875         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
28876         Instead, use a loop and add a single conditional.
28877
28878         tests: test-hash: allow seed selection via a command line argument
28879         * tests/test-hash.c (get_seed): New function.
28880         (main): Use it.
28881
28882 2009-06-19  Eric Blake  <ebb9@byu.net>
28883
28884         hash: avoid memory leak on allocation failure
28885         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
28886         failure.  Factor repeated algorithm...
28887         (transfer_entries): ...into new helper routine.
28888         (hash_delete): React to hash_rehash return value.
28889
28890         hash: reduce memory pressure in hash_rehash no-op case
28891         * lib/hash.c (next_prime): Avoid overflow.
28892         (hash_initialize): Factor bucket size computation...
28893         (compute_bucket_size): ...into new helper function.
28894         (hash_rehash): Use new function and open coding to reduce memory
28895         pressure, and avoid a memory leak in USE_OBSTACK code.
28896         Reported by Jim Meyering.
28897
28898 2009-06-18  Eric Blake  <ebb9@byu.net>
28899
28900         hash: make rotation more obvious
28901         * modules/hash (Depends-on): Add bitrotate and stdint.
28902         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
28903         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
28904         (SIZE_MAX): Rely on headers for definition.
28905         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
28906         (raw_hasher): Use rotr_sz.
28907         Suggested by Jim Meyering.
28908
28909         hash: fix memory leak in last patch
28910         * lib/hash.c (hash_rehash): Avoid memory leak.
28911
28912         hash: avoid no-op rehashing
28913         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
28914
28915         hash: provide default callback functions
28916         * lib/hash.c (raw_hasher, raw_comparator): New functions.
28917         (hash_initialize): Use them as defaults.
28918         * tests/test-hash.c (main): Test this.
28919
28920         hash: minor optimization
28921         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
28922         when possible.
28923         (hash_initialize): Document this promise.
28924         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
28925         * tests/test-hash.c (hash_compare_strings): Test this.
28926
28927 2009-06-18  Bruno Haible  <bruno@clisp.org>
28928
28929         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
28930         going to be replaced anyway.
28931
28932 2009-06-18  Bruno Haible  <bruno@clisp.org>
28933
28934         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
28935         in one place.
28936         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
28937         be replaced anyway.
28938
28939 2009-06-18  Eric Blake  <ebb9@byu.net>
28940
28941         hash: check for resize before insertion
28942         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
28943         threshold before insertion, so that a pathological hash_rehash
28944         that fills every bucket can still trigger another rehash.
28945
28946 2009-06-18  Jim Meyering  <meyering@redhat.com>
28947
28948         hash-tests: add a loop around the small tests
28949         * tests/test-hash.c (main): Repeat small tests with selected
28950         small initial table sizes.
28951
28952 2009-06-17  Eric Blake  <ebb9@byu.net>
28953
28954         hash: minor cleanups
28955         * lib/hash.h (hash_entry): Make opaque, by moving...
28956         * lib/hash.c (hash_entry): ...here.
28957         (hash_insert): Clarify restrictions on what can be inserted.
28958         (hash_get_next): Clarify when it is safe to remove an element
28959         during traversal.
28960         (check_tuning): Skip verification when tuning is known safe.
28961         (hash_initialize): Clarify restrictions on tuning.
28962
28963 2009-06-17  Jim Meyering  <jim@meyering.net>
28964         and Eric Blake  <ebb9@byu.net>
28965
28966         hash-tests: new module
28967         * modules/hash-tests: New file.
28968         * tests/test-hash.c: New file.
28969
28970 2009-06-17  Eric Blake  <ebb9@byu.net>
28971
28972         strstr-simple: document new module
28973         * MODULES.html.sh: Document new module.
28974
28975         strstr, strcasestr: replace on platforms with broken memchr
28976         * modules/strstr: Split into...
28977         * modules/strstr-simple: ...new module that does not care about
28978         performance, but does care about glibc bug.
28979         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
28980         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
28981         if platform memchr is broken, per Debian bug 521737.
28982         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
28983         memchr.
28984         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
28985         * doc/posix-functions/strstr.texi (strstr): Document the fix.
28986         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28987         * modules/mountlist (Depends-on): Add strstr-simple.
28988         * modules/gen-uni-tables (Depends-on): Likewise.
28989         * modules/argz (Depends-on): Add strstr.
28990
28991 2009-06-17  Bruno Haible  <bruno@clisp.org>
28992
28993         * modules/posix_spawn-internal (Depends-on): Add errno.
28994
28995 2009-06-17  Bruno Haible  <bruno@clisp.org>
28996
28997         Define missing ESTALE on Interix 3.5.
28998         * lib/errno.in.h (ESTALE): Assign a value if missing.
28999         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
29000         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
29001         missing.
29002         * doc/posix-headers/errno.texi: Mention the Interix bug.
29003         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
29004
29005 2009-06-15  Eric Blake  <ebb9@byu.net>
29006
29007         memchr, memchr2: add valgrind exception
29008         * lib/memchr.valgrind: New file.
29009         * lib/memchr2.valgrind: New file.
29010         * modules/memchr (Files): Distribute valgrind file.
29011         * modules/memchr2 (Files): Likewise.
29012
29013         docs: memchr is no longer obsolete
29014         * MODULES.html.sh: Move memchr from obsolete to string.h section.
29015         * lib/string.in.h (memchr): Simplify logic.
29016
29017 2009-06-14  Jim Meyering  <meyering@redhat.com>
29018
29019         link-follow: fix the "checking..." message to not mention trailing slash
29020         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
29021         never considered trailing slashes.
29022
29023 2009-06-14  Bruno Haible  <bruno@clisp.org>
29024
29025         * m4/memchr.m4: Mention also the bug on IA-64.
29026         * doc/posix-functions/memchr.texi: Likewise.
29027
29028 2009-06-12  Eric Blake  <ebb9@byu.net>
29029
29030         memchr: detect broken x86_64 and alpha implementations
29031         * modules/memchr-tests (Depends-on): Move mmap detection...
29032         * modules/memchr (Depends-on): ...here.
29033         (configure.ac): Set indicator.
29034         * lib/string.in.h (memchr): Declare replacement.
29035         * modules/string (Makefile.am): Trigger replacement.
29036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
29037         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
29038         bugs.
29039         * doc/posix-functions/memchr.texi (memchr): Document the bug.
29040         * modules/getpagesize (License): Relax license.
29041
29042 2009-06-11  Bruno Haible  <bruno@clisp.org>
29043
29044         * lib/idpriv.h: Add more references.
29045
29046 2009-06-08  Bruno Haible  <bruno@clisp.org>
29047
29048         Tests for module 'idpriv-droptemp'.
29049         * modules/idpriv-droptemp-tests: New file.
29050         * tests/test-idpriv-droptemp.sh: New file.
29051         * tests/test-idpriv-droptemp.su.sh: New file.
29052         * tests/test-idpriv-droptemp.c: New file.
29053
29054         New module 'idpriv-droptemp'.
29055         * lib/idpriv-droptemp.c: New file.
29056         * modules/idpriv-droptemp: New file.
29057
29058 2009-06-08  Bruno Haible  <bruno@clisp.org>
29059
29060         Tests for module 'idpriv-drop'.
29061         * modules/idpriv-drop-tests: New file.
29062         * tests/test-idpriv-drop.sh: New file.
29063         * tests/test-idpriv-drop.su.sh: New file.
29064         * tests/test-idpriv-drop.c: New file.
29065
29066         New module 'idpriv-drop'.
29067         * lib/idpriv.h: New file.
29068         * lib-idpriv-drop.c: New file.
29069         * m4/idpriv.m4: New file.
29070         * modules/idpriv-drop: New file.
29071
29072 2009-06-08  Bruno Haible  <bruno@clisp.org>
29073
29074         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
29075         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29076         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29077         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29078         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29079         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29080         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29081
29082 2009-06-08  Eric Blake  <ebb9@byu.net>
29083
29084         test-strstr: use memory fence, when possible
29085         * tests/test-strstr.c (main): Use memory fence, in order to be
29086         more likely to trigger Debian bug 521737.
29087         * modules/strstr-tests (Files): Pull in additional files.
29088
29089         memchr: no longer obsolete, for wider field testing
29090         * modules/memchr (Status, Notice): Delete, this module is no
29091         longer obsolete.
29092         * modules/vasnprintf (Depends-on): Add memchr.
29093
29094 2009-06-07  Jim Meyering  <meyering@redhat.com>
29095
29096         hash: declare some functions with the warn_unused_result attribute
29097         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
29098
29099 2009-06-07  Bruno Haible  <bruno@clisp.org>
29100
29101         * tests/test-alignof.c: Don't test int64_t if it does not exist.
29102         Reported by Eric Blake.
29103
29104 2009-06-06  Eric Blake  <ebb9@byu.net>
29105
29106         test-alignof: fix typo with long double
29107         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
29108         compiler error.
29109
29110 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
29111
29112         Escape non-texinfo { and }s.
29113         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
29114         markup error.
29115
29116 2009-06-04  Jim Meyering  <meyering@redhat.com>
29117
29118         gitlog-to-changelog: don't infloop on an empty commit log
29119         * build-aux/gitlog-to-changelog: Warn about an empty log message.
29120         Reported by Boris Petersen <transacid@centerim.org>.
29121
29122 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
29123
29124         version-etc: extend for packagers
29125         Add three new configure options, intended for packagers:
29126           --with-packager="packager name"
29127           --with-packager-version="packager-specific version"
29128           --with-packager-bug-reports="packager bug reporting"
29129         An example with coreutils:
29130           $ ./configure \
29131             --with-packager=Gentoo \
29132             --with-packager-bug-report=http://bugs.gentoo.org/ \
29133             --with-packager-version="patchset 1.6"
29134           $ ./src/ls --version | head -n2
29135           ls (GNU coreutils) 7.1-dirty
29136           Packaged by Gentoo (patchset 1.6)
29137         Note that the bug reporting info via --help doesn't show up because
29138         coreutils uses its own custom emit_bug_reporting_address() implementation
29139         in src/system.h.  If it didn't, it'd look like:
29140           $ ./src/ls --help | tail -n4
29141           Report bugs to <bug-coreutils@gnu.org>.
29142           Report Gentoo bugs to <http://bugs.gentoo.org/>.
29143           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
29144           General help using GNU software: <http://www.gnu.org/gethelp/>.
29145         * lib/version-etc.c: Print new information, if provided.
29146         * m4/version-etc.m4: New file.
29147         * modules/version-etc (Files): Add m4/version-etc.m4.
29148         (configure.ac): Add gl_VERSION_ETC.
29149
29150 2009-05-31  Bruno Haible  <bruno@clisp.org>
29151
29152         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
29153         and 'int64_t'.
29154         * modules/alignof-tests (Dependencies): Add stdint.
29155         Reported by Eric Blake.
29156
29157 2009-05-31  Bruno Haible  <bruno@clisp.org>
29158
29159         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
29160         restriction due to compiler bugs.
29161         Reported by Eric Blake.
29162
29163 2009-05-31  Simon Josefsson  <simon@josefsson.org>
29164             Bruno Haible  <bruno@clisp.org>
29165
29166         Fix test-alignof failure.
29167         * lib/alignof.h (alignof_slot): New macro.
29168         (alignof_type): New macro, with the same semantics as the previous
29169         'alignof'.
29170         (alignof): Alias to alignof_slot.
29171         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
29172         check that the results are usable as constant expressions.
29173
29174 2009-05-31  Bruno Haible  <bruno@clisp.org>
29175
29176         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
29177         * tests/test-memchr.c (main): Check that memchr does not read past the
29178         first occurrence of the byte.
29179         * tests/test-strstr.c (main): Update comment.
29180         Suggested by Eric Blake.
29181
29182 2009-05-30  Bruno Haible  <bruno@clisp.org>
29183
29184         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
29185         detail how to use dumpbin.
29186         Reported by David Byron <dbyron@dbyron.com>.
29187
29188 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29189
29190         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
29191
29192 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29193
29194         * m4/manywarnings.m4: Add GCC 4.4 warnings.
29195
29196 2009-05-28  Bruno Haible  <bruno@clisp.org>
29197
29198         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
29199         build-aux/ files.
29200
29201 2009-05-28  Simon Josefsson  <simon@josefsson.org>
29202
29203         * gnulib-tool (func_import): Transform license on build-aux/ files too.
29204
29205 2009-05-27  Simon Josefsson  <simon@josefsson.org>
29206
29207         * gnulib-tool (sed_transform_main_lib_file)
29208         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
29209         regexps.
29210
29211 2009-05-26  Simon Josefsson  <simon@josefsson.org>
29212
29213         * tests/test-strstr.c: Add another self-test.
29214         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
29215         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
29216
29217 2009-05-23  Bruno Haible  <bruno@clisp.org>
29218
29219         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
29220         change.
29221
29222 2009-05-21  Bruno Haible  <bruno@clisp.org>
29223
29224         Simplify use of mode_t varargs.
29225         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
29226         uses 'mode_t' or 'int'.
29227         * lib/openat.c (openat): Likewise.
29228         * lib/open-safer.c (open_safer): Likewise.
29229         * m4/mode_t.m4: New file.
29230         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
29231         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
29232         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
29233         * modules/open (Files): Add m4/mode_t.m4.
29234         * modules/openat (Files): Likewise.
29235         * modules/fcntl-safer (Files): Likewise.
29236         Suggested by Eric Blake.
29237
29238 2009-05-21  Pádraig Brady  <P@draigbrady.com>
29239
29240         * doc/glibc-functions/fallocate.texi: New file.
29241         * doc/gnulib.texi: Include it.
29242
29243 2009-05-21  Eric Blake  <ebb9@byu.net>
29244             Bruno Haible  <bruno@clisp.org>
29245
29246         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
29247         invocations.
29248         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29249
29250 2009-05-21  Eric Blake  <ebb9@byu.net>
29251             Bruno Haible  <bruno@clisp.org>
29252
29253         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
29254         include_next. Fix of 2008-11-20 commit.
29255         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
29256         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
29257         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
29258         NEXT_MATH_H.
29259         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
29260         instead of NEXT_MATH_H.
29261
29262 2009-05-21  Bruno Haible  <bruno@clisp.org>
29263
29264         Avoid redefinition warnings for SIZE_MAX.
29265         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
29266         Reported by Simon Josefsson.
29267
29268 2009-05-21  Bruno Haible  <bruno@clisp.org>
29269
29270         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
29271         AC_CACHE_VAL.
29272
29273 2009-05-20  Bruno Haible  <bruno@clisp.org>
29274
29275         Make zeroptr.h work on mingw.
29276         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
29277         mprotect.
29278         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
29279         * modules/memchr2-tests (configure.ac): Likewise.
29280         * modules/memcmp-tests (configure.ac): Likewise.
29281         * modules/memmem-tests (configure.ac): Likewise.
29282         * modules/memrchr-tests (configure.ac): Likewise.
29283         Reported by Simon Josefsson.
29284
29285 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29286
29287         * tests/test-glob.c: Include string.h for strcmp prototype.
29288
29289 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29290
29291         * modules/getdelim (Depends-on): Add explicit stdint, although it
29292         was implicitly already pulled in via realloc-posix.
29293         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
29294
29295 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29296
29297         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
29298         G. Christensen" <tgc@jupiterrise.com>.
29299         * m4/sys_socket_h.m4: Check for sa_family_t.
29300         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
29301         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
29302         * tests/test-sys_socket.c: Check that sa_family_t works.
29303
29304 2009-05-18  Eric Blake  <ebb9@byu.net>
29305
29306         maint.mk: allow gnulib_dir in VPATH build
29307         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
29308
29309 2009-05-15  Jim Meyering  <meyering@redhat.com>
29310
29311         maint.mk: Give gnulib_dir a default definition.
29312         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
29313         Thus, most packages no longer need to specify this variable in cfg.mk
29314
29315 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
29316
29317         rename.m4: fix typos that would make non-mingw cross-configure fail
29318         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
29319
29320 2009-05-13  Eric Blake  <ebb9@byu.net>
29321
29322         mmap-anon: avoid out-of-order autoconf expansion
29323         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
29324         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
29325         * modules/memchr-tests (Depends-on): Add extensions.
29326         * modules/memchr2-tests (Depends-on): Add extensions.
29327         * modules/memcmp-tests (Depends-on): Add extensions.
29328         * modules/memmem-tests (Depends-on): Add extensions.
29329         * modules/memrchr-tests (Depends-on): Add extensions.
29330
29331 2009-05-13  Bruno Haible  <bruno@clisp.org>
29332
29333         Make some tests ISO C 99 compliant.
29334         * tests/zerosize-ptr.h: New file.
29335         * tests/test-memchr.c: Include zerosize-ptr.h.
29336         (main): Use a zero-size object pointer instead of NULL.
29337         * tests/test-memchr2.c: Include zerosize-ptr.h.
29338         (main): Use a zero-size object pointer instead of NULL.
29339         * tests/test-memcmp.c: Include zerosize-ptr.h.
29340         (main): Use a zero-size object pointer instead of NULL.
29341         * tests/test-memmem.c: Include zerosize-ptr.h.
29342         (main): Use a zero-size object pointer instead of NULL.
29343         * tests/test-memrchr.c: Include zerosize-ptr.h.
29344         (main): Use a zero-size object pointer instead of NULL.
29345         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
29346         m4/mmap-anon.m4.
29347         (Depends-on): Add getpagesize.
29348         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29349         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
29350         m4/mmap-anon.m4.
29351         (Depends-on): Add getpagesize.
29352         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29353         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
29354         m4/mmap-anon.m4.
29355         (Depends-on): Add getpagesize.
29356         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29357         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
29358         m4/mmap-anon.m4.
29359         (Depends-on): Add getpagesize.
29360         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29361         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
29362         m4/mmap-anon.m4.
29363         (Depends-on): Add getpagesize.
29364         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29365
29366 2009-05-12  Bruno Haible  <bruno@clisp.org>
29367
29368         Tests for module 'alignof'.
29369         * modules/alignof-tests: New file.
29370         * tests/test-alignof.c: New file.
29371
29372 2009-05-12  Bruno Haible  <bruno@clisp.org>
29373
29374         Fix alignof macro.
29375         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
29376         vendor compilers that are always correct.
29377
29378 2009-05-12  Bruno Haible  <bruno@clisp.org>
29379
29380         Make the MAP_ANONYMOUS detection work on HP-UX 11.
29381         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
29382         not whether its fully works.
29383
29384 2009-05-12  Bruno Haible  <bruno@clisp.org>
29385
29386         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
29387
29388 2009-05-12  Jim Meyering  <meyering@redhat.com>
29389
29390         * top/maint.mk: Adjust backslash alignment.
29391
29392 2009-05-11  Simon Josefsson  <simon@josefsson.org>
29393
29394         * top/maint.mk: Make $(srcdir)/build-aux configurable.
29395
29396 2009-05-11  Eric Blake  <ebb9@byu.net>
29397
29398         argp: avoid undefined behavior
29399         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
29400         macros.
29401
29402 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29403
29404         * tests/test-vc-list-files-git.sh: Do git config of user.email and
29405         user.name to prevent git commit from complaining.
29406
29407 2009-05-10  Bruno Haible  <bruno@clisp.org>
29408
29409         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
29410         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
29411         it rewrites every file name only once.
29412         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
29413
29414 2009-05-08  Bruno Haible  <bruno@clisp.org>
29415
29416         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
29417         instead of 'max'.
29418
29419 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29420
29421         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
29422         sockaddr_storage test.
29423
29424 2009-05-07  Simon Josefsson  <simon@josefsson.org>
29425
29426         * modules/sys_socket (Makefile.am): Substitute
29427         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
29428         * m4/sys_socket_h.m4: Check for sockaddr_storage.
29429         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
29430         * tests/test-sys_socket.c: Check sockaddr_storage.
29431
29432 2009-05-08  Bruno Haible  <bruno@clisp.org>
29433
29434         New module 'alignof'.
29435         * lib/alignof.h: New file.
29436         * modules/alignof: New file.
29437
29438 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29439             Bruno Haible  <bruno@clisp.org>
29440
29441         Fix test-file-has-acl on FreeBSD.
29442         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
29443         mask is implicitly added.
29444         * tests/test-file-has-acl.c: Include <signal.h>.
29445         (main): Terminate the test after 5 seconds.
29446         * modules/acl-tests (configure.ac): Check for alarm function.
29447
29448 2009-05-04  Bruno Haible  <bruno@clisp.org>
29449
29450         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
29451         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
29452         * modules/errno (configure.ac): Drop AC_REQUIRE.
29453         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
29454         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
29455
29456 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29457
29458         * modules/glob-tests: New module.
29459         * tests/test-glob.c: Add.
29460
29461 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29462
29463         * modules/fnmatch-tests: New module.
29464         * tests/test-fnmatch.c: Add.
29465
29466 2009-05-04  Eric Blake  <ebb9@byu.net>
29467
29468         maint: make the new no-submodule-changes rule VPATH-safe
29469         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
29470
29471 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29472             Bruno Haible  <bruno@clisp.org>
29473
29474         acl: Fix infinite loop on FreeBSD.
29475         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
29476         of return value from acl_get_entry.
29477         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
29478         Likewise.
29479
29480 2009-05-03  Bruno Haible  <bruno@clisp.org>
29481
29482         * lib/acl-internal.h (acl_entries): Clarify return value.
29483         * lib/acl_entries.c (acl_entries): Likewise.
29484
29485 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29486
29487         Bug fix in acl module.
29488         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
29489
29490 2009-05-03  Bruno Haible  <bruno@clisp.org>
29491
29492         Create gperf-generated file in the source dir, not in the build dir.
29493         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
29494         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
29495         * modules/unicase/locale-language (unicase/locale-languages.h):
29496         Likewise.
29497         * modules/unicase/special-casing (unicase/special-casing-table.h):
29498         Likewise.
29499         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
29500         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
29501         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
29502         Reported by Ralf Wildenhues.
29503
29504 2009-05-03  Bruno Haible  <bruno@clisp.org>
29505
29506         * modules/fnmatch (Description, configure.ac): Taken from
29507         fnmatch-posix.
29508         * modules/fnmatch-posix: Turn into a symbolic reference to the
29509         'fnmatch' module, and deprecate.
29510         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
29511
29512 2009-05-03  Bruno Haible  <bruno@clisp.org>
29513
29514         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
29515         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
29516         Reported by Ralf Wildenhues.
29517
29518 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29519
29520         * m4/fnmatch.m4: Fix fnmatch re-define.
29521
29522 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29523
29524         priv-set: new module and tests; adapt write-any-file
29525         * lib/priv-set.c: New file.
29526         * lib/priv-set.h: New file.
29527         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
29528         * lib/write-any-file.c: Simplify by using priv-set module.
29529         * m4/priv-set.m4: New file.
29530         * modules/priv-set: New file.
29531         * modules/unlinkdir: Add dependency on priv-set module.
29532         * modules/write-any-file: Likewise.
29533
29534         Tests for module 'priv-set'.
29535         * modules/priv-set-tests: New file.
29536         * tests/test-priv-set.c: New file.
29537
29538 2009-05-03  Jim Meyering  <meyering@redhat.com>
29539             Bruno Haible  <bruno@clisp.org>
29540
29541         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
29542         use the converted UTF-8 variant of the name instead.
29543
29544 2009-05-03  Jim Meyering  <meyering@redhat.com>
29545
29546         tests: tighten some getdate tests
29547         * tests/test-getdate.c (main): Tighten tests: require equality,
29548         not just greater than.  Set TZ envvar to UTC0.
29549
29550 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29551
29552         getdate: correctly interpret "next monday" when run on a Monday
29553         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
29554         that e.g., "next tues" (when run on a tuesday) results in a date
29555         that is one week in the future, and not today's date.
29556         I.e., add a week when the wday is the same as the current one.
29557         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
29558         and earlier by Martin Bernreuther and Jan Minář.
29559         * tests/test-getdate.c (main): Check that "next DAY" is always in
29560         the future and that "last DAY" is always in the past.
29561
29562 2009-05-02  Jim Meyering  <meyering@redhat.com>
29563
29564         build: ensure that a release build fails when a submodule is unclean
29565         * top/maint.mk (no-submodule-changes): New rule.
29566         (alpha beta major): Depend on it.
29567
29568 2009-05-02  Bruno Haible  <bruno@clisp.org>
29569
29570         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
29571         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
29572         shell variable gl_fnmatch_required to detect which variant is
29573         requested.
29574         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
29575         gl_FUNC_FNMATCH_POSIX.
29576         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
29577         exclude fnmatch-posix.
29578
29579 2009-05-02  Bruno Haible  <bruno@clisp.org>
29580
29581         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
29582         * modules/mbsrtowcs (License): Change to LGPLv2+.
29583         * modules/strnlen1 (License): Likewise.
29584         Reported by Simon Josefsson.
29585
29586 2009-05-02  Bruno Haible  <bruno@clisp.org>
29587
29588         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
29589         "cross".
29590         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
29591         gnulib-tool was called with option --source-base=lib.
29592
29593 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29594
29595         Use automake *-local hooks without commands, for extensibility.
29596         * modules/localcharset (Makefile.am): Rename install-exec-local
29597         rule to install-exec-localcharset, and make it a prerequisite of
29598         install-exec-local.  Likewise, rename the uninstall-local rule to
29599         uninstall-localcharset, and make it a prerequisite of the former.
29600
29601 2009-05-01  Bruno Haible  <bruno@clisp.org>
29602
29603         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
29604         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29605         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
29606         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
29607         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
29608         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29609         m4/locale-zh.m4, m4/codeset.m4.
29610
29611         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29612         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
29613         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29614         m4/locale-zh.m4.
29615
29616         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
29617         REPLACE_WCRTOMB if mbstate_t must be replaced.
29618         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
29619         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
29620
29621 2009-05-01  Bruno Haible  <bruno@clisp.org>
29622
29623         Avoid compiler warnings when redefining macros defined by <libintl.h>.
29624         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
29625         dngettext, dcngettext, textdomain, bindtextdomain,
29626         bind_textdomain_codeset): Undefine before redefining.
29627
29628 2009-04-30  Bruno Haible  <bruno@clisp.org>
29629
29630         Fix bug introduced on 2009-04-25.
29631         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
29632         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
29633         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
29634         is defined.
29635         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
29636         is defined.
29637         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
29638         is defined.
29639         Reported by Elbert_Pol <elbert.pol@gmail.com>.
29640
29641 2009-04-28  Bruno Haible  <bruno@clisp.org>
29642
29643         Comment tweaks.
29644         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
29645         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
29646         * lib/unicase.h (u*_casexfrm): Likewise.
29647         Reported by Paolo Bonzini.
29648
29649 2009-04-28  Bruno Haible  <bruno@clisp.org>
29650
29651         Fix a compilation error.
29652         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
29653         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29654         Reported by Jim Meyering.
29655
29656 2009-04-27  Bruno Haible  <bruno@clisp.org>
29657
29658         New module 'libunistring'.
29659         * modules/libunistring: New file.
29660         * m4/libunistring.m4: New file.
29661         * MODULES.html.sh (Unicode string functions): Add it.
29662
29663 2009-04-27  Eric Blake  <ebb9@byu.net>
29664
29665         maint.mk: allow package-specific header to provide <config.h>
29666         * top/maint.mk (sc_require_config_h): New variable.
29667         (sc_require_config_h, sc_require_config_h_first): Use it.
29668
29669 2009-04-27  Simon Josefsson  <simon@josefsson.org>
29670
29671         * top/maint.mk (sc_avoid_if_before_free): Except
29672         useless-if-before-free script.
29673
29674 2009-04-27  Eric Blake  <ebb9@byu.net>
29675
29676         maintainer-makefile: depend on all required helper scripts
29677         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
29678         useless-if-before-free.
29679         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
29680         version, rather than assuming gnulib checkout is available.
29681         Reported by Simen Josefsson.
29682
29683 2009-04-26  Bruno Haible  <bruno@clisp.org>
29684
29685         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
29686         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
29687         "../" or "..".
29688
29689 2009-04-26  Bruno Haible  <bruno@clisp.org>
29690
29691         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
29692         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
29693         AC_LIB_HAVE_LINKFLAGS.
29694
29695 2009-04-26  Bruno Haible  <bruno@clisp.org>
29696
29697         Simplify calling convention of u*_conv_from_encoding.
29698         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
29699         u32_conv_from_encoding): Expect a resultbuf argument and return the
29700         result directly as a pointer.
29701         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
29702         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
29703         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
29704         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
29705         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
29706         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29707         Update.
29708         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
29709         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
29710         * lib/vasnprintf.c (VASNPRINTF): Update.
29711         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
29712         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
29713         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
29714         * NEWS: Mention the change.
29715
29716 2009-04-26  Bruno Haible  <bruno@clisp.org>
29717
29718         Simplify calling convention of u*_conv_to_encoding.
29719         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
29720         u32_conv_to_encoding): Expect a resultbuf argument and return the
29721         result directly as a pointer.
29722         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29723         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
29724         freeing scaled_offsets if mem_iconveha failed.
29725         * lib/unicase/u-casexfrm.h (FUNC): Update.
29726         * lib/uninorm/u-normxfrm.h (FUNC): Update.
29727         * lib/vasnprintf.c (VASNPRINTF): Update.
29728         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
29729         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
29730         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
29731         * NEWS: Mention the change.
29732
29733 2009-04-26  Bruno Haible  <bruno@clisp.org>
29734
29735         Avoid test failures on AIX and OSF/1.
29736         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
29737         malloc(0).
29738         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29739         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29740         Likewise.
29741         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
29742         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
29743         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
29744         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
29745         * doc/posix-functions/malloc.texi: Document the portability problem
29746         related to malloc(0).
29747
29748 2009-04-26  Bruno Haible  <bruno@clisp.org>
29749
29750         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
29751         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
29752         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
29753
29754 2009-04-25  Bruno Haible  <bruno@clisp.org>
29755
29756         Avoid link error when creating a namespace clean library.
29757         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
29758         as macro with arguments if already defined as an alias.
29759         * lib/signbitf.c (gl_signbitf): Don't undefine.
29760         * lib/signbitd.c (gl_signbitd): Don't undefine.
29761         * lib/signbitl.c (gl_signbitl): Don't undefine.
29762
29763 2009-04-25  Jim Meyering  <meyering@redhat.com>
29764
29765         vc-list-files: fix another quoting bug
29766         * build-aux/vc-list-files: Avoid sed backslash expansion
29767         of pathological directory names.
29768
29769 2009-04-25  Eric Blake  <ebb9@byu.net>
29770
29771         vc-list-files: fix shell quoting error
29772         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
29773         timestamp.
29774
29775 2009-04-25  Jim Meyering  <meyering@redhat.com>
29776
29777         vc-list-files: restore lost functionality with subdir argument
29778         * build-aux/vc-list-files: When given a non-"." sub-directory
29779         argument, substitute the $dir/ prefix back onto each resulting name.
29780         Otherwise, coreutils' root_tests check would fail.
29781
29782 2009-04-24  Eric Blake  <ebb9@byu.net>
29783
29784         vc-list-files: ignore git symlinks
29785         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
29786         than ls-files, to ignore git symlinks.
29787
29788         maint.mk: import improvements from m4
29789         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
29790         (move_if_change): Delete unused macro.
29791         (news-date-check, vc-diff-check): Support VPATH builds.
29792         (announcement): Likewise.  Split --bootstrap-tools list...
29793         (boostrap-tools): ...into separate list, which can be overridden
29794         in cfg.mk.
29795         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
29796         requiring dependency on useless-if-before-free module.
29797         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
29798         Support VPATH builds.
29799
29800 2009-04-24  Jim Meyering  <meyering@redhat.com>
29801
29802         maint.mk: remove coreutils-specific rules and variables
29803         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
29804         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
29805         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
29806
29807         maint.mk: remove obsolete rule
29808         * top/maint.mk (rel-check): Remove rule.
29809         (WGET, WGETFLAGS): Remove now-unused variables.
29810
29811 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29812
29813         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
29814         consistency.
29815
29816         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
29817         '$(PATH_SEPARATOR)' instead of ':'.
29818
29819 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29820
29821         * lib/getopt1.c (main): Use 'const' for static array.
29822
29823 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29824
29825         * top/maint.mk: Sync with coreutils.
29826         * NEWS: Explain incompatibilities.
29827
29828 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29829             Bruno Haible  <bruno@clisp.org>
29830
29831         Fix cross-compilation results.
29832         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
29833         statement, as third argument of AC_TRY_RUN.
29834         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
29835         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
29836         Likewise.
29837         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
29838         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
29839         Likewise.
29840         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
29841         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
29842         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
29843
29844 2009-04-20  Bruno Haible  <bruno@clisp.org>
29845
29846         Avoid test failure on mingw.
29847         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
29848
29849 2009-04-20  Bruno Haible  <bruno@clisp.org>
29850
29851         Avoid compilation error on mingw.
29852         * modules/localename-tests (Depends-on): Add locale.
29853
29854 2009-04-19  Bruno Haible  <bruno@clisp.org>
29855
29856         Support for building a shared library on Windows platforms.
29857         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
29858         (main): Test the presence of UNINORM_NFC here.
29859         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
29860         (main): Test the presence of UNINORM_NFD here.
29861         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
29862         (main): Test the presence of UNINORM_NFKC here.
29863         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
29864         (main): Test the presence of UNINORM_NFKD here.
29865
29866 2009-04-19  Bruno Haible  <bruno@clisp.org>
29867
29868         Avoid a compiler warning.
29869         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
29870         Change type of variable 'sequence'.
29871
29872 2009-04-19  Bruno Haible  <bruno@clisp.org>
29873
29874         * modules/configmake (Makefile.am): When the contents of configmake.h
29875         does not change, arrange to preserve its modification time.
29876
29877 2009-04-17  Simon Josefsson  <simon@josefsson.org>
29878
29879         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
29880         gettext domain.
29881
29882 2009-04-16  Jim Meyering  <meyering@redhat.com>
29883
29884         useless-if-before-free: improve conversion code
29885         * build-aux/useless-if-before-free: Adjust code-in-comment to match
29886         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
29887
29888 2009-04-14  Bruno Haible  <bruno@clisp.org>
29889
29890         * modules/fcntl (Depends-on): Add extensions.
29891         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
29892
29893 2009-04-12  Ben Pfaff  <blp@gnu.org>
29894
29895         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
29896         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
29897
29898 2009-03-20  Ben Pfaff  <blp@gnu.org>
29899
29900         Make rename replace existing destinations on Windows.
29901         * m4/rename.m4: Add test for Mingw.
29902         * lib/rename.c: Add rename replacement that uses MoveFileEx with
29903         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
29904         * doc/posix-functions/rename.texi: Document.
29905
29906 2009-04-10  Bruno Haible  <bruno@clisp.org>
29907
29908         New include file "iconveh.h".
29909         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
29910         * lib/striconveh.h: Include it.
29911         (enum iconv_ilseq_handler): Remove definition.
29912         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
29913         striconveh.h.
29914         * lib/striconveha.c: Include striconveh.h.
29915         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
29916         * modules/striconveh (Files): Add lib/iconveh.h.
29917         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
29918         lib/striconveh.h.
29919
29920 2009-04-10  Bruno Haible  <bruno@clisp.org>
29921
29922         * lib/uniconv.h: Update comment.
29923
29924 2009-04-10  Bruno Haible  <bruno@clisp.org>
29925
29926         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
29927         always.
29928         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29929         * lib/unistr/u16-mbtouc-aux.c: Likewise.
29930         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
29931         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
29932         "unistring-notinline.h", so that the function gets defined always.
29933         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29934         * lib/unistr/u8-uctomb.c: Likewise.
29935         * lib/unistr/u16-mbtouc.c: Likewise.
29936         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
29937         * lib/unistr/u16-uctomb.c: Likewise.
29938         * lib/unistr/u32-mbtouc.c: Likewise.
29939         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29940         * lib/unistr/u32-uctomb.c: Likewise.
29941
29942 2009-04-10  Bruno Haible  <bruno@clisp.org>
29943
29944         Mark 'utime' obsolete.
29945         * modules/utime (Status, Notice): New sections.
29946         Suggested by Jim Meyering.
29947
29948         Fix cross-compile guess for utime test.
29949         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
29950         autoconf.
29951         * doc/posix-functions/utime.texi: Give more precisions.
29952         Reported by Jan <ipif@ymail.com>.
29953
29954 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
29955
29956         filevercmp: correct today's change
29957         * lib/filevercmp.c: Also handle coreutils' test inputs.
29958         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
29959
29960         Fix regression in 'filevercmp' module. Thanks Sven Joachim
29961         for reporting it.
29962         * lib/filevercmp.c: Special handle for "", "." and "..".
29963         * tests/test-filevercmp.c: Enlarge the set suite.
29964
29965 2009-04-07  Jim Meyering  <meyering@redhat.com>
29966
29967         useless-if-before-free: show how to remove braced useless free, too
29968         * build-aux/useless-if-before-free: still only in a comment, though.
29969
29970 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
29971
29972         maint.mk: import changes to syntax-check macros from coreutils
29973         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
29974         Use them in the relevant macros.
29975
29976 2009-04-06  Bruno Haible  <bruno@clisp.org>
29977
29978         Fix unportable use of bit-fields.
29979         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
29980         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
29981         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
29982
29983 2009-04-06  Bruno Haible  <bruno@clisp.org>
29984
29985         Avoid test failures on AIX and OSF/1.
29986         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
29987         that malloc(0) = NULL.
29988         * tests/unicase/test-u8-tolower.c (check): Likewise.
29989         * tests/unicase/test-u8-totitle.c (check): Likewise.
29990         * tests/unicase/test-u8-toupper.c (check): Likewise.
29991         * tests/unicase/test-u16-casefold.c (check): Likewise.
29992         * tests/unicase/test-u16-tolower.c (check): Likewise.
29993         * tests/unicase/test-u16-totitle.c (check): Likewise.
29994         * tests/unicase/test-u16-toupper.c (check): Likewise.
29995         * tests/unicase/test-u32-casefold.c (check): Likewise.
29996         * tests/unicase/test-u32-tolower.c (check): Likewise.
29997         * tests/unicase/test-u32-totitle.c (check): Likewise.
29998         * tests/unicase/test-u32-toupper.c (check): Likewise.
29999         * tests/uninorm/test-u8-nfc.c (check): Likewise.
30000         * tests/uninorm/test-u8-nfd.c (check): Likewise.
30001         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
30002         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
30003         * tests/uninorm/test-u16-nfc.c (check): Likewise.
30004         * tests/uninorm/test-u16-nfd.c (check): Likewise.
30005         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
30006         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
30007         * tests/uninorm/test-u32-nfc.c (check): Likewise.
30008         * tests/uninorm/test-u32-nfd.c (check): Likewise.
30009         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
30010         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
30011
30012 2009-04-05  Bruno Haible  <bruno@clisp.org>
30013
30014         Work around an autoconf limitation.
30015         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
30016         comment line if it would be longer than 3 KB.
30017
30018 2009-04-05  Bruno Haible  <bruno@clisp.org>
30019
30020         Avoid test failure with libiconv-1.13.
30021         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
30022         of the expected test results.
30023
30024 2009-04-05  Bruno Haible  <bruno@clisp.org>
30025
30026         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
30027         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
30028         that it should be installed.
30029
30030 2009-04-05  Bruno Haible  <bruno@clisp.org>
30031
30032         * gnulib-tool: New option --copy-file.
30033         (func_usage): Document it.
30034         (func_dest_tmpfilename): Moved out of func_import.
30035         (func_add_file, func_update_file): New functions, extracted from
30036         func_import.
30037         (func_import): Update.
30038
30039 2009-04-05  Karl Berry  <karl@gnu.org>
30040
30041         * README: prominently mention gnulib-tool.
30042         Rearrange sections so getting the code is near the top.
30043
30044 2009-04-05  Bruno Haible  <bruno@clisp.org>
30045
30046         * lib/unicase.h: Mention u*_cmp2.
30047         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
30048         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
30049         * lib/unicase/ulc-casecmp.c: Likewise.
30050         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
30051         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
30052         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
30053         unistr/u8-cmp.
30054         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
30055         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
30056         unistr/u16-cmp.
30057         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
30058         unistr/u32-cmp.
30059
30060         * lib/uninorm.h: Mention u*_cmp2.
30061         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
30062         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
30063         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
30064         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
30065         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
30066         unistr/u8-cmp.
30067         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
30068         unistr/u16-cmp.
30069         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
30070         unistr/u32-cmp.
30071
30072         New module 'unistr/u32-cmp2'.
30073         * lib/unistr/u32-cmp2.c: New file.
30074         * modules/unistr/u32-cmp2: New file.
30075
30076         New module 'unistr/u16-cmp2'.
30077         * lib/unistr/u16-cmp2.c: New file.
30078         * modules/unistr/u16-cmp2: New file.
30079
30080         New module 'unistr/u8-cmp2'.
30081         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
30082         * lib/unistr/u8-cmp2.c: New file.
30083         * lib/unistr/u-cmp2.h: New file.
30084         * modules/unistr/u8-cmp2: New file.
30085
30086 2009-04-05  Bruno Haible  <bruno@clisp.org>
30087
30088         * lib/unictype.h (uc_property_is_valid): New macro.
30089         * tests/unictype/test-pr_byname.c (main): Use it.
30090
30091         * lib/unistr.h: Doc fixes.
30092         * lib/uniconv.h: Doc fixes.
30093         * lib/unictype.h: Doc fixes.
30094
30095 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
30096
30097         Port coreutils 7.2 to Solaris 8.
30098
30099         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
30100         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
30101         for Solaris 8.  This is a bit of a hack, as it means it's the
30102         caller's responsibility to add -lnsl if needed, but most likely it
30103         won't be needed since only getaddrinfo uses this and getaddrinfo
30104         isn't needed on Solaris 8.
30105
30106         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
30107         problem to Solaris 8 encountered with coreutils 7.2, which
30108         resulted in a message "fnmatch.c:292: warning: passing argument 4
30109         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
30110         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
30111
30112 2009-04-03  Simon Josefsson  <simon@josefsson.org>
30113
30114         * m4/ld-version-script.m4: Add FIXME comment.
30115
30116 2009-04-02  Simon Josefsson  <simon@josefsson.org>
30117
30118         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
30119         SOVERSION variable.
30120
30121 2009-04-02  Bruno Haible  <bruno@clisp.org>
30122
30123         * Makefile (info, html, dvi, pdf): Combine the rules.
30124         Suggested by Jim Meyering.
30125
30126 2009-04-01  Bruno Haible  <bruno@clisp.org>
30127
30128         * Makefile (info, html, dvi, pdf): New targets.
30129         Reported by Reuben Thomas <rrt@sc3d.org>.
30130
30131 2009-04-01  Bruno Haible  <bruno@clisp.org>
30132
30133         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
30134         can be put into PATH.
30135         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
30136
30137 2009-04-01  Bruno Haible  <bruno@clisp.org>
30138
30139         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
30140
30141 2009-04-01  Bruno Haible  <bruno@clisp.org>
30142
30143         Rename module 'visibility'.
30144         * modules/lib-symbol-visibility: Renamed from modules/visibility.
30145         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
30146         * doc/gnulib.texi: Update.
30147         * MODULES.html.sh (Misc): Update.
30148         * NEWS: Mention the change.
30149
30150 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30151
30152         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
30153         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
30154         Eric Blake <ebb9@byu.net> for review.
30155         * MODULES.html.sh: Add lib-msvc-compat.
30156         * doc/gnulib.texi: Link to new section.
30157         * m4/ld-output-def.m4: New file.
30158         * doc/ld-output-def.texi: New file.
30159
30160 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30161
30162         Rename ld-version-script to lib-symbol-versions.  Suggested by
30163         Bruno Haible <bruno@clisp.org>.
30164         * modules/ld-version-script: Renamed to lib-symbol-versions.
30165         * doc/ld-version-script.texi: Fix module name.
30166         * MODULES.html.sh: Add lib-symbol-versions.
30167
30168 2009-03-31  Simon Josefsson  <simon@josefsson.org>
30169
30170         * modules/u64-tests: New file.
30171         * tests/test-u64.c: New file.
30172
30173 2009-03-04  Simon Josefsson  <simon@josefsson.org>
30174
30175         * MODULES.html.sh: Mention u64.
30176         * modules/u64: New module.
30177         * modules/crypto/sha512: Depend on u64 module instead of providing
30178         u64.h.
30179
30180 2009-03-27  Eric Blake  <ebb9@byu.net>
30181
30182         test-strerror: make debugging EAI_SYSTEM easier
30183         * modules/getaddrinfo-tests (Depends-on): Add strerror.
30184         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
30185         failure was EAI_SYSTEM.
30186
30187 2009-03-25  Bruno Haible  <bruno@clisp.org>
30188
30189         Fix a problem with --enable-relocatable on Solaris 7.
30190         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
30191         since 2008-02-24.
30192
30193 2009-03-25  Eric Blake  <ebb9@byu.net>
30194
30195         test-sockets: avoid gcc warning
30196         * tests/test-sockets.c (main): Silence compiler warning.
30197
30198 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
30199
30200         New modules nproc, pthread, contributed by Glen Lenker.
30201
30202         * MODULES.html.sh: Add pthread, nproc.
30203         * lib/nproc.c: New file.
30204         * lib/nproc.h: New file.
30205         * lib/pthread.in.h: New file.
30206         * m4/pthread.m4: New file.
30207         * modules/nproc: New file.
30208         * modules/pthread: New file.
30209
30210 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30211
30212         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
30213         New variable.
30214
30215 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
30216
30217         filevercmp: handle simple~ and numbered.~3~ backup suffixes
30218         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
30219         * tests/test-filevercmp.c: Add tests for backup suffixes.
30220
30221 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30222
30223         * modules/stdlib (Depends-on): Add stdint, needed when defining
30224         struct random_data on, for example, HP-UX 10.20.  Reported by
30225         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30226
30227 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30228
30229         * lib/readline.c (readline): Call fflush on stdout after printing
30230         prompt.
30231
30232 2009-03-20  Bruno Haible  <bruno@clisp.org>
30233
30234         Remove dependency from 'close' module to -lws2_32 on native Windows.
30235         * lib/close-hook.h: New file.
30236         * lib/close-hook.c: New file.
30237         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
30238         w32sock.h.
30239         (_gl_close_fd_maybe_socket): Remove function.
30240         (rpl_close): Invoke execute_all_close_hooks instead of
30241         _gl_close_fd_maybe_socket.
30242         * lib/sockets.c: Include close-hook.h, w32sock.h.
30243         (close_fd_maybe_socket): New function, essentially from lib/close.c.
30244         (close_sockets_hook): New variable.
30245         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
30246         (gl_sockets_cleanup): Unregister it.
30247         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
30248         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
30249         * modules/close-hook: New file.
30250         * modules/close (Files): Remove lib/w32sock.h.
30251         (Depends-on): Add close-hook.
30252         (Link): Remove section.
30253         * modules/sockets (Files): Add lib/w32sock.h.
30254         (Depends-on): Add close-hook.
30255         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
30256         invocation.
30257         * NEWS: Mention that LIB_CLOSE is gone.
30258
30259 2009-03-23  Eric Blake  <ebb9@byu.net>
30260
30261         signal-tests: test previous patch
30262         * tests/test-signal.c: New file.
30263         * modules/signal-tests: Likewise.
30264
30265         signal.h: always support 'volatile sig_atomic_t'
30266         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
30267         (gl_SIGNAL_H_DEFAULTS): Add a default.
30268         * modules/signal (Makefile.am): Substitute if needed.
30269         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
30270         users can blindly add volatile.
30271         * doc/posix-headers/signal.texi (signal.h): Document it.
30272         Reported by Matthew Woehlke.
30273
30274 2009-03-23  Jim Meyering  <meyering@redhat.com>
30275
30276         pathmax: PATH_MAX: use pathconf only when available
30277         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
30278         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
30279         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
30280         This avoids a link failure in a PSP cross-compilation environment
30281         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
30282
30283         * lib/vasnprintf.c (divide): Fix typo in comment.
30284
30285 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30286
30287         * gnulib-tool (func_filter_filelist): Fix comment.
30288
30289 2009-03-20  Bruno Haible  <bruno@clisp.org>
30290
30291         Make sockets.h self-contained.
30292         * lib/sockets.c: Include sockets.h first.
30293         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
30294
30295 2009-03-19  Eric Blake  <ebb9@byu.net>
30296
30297         doc: mention more functions added in cygwin 1.7.0
30298         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
30299         addition.
30300         * doc/posix-functions/log2f.texi: Likewise.
30301
30302 2009-03-19  Jim Meyering  <meyering@redhat.com>
30303
30304         fsusage: avoid syntax error due to statement-before-declaration
30305         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
30306         after all declarations.  Reported by Matthew Woehlke in
30307         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
30308
30309 2009-03-18  Eric Blake  <ebb9@byu.net>
30310
30311         build-aux/compile: sync from automake
30312         * build-aux/compile: New file, from automake.
30313         * config/srclist.txt: Mention build-aux/compile.
30314
30315 2009-03-17  Bruno Haible  <bruno@clisp.org>
30316
30317         * lib/git-merge-changelog.c: Fix typo in comment.
30318         Reported by Reuben Thomas <rrt@sc3d.org>.
30319
30320 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
30321
30322         * m4/regex.m4: update and improve help for
30323         --without-included-regex.
30324
30325 2009-03-17  Simon Josefsson  <simon@josefsson.org>
30326
30327         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
30328         failure on missing include files.
30329
30330 2009-03-17  Eric Blake  <ebb9@byu.net>
30331
30332         doc: mention more functions added in cygwin 1.7.0
30333         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
30334         addition.
30335         * doc/posix-functions/fwscanf.texi: Likewise.
30336         * doc/posix-functions/swprintf.texi: Likewise.
30337         * doc/posix-functions/swscanf.texi: Likewise.
30338         * doc/posix-functions/vfwprintf.texi: Likewise.
30339         * doc/posix-functions/vfwscanf.texi: Likewise.
30340         * doc/posix-functions/vswprintf.texi: Likewise.
30341         * doc/posix-functions/vswscanf.texi: Likewise.
30342         * doc/posix-functions/vwprintf.texi: Likewise.
30343         * doc/posix-functions/vwscanf.texi: Likewise.
30344         * doc/posix-functions/wcscasecmp.texi: Likewise.
30345         * doc/posix-functions/wcsdup.texi: Likewise.
30346         * doc/posix-functions/wcsftime.texi: Likewise.
30347         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30348         * doc/posix-functions/wprintf.texi: Likewise.
30349         * doc/posix-functions/wscanf.texi: Likewise.
30350         * doc/glibc-functions/gethostbyname2.texi: Likewise.
30351
30352 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30353
30354         maint.mk: really add $(AM_MAKEFLAGS)
30355         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
30356         was inadvertently omitted in the last commit.
30357         Spotted by Bruno Haible.
30358
30359         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
30360         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
30361         $(AM_MAKEFLAGS)' rather than plain `make'.
30362
30363         gnulib-tool: execute $MAKE not make
30364         * gnulib-tool: Default $MAKE to 'make'.
30365         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
30366         than make.  Initialize $MAKE in the do-autobuild script.
30367
30368         gnulib-tool: use $MAKE not make in generated files
30369         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
30370         make, in generated files.  Initialize $MAKE in the do-autobuild
30371         script.
30372
30373         * top/GNUmakefile (_have-git-version-gen): Fix typo.
30374
30375         GNUmakefile: disable parallelism only for multiple, recursive targets
30376         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
30377         additions in the Makefile.
30378         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
30379         by Automake.
30380         (.NOTPARALLEL): Only disable parallel builds if multiple targets
30381         are listed on the command line and at least one of them is
30382         listed in $(ALL_RECURSIVE_TARGETS).
30383
30384 2009-03-14  Bruno Haible  <bruno@clisp.org>
30385
30386         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
30387         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
30388         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
30389         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
30390         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
30391         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
30392         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
30393         unistr/u8-uctomb.
30394         * modules/unistr/u8-strchr (Depends-on): Likewise.
30395         * modules/unistr/u8-strrchr (Depends-on): Likewise.
30396         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
30397         unistr/u16-uctomb.
30398         * modules/unistr/u16-strchr (Depends-on): Likewise.
30399         * modules/unistr/u16-strrchr (Depends-on): Likewise.
30400
30401 2009-03-12  Bruno Haible  <bruno@clisp.org>
30402
30403         Work around select() bug on Interix 3.5.
30404         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
30405         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
30406         * m4/select.m4: New file.
30407         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
30408         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
30409         * modules/select (Files): Add m4/select.m4.
30410         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
30411         * modules/nanosleep (Depends-on): Add select.
30412         * modules/poll (Depends-on): Likewise.
30413         * doc/posix-functions/select.texi: Mention the Interix bug.
30414         Reported by Markus Duft <mduft@gentoo.org>.
30415
30416         * lib/select.c: Renamed from lib/winsock-select.c.
30417         * modules/select (Files): Add lib/select.c, remove
30418         lib/winsock-select.c.
30419         (configure.ac): Update.
30420
30421 2009-03-12  Jim Meyering  <meyering@redhat.com>
30422
30423         avoid gcc warnings about unused macro definitions
30424         * lib/readtokens.c (STREQ): Remove unused definition.
30425         * lib/xmalloc.c (SIZE_MAX): Likewise.
30426         * lib/openat-die.c (N_): Likewise.
30427         * lib/mountlist.c (SIZE_MAX): Remove definition.
30428         Instead, include <stdint.h>.
30429         * lib/readutmp.c: Likewise.
30430         * modules/readutmp (Depends-on): Add stdint.
30431         * modules/mountlist (Depends-on): Add stdint.
30432         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
30433
30434 2009-03-10  Bruno Haible  <bruno@clisp.org>
30435
30436         Tests for module 'mbmemcasecoll'.
30437         * modules/mbmemcasecoll-tests: New file.
30438         * tests/test-mbmemcasecoll1.sh: New file.
30439         * tests/test-mbmemcasecoll2.sh: New file.
30440         * tests/test-mbmemcasecoll3.sh: New file.
30441         * tests/test-mbmemcasecoll.c: New file.
30442
30443         New module 'mbmemcasecoll'.
30444         * lib/mbmemcasecoll.h: New file.
30445         * lib/mbmemcasecoll.c: New file.
30446         * modules/mbmemcasecoll: New file.
30447
30448         * tests/test-mbmemcasecmp.h: New file, extracted from
30449         tests/test-mbmemcasecmp.c.
30450         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
30451         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
30452         (main): Update.
30453         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
30454
30455 2009-03-09  Bruno Haible  <bruno@clisp.org>
30456
30457         Tests for module 'mbmemcasecmp'.
30458         * modules/mbmemcasecmp-tests: New file.
30459         * tests/test-mbmemcasecmp1.sh: New file.
30460         * tests/test-mbmemcasecmp2.sh: New file.
30461         * tests/test-mbmemcasecmp3.sh: New file.
30462         * tests/test-mbmemcasecmp.c: New file.
30463
30464         New module 'mbmemcasecmp'.
30465         * lib/mbmemcasecmp.h: New file.
30466         * lib/mbmemcasecmp.c: New file.
30467         * modules/mbmemcasecmp: New file.
30468
30469 2009-03-09  Bruno Haible  <bruno@clisp.org>
30470
30471         Tests for module 'unicase/ulc-casecoll'.
30472         * modules/unicase/ulc-casecoll-tests: New file.
30473         * tests/unicase/test-ulc-casecoll1.sh: New file.
30474         * tests/unicase/test-ulc-casecoll2.sh: New file.
30475         * tests/unicase/test-ulc-casecoll.c: New file.
30476
30477         New module 'unicase/ulc-casecoll'.
30478         * lib/unicase.h (ulc_casecoll): New declaration.
30479         * lib/unicase/ulc-casecoll.c: New file.
30480         * modules/unicase/ulc-casecoll: New file.
30481
30482         New module 'unicase/ulc-casexfrm'.
30483         * lib/unicase.h (ulc_casexfrm): New declaration.
30484         * lib/unicase/ulc-casexfrm.c: New file.
30485         * modules/unicase/ulc-casexfrm: New file.
30486
30487 2009-03-09  Bruno Haible  <bruno@clisp.org>
30488
30489         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
30490         invocations.
30491
30492         * m4/mbscasecmp.m4: Remove file.
30493         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
30494         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
30495
30496         * m4/mbscasestr.m4: Remove file.
30497         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
30498         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
30499
30500         * m4/mbschr.m4: Remove file.
30501         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
30502         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
30503
30504         * m4/mbscspn.m4: Remove file.
30505         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
30506         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
30507
30508         * m4/mbslen.m4: Remove file.
30509         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
30510         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
30511
30512         * m4/mbsncasecmp.m4: Remove file.
30513         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
30514         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
30515
30516         * m4/mbsnlen.m4: Remove file.
30517         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
30518         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
30519
30520         * m4/mbspbrk.m4: Remove file.
30521         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
30522         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
30523
30524         * m4/mbspcasecmp.m4: Remove file.
30525         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
30526         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
30527
30528         * m4/mbsrchr.m4: Remove file.
30529         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
30530         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
30531
30532         * m4/mbssep.m4: Remove file.
30533         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
30534         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
30535
30536         * m4/mbsspn.m4: Remove file.
30537         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
30538         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
30539
30540         * m4/mbsstr.m4: Remove file.
30541         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
30542         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
30543
30544         * m4/mbstok_r.m4: Remove file.
30545         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
30546         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
30547
30548         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
30549
30550         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
30551         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
30552
30553         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
30554
30555 2009-03-08  Bruno Haible  <bruno@clisp.org>
30556
30557         Tests for module 'unicase/ulc-casecmp'.
30558         * modules/unicase/ulc-casecmp-tests: New file.
30559         * tests/unicase/test-ulc-casecmp1.sh: New file.
30560         * tests/unicase/test-ulc-casecmp2.sh: New file.
30561         * tests/unicase/test-ulc-casecmp.c: New file.
30562
30563         New module 'unicase/ulc-casecmp'.
30564         * lib/unicase.h (ulc_casecmp): New declaration.
30565         * lib/unicase/ulc-casecmp.c: New file.
30566         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
30567         'const SRC_UNIT *'.
30568         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
30569         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
30570         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
30571         * modules/unicase/ulc-casecmp: New file.
30572
30573         Tests for module 'unicase/u32-is-cased'.
30574         * modules/unicase/u32-is-cased-tests: New file.
30575         * tests/unicase/test-u32-is-cased.c: New file.
30576
30577         Tests for module 'unicase/u16-is-cased'.
30578         * modules/unicase/u16-is-cased-tests: New file.
30579         * tests/unicase/test-u16-is-cased.c: New file.
30580
30581         Tests for module 'unicase/u8-is-cased'.
30582         * modules/unicase/u8-is-cased-tests: New file.
30583         * tests/unicase/test-u8-is-cased.c: New file.
30584         * tests/unicase/test-is-cased.h: New file.
30585
30586         New module 'unicase/u32-is-cased'.
30587         * lib/unicase/u32-is-cased.c: New file.
30588         * modules/unicase/u32-is-cased: New file.
30589
30590         New module 'unicase/u16-is-cased'.
30591         * lib/unicase/u16-is-cased.c: New file.
30592         * modules/unicase/u16-is-cased: New file.
30593
30594         New module 'unicase/u8-is-cased'.
30595         * lib/unicase/u8-is-cased.c: New file.
30596         * lib/unicase/u-is-cased.h: New file.
30597         * modules/unicase/u8-is-cased: New file.
30598
30599         Tests for module 'unicase/u32-is-casefolded'.
30600         * modules/unicase/u32-is-casefolded-tests: New file.
30601         * tests/unicase/test-u32-is-casefolded.c: New file.
30602
30603         Tests for module 'unicase/u16-is-casefolded'.
30604         * modules/unicase/u16-is-casefolded-tests: New file.
30605         * tests/unicase/test-u16-is-casefolded.c: New file.
30606
30607         Tests for module 'unicase/u8-is-casefolded'.
30608         * modules/unicase/u8-is-casefolded-tests: New file.
30609         * tests/unicase/test-u8-is-casefolded.c: New file.
30610         * tests/unicase/test-is-casefolded.h: New file.
30611
30612         New module 'unicase/u32-is-casefolded'.
30613         * lib/unicase/u32-is-casefolded.c: New file.
30614         * modules/unicase/u32-is-casefolded: New file.
30615
30616         New module 'unicase/u16-is-casefolded'.
30617         * lib/unicase/u16-is-casefolded.c: New file.
30618         * modules/unicase/u16-is-casefolded: New file.
30619
30620         New module 'unicase/u8-is-casefolded'.
30621         * lib/unicase/u8-is-casefolded.c: New file.
30622         * modules/unicase/u8-is-casefolded: New file.
30623
30624         Tests for module 'unicase/u32-is-titlecase'.
30625         * modules/unicase/u32-is-titlecase-tests: New file.
30626         * tests/unicase/test-u32-is-titlecase.c: New file.
30627
30628         Tests for module 'unicase/u16-is-titlecase'.
30629         * modules/unicase/u16-is-titlecase-tests: New file.
30630         * tests/unicase/test-u16-is-titlecase.c: New file.
30631
30632         Tests for module 'unicase/u8-is-titlecase'.
30633         * modules/unicase/u8-is-titlecase-tests: New file.
30634         * tests/unicase/test-u8-is-titlecase.c: New file.
30635         * tests/unicase/test-is-titlecase.h: New file.
30636
30637         New module 'unicase/u32-is-titlecase'.
30638         * lib/unicase/u32-is-titlecase.c: New file.
30639         * modules/unicase/u32-is-titlecase: New file.
30640
30641         New module 'unicase/u16-is-titlecase'.
30642         * lib/unicase/u16-is-titlecase.c: New file.
30643         * modules/unicase/u16-is-titlecase: New file.
30644
30645         New module 'unicase/u8-is-titlecase'.
30646         * lib/unicase/u8-is-titlecase.c: New file.
30647         * modules/unicase/u8-is-titlecase: New file.
30648
30649         Tests for module 'unicase/u32-is-lowercase'.
30650         * modules/unicase/u32-is-lowercase-tests: New file.
30651         * tests/unicase/test-u32-is-lowercase.c: New file.
30652
30653         Tests for module 'unicase/u16-is-lowercase'.
30654         * modules/unicase/u16-is-lowercase-tests: New file.
30655         * tests/unicase/test-u16-is-lowercase.c: New file.
30656
30657         Tests for module 'unicase/u8-is-lowercase'.
30658         * modules/unicase/u8-is-lowercase-tests: New file.
30659         * tests/unicase/test-u8-is-lowercase.c: New file.
30660         * tests/unicase/test-is-lowercase.h: New file.
30661
30662         New module 'unicase/u32-is-lowercase'.
30663         * lib/unicase/u32-is-lowercase.c: New file.
30664         * modules/unicase/u32-is-lowercase: New file.
30665
30666         New module 'unicase/u16-is-lowercase'.
30667         * lib/unicase/u16-is-lowercase.c: New file.
30668         * modules/unicase/u16-is-lowercase: New file.
30669
30670         New module 'unicase/u8-is-lowercase'.
30671         * lib/unicase/u8-is-lowercase.c: New file.
30672         * modules/unicase/u8-is-lowercase: New file.
30673
30674         Tests for module 'unicase/u32-is-uppercase'.
30675         * modules/unicase/u32-is-uppercase-tests: New file.
30676         * tests/unicase/test-u32-is-uppercase.c: New file.
30677
30678         Tests for module 'unicase/u16-is-uppercase'.
30679         * modules/unicase/u16-is-uppercase-tests: New file.
30680         * tests/unicase/test-u16-is-uppercase.c: New file.
30681
30682         Tests for module 'unicase/u8-is-uppercase'.
30683         * modules/unicase/u8-is-uppercase-tests: New file.
30684         * tests/unicase/test-u8-is-uppercase.c: New file.
30685         * tests/unicase/test-is-uppercase.h: New file.
30686
30687         New module 'unicase/u32-is-uppercase'.
30688         * lib/unicase/u32-is-uppercase.c: New file.
30689         * modules/unicase/u32-is-uppercase: New file.
30690
30691         New module 'unicase/u16-is-uppercase'.
30692         * lib/unicase/u16-is-uppercase.c: New file.
30693         * modules/unicase/u16-is-uppercase: New file.
30694
30695         New module 'unicase/u8-is-uppercase'.
30696         * lib/unicase/u8-is-uppercase.c: New file.
30697         * modules/unicase/u8-is-uppercase: New file.
30698
30699         New module 'unicase/u32-is-invariant'.
30700         * lib/unicase/u32-is-invariant.c: New file.
30701         * modules/unicase/u32-is-invariant: New file.
30702
30703         New module 'unicase/u16-is-invariant'.
30704         * lib/unicase/u16-is-invariant.c: New file.
30705         * modules/unicase/u16-is-invariant: New file.
30706
30707         New module 'unicase/u8-is-invariant'.
30708         * lib/unicase/u8-is-invariant.c: New file.
30709         * lib/unicase/invariant.h: New file.
30710         * lib/unicase/u-is-invariant.h: New file.
30711         * modules/unicase/u8-is-invariant: New file.
30712
30713         Tests for module 'unicase/u32-casecoll'.
30714         * modules/unicase/u32-casecoll-tests: New file.
30715         * tests/unicase/test-u32-casecoll.c: New file.
30716
30717         Tests for module 'unicase/u16-casecoll'.
30718         * modules/unicase/u16-casecoll-tests: New file.
30719         * tests/unicase/test-u16-casecoll.c: New file.
30720
30721         Tests for module 'unicase/u8-casecoll'.
30722         * modules/unicase/u8-casecoll-tests: New file.
30723         * tests/unicase/test-u8-casecoll.c: New file.
30724
30725         New module 'unicase/u32-casecoll'.
30726         * lib/unicase/u32-casecoll.c: New file.
30727         * modules/unicase/u32-casecoll: New file.
30728
30729         New module 'unicase/u16-casecoll'.
30730         * lib/unicase/u16-casecoll.c: New file.
30731         * modules/unicase/u16-casecoll: New file.
30732
30733         New module 'unicase/u8-casecoll'.
30734         * lib/unicase/u8-casecoll.c: New file.
30735         * lib/unicase/u-casecoll.h: New file.
30736         * modules/unicase/u8-casecoll: New file.
30737
30738         New module 'unicase/u32-casexfrm'.
30739         * lib/unicase/u32-casexfrm.c: New file.
30740         * modules/unicase/u32-casexfrm: New file.
30741
30742         New module 'unicase/u16-casexfrm'.
30743         * lib/unicase/u16-casexfrm.c: New file.
30744         * modules/unicase/u16-casexfrm: New file.
30745
30746         New module 'unicase/u8-casexfrm'.
30747         * lib/unicase/u8-casexfrm.c: New file.
30748         * lib/unicase/u-casexfrm.h: New file.
30749         * modules/unicase/u8-casexfrm: New file.
30750
30751         Tests for module 'unicase/u32-casecmp'.
30752         * modules/unicase/u32-casecmp-tests: New file.
30753         * tests/unicase/test-u32-casecmp.c: New file.
30754
30755         Tests for module 'unicase/u16-casecmp'.
30756         * modules/unicase/u16-casecmp-tests: New file.
30757         * tests/unicase/test-u16-casecmp.c: New file.
30758
30759         Tests for module 'unicase/u8-casecmp'.
30760         * modules/unicase/u8-casecmp-tests: New file.
30761         * tests/unicase/test-u8-casecmp.c: New file.
30762         * tests/unicase/test-casecmp.h: New file.
30763
30764         New module 'unicase/u32-casecmp'.
30765         * lib/unicase/u32-casecmp.c: New file.
30766         * modules/unicase/u32-casecmp: New file.
30767
30768         New module 'unicase/u16-casecmp'.
30769         * lib/unicase/u16-casecmp.c: New file.
30770         * modules/unicase/u16-casecmp: New file.
30771
30772         New module 'unicase/u8-casecmp'.
30773         * lib/unicase/u8-casecmp.c: New file.
30774         * lib/unicase/u-casecmp.h: New file.
30775         * modules/unicase/u8-casecmp: New file.
30776
30777         Tests for module 'unicase/u32-casefold'.
30778         * modules/unicase/u32-casefold-tests: New file.
30779         * tests/unicase/test-u32-casefold.c: New file.
30780
30781         Tests for module 'unicase/u16-casefold'.
30782         * modules/unicase/u16-casefold-tests: New file.
30783         * tests/unicase/test-u16-casefold.c: New file.
30784
30785         Tests for module 'unicase/u8-casefold'.
30786         * modules/unicase/u8-casefold-tests: New file.
30787         * tests/unicase/test-u8-casefold.c: New file.
30788
30789         New module 'unicase/u32-casefold'.
30790         * lib/unicase/u32-casefold.c: New file.
30791         * modules/unicase/u32-casefold: New file.
30792
30793         New module 'unicase/u16-casefold'.
30794         * lib/unicase/u16-casefold.c: New file.
30795         * modules/unicase/u16-casefold: New file.
30796
30797         New module 'unicase/u8-casefold'.
30798         * lib/unicase/u8-casefold.c: New file.
30799         * lib/unicase/u-casefold.h: New file.
30800         * modules/unicase/u8-casefold: New file.
30801
30802         New module 'unicase/tocasefold'.
30803         * lib/unicase/casefold.h: New file.
30804         * lib/unicase/tocasefold.c: New file.
30805         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
30806         * modules/unicase/tocasefold: New file.
30807
30808         Tests for module 'unicase/u32-totitle'.
30809         * modules/unicase/u32-totitle-tests: New file.
30810         * tests/unicase/test-u32-totitle.c: New file.
30811
30812         Tests for module 'unicase/u16-totitle'.
30813         * modules/unicase/u16-totitle-tests: New file.
30814         * tests/unicase/test-u16-totitle.c: New file.
30815
30816         Tests for module 'unicase/u8-totitle'.
30817         * modules/unicase/u8-totitle-tests: New file.
30818         * tests/unicase/test-u8-totitle.c: New file.
30819
30820         New module 'unicase/u32-totitle'.
30821         * lib/unicase/u32-totitle.c: New file.
30822         * modules/unicase/u32-totitle: New file.
30823
30824         New module 'unicase/u16-totitle'.
30825         * lib/unicase/u16-totitle.c: New file.
30826         * modules/unicase/u16-totitle: New file.
30827
30828         New module 'unicase/u8-totitle'.
30829         * lib/unicase/u8-totitle.c: New file.
30830         * lib/unicase/u-totitle.h: New file.
30831         * modules/unicase/u8-totitle: New file.
30832
30833         Tests for module 'unicase/u32-tolower'.
30834         * modules/unicase/u32-tolower-tests: New file.
30835         * tests/unicase/test-u32-tolower.c: New file.
30836
30837         Tests for module 'unicase/u16-tolower'.
30838         * modules/unicase/u16-tolower-tests: New file.
30839         * tests/unicase/test-u16-tolower.c: New file.
30840
30841         Tests for module 'unicase/u8-tolower'.
30842         * modules/unicase/u8-tolower-tests: New file.
30843         * tests/unicase/test-u8-tolower.c: New file.
30844
30845         New module 'unicase/u32-tolower'.
30846         * lib/unicase/u32-tolower.c: New file.
30847         * modules/unicase/u32-tolower: New file.
30848
30849         New module 'unicase/u16-tolower'.
30850         * lib/unicase/u16-tolower.c: New file.
30851         * modules/unicase/u16-tolower: New file.
30852
30853         New module 'unicase/u8-tolower'.
30854         * lib/unicase/u8-tolower.c: New file.
30855         * modules/unicase/u8-tolower: New file.
30856
30857         Tests for module 'unicase/u32-toupper'.
30858         * modules/unicase/u32-toupper-tests: New file.
30859         * tests/unicase/test-u32-toupper.c: New file.
30860
30861         Tests for module 'unicase/u16-toupper'.
30862         * modules/unicase/u16-toupper-tests: New file.
30863         * tests/unicase/test-u16-toupper.c: New file.
30864
30865         Tests for module 'unicase/u8-toupper'.
30866         * modules/unicase/u8-toupper-tests: New file.
30867         * tests/unicase/test-u8-toupper.c: New file.
30868
30869         New module 'unicase/u32-toupper'.
30870         * lib/unicase/u32-toupper.c: New file.
30871         * modules/unicase/u32-toupper: New file.
30872
30873         New module 'unicase/u16-toupper'.
30874         * lib/unicase/u16-toupper.c: New file.
30875         * modules/unicase/u16-toupper: New file.
30876
30877         New module 'unicase/u8-toupper'.
30878         * lib/unicase/u8-toupper.c: New file.
30879         * modules/unicase/u8-toupper: New file.
30880
30881         New module 'unicase/u32-casemap'.
30882         * lib/unicase/u32-casemap.c: New file.
30883         * modules/unicase/u32-casemap: New file.
30884
30885         New module 'unicase/u16-casemap'.
30886         * lib/unicase/u16-casemap.c: New file.
30887         * modules/unicase/u16-casemap: New file.
30888
30889         New module 'unicase/u8-casemap'.
30890         * lib/unicase/unicasemap.h: New file.
30891         * lib/unicase/u8-casemap.c: New file.
30892         * lib/unicase/u-casemap.h: New file.
30893         * modules/unicase/u8-casemap: New file.
30894
30895         New module 'unicase/special-casing'.
30896         * lib/unicase/special-casing.h: New file.
30897         * lib/unicase/special-casing.c: New file.
30898         * lib/unicase/special-casing-table.gperf: New file, generated by
30899         gen-uni-tables.c.
30900         * modules/unicase/special-casing: New file.
30901
30902         Tests for module 'unicase/locale-language'.
30903         * modules/unicase/locale-language-tests: New file.
30904         * tests/unicase/test-locale-language.sh: New file.
30905         * tests/unicase/test-locale-language.c: New file.
30906
30907         New module 'unicase/locale-language'.
30908         * lib/unicase/locale-language.c: New file.
30909         * lib/unicase/locale-languages.gperf: New file.
30910         * modules/unicase/locale-language: New file.
30911
30912         Generate more tables for case conversion and case folding.
30913         * lib/gen-uni-tables.c (SCC_*): New enum items.
30914         (struct special_casing_rule): New type.
30915         (casing_rules, num_casing_rules, allocated_casing_rules): New
30916         variables.
30917         (add_casing_rule, fill_casing_rules): New functions.
30918         (struct casefold_rule): New type.
30919         (casefolding_rules, num_casefolding_rules,
30920         allocated_casefolding_rules): New variables.
30921         (fill_casefolding_rules): New function.
30922         (unicode_casefold): New variable.
30923         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
30924         sort_casing_rules, output_casing_rules): New functions.
30925         (main): Accept to more arguments: SpecialCasing.txt and
30926         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
30927         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
30928         Output mapping for casefolding.
30929
30930         * lib/unicase.h: Include stdbool.h, uninorm.h.
30931         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
30932         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
30933         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
30934         arguments.
30935         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
30936         resultp arguments.
30937         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
30938         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
30939         resultp arguments.
30940         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
30941         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
30942         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
30943         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
30944         declarations.
30945         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
30946
30947 2009-03-08  Bruno Haible  <bruno@clisp.org>
30948
30949         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30950         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
30951         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
30952         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30953
30954 2009-03-07  Bruno Haible  <bruno@clisp.org>
30955
30956         Adjust u*_normcmp, u*_normcoll API.
30957         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30958         u16_normcoll, u32_normcoll): Change failure conventions.
30959         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
30960         errno and return -1.
30961         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30962
30963 2009-03-07  Bruno Haible  <bruno@clisp.org>
30964
30965         Tests for module 'uninorm/u32-normcoll'.
30966         * modules/uninorm/u32-normcoll-tests: New file.
30967         * tests/uninorm/test-u32-normcoll.c: New file.
30968
30969         Tests for module 'uninorm/u16-normcoll'.
30970         * modules/uninorm/u16-normcoll-tests: New file.
30971         * tests/uninorm/test-u16-normcoll.c: New file.
30972
30973         Tests for module 'uninorm/u8-normcoll'.
30974         * modules/uninorm/u8-normcoll-tests: New file.
30975         * tests/uninorm/test-u8-normcoll.c: New file.
30976
30977 2009-03-07  Bruno Haible  <bruno@clisp.org>
30978
30979         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
30980         tests/uninorm/test-u32-normcmp.c.
30981         * tests/uninorm/test-u32-normcmp.c: Include it.
30982         (test_nonascii): New function, extracted from main. Add some more
30983         tests.
30984         (main): Invoke test_ascii and test_nonascii.
30985         * modules/uninorm/u32-normcmp-tests (Files): Add
30986         tests/uninorm/test-u32-normcmp.h.
30987         (Depends-on): Remove uninorm/u32-normcmp.
30988
30989         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
30990         tests/uninorm/test-u16-normcmp.c.
30991         * tests/uninorm/test-u16-normcmp.c: Include it.
30992         (test_nonascii): New function, extracted from main. Add some more
30993         tests.
30994         (main): Invoke test_ascii and test_nonascii.
30995         * modules/uninorm/u16-normcmp-tests (Files): Add
30996         tests/uninorm/test-u16-normcmp.h.
30997         (Depends-on): Remove uninorm/u16-normcmp.
30998
30999         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
31000         tests/uninorm/test-u8-normcmp.c.
31001         * tests/uninorm/test-u8-normcmp.c: Include it.
31002         (test_nonascii): New function, extracted from main. Add some more
31003         tests.
31004         (main): Invoke test_ascii and test_nonascii.
31005         * modules/uninorm/u8-normcmp-tests (Files): Add
31006         tests/uninorm/test-u8-normcmp.h.
31007         (Depends-on): Remove uninorm/u8-normcmp.
31008
31009 2009-03-07  Bruno Haible  <bruno@clisp.org>
31010
31011         New module 'uninorm/u32-normcoll'.
31012         * lib/uninorm/u32-normcoll.c: New file.
31013         * modules/uninorm/u32-normcoll: New file.
31014
31015         New module 'uninorm/u16-normcoll'.
31016         * lib/uninorm/u16-normcoll.c: New file.
31017         * modules/uninorm/u16-normcoll: New file.
31018
31019         New module 'uninorm/u8-normcoll'.
31020         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
31021         declarations.
31022         * lib/uninorm/u8-normcoll.c: New file.
31023         * lib/uninorm/u-normcoll.h: New file.
31024         * modules/uninorm/u8-normcoll: New file.
31025
31026         New module 'uninorm/u32-normxfrm'.
31027         * lib/uninorm/u32-normxfrm.c: New file.
31028         * modules/uninorm/u32-normxfrm: New file.
31029
31030         New module 'uninorm/u16-normxfrm'.
31031         * lib/uninorm/u16-normxfrm.c: New file.
31032         * modules/uninorm/u16-normxfrm: New file.
31033
31034         New module 'uninorm/u8-normxfrm'.
31035         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
31036         declarations.
31037         * lib/uninorm/u8-normxfrm.c: New file.
31038         * lib/uninorm/u-normxfrm.h: New file.
31039         * modules/uninorm/u8-normxfrm: New file.
31040
31041 2009-03-07  Bruno Haible  <bruno@clisp.org>
31042
31043         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
31044         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
31045         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
31046
31047 2009-03-07  Bruno Haible  <bruno@clisp.org>
31048
31049         New module 'memxfrm'.
31050         * lib/memxfrm.h: New file.
31051         * lib/memxfrm.c: New file.
31052         * modules/memxfrm: New file.
31053
31054 2009-03-07  Bruno Haible  <bruno@clisp.org>
31055
31056         New module 'memcmp2'.
31057         * lib/memcmp2.h: New file.
31058         * lib/memcmp2.c: New file.
31059         * modules/memcmp2: New file.
31060
31061 2009-03-07  Bruno Haible  <bruno@clisp.org>
31062
31063         Tests for module 'uninorm/decomposing-form'.
31064         * modules/uninorm/decomposing-form-tests: New file.
31065         * tests/uninorm/test-decomposing-form.c: New file.
31066
31067         New module 'uninorm/decomposing-form'.
31068         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
31069         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
31070         Add 'decomposing_variant' field.
31071         * lib/uninorm/decomposing-form.c: New file.
31072         * lib/uninorm/nfc.c (uninorm_nfc): Update.
31073         * lib/uninorm/nfd.c (uninorm_nfd): Update.
31074         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
31075         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
31076         * modules/uninorm/decomposing-form: New file.
31077         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
31078         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
31079
31080 2009-03-07  Bruno Haible  <bruno@clisp.org>
31081
31082         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
31083         strings.
31084
31085 2009-03-06  Bruno Haible  <bruno@clisp.org>
31086
31087         Tests for module 'uninorm/u32-normcmp'.
31088         * tests/uninorm/test-u32-normcmp.c: New file.
31089         * modules/uninorm/u32-normcmp-tests: New file.
31090
31091         Tests for module 'uninorm/u16-normcmp'.
31092         * tests/uninorm/test-u16-normcmp.c: New file.
31093         * modules/uninorm/u16-normcmp-tests: New file.
31094
31095         Tests for module 'uninorm/u8-normcmp'.
31096         * tests/uninorm/test-u8-normcmp.c: New file.
31097         * modules/uninorm/u8-normcmp-tests: New file.
31098
31099         New module 'uninorm/u32-normcmp'.
31100         * lib/uninorm/u32-normcmp.c: New file.
31101         * modules/uninorm/u32-normcmp: New file.
31102
31103         New module 'uninorm/u16-normcmp'.
31104         * lib/uninorm/u16-normcmp.c: New file.
31105         * modules/uninorm/u16-normcmp: New file.
31106
31107         New module 'uninorm/u8-normcmp'.
31108         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
31109         declarations.
31110         * lib/uninorm/u8-normcmp.c: New file.
31111         * lib/uninorm/u-normcmp.h: New file.
31112         * modules/uninorm/u8-normcmp: New file.
31113
31114 2009-03-06  Bruno Haible  <bruno@clisp.org>
31115
31116         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
31117         Reported by Eric Blake.
31118
31119 2009-03-06  Eric Blake  <ebb9@byu.net>
31120             Bruno Haible  <bruno@clisp.org>
31121
31122         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
31123         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
31124         condition.
31125         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31126         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
31127         condition.
31128         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31129
31130 2009-03-06  Eric Blake  <ebb9@byu.net>
31131
31132         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
31133         to avoid compiler warnings.
31134         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
31135
31136 2009-03-05  Bruno Haible  <bruno@clisp.org>
31137
31138         * tests/test-ftell.c (main): Disable test beyond end of file on
31139         FreeMiNT.
31140         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31141
31142 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
31143
31144         * lib/filevercmp.c: Move hidden files up in ordering.
31145         * tests/test-filevercmp.c: Add tests for hidden files.
31146
31147 2009-03-04  Bruno Haible  <bruno@clisp.org>
31148
31149         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
31150         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
31151         AM_CFLAGS.
31152         Reported by Simon Josefsson.
31153
31154 2009-03-03  Bruno Haible  <bruno@clisp.org>
31155
31156         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
31157         Reported by Simon Josefsson.
31158
31159         * doc/ld-version-script.texi: Update node reference.
31160
31161 2009-03-03  Bruno Haible  <bruno@clisp.org>
31162
31163         * modules/visibility (License): Change to 'unlimited'.
31164         Suggested by Simon Josefsson.
31165
31166 2009-03-03  Jim Meyering  <meyering@redhat.com>
31167
31168         unlinkdir: cannot_unlink_dir may modify process state
31169         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
31170         it's neither thread-safe nor appropriate for use in a library.
31171
31172 2009-03-03  Eric Blake  <ebb9@byu.net>
31173
31174         test-closein: silence test under Darwin
31175         * tests/test-closein.sh: Ignore stderr from cat, since we don't
31176         care if it dies from EPIPE or EBADF.
31177
31178 2009-03-03  Bruno Haible  <bruno@clisp.org>
31179
31180         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
31181         earlier.
31182         * doc/visibility.texi: Fix @node and @section.
31183
31184 2009-03-03  Simon Josefsson  <simon@josefsson.org>
31185
31186         * doc/gnulib.texi: Link to sections for ld version script and
31187         visibility.
31188         * doc/visibility.texi: Add @node and @section.
31189         * modules/ld-version-script: New module.
31190         * m4/ld-version-script.m4: New file.
31191         * doc/ld-version-script.texi: New file.
31192
31193 2009-03-02  David Lutterkort  <lutter@redhat.com>
31194
31195         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
31196         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31197
31198 2009-03-02  Bruno Haible  <bruno@clisp.org>
31199
31200         * doc/visibility.texi: Mention libtool's -export-symbols option.
31201
31202 2009-03-02  Jim Meyering  <meyering@redhat.com>
31203
31204         announce-gen: new option: --no-print-checksums
31205         * build-aux/announce-gen (usage): Describe it.
31206         (print_checksums): Print a newline here, not in the [*] footnote.
31207         (main): Honor it.
31208
31209 2009-03-01  Bruno Haible  <bruno@clisp.org>
31210
31211         Use socklen_t in the native Windows replacements prototypes.
31212         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
31213         instead of 'int'.
31214         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31215         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31216         * modules/getsockopt (Depends-on): Add socklen.
31217         * modules/setsockopt (Depends-on): Add socklen.
31218
31219 2009-03-01  Bruno Haible  <bruno@clisp.org>
31220
31221         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
31222         least 4.2.
31223
31224 2009-03-01  Eric Blake  <ebb9@byu.net>
31225             Bruno Haible  <bruno@clisp.org>
31226
31227         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
31228         error messages.
31229         * lib/wait-process.c (wait_subprocess): Omit error message about
31230         deadly signal sent to the child of termsigp != NULL.
31231
31232 2009-03-01  Eric Blake  <ebb9@byu.net>
31233
31234         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
31235
31236 2009-03-01  Bruno Haible  <bruno@clisp.org>
31237
31238         Avoid a gcc warning.
31239         * tests/test-sched.c (b): Make global.
31240         Reported by Eric Blake.
31241
31242 2009-01-19  Martin Lambers  <marlam@marlam.de>
31243
31244         Provide POSIX semantics for socket timeout options on W32.
31245         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
31246         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
31247         * modules/setsockopt: Depend on sys_time module for struct timeval.
31248         * modules/getsockopt: Depend on sys_time module for struct timeval.
31249
31250 2009-03-01  Simon Josefsson  <simon@josefsson.org>
31251
31252         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
31253         __USE_GNU, for consistency with netdb.in.h.
31254         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31255
31256 2009-03-01  Bruno Haible  <bruno@clisp.org>
31257
31258         More support for FreeMiNT.
31259         * lib/fseeko.c (rpl_fseeko): Complete last commit.
31260         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31261
31262 2009-03-01  Bruno Haible  <bruno@clisp.org>
31263
31264         More support for FreeMiNT.
31265         * lib/fpurge.c (fpurge): Correct last commit.
31266         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31267
31268 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31269
31270         Fix unportable awk script in vc-list-files.
31271         * build-aux/vc-list-files: In the replacement awk script, use
31272         substr with a second argument of 1, not zero.
31273         Report by Simon Josefsson.
31274
31275 2009-02-28  Bruno Haible  <bruno@clisp.org>
31276
31277         More support for FreeMiNT.
31278         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
31279         to FreeMiNT today.
31280         * lib/fwriting.c (fwriting): Likewise.
31281         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
31282
31283 2009-02-28  Bruno Haible  <bruno@clisp.org>
31284
31285         * tests/test-freadseek.c (main): Disable test beyond end of file on
31286         FreeMiNT.
31287         * tests/test-ftello.c (main): Likewise.
31288         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31289
31290 2009-02-28  Bruno Haible  <bruno@clisp.org>
31291
31292         Add tentative support for FreeMiNT.
31293         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
31294         * lib/fpurge.c (fpurge): Likewise.
31295         * lib/freadable.c (freadable): Likewise.
31296         * lib/freading.c (freading): Likewise.
31297         * lib/freadptr.c (freadptr): Likewise.
31298         * lib/freadseek.c (freadptrinc): Likewise.
31299         * lib/fseeko.c (rpl_fseeko): Likewise.
31300         * lib/fseterr.c (fseterr): Likewise.
31301         * lib/fwritable.c (fwritable): Likewise.
31302         * lib/fwriting.c (fwriting): Likewise.
31303         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
31304         Hourihane.
31305         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31306
31307 2009-02-28  Bruno Haible  <bruno@clisp.org>
31308
31309         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
31310         SIGCHLD.
31311         Reported by Jim Meyering.
31312
31313 2009-02-28  Bruno Haible  <bruno@clisp.org>
31314
31315         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
31316         Mention the results of these tests on various platforms.
31317         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
31318         order.
31319         * doc/posix-functions/printf.texi: Likewise.
31320         * doc/posix-functions/snprintf.texi: Likewise.
31321         * doc/posix-functions/sprintf.texi: Likewise.
31322         * doc/posix-functions/vfprintf.texi: Likewise.
31323         * doc/posix-functions/vprintf.texi: Likewise.
31324         * doc/posix-functions/vsnprintf.texi: Likewise.
31325         * doc/posix-functions/vsprintf.texi: Likewise.
31326         * doc/glibc-functions/obstack_printf.texi: Likewise.
31327         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
31328
31329 2009-02-28  Bruno Haible  <bruno@clisp.org>
31330
31331         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
31332         Reported by Loïc Minier <lool@dooz.org>.
31333
31334 2009-02-27  Bruno Haible  <bruno@clisp.org>
31335
31336         * gnulib-tool (func_import): Make the sed expression used to create the
31337         sed script for updating the .gitignore file POSIX compliant.
31338         Reported by Eric Blake.
31339
31340 2009-02-27  Bruno Haible  <bruno@clisp.org>
31341
31342         * gnulib-tool (sed): Don't alias as "sed --posix".
31343         Reported by Eric Blake.
31344
31345 2009-02-27  Bruno Haible  <bruno@clisp.org>
31346
31347         Avoid test link errors.
31348         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
31349         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
31350         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
31351         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
31352         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31353
31354 2009-02-27  Bruno Haible  <bruno@clisp.org>
31355
31356         Avoid spurious "(cached)" in configure output.
31357         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
31358         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
31359         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31360         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31361         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31362         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31363         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31364         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31365         Reported by Eric Blake.
31366
31367 2009-02-27  Eric Blake  <ebb9@byu.net>
31368
31369         printf: fix regression in previous patch
31370         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
31371
31372 2009-02-27  Bruno Haible  <bruno@clisp.org>
31373
31374         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
31375         value.
31376         * lib/stdint.in.h: Likewise.
31377         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
31378
31379 2009-02-27  Eric Blake  <ebb9@byu.net>
31380
31381         doc: mention more functions added in cygwin 1.7.0
31382         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
31383         addition.
31384         * doc/posix-functions/open_wmemstream.texi: Likewise.
31385         * doc/posix-functions/wcsnlen.texi: Likewise.
31386         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31387         * doc/posix-functions/wcstod.texi: Likewise.
31388         * doc/posix-functions/wcstof.texi: Likewise.
31389         * doc/posix-functions/wcstoimax.texi: Likewise.
31390         * doc/posix-functions/wcstok.texi: Likewise.
31391         * doc/posix-functions/wcstoumax.texi: Likewise.
31392
31393         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
31394         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
31395         * doc/posix-functions/fprintf.texi: Update.
31396         * doc/posix-functions/printf.texi: Update.
31397         * doc/posix-functions/snprintf.texi: Update.
31398         * doc/posix-functions/sprintf.texi: Update.
31399         * doc/posix-functions/vfprintf.texi: Update.
31400         * doc/posix-functions/vprintf.texi: Update.
31401         * doc/posix-functions/vsnprintf.texi: Update.
31402         * doc/posix-functions/vsprintf.texi: Update.
31403         * doc/glibc-functions/obstack_printf.texi: Update.
31404         * doc/glibc-functions/obstack_vprintf.texi: Update.
31405
31406 2009-02-26  Eric Blake  <ebb9@byu.net>
31407
31408         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
31409         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
31410         compilation bug by using runtime conversion.
31411         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31412         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
31413         * modules/ceill-tests (Files): Use nan.h.
31414         * modules/floorl-tests (Files): Likewise.
31415         * modules/frexpl-tests (Files): Likewise.
31416         * modules/isnanl-tests (Files): Likewise.
31417         * modules/ldexpl-tests (Files): Likewise.
31418         * modules/roundl-tests (Files): Likewise.
31419         * modules/truncl-tests (Files): Likewise.
31420         * tests/test-ceill.c (main): Use a working NaN.
31421         * tests/test-floorl.c (main): Likewise.
31422         * tests/test-frexpl.c (main): Likewise.
31423         * tests/test-isnan.c (test_long_double): Likewise.
31424         * tests/test-isnanl.h (main): Likewise.
31425         * tests/test-ldexpl.h (main): Likewise.
31426         * tests/test-roundl.h (main): Likewise.
31427         * tests/test-truncl.h (main): Likewise.
31428         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
31429
31430 2009-02-26  Eric Blake  <ebb9@byu.net>
31431             Bruno Haible  <bruno@clisp.org>
31432
31433         Work around a *printf bug with %ls on Solaris.
31434         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
31435         precision is specified, sprintf stops converting the wide string
31436         argument when the number of bytes that have been produced by this
31437         conversion equals or exceeds the precision.
31438         * doc/posix-functions/fprintf.texi: Update.
31439         * doc/posix-functions/printf.texi: Update.
31440         * doc/posix-functions/snprintf.texi: Update.
31441         * doc/posix-functions/sprintf.texi: Update.
31442         * doc/posix-functions/vfprintf.texi: Update.
31443         * doc/posix-functions/vprintf.texi: Update.
31444         * doc/posix-functions/vsnprintf.texi: Update.
31445         * doc/posix-functions/vsprintf.texi: Update.
31446         * doc/glibc-functions/obstack_printf.texi: Update.
31447         * doc/glibc-functions/obstack_vprintf.texi: Update.
31448
31449 2009-02-26  Eric Blake  <ebb9@byu.net>
31450
31451         stdlib: favor compiler check of random.h
31452         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
31453         to avoid an ObjC random.h installed by Swarm.
31454
31455 2009-02-26  Bruno Haible  <bruno@clisp.org>
31456
31457         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
31458         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
31459         Reported by Gary V. Vaughan <gary@gnu.org>.
31460
31461 2009-02-26  Bruno Haible  <bruno@clisp.org>
31462
31463         Fix *printf behaviour regarding the %ls directive.
31464         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
31465         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
31466         NEED_PRINTF_DIRECTIVE_LS.
31467         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
31468         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31469         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31470         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
31471         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
31472         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
31473         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
31474         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31475         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31476         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31477         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31478         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
31479         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31480         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31481         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31482         * doc/posix-functions/fprintf.texi: Update.
31483         * doc/posix-functions/printf.texi: Update.
31484         * doc/posix-functions/snprintf.texi: Update.
31485         * doc/posix-functions/sprintf.texi: Update.
31486         * doc/posix-functions/vfprintf.texi: Update.
31487         * doc/posix-functions/vprintf.texi: Update.
31488         * doc/posix-functions/vsnprintf.texi: Update.
31489         * doc/posix-functions/vsprintf.texi: Update.
31490         * doc/glibc-functions/obstack_printf.texi: Update.
31491         * doc/glibc-functions/obstack_vprintf.texi: Update.
31492         Reported by Eric Blake.
31493
31494 2009-02-25  Bruno Haible  <bruno@clisp.org>
31495
31496         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
31497         with known value.
31498         Reported by Gary V. Vaughan <gary@gnu.org>.
31499
31500 2009-02-25  Bruno Haible  <bruno@clisp.org>
31501
31502         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
31503         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
31504         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
31505         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
31506         Reported by Gary V. Vaughan <gary@gnu.org>.
31507
31508 2009-02-25  Bruno Haible  <bruno@clisp.org>
31509
31510         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
31511         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
31512         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
31513         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
31514         Reported by Gary V. Vaughan <gary@gnu.org>.
31515
31516 2009-02-25  Eric Blake  <ebb9@byu.net>
31517
31518         tests: skip fseek/ftell tests if ungetc is broken
31519         * m4/ungetc.m4: New file.
31520         * modules/fseek-tests: Split test, so ungetc dependency is
31521         separate from rest of test.
31522         * modules/fseeko-tests: Likewise.
31523         * modules/ftell-tests: Likewise.
31524         * modules/ftello-tests: Likewise.
31525         * tests/test-fseek.c (main): Isolate ungetc dependency.
31526         * tests/test-fseeko.c (main): Likewise.
31527         * tests/test-ftell.c (main): Likewise.
31528         * tests/test-ftello.c (main): Likewise.
31529         * tests/test-fseek2.sh: New file.
31530         * tests/test-fseeko2.sh: Likewise.
31531         * tests/test-ftell2.sh: Likewise.
31532         * tests/test-ftello2.sh: Likewise.
31533
31534 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
31535
31536         test-getaddrinfo: fix usage of skip return code 77
31537         * tests/test-gettaddrinfo.c: Return skip code 77 only
31538         for first occurance of skip (4x77 is not 77)
31539
31540 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
31541
31542         strtod: avoid C99 decl-after-statement
31543         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
31544
31545 2009-02-24  Eric Blake  <ebb9@byu.net>
31546
31547         strtod: detect HP-UX 11.31 bug
31548         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
31549         Reported by Gary V. Vaughan.
31550
31551 2009-02-23  Bruno Haible  <bruno@clisp.org>
31552
31553         Fix invalid read past end of memory block.
31554         * lib/vasnprintf.c (DCHAR_SET): Define.
31555         (local_wcslen): Define only when needed.
31556         (local_strnlen, local_wcsnlen): New functions.
31557         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
31558         directives that involve a conversion ourselves.
31559         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
31560         wcsnlen, mbrtowc, wcrtomb.
31561         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
31562         * tests/test-vasprintf-posix.c (test_function): Likewise.
31563         * tests/test-snprintf-posix.h (test_function): Likewise.
31564         * tests/test-sprintf-posix.h (test_function): Likewise.
31565         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31566
31567 2009-02-22  Bruno Haible  <bruno@clisp.org>
31568
31569         Implement new clarified decomposition of Hangul syllables.
31570         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
31571         of type LTV, return only a pairwise decomposition.
31572         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
31573         Likewise.
31574         * tests/uninorm/test-decomposition.c (main): Updated expected result.
31575         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
31576         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
31577
31578 2009-02-22  Bruno Haible  <bruno@clisp.org>
31579
31580         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
31581         zero-length results and shrink excess allocated memory.
31582         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
31583         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
31584         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
31585         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
31586         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
31587         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
31588         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
31589         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
31590         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
31591         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
31592         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
31593         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
31594
31595 2009-02-21  Bruno Haible  <bruno@clisp.org>
31596
31597         * doc/gnulib.texi: Include safe-alloc.texi earlier.
31598         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
31599         spaces after a period. Put a space between a macro name and its
31600         argument list. Trivial rewordings.
31601         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
31602         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
31603         (main): Return 0 explicitly.
31604
31605 2009-02-21  Bruno Haible  <bruno@clisp.org>
31606
31607         Tests for module 'uninorm/filter'.
31608         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
31609         * modules/uninorm/filter-tests: New file.
31610
31611         New module 'uninorm/filter'.
31612         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
31613         uninorm_filter_flush, uninorm_filter_free): New declarations.
31614         * lib/uninorm/uninorm-filter.c: New file.
31615         * modules/uninorm/filter: New file.
31616
31617 2009-02-21  Bruno Haible  <bruno@clisp.org>
31618
31619         Tests for module 'uninorm/nfkc'.
31620         * tests/uninorm/test-nfkc.c: New file.
31621         * tests/uninorm/test-u8-nfkc.c: New file.
31622         * tests/uninorm/test-u16-nfkc.c: New file.
31623         * tests/uninorm/test-u32-nfkc.c: New file.
31624         * tests/uninorm/test-u32-nfkc-big.sh: New file.
31625         * tests/uninorm/test-u32-nfkc-big.c: New file.
31626         * modules/uninorm/nfkc-tests: New file.
31627
31628         New module 'uninorm/nfkc'.
31629         * lib/uninorm/nfkc.c: New file.
31630         * modules/uninorm/nfkc: New file.
31631
31632         Tests for module 'uninorm/nfkd'.
31633         * tests/uninorm/test-nfkd.c: New file.
31634         * tests/uninorm/test-u8-nfkd.c: New file.
31635         * tests/uninorm/test-u16-nfkd.c: New file.
31636         * tests/uninorm/test-u32-nfkd.c: New file.
31637         * tests/uninorm/test-u32-nfkd-big.sh: New file.
31638         * tests/uninorm/test-u32-nfkd-big.c: New file.
31639         * modules/uninorm/nfkd-tests: New file.
31640
31641         New module 'uninorm/nfkd'.
31642         * lib/uninorm/nfkd.c: New file.
31643         * modules/uninorm/nfkd: New file.
31644
31645         Tests for module 'uninorm/nfc'.
31646         * tests/uninorm/test-nfc.c: New file.
31647         * tests/uninorm/test-u8-nfc.c: New file.
31648         * tests/uninorm/test-u16-nfc.c: New file.
31649         * tests/uninorm/test-u32-nfc.c: New file.
31650         * tests/uninorm/test-u32-nfc-big.sh: New file.
31651         * tests/uninorm/test-u32-nfc-big.c: New file.
31652         * modules/uninorm/nfc-tests: New file.
31653
31654         New module 'uninorm/nfc'.
31655         * lib/uninorm/nfc.c: New file.
31656         * modules/uninorm/nfc: New file.
31657
31658         Tests for module 'uninorm/nfd'.
31659         * tests/uninorm/test-nfd.c: New file.
31660         * tests/uninorm/test-u8-nfd.c: New file.
31661         * tests/uninorm/test-u16-nfd.c: New file.
31662         * tests/uninorm/test-u32-nfd.c: New file.
31663         * tests/uninorm/test-u32-nfd-big.sh: New file.
31664         * tests/uninorm/test-u32-nfd-big.c: New file.
31665         * tests/uninorm/test-u32-normalize-big.h: New file.
31666         * tests/uninorm/test-u32-normalize-big.c: New file.
31667         * tests/uninorm/NormalizationTest.txt: New file, created from
31668         Unicode 5.1.0 NormalizationTest.txt.
31669         * modules/uninorm/nfd-tests: New file.
31670
31671         New module 'uninorm/nfd'.
31672         * lib/uninorm/nfd.c: New file.
31673         * modules/uninorm/nfd: New file.
31674
31675         New module 'uninorm/u32-normalize'.
31676         * lib/uninorm/u32-normalize.c: New file.
31677         * modules/uninorm/u32-normalize: New file.
31678
31679         New module 'uninorm/u16-normalize'.
31680         * lib/uninorm/u16-normalize.c: New file.
31681         * modules/uninorm/u16-normalize: New file.
31682
31683         New module 'uninorm/u8-normalize'.
31684         * lib/uninorm/u8-normalize.c: New file.
31685         * lib/uninorm/normalize-internal.h: New file.
31686         * lib/uninorm/u-normalize-internal.h: New file.
31687         * modules/uninorm/u8-normalize: New file.
31688
31689         New module 'uninorm/decompose-internal'.
31690         * lib/uninorm/decompose-internal.c: New file.
31691         * modules/uninorm/decompose-internal: New file.
31692
31693         Tests for module 'uninorm/composition'.
31694         * tests/uninorm/test-composition.c: New file.
31695         * modules/uninorm/composition-tests: New file.
31696
31697         New module 'uninorm/composition'.
31698         * lib/uninorm/composition.c: New file.
31699         * lib/uninorm/composition-table.gperf: New file, generated by
31700         gen-uni-tables.
31701         * modules/uninorm/composition: New file.
31702
31703         Tests for module 'uninorm/compat-decomposition'.
31704         * tests/uninorm/test-compat-decomposition.c: New file.
31705         * modules/uninorm/compat-decomposition-tests: New file.
31706
31707         New module 'uninorm/compat-decomposition'.
31708         * lib/uninorm/decompose-internal.h: New file.
31709         * lib/uninorm/compat-decomposition.c: New file.
31710         * modules/uninorm/compat-decomposition: New file.
31711
31712         Tests for module 'uninorm/canonical-decomposition'.
31713         * tests/uninorm/test-canonical-decomposition.c: New file.
31714         * modules/uninorm/canonical-decomposition-tests: New file.
31715
31716         New module 'uninorm/canonical-decomposition'.
31717         * lib/uninorm/canonical-decomposition.c: New file.
31718         * modules/uninorm/canonical-decomposition: New file.
31719
31720         Tests for module 'uninorm/decomposition'.
31721         * tests/uninorm/test-decomposition.c: New file.
31722         * modules/uninorm/decomposition-tests: New file.
31723
31724         New module 'uninorm/decomposition'.
31725         * lib/uninorm/decomposition.c: New file.
31726         * modules/uninorm/decomposition: New file.
31727
31728         New module 'uninorm/decomposition-table'.
31729         * lib/uninorm/decomposition-table.h: New file.
31730         * lib/uninorm/decomposition-table.c: New file.
31731         * lib/uninorm/decomposition-table1.h: New file, generated by
31732         gen-uni-tables.
31733         * lib/uninorm/decomposition-table2.h: New file, generated by
31734         gen-uni-tables.
31735         * modules/uninorm/decomposition-table: New file.
31736
31737         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
31738         (UC_DECOMP_*): New enumeration items.
31739         (get_decomposition): New function.
31740         (struct decomp_table): New type.
31741         (output_decomposition, output_decomposition_tables): New functions.
31742         (unicode_composition_exclusions): New variable.
31743         (fill_composition_exclusions, debug_output_composition_tables): New
31744         functions.
31745         (main): Accept one more argument. Invoke fill_composition_exclusions.
31746         Output decomposition and composition tables.
31747
31748         New module 'uninorm/base'.
31749         * lib/uninorm.h: New file.
31750         * lib/unictype.h: Update comment.
31751         * modules/uninorm/base: New file.
31752
31753 2009-02-21  David Lutterkort  <lutter@redhat.com>
31754
31755         Tests for module 'safe-alloc'.
31756         * tests/test-safe-alloc.c: New file.
31757         * modules/safe-alloc-tests: New file.
31758
31759         New module 'safe-alloc'.
31760         * lib/safe-alloc.h: New file.
31761         * lib/safe-alloc.c: New file.
31762         * m4/safe-alloc.m4: New file.
31763         * modules/safe-alloc: New file.
31764         * doc/safe-alloc.texi: New file.
31765         * doc/gnulib.texi: Include it.
31766         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
31767         safe-alloc.
31768
31769 2009-02-18  Bruno Haible  <bruno@clisp.org>
31770
31771         Fix link error on non-glibc systems.
31772         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
31773         variable.
31774         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31775
31776 2009-02-18  Jim Meyering  <meyering@redhat.com>
31777
31778         fts: avoid used-uninitialized error due to recent change
31779         * lib/fts.c (fts_read): Guard uses of the new member,
31780         parent->fts_n_dirs_remaining, since it's not relevant for
31781         the parent of a directory specified on the command-line.
31782
31783 2009-02-17  James Youngman  <jay@gnu.org>
31784             Bruno Haible  <bruno@clisp.org>
31785
31786         * m4/include_next.m4: Reformulate comment.
31787
31788 2009-02-16  Jim Meyering  <meyering@redhat.com>
31789
31790         fts: add #if guards so that the fts_lgpl module still builds
31791         * lib/fts.c: Guard just-added hash-table-using parts with
31792         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
31793         Reported by Simon Josefsson.
31794
31795 2009-02-15  Bruno Haible  <bruno@clisp.org>
31796
31797         * modules/array-mergesort-tests: New file.
31798         * tests/test-array-mergesort.c: New file.
31799
31800         New module 'array-mergesort'.
31801         * modules/array-mergesort: New file.
31802         * lib/array-mergesort.h: New file.
31803
31804 2009-02-15  Bruno Haible  <bruno@clisp.org>
31805
31806         Fix 2009-02-07 commit.
31807         * lib/gen-uni-tables.c (output_predicate, output_category,
31808         output_combclass, output_bidi_category, output_decimal_digit,
31809         output_digit, output_numeric, output_mirror, output_scripts,
31810         output_ident_category, output_simple_mapping): Fix format directives.
31811         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
31812
31813 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
31814
31815         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
31816         fixes are available from IBM.
31817
31818 2009-02-13  Jim Meyering  <meyering@redhat.com>
31819
31820         fts: arrange not to stat non-directories in more cases
31821         This makes GNU find (when it doesn't need to stat each file)
31822         *much* more efficient at traversing reiserfs file systems.
31823         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
31824         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
31825         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
31826         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
31827         (leaf_optimization_applies): New function.
31828         (LCO_hash, LCO_compare): New helper functions.
31829         (link_count_optimize_ok): New function.
31830         (fts_stat): Initialize new member (if dir).
31831         (fts_read): Decrement parent's fts_n_dirs_remaining count if
31832         we've just stat'ed a directory.  Skip the stat call when possible.
31833         ---
31834         Note this AFS-related exchange:
31835         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
31836         and note find's pioctl call in find/fstype.c.
31837         But that is necessary only if you want to enable the
31838         optimization for AFS, and for now, I don't.
31839
31840         fts: move a function definition "up" (no semantic change)
31841         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
31842         "up" to precede upcoming use of a related function.
31843
31844 2009-02-11  Jim Meyering  <meyering@redhat.com>
31845
31846         fts: correct internal computation of nlinks (optimization-related)
31847         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
31848         whether the current entry is a directory, so don't test it.
31849
31850 2009-02-10  Bruno Haible  <bruno@clisp.org>
31851
31852         Tests for module 'uniwbrk/ulc-wordbreaks'.
31853         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
31854         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
31855         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
31856
31857         Tests for module 'uniwbrk/u32-wordbreaks'.
31858         * modules/uniwbrk/u32-wordbreaks-tests: New file.
31859         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
31860
31861         Tests for module 'uniwbrk/u16-wordbreaks'.
31862         * modules/uniwbrk/u16-wordbreaks-tests: New file.
31863         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
31864
31865         Tests for module 'uniwbrk/u8-wordbreaks'.
31866         * modules/uniwbrk/u8-wordbreaks-tests: New file.
31867         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
31868
31869 2009-02-10  Bruno Haible  <bruno@clisp.org>
31870
31871         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
31872         property.
31873         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
31874         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
31875         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
31876
31877 2009-02-10  Simon Josefsson  <simon@josefsson.org>
31878
31879         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
31880         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
31881
31882 2009-02-10  Bruno Haible  <bruno@clisp.org>
31883
31884         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
31885         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
31886         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
31887         * lib/unilbrk/u8-possible-linebreaks.c: Update.
31888         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
31889         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
31890
31891 2009-02-09  Simon Josefsson  <simon@josefsson.org>
31892
31893         * lib/sockets.h (gl_fd_to_handle): New function.
31894
31895         * tests/test-sockets.c: Call gl_fd_to_handle.
31896
31897 2009-02-09  Bruno Haible  <bruno@clisp.org>
31898
31899         * doc/havelib.texi: Document the conventions on bi-arch systems.
31900
31901 2009-02-08  Bruno Haible  <bruno@clisp.org>
31902
31903         Document the AC_LIB_LINKFLAGS macro.
31904         * doc/havelib.texi: New file, mostly written on 2005-05-24.
31905         * doc/gnulib.texi: Include it.
31906
31907 2009-02-08  Bruno Haible  <bruno@clisp.org>
31908
31909         Fix wrong order of sections, compared to TOC.
31910         * doc/gnulib.texi: Include relocatable-maint.texi after the
31911         "Regular expressions" node, not before.
31912
31913 2009-02-08  Bruno Haible  <bruno@clisp.org>
31914
31915         Tests for module 'unicase/totitle'.
31916         * modules/unicase/totitle-tests: New file.
31917
31918         Tests for module 'unicase/tolower'.
31919         * modules/unicase/tolower-tests: New file.
31920
31921         Tests for module 'unicase/toupper'.
31922         * modules/unicase/toupper-tests: New file.
31923         * tests/unicase/test-mapping-part1.h: New file.
31924         * tests/unicase/test-mapping-part2.h: New file.
31925
31926         New module 'unicase/totitle'.
31927         * modules/unicase/totitle: New file.
31928         * lib/unicase/totitle.c: New file.
31929
31930         New module 'unicase/tolower'.
31931         * modules/unicase/tolower: New file.
31932         * lib/unicase/tolower.c: New file.
31933
31934         New module 'unicase/toupper'.
31935         * modules/unicase/toupper: New file.
31936         * lib/unicase/toupper.c: New file.
31937         * lib/unicase/simple-mapping.h: New file.
31938
31939         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
31940         (mapping_table): New structure.
31941         (output_simple_mapping): New function.
31942         (main): Invoke output_simple_mapping_test and output_simple_mapping.
31943         * modules/gen-uni-tables (Description): Update.
31944         * lib/unicase/toupper.h: New file, automatically generated by
31945         gen-uni-tables.
31946         * lib/unicase/tolower.h: New file, automatically generated by
31947         gen-uni-tables.
31948         * lib/unicase/totitle.h: New file, automatically generated by
31949         gen-uni-tables.
31950         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
31951         gen-uni-tables.
31952         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
31953         gen-uni-tables.
31954         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
31955         gen-uni-tables.
31956
31957         New module 'unicase/base'.
31958         * modules/unicase/base: New file.
31959         * lib/unicase.h: New file.
31960
31961 2009-02-08  Bruno Haible  <bruno@clisp.org>
31962
31963         New module 'uniwbrk/ulc-wordbreaks'.
31964         * modules/uniwbrk/ulc-wordbreaks: New file.
31965         * lib/uniwbrk/ulc-wordbreaks.c: New file.
31966
31967         New module 'uniwbrk/u32-wordbreaks'.
31968         * modules/uniwbrk/u32-wordbreaks: New file.
31969         * lib/uniwbrk/u32-wordbreaks.c: New file.
31970
31971         New module 'uniwbrk/u16-wordbreaks'.
31972         * modules/uniwbrk/u16-wordbreaks: New file.
31973         * lib/uniwbrk/u16-wordbreaks.c: New file.
31974
31975         New module 'uniwbrk/u8-wordbreaks'.
31976         * modules/uniwbrk/u8-wordbreaks: New file.
31977         * lib/uniwbrk/u8-wordbreaks.c: New file.
31978         * lib/uniwbrk/u-wordbreaks.h: New file.
31979
31980         New module 'uniwbrk/table'.
31981         * modules/uniwbrk/table: New file.
31982         * lib/uniwbrk/wbrktable.h: New file.
31983         * lib/uniwbrk/wbrktable.c: New file.
31984
31985         New module 'uniwbrk/wordbreak-property'.
31986         * modules/uniwbrk/wordbreak-property: New file.
31987         * lib/uniwbrk/wordbreak-property.c: New file.
31988
31989         * lib/gen-uni-tables.c (WBP_*): New enum items.
31990         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
31991         (unicode_org_wbp): New variable.
31992         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
31993         New functions.
31994         (wbp_table): New structure.
31995         (output_wbp, output_wbrk_tables): New functions.
31996         (main): Accept additional argument. Invoke fill_org_wbp,
31997         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
31998         output_wbrk_tables.
31999         * modules/gen-uni-tables (Description): Update.
32000         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
32001         gen-uni-tables.
32002
32003         New module 'uniwbrk/base'.
32004         * modules/uniwbrk/base: New file.
32005         * lib/uniwbrk.h: New file.
32006
32007 2009-02-08  Bruno Haible  <bruno@clisp.org>
32008
32009         Update to Unicode 5.1.0.
32010         * lib/gen-uni-tables.c (is_property_alphabetic): Include
32011         U+2185..U+2188.
32012         (is_property_default_ignorable_code_point): Don't include characters
32013         of category Cc or Cs and not-a-characters.
32014         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
32015         U+0D79, U+109E, U+109F, U+A60C.
32016         * lib/unictype/bidi_of.h: Regenerated.
32017         * lib/unictype/blocks.h: Regenerated.
32018         * lib/unictype/categ_C.h: Regenerated.
32019         * lib/unictype/categ_Cf.h: Regenerated.
32020         * lib/unictype/categ_Cn.h: Regenerated.
32021         * lib/unictype/categ_L.h: Regenerated.
32022         * lib/unictype/categ_Ll.h: Regenerated.
32023         * lib/unictype/categ_Lm.h: Regenerated.
32024         * lib/unictype/categ_Lo.h: Regenerated.
32025         * lib/unictype/categ_Lu.h: Regenerated.
32026         * lib/unictype/categ_M.h: Regenerated.
32027         * lib/unictype/categ_Mc.h: Regenerated.
32028         * lib/unictype/categ_Me.h: Regenerated.
32029         * lib/unictype/categ_Mn.h: Regenerated.
32030         * lib/unictype/categ_N.h: Regenerated.
32031         * lib/unictype/categ_Nd.h: Regenerated.
32032         * lib/unictype/categ_Nl.h: Regenerated.
32033         * lib/unictype/categ_No.h: Regenerated.
32034         * lib/unictype/categ_P.h: Regenerated.
32035         * lib/unictype/categ_Pd.h: Regenerated.
32036         * lib/unictype/categ_Pe.h: Regenerated.
32037         * lib/unictype/categ_Pf.h: Regenerated.
32038         * lib/unictype/categ_Pi.h: Regenerated.
32039         * lib/unictype/categ_Po.h: Regenerated.
32040         * lib/unictype/categ_Ps.h: Regenerated.
32041         * lib/unictype/categ_S.h: Regenerated.
32042         * lib/unictype/categ_Sk.h: Regenerated.
32043         * lib/unictype/categ_Sm.h: Regenerated.
32044         * lib/unictype/categ_So.h: Regenerated.
32045         * lib/unictype/categ_of.h: Regenerated.
32046         * lib/unictype/combining.h: Regenerated.
32047         * lib/unictype/ctype_alnum.h: Regenerated.
32048         * lib/unictype/ctype_alpha.h: Regenerated.
32049         * lib/unictype/ctype_graph.h: Regenerated.
32050         * lib/unictype/ctype_lower.h: Regenerated.
32051         * lib/unictype/ctype_print.h: Regenerated.
32052         * lib/unictype/ctype_punct.h: Regenerated.
32053         * lib/unictype/ctype_upper.h: Regenerated.
32054         * lib/unictype/decdigit.h: Regenerated.
32055         * lib/unictype/digit.h: Regenerated.
32056         * lib/unictype/mirror.h: Regenerated.
32057         * lib/unictype/numeric.h: Regenerated.
32058         * lib/unictype/pr_alphabetic.h: Regenerated.
32059         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
32060         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
32061         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
32062         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
32063         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
32064         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
32065         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
32066         * lib/unictype/pr_combining.h: Regenerated.
32067         * lib/unictype/pr_dash.h: Regenerated.
32068         * lib/unictype/pr_decimal_digit.h: Regenerated.
32069         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
32070         * lib/unictype/pr_deprecated.h: Regenerated.
32071         * lib/unictype/pr_diacritic.h: Regenerated.
32072         * lib/unictype/pr_extender.h: Regenerated.
32073         * lib/unictype/pr_format_control.h: Regenerated.
32074         * lib/unictype/pr_grapheme_base.h: Regenerated.
32075         * lib/unictype/pr_grapheme_extend.h: Regenerated.
32076         * lib/unictype/pr_grapheme_link.h: Regenerated.
32077         * lib/unictype/pr_id_continue.h: Regenerated.
32078         * lib/unictype/pr_id_start.h: Regenerated.
32079         * lib/unictype/pr_ideographic.h: Regenerated.
32080         * lib/unictype/pr_ignorable_control.h: Regenerated.
32081         * lib/unictype/pr_lowercase.h: Regenerated.
32082         * lib/unictype/pr_math.h: Regenerated.
32083         * lib/unictype/pr_numeric.h: Regenerated.
32084         * lib/unictype/pr_other_alphabetic.h: Regenerated.
32085         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
32086         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
32087         * lib/unictype/pr_other_id_continue.h: Regenerated.
32088         * lib/unictype/pr_other_lowercase.h: Regenerated.
32089         * lib/unictype/pr_other_math.h: Regenerated.
32090         * lib/unictype/pr_punctuation.h: Regenerated.
32091         * lib/unictype/pr_sentence_terminal.h: Regenerated.
32092         * lib/unictype/pr_soft_dotted.h: Regenerated.
32093         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
32094         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
32095         * lib/unictype/pr_unified_ideograph.h: Regenerated.
32096         * lib/unictype/pr_uppercase.h: Regenerated.
32097         * lib/unictype/pr_xid_continue.h: Regenerated.
32098         * lib/unictype/pr_xid_start.h: Regenerated.
32099         * lib/unictype/pr_zero_width.h: Regenerated.
32100         * lib/unictype/scripts.h: Regenerated.
32101         * lib/unictype/scripts_byname.gperf: Regenerated.
32102         * lib/unictype/sy_java_ident.h: Regenerated.
32103         * lib/unilbrk/lbrkprop1.h: Regenerated.
32104         * lib/unilbrk/lbrkprop2.h: Regenerated.
32105         * tests/unictype/test-categ_C.c: Regenerated.
32106         * tests/unictype/test-categ_Cf.c: Regenerated.
32107         * tests/unictype/test-categ_Cn.c: Regenerated.
32108         * tests/unictype/test-categ_L.c: Regenerated.
32109         * tests/unictype/test-categ_Ll.c: Regenerated.
32110         * tests/unictype/test-categ_Lm.c: Regenerated.
32111         * tests/unictype/test-categ_Lo.c: Regenerated.
32112         * tests/unictype/test-categ_Lu.c: Regenerated.
32113         * tests/unictype/test-categ_M.c: Regenerated.
32114         * tests/unictype/test-categ_Mc.c: Regenerated.
32115         * tests/unictype/test-categ_Me.c: Regenerated.
32116         * tests/unictype/test-categ_Mn.c: Regenerated.
32117         * tests/unictype/test-categ_N.c: Regenerated.
32118         * tests/unictype/test-categ_Nd.c: Regenerated.
32119         * tests/unictype/test-categ_Nl.c: Regenerated.
32120         * tests/unictype/test-categ_No.c: Regenerated.
32121         * tests/unictype/test-categ_P.c: Regenerated.
32122         * tests/unictype/test-categ_Pd.c: Regenerated.
32123         * tests/unictype/test-categ_Pe.c: Regenerated.
32124         * tests/unictype/test-categ_Pf.c: Regenerated.
32125         * tests/unictype/test-categ_Pi.c: Regenerated.
32126         * tests/unictype/test-categ_Po.c: Regenerated.
32127         * tests/unictype/test-categ_Ps.c: Regenerated.
32128         * tests/unictype/test-categ_S.c: Regenerated.
32129         * tests/unictype/test-categ_Sk.c: Regenerated.
32130         * tests/unictype/test-categ_Sm.c: Regenerated.
32131         * tests/unictype/test-categ_So.c: Regenerated.
32132         * tests/unictype/test-ctype_alnum.c: Regenerated.
32133         * tests/unictype/test-ctype_alpha.c: Regenerated.
32134         * tests/unictype/test-ctype_graph.c: Regenerated.
32135         * tests/unictype/test-ctype_lower.c: Regenerated.
32136         * tests/unictype/test-ctype_print.c: Regenerated.
32137         * tests/unictype/test-ctype_punct.c: Regenerated.
32138         * tests/unictype/test-ctype_upper.c: Regenerated.
32139         * tests/unictype/test-decdigit.h: Regenerated.
32140         * tests/unictype/test-digit.h: Regenerated.
32141         * tests/unictype/test-numeric.h: Regenerated.
32142         * tests/unictype/test-pr_alphabetic.c: Regenerated.
32143         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
32144         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
32145         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
32146         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
32147         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
32148         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
32149         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
32150         * tests/unictype/test-pr_combining.c: Regenerated.
32151         * tests/unictype/test-pr_dash.c: Regenerated.
32152         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
32153         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
32154         * tests/unictype/test-pr_deprecated.c: Regenerated.
32155         * tests/unictype/test-pr_diacritic.c: Regenerated.
32156         * tests/unictype/test-pr_extender.c: Regenerated.
32157         * tests/unictype/test-pr_format_control.c: Regenerated.
32158         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
32159         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
32160         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
32161         * tests/unictype/test-pr_id_continue.c: Regenerated.
32162         * tests/unictype/test-pr_id_start.c: Regenerated.
32163         * tests/unictype/test-pr_ideographic.c: Regenerated.
32164         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
32165         * tests/unictype/test-pr_lowercase.c: Regenerated.
32166         * tests/unictype/test-pr_math.c: Regenerated.
32167         * tests/unictype/test-pr_numeric.c: Regenerated.
32168         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
32169         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
32170         Regenerated.
32171         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
32172         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
32173         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
32174         * tests/unictype/test-pr_other_math.c: Regenerated.
32175         * tests/unictype/test-pr_punctuation.c: Regenerated.
32176         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
32177         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
32178         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
32179         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
32180         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
32181         * tests/unictype/test-pr_uppercase.c: Regenerated.
32182         * tests/unictype/test-pr_xid_continue.c: Regenerated.
32183         * tests/unictype/test-pr_xid_start.c: Regenerated.
32184         * tests/unictype/test-pr_zero_width.c: Regenerated.
32185
32186         Update to Unicode 5.1.0.
32187         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
32188         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
32189         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
32190         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
32191         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
32192         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
32193         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
32194         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
32195         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
32196         (nonspacing_table_ind): Update.
32197         * tests/uniwidth/test-uc_width2.sh: Update expected result.
32198
32199         Update to Unicode 5.1.0.
32200         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
32201         code transform.
32202         * lib/uniname/uniname.c (unicode_character_name,
32203         unicode_name_character): Add the range 0x1Fxxx to the code transform.
32204         * lib/uniname/uninames.h: Regenerated.
32205         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
32206
32207 2009-02-07  Bruno Haible  <bruno@clisp.org>
32208
32209         Merge gen-ctype and gen-lbrk into a single program.
32210         * lib/gen-uni-tables.c: New file, incorporating
32211         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
32212         Add directory prefixes to the names of the generated files.
32213         * lib/unictype/gen-ctype.c: Remove file.
32214         * lib/unilbrk/gen-lbrk.c: Remove file.
32215         * modules/gen-uni-tables: New file.
32216         * modules/unictype/gen-ctype: Remove file.
32217         * modules/unilbrk/gen-lbrk: Remove file.
32218
32219 2009-02-07  Bruno Haible  <bruno@clisp.org>
32220
32221         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
32222
32223         New module 'unistr/u32-strcoll'.
32224         * modules/unistr/u32-strcoll: New file.
32225         * lib/unistr/u32-strcoll.c: New file.
32226
32227         New module 'unistr/u16-strcoll'.
32228         * modules/unistr/u16-strcoll: New file.
32229         * lib/unistr/u16-strcoll.c: New file.
32230
32231         New module 'unistr/u8-strcoll'.
32232         * modules/unistr/u8-strcoll: New file.
32233         * lib/unistr/u8-strcoll.c: New file.
32234         * lib/unistr/u-strcoll.h: New file.
32235
32236 2009-02-07  Bruno Haible  <bruno@clisp.org>
32237
32238         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
32239         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32240         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32241         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
32242         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
32243         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
32244
32245 2009-02-07  Bruno Haible  <bruno@clisp.org>
32246
32247         Make 64-bit clean.
32248         * lib/unictype/gen-ctype.c (output_predicate, output_category,
32249         output_combclass, output_bidi_category, output_decimal_digit,
32250         output_digit, output_numeric, output_mirror, output_scripts,
32251         output_ident_category): Use proper width specifier in format strings.
32252
32253 2009-02-07  Bruno Haible  <bruno@clisp.org>
32254
32255         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
32256         failure behaviour.
32257
32258 2009-02-07  Jim Meyering  <meyering@redhat.com>
32259
32260         regex: avoid compilation failure with upcoming gcc-4.4
32261         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
32262         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
32263         "... error: integer overflow in preprocessor expression".
32264
32265 2009-02-05  Ben Pfaff  <blp@gnu.org>
32266
32267         Fix link errors on Windows when close module is used.
32268         * modules/close: Add $(LIB_CLOSE) to Link section.
32269         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
32270         $(LIB_CLOSE) on Windows.
32271
32272 2009-02-05  Jim Meyering  <meyering@redhat.com>
32273
32274         still avoid unused-parameter warnings, but do it cleanly
32275         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
32276         (get_fs_usage): Cast to void instead.
32277         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
32278         (dev_from_mount_options, read_file_system_list): Cast to void.
32279         Prompted by Bruno Haible.
32280
32281 2009-02-04  Jim Meyering  <meyering@redhat.com>
32282
32283         fsusage.c: correct copyright year
32284         * lib/fsusage.c: Reflect year in which the change is pushed into
32285
32286         avoid misc. warnings
32287         * lib/fsusage.c (UNUSED_PARAM): Define.
32288         (get_fs_usage): Mark parameter "disk" as unused.
32289         * lib/getugroups.c (getgrent): Use "void" in prototype.
32290         * lib/mountlist.c: Mark unused parameters.
32291         (read_file_system_list): Declare a local with "const".
32292         * lib/nanosleep.c (getnow): Declare static.
32293         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
32294
32295         dirfd: set errno upon failure
32296         * lib/dirfd.c: Include <errno.h>.
32297         Set errno to ENOTSUP when returning -1.
32298         * modules/dirfd (Depends-on): Add errno.
32299         Suggested by John Kodis <kodis@comcast.net>.
32300
32301 2009-02-01  Bruno Haible  <bruno@clisp.org>
32302
32303         Don't assume sizeof (long) >= sizeof (void *).
32304         * lib/memcmp.c: Include stdint.h.
32305         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
32306         srcp2 to 'const byte *'.
32307         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
32308         types to uintptr_t.
32309         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
32310         * modules/memcmp (Depends-on): Add stdint.
32311         Reported by Ozkan Sezer <sezeroz@gmail.com>.
32312
32313 2009-01-30  Eric Blake  <ebb9@byu.net>
32314
32315         fix more require-before-expand issues
32316         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
32317         expand, AC_PROG_AWK.
32318         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
32319
32320 2009-01-28  Eric Blake  <ebb9@byu.net>
32321
32322         version-etc: use consistent URL formatting
32323         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
32324         Improve formatting.  Use fputs for string without %.
32325
32326 2009-01-28  Jim Meyering  <meyering@redhat.com>
32327
32328         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
32329         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
32330         "underquoted definition of NAME" from autoconf-2.59.
32331
32332 2009-01-28  Bruno Haible  <bruno@clisp.org>
32333
32334         * doc/gnulib.texi: Add "Obsolete modules" to index.
32335
32336 2009-01-28  Jim Meyering  <meyering@redhat.com>
32337
32338         useless-if-before-free: recognize more variants
32339         * build-aux/useless-if-before-free: Also recognize e.g.,
32340         if (NULL != p) free (p);
32341
32342 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
32343
32344         test-getaddrinfo: skip (don't fail) this test when there's no network
32345         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
32346         on the presumption that it means you lack network access.
32347
32348 2009-01-26  Jim Meyering  <meyering@redhat.com>
32349
32350         fflush: avoid warnings on modern systems
32351         * lib/fflush.c (rpl_fflush): Move declarations of locals,
32352         pos and result, into scopes where they're used.
32353
32354 2009-01-26  Eric Blake  <ebb9@byu.net>
32355
32356         Silence warning reintroduced by recent extensions patch.
32357         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
32358         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
32359         autoconf.
32360
32361         Backport improved autoconf semantics of AC_DEFUN_ONCE.
32362         * m4/00gnulib.m4: New file.
32363         * gnulib-tool (func_get_filelist): Always use it.
32364         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
32365         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
32366
32367 2009-01-25  Bruno Haible  <bruno@clisp.org>
32368
32369         Make test-quotearg work on MacOS X and AIX.
32370         * tests/test-quotearg.sh: New file.
32371         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
32372         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
32373         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
32374         include <libintl.h>.
32375         (fake_locale): Remove variable.
32376         (gettext, dgettext, dcgettext): Remove functions.
32377         (main): Instead of setting a fake locale, set a real locale. Call
32378         textdomain and bindtextdomain.
32379         * modules/quotearg-tests (Files): Add the new files.
32380         (Depends-on): Add gettext, setenv, unsetenv.
32381         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
32382         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
32383         Augment TESTS_ENVIRONMENT.
32384
32385 2009-01-25  Bruno Haible  <bruno@clisp.org>
32386
32387         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
32388         fr_FR.ISO8859-1 locale on MacOS X.
32389         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
32390         ja_JP.eucJP locale on MacOS X.
32391         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
32392         zh_CN.GB18030 locale on MacOS X.
32393
32394 2009-01-25  Bruno Haible  <bruno@clisp.org>
32395
32396         Avoid link errors on MacOS X 10.3.
32397         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
32398         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
32399
32400 2009-01-25  Bruno Haible  <bruno@clisp.org>
32401
32402         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32403         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
32404         * modules/pipe (Files): Remove m4/posix_spawn.m4.
32405         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32406         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
32407         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32408         posix_spawnattr_init, posix_spawnattr_setsigmask,
32409         posix_spawnattr_setflags, posix_spawnattr_destroy.
32410
32411         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32412         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
32413         * modules/execute (Files): Remove m4/posix_spawn.m4.
32414         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32415         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32416         posix_spawnattr_init, posix_spawnattr_setsigmask,
32417         posix_spawnattr_setflags, posix_spawnattr_destroy.
32418
32419 2009-01-25  Bruno Haible  <bruno@clisp.org>
32420
32421         * lib/glthread/threadlib.c: Include <stdlib.h>.
32422
32423 2009-01-25  Bruno Haible  <bruno@clisp.org>
32424
32425         * lib/glthread/threadlib.c (dummy): New declaration.
32426
32427 2009-01-25  Bruno Haible  <bruno@clisp.org>
32428
32429         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
32430         multibyte characters also for the GB18030 encoding. Don't crash when
32431         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
32432
32433 2009-01-25  Bruno Haible  <bruno@clisp.org>
32434
32435         Avoid redefining 'struct random_data' on OSF/1 5.1.
32436         * lib/stdlib.in.h: Include <random.h> if it exists.
32437         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
32438         HAVE_RANDOM_H. Include <random.h> when testing whether
32439         'struct random_data' exists.
32440         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
32441
32442 2009-01-25  Bruno Haible  <bruno@clisp.org>
32443
32444         Don't install charset.alias on MacOS X >= 10.3.
32445         * lib/localcharset.c (DARWIN7): New macro.
32446         (get_charset_aliases): Hardcode the result for Darwin7.
32447         * modules/localcharset (install-exec-local): Don't install
32448         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
32449
32450 2009-01-25  Bruno Haible  <bruno@clisp.org>
32451
32452         Don't install charset.alias on mingw and Cygwin.
32453         * modules/localcharset (install-exec-local): Don't install
32454         charset.alias on mingw and Cygwin, if the file does not yet exist.
32455         The result for these platforms is hardcoded in localcharset.c.
32456
32457 2009-01-25  Bruno Haible  <bruno@clisp.org>
32458
32459         Make it possible again to use AC_GNU_SOURCE together with gnulib.
32460         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
32461         before requiring AC_USE_SYSTEM_EXTENSIONS.
32462
32463 2009-01-25  Jim Meyering  <meyering@redhat.com>
32464
32465         c-strtod: avoid warnings
32466         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
32467         "assignment discards qualifiers from pointer target type" warnings.
32468
32469 2009-01-24  Bruno Haible  <bruno@clisp.org>
32470
32471         Add support for non-UTF-8 locales on MacOS X.
32472         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
32473         canonical encodings. For Darwin 7 and newer, don't map traditional
32474         encodings to UTF-8.
32475         Reported by Vincent Lefevre <vincent@vinc17.org>
32476         at <http://savannah.gnu.org/bugs/?25235>.
32477
32478 2009-01-24  Bruno Haible  <bruno@clisp.org>
32479
32480         * doc/gnulib.texi (Obsolete modules): New section.
32481         Reported by Mike Frysinger <vapier@gentoo.org>.
32482
32483 2009-01-24  Bruno Haible  <bruno@clisp.org>
32484
32485         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
32486         (%.dvi): New rule.
32487
32488 2009-01-24  Bruno Haible  <bruno@clisp.org>
32489
32490         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
32491         Reported by Eric Blake.
32492
32493 2009-01-24  Bruno Haible  <bruno@clisp.org>
32494
32495         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
32496         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
32497         Reported by Gary V. Vaughan <gary@gnu.org>.
32498
32499 2009-01-24  Bruno Haible  <bruno@clisp.org>
32500
32501         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
32502
32503 2009-01-23  Bruno Haible  <bruno@clisp.org>
32504
32505         Make c-strtod, c-strtold usable in libraries.
32506         * lib/c-strtod.c: Include string.h instead of xalloc.h.
32507         (C_STRTOD): Call strdup instead of xstrdup.
32508         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
32509         * modules/c-strtold (Depends-on): Likewise.
32510         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
32511         * NEWS: Mention the change.
32512         Reported by Michael Gold <mgold@ncf.ca>.
32513
32514 2009-01-23  Jim Meyering  <meyering@redhat.com>
32515
32516         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
32517         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
32518         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
32519
32520 2009-01-23  Simon Josefsson  <simon@josefsson.org>
32521
32522         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
32523         GNU CoreUtils.
32524         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
32525         * modules/version-etc (Description): Update.
32526
32527 2009-01-22  Bruno Haible  <bruno@clisp.org>
32528
32529         Cache the C locale object.
32530         * lib/c-strtod.c (c_locale_cache): New variable.
32531         (c_locale): New function.
32532         (C_STRTOD): Use it, and don't call freelocale.
32533         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
32534         Suggested by Paolo Bonzini.
32535
32536 2009-01-21  Bruno Haible  <bruno@clisp.org>
32537
32538         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
32539         conditions other than overflow.
32540
32541 2009-01-21  Bruno Haible  <bruno@clisp.org>
32542
32543         * lib/c-strtod.c: Include errno.h.
32544         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
32545         value from STRTOD_L and STRTOD.
32546
32547 2009-01-21  Bruno Haible  <bruno@clisp.org>
32548         and Jim Meyering  <meyering@redhat.com>
32549
32550         nanosleep: skip configure test (fail it) for apple universal builds
32551         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
32552         universal builds, assume that nanosleep does not work.
32553         * modules/nanosleep (Depends-on): Add multiarch.
32554
32555         mktime: skip configure test (fail it) for apple universal builds
32556         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
32557         universal builds, assume that mktime does not work.
32558         * modules/mktime (Depends-on): Add multiarch.
32559
32560 2009-01-21  Eric Blake  <ebb9@byu.net>
32561
32562         multiarch: avoid expand-before-require warning
32563         * modules/multiarch (configure.ac): Require, rather than expand,
32564         gl_MULTIARCH.
32565         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
32566         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
32567         enforce that all clients require it.  Partial reversion of
32568         2008-12-29 patch.
32569
32570         error: avoid expand-before-require warning
32571         * modules/errno (configure.ac): Require, rather than expand,
32572         gl_HEADER_ERRNO_H.
32573         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
32574         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
32575         enforce that all clients require it.
32576
32577         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
32578         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
32579         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
32580         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
32581
32582 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
32583
32584         Revert:
32585         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32586
32587         regex: do not depend on obsolete modules.
32588         * modules/regex: Remove memcmp and memmove.
32589
32590 2009-01-20  Bruno Haible  <bruno@clisp.org>
32591
32592         Make the 'link' module link on Windows NT 4.
32593         * lib/link.c (_WIN32_WINNT): Don't define.
32594         (CreateHardLinkFuncType): New type.
32595         (CreateHardLinkFunc, initialized): New variables.
32596         (initialize): New function.
32597         (link): Invoke CreateHardLink indirectly through the function pointer.
32598
32599 2009-01-20  Bruno Haible  <bruno@clisp.org>
32600
32601         Fix compilation failure on mingw.
32602         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
32603
32604 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
32605
32606         * doc/c-strtod.texi: Mention a couple of restrictions.
32607
32608 2009-01-20  Jim Meyering  <meyering@redhat.com>
32609
32610         gettimeofday: move more declarations out of functions
32611         * lib/gettimeofday.c: Move extern declarations of tzset and
32612         gmtime out of containing functions.  Prompted by Bruno Haible.
32613
32614 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32615
32616         regex: do not depend on obsolete modules.
32617         * modules/regex: Remove memcmp and memmove.
32618
32619 2009-01-19  Bruno Haible  <bruno@clisp.org>
32620
32621         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32622         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
32623         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32624         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
32625         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
32626
32627 2009-01-19  Bruno Haible  <bruno@clisp.org>
32628
32629         * tests/test-link.c: Include <errno.h>.
32630         (main): Exit with code 77 when a hard link cannot be created due to
32631         the file system.
32632         * tests/test-link.sh: Skip test when a hard link cannot be created due
32633         to the file system.
32634         Suggested by Eric Blake.
32635
32636 2009-01-19  Martin Lambers  <marlam@marlam.de>
32637
32638         * modules/link-tests: New file.
32639         * tests/test-link.sh: New file.
32640         * tests/test-link.c: New file.
32641
32642 2009-01-19  Eric Blake  <ebb9@byu.net>
32643
32644         doc: mention another function added in cygwin 1.7.0
32645         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
32646         Another new function in cygwin 1.7.
32647
32648 2009-01-19  Bruno Haible  <bruno@clisp.org>
32649
32650         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32651         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
32652         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
32653         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32654         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
32655         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32656         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32657         * m4/md4.m4 (gl_MD4): Likewise.
32658         * m4/md5.m4 (gl_MD5): Likewise.
32659         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
32660         * m4/sha1.m4 (gl_SHA1): Likewise.
32661         * m4/sha256.m4 (gl_SHA256): Likewise.
32662         * m4/sha512.m4 (gl_SHA512): Likewise.
32663
32664 2009-01-19  Bruno Haible  <bruno@clisp.org>
32665
32666         * modules/uniname/uniname-tests (Depends-on): Add progname.
32667         * tests/uniname/test-uninames.c: Include progname.h.
32668         (main): Call set_program_name.
32669
32670         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
32671         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
32672         (main): Call set_program_name.
32673
32674         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
32675         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
32676         (main): Call set_program_name.
32677
32678         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
32679         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
32680         (main): Call set_program_name.
32681
32682         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
32683         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
32684         (main): Call set_program_name.
32685
32686         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
32687         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
32688         (main): Call set_program_name.
32689
32690         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
32691         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
32692         (main): Call set_program_name.
32693
32694         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
32695         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
32696         (main): Call set_program_name.
32697
32698         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
32699         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
32700         (main): Call set_program_name.
32701
32702 2009-01-19  Eric Blake  <ebb9@byu.net>
32703
32704         test-unistd: test previous patch
32705         * tests/test-unistd.c: Test *_FILENO macros.
32706
32707         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
32708         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32709         Guarantee a definition.
32710         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
32711         * modules/unistd-safer (Depends-on): Add dependency on unistd.
32712         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
32713         * lib/dup-safer.c (STDERR_FILENO): Likewise.
32714         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32715         Likewise.
32716         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
32717         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
32718         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32719         Likewise.
32720         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
32721         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
32722         (STDERR_FILENO): Likewise.
32723         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
32724         (STDERR_FILENO): Likewise.
32725         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
32726         (STDERR_FILENO): Likewise.
32727         Reported by Elbert Pol.
32728
32729 2009-01-19  Eric Blake  <ebb9@byu.net>
32730
32731         doc: mention more functions added in cygwin 1.7.0
32732         * doc/posix-functions/abort.texi (abort): Update wording related
32733         to cygwin.
32734         * doc/posix-functions/daylight.texi (daylight): Likewise.
32735         * doc/posix-functions/optarg.texi (optarg): Likewise.
32736         * doc/posix-functions/optarg.texi (opterr): Likewise.
32737         * doc/posix-functions/optarg.texi (optind): Likewise.
32738         * doc/posix-functions/optarg.texi (optopt): Likewise.
32739         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
32740         worked in 1.5.x, and was withdrawn in 1.7.
32741         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
32742         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
32743         cygwin versions.
32744         * doc/posix-functions/perror.texi (perror): Likewise.
32745         * doc/posix-functions/printf.texi (printf): Likewise.
32746         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
32747         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
32748         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
32749         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
32750         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
32751         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
32752         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
32753         Likewise.
32754         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
32755         Likewise.
32756         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
32757         this function.
32758         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
32759         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
32760         Likewise.
32761         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
32762         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
32763         * doc/posix-functions/confstr.texi (confstr): Likewise.
32764         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
32765         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
32766         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
32767         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
32768         * doc/posix-functions/fputws.texi (fputws): Likewise.
32769         * doc/posix-functions/fwide.texi (fwide): Likewise.
32770         * doc/posix-functions/getwc.texi (getwc): Likewise.
32771         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
32772         * doc/posix-functions/putwc.texi (putwc): Likewise.
32773         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
32774         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
32775         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
32776         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
32777         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
32778         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
32779         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
32780         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
32781         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
32782         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
32783         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
32784
32785 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32786
32787         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
32788         * lib/ioctl.c: Include <sys/ioctl.h>.
32789
32790 2009-01-19  Simon Josefsson  <simon@josefsson.org>
32791
32792         * modules/getdate-tests (Depends-on): Add progname.
32793         * tests/test-getdate.c: Use progname module, to avoid link errors
32794         on non-glibc systems.
32795
32796 2009-01-18  Simon Josefsson  <simon@josefsson.org>
32797
32798         * modules/filenamecat-tests (Depends-on): Add progname.
32799         * modules/fstrcmp-tests (Depends-on): Likewise.
32800
32801         * tests/test-filenamecat.c: Use progname module, to avoid link
32802         errors on non-glibc systems.
32803         * tests/test-fstrcmp.c: Likewise.
32804
32805 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32806
32807         gettimeofday: avoid warning: nested extern declaration of 'localtime'
32808         * lib/gettimeofday.c: Move extern declaration out of function.
32809
32810 2009-01-18  Bruno Haible  <bruno@clisp.org>
32811
32812         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
32813         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
32814         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
32815
32816 2009-01-18  Bruno Haible  <bruno@clisp.org>
32817
32818         * lib/strftime.c (MEMPCPY): Remove unused macro.
32819         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
32820
32821 2009-01-18  Martin Lambers  <marlam@marlam.de>
32822
32823         New module 'link'.
32824         * lib/unistd.in.h (link): New declaration.
32825         * lib/link.c: New file.
32826         * m4/link.m4: New file.
32827         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
32828         HAVE_LINK.
32829         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
32830         * modules/link: New file.
32831         * doc/posix-functions/link.texi: Mention the new module.
32832
32833 2009-01-18  Bruno Haible  <bruno@clisp.org>
32834
32835         * tests/test-avltree_list.c (main): Call set_program_name.
32836         * tests/test-avltree_oset.c (main): Likewise.
32837         * tests/test-obstack-printf.c: Include progname.h.
32838         (main): Call set_program_name.
32839         * tests/test-quotearg.c: Include progname.h.
32840         (main): Call set_program_name.
32841         * tests/test-xmemdup0.c: Include progname.h.
32842         (main): Call set_program_name.
32843
32844 2009-01-18  Bruno Haible  <bruno@clisp.org>
32845
32846         New module 'alphasort'.
32847         * lib/dirent.in.h (alphasort): New declaration.
32848         * lib/alphasort.c: New file, from glibc with modifications.
32849         * m4/alphasort.m4: New file.
32850         * modules/alphasort: New file.
32851         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
32852         HAVE_ALPHASORT.
32853         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
32854         HAVE_ALPHASORT.
32855         * doc/posix-functions/alphasort.texi: Mention the new module and the
32856         portability problems.
32857
32858 2009-01-18  Bruno Haible  <bruno@clisp.org>
32859
32860         New module 'scandir'.
32861         * lib/dirent.in.h (scandir): New declaration.
32862         * lib/scandir.c: New file, from glibc with modifications.
32863         * m4/scandir.m4: New file.
32864         * modules/scandir: New file.
32865         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
32866         HAVE_SCANDIR.
32867         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
32868         HAVE_SCANDIR.
32869         * doc/posix-functions/scandir.texi: Mention the new module and the
32870         portability problems.
32871
32872 2009-01-17  Bruno Haible  <bruno@clisp.org>
32873
32874         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
32875         Update documentation.
32876         (func_remove_suffix): Escape all dots in the suffix. Update
32877         documentation.
32878         (func_filter_filelist): Update documentation.
32879         Reported by Ralf Wildenhues.
32880
32881 2009-01-17  Bruno Haible  <bruno@clisp.org>
32882
32883         * modules/dprintf-posix-tests: New file.
32884         * tests/test-dprintf-posix.sh: New file.
32885         * tests/test-dprintf-posix.c: New file.
32886
32887         New modules 'dprintf', 'dprintf-posix'.
32888         * lib/stdio.in.h (dprintf): New declaration.
32889         * lib/dprintf.c: New file.
32890         * m4/dprintf.m4: New file.
32891         * m4/dprintf-posix.m4: New file.
32892         * modules/dprintf: New file.
32893         * modules/dprintf-posix: New file.
32894         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
32895         HAVE_DPRINTF, REPLACE_DPRINTF.
32896         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
32897         HAVE_DPRINTF, REPLACE_DPRINTF.
32898         * doc/posix-functions/dprintf.texi: Mention the new modules.
32899
32900 2009-01-17  Bruno Haible  <bruno@clisp.org>
32901
32902         * modules/vdprintf-posix-tests: New file.
32903         * tests/test-vdprintf-posix.sh: New file.
32904         * tests/test-vdprintf-posix.c: New file.
32905
32906         New modules 'vdprintf', 'vdprintf-posix'.
32907         * lib/stdio.in.h (vdprintf): New declaration.
32908         * lib/vdprintf.c: New file.
32909         * m4/vdprintf.m4: New file.
32910         * m4/vdprintf-posix.m4: New file.
32911         * modules/vdprintf: New file.
32912         * modules/vdprintf-posix: New file.
32913         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
32914         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32915         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
32916         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32917         * doc/posix-functions/vdprintf.texi: Mention the new modules.
32918
32919 2009-01-17  Bruno Haible  <bruno@clisp.org>
32920
32921         Fix replacement of fopen on mingw.
32922         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
32923         mingw.
32924
32925 2009-01-17  Bruno Haible  <bruno@clisp.org>
32926
32927         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
32928         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
32929
32930 2009-01-17  Bruno Haible  <bruno@clisp.org>
32931
32932         Avoid test-fflush2.sh failure on mingw.
32933         * tests/test-fflush2.c: Include binary-io.h.
32934         (main): Put standard input into binary mode.
32935         * modules/fflush-tests (Depends-on): Add binary-io.
32936
32937 2009-01-17  Bruno Haible  <bruno@clisp.org>
32938
32939         * lib/wchar.in.h: In another particular situation, include only the
32940         system's <wchar.h> file.
32941         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
32942         Reported by Albert Chin-A-Young <china@thewrittenword.com>
32943         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
32944
32945 2009-01-17  Bruno Haible  <bruno@clisp.org>
32946
32947         Support for stripping executables in --enable-relocatable.
32948         * build-aux/install-reloc: Expect one more argument, or an environment
32949         variable RELOC_STRIP_PROG. If set, strip the destination program and
32950         its wrapper.
32951         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
32952         RELOC_STRIP_PROG.
32953         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
32954         to set RELOCATABLE_STRIP.
32955         * NEWS: Mention the new Makefile requirement.
32956
32957 2009-01-17  Bruno Haible  <bruno@clisp.org>
32958
32959         * build-aux/install-reloc: Remove debugging information left over by
32960         C compiler on MacOS X.
32961
32962 2009-01-17  Bruno Haible  <bruno@clisp.org>
32963
32964         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
32965         * lib/progreloc.c (find_executable): Fix type of pointer passed to
32966         _NSGetExecutablePath.
32967
32968 2009-01-16  Jim Meyering  <meyering@redhat.com>
32969
32970         strerror: avoid warnings about discarding "const"
32971         * lib/strerror.c (rpl_strerror): Instead of returning a const
32972         string from each and every "case", use a variable, and add a single
32973         cast after the switch.
32974
32975 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
32976
32977         * lib/arpa_inet.in.h: Add extern "C" block for C++.
32978
32979 2009-01-16  Bruno Haible  <bruno@clisp.org>
32980
32981         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
32982         array initializer syntax that also works in C++ mode.
32983         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32984
32985 2009-01-16  Jim Meyering  <meyering@redhat.com>
32986
32987         poll: suppress a warning
32988         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
32989         to ignore "...unsigned expression < 0 is always false" warnings.
32990
32991 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
32992
32993         poll: remove declarations of unused variables
32994         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
32995         sockbuf and optlen.
32996
32997 2009-01-15  Bruno Haible  <bruno@clisp.org>
32998
32999         Make fflush-after-ungetc POSIX compliant on BSD systems.
33000         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
33001         (clear_ungetc_buffer): Implement also for other systems.
33002         (rpl_fflush): On glibc systems, invoke
33003         clear_ungetc_buffer_preserving_position. Otherwise, invoke
33004         clear_ungetc_buffer after fetching the stream's position, not before.
33005
33006 2009-01-15  Bruno Haible  <bruno@clisp.org>
33007
33008         Make fflush-after-ungetc POSIX compliant on glibc systems.
33009         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
33010         after ungetc.
33011         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
33012         (rpl_fflush): On glibc systems, simply call the system's fflush
33013         function after clearing the ungetc buffer.
33014         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
33015         Instead, lseek only to the end of file, then use the system's fseeko
33016         for the rest. On glibc systems, reset the EOF indicator bit.
33017
33018 2009-01-15  Jim Meyering  <meyering@redhat.com>
33019
33020         openmp.m4: revert quote-adding change, for portability to older autoconf
33021         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
33022         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
33023         Simon Josefsson noticed the problem when using autoconf-2.61.
33024
33025 2009-01-15  Bruno Haible  <bruno@clisp.org>
33026
33027         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
33028         * tests/test-fflush2.c (ASSERT): Always fail.
33029         (main): Add two tests for fflush() after ungetc(), taking into account
33030         the Austin Group's clarification.
33031         Suggested by Eric Blake.
33032
33033 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
33034
33035         mktime.m4: remove K&R-style function prototypes
33036         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
33037         for the Sun C++ compiler.
33038
33039 2009-01-14  Bruno Haible  <bruno@clisp.org>
33040
33041         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
33042         while including <wchar.h>.
33043         * lib/wchar.in.h: In two particular situations on HP-UX, include only
33044         the system's <wchar.h> file.
33045         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33046
33047 2009-01-14  Bruno Haible  <bruno@clisp.org>
33048
33049         * m4/csharp.m4: Don't mention gettext on the serial number line.
33050         * m4/csharpexec.m4: Likewise.
33051         * m4/eaccess.m4: Likewise.
33052         * m4/javaexec.m4: Likewise.
33053         * m4/sig_atomic_t.m4: Likewise.
33054         * m4/tmpdir.m4: Likewise.
33055         * m4/intldir.m4: Bump gettext version.
33056         * m4/lib-ld.m4: Likewise.
33057
33058 2009-01-14  Bruno Haible  <bruno@clisp.org>
33059
33060         * lib/progname.c (set_program_name): Add more comments.
33061         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33062
33063 2009-01-14  Simon Josefsson  <simon@josefsson.org>
33064
33065         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
33066         were sys/stat.h does not define it.
33067
33068 2009-01-14  Jim Meyering  <meyering@redhat.com>
33069
33070         many *.m4 files: improve m4 quoting
33071         99% of this change was performed by running the following commands:
33072         git ls-files | grep '\.m4$' | xargs perl -pi \
33073           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
33074           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
33075           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
33076           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
33077         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
33078         The remainder were to add Copyright dates, increment serial numbers,
33079         undo some changes in comments, exclude m4/intl.m4, and add quotes
33080         around the "1" in ",1" where the unusual spacing prohibited the
33081         above regexps from doing the job.  For more details, see
33082         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
33083         * m4/acl.m4: Modified.
33084         * m4/afs.m4: Likewise.
33085         * m4/alloca.m4: Likewise.
33086         * m4/argp.m4: Likewise.
33087         * m4/argz.m4: Likewise.
33088         * m4/atexit.m4: Likewise.
33089         * m4/bison-i18n.m4: Likewise.
33090         * m4/bison.m4: Likewise.
33091         * m4/byteswap.m4: Likewise.
33092         * m4/c-stack.m4: Likewise.
33093         * m4/c-strtod.m4: Likewise.
33094         * m4/calloc.m4: Likewise.
33095         * m4/canonicalize-lgpl.m4: Likewise.
33096         * m4/chown.m4: Likewise.
33097         * m4/clock_time.m4: Likewise.
33098         * m4/codeset.m4: Likewise.
33099         * m4/copy-file.m4: Likewise.
33100         * m4/csharp.m4: Likewise.
33101         * m4/csharpcomp.m4: Likewise.
33102         * m4/csharpexec.m4: Likewise.
33103         * m4/d-ino.m4: Likewise.
33104         * m4/d-type.m4: Likewise.
33105         * m4/dirfd.m4: Likewise.
33106         * m4/double-slash-root.m4: Likewise.
33107         * m4/eaccess.m4: Likewise.
33108         * m4/eealloc.m4: Likewise.
33109         * m4/environ.m4: Likewise.
33110         * m4/errno_h.m4: Likewise.
33111         * m4/euidaccess.m4: Likewise.
33112         * m4/execute.m4: Likewise.
33113         * m4/fatal-signal.m4: Likewise.
33114         * m4/fchdir.m4: Likewise.
33115         * m4/fcntl_h.m4: Likewise.
33116         * m4/fileblocks.m4: Likewise.
33117         * m4/filenamecat.m4: Likewise.
33118         * m4/findprog.m4: Likewise.
33119         * m4/flexmember.m4: Likewise.
33120         * m4/fnmatch.m4: Likewise.
33121         * m4/fopen.m4: Likewise.
33122         * m4/fpending.m4: Likewise.
33123         * m4/fprintf-posix.m4: Likewise.
33124         * m4/free.m4: Likewise.
33125         * m4/frexp.m4: Likewise.
33126         * m4/frexpl.m4: Likewise.
33127         * m4/fsusage.m4: Likewise.
33128         * m4/ftruncate.m4: Likewise.
33129         * m4/gc-camellia.m4: Likewise.
33130         * m4/gc-random.m4: Likewise.
33131         * m4/gc.m4: Likewise.
33132         * m4/getaddrinfo.m4: Likewise.
33133         * m4/getcwd-abort-bug.m4: Likewise.
33134         * m4/getcwd-path-max.m4: Likewise.
33135         * m4/getdate.m4: Likewise.
33136         * m4/getdomainname.m4: Likewise.
33137         * m4/getgroups.m4: Likewise.
33138         * m4/gethostname.m4: Likewise.
33139         * m4/gethrxtime.m4: Likewise.
33140         * m4/getline.m4: Likewise.
33141         * m4/getloadavg.m4: Likewise.
33142         * m4/getndelim2.m4: Likewise.
33143         * m4/getpass.m4: Likewise.
33144         * m4/gettext.m4: Likewise.
33145         * m4/gettime.m4: Likewise.
33146         * m4/gettimeofday.m4: Likewise.
33147         * m4/gnulib-common.m4: Likewise.
33148         * m4/group-member.m4: Likewise.
33149         * m4/host-os.m4: Likewise.
33150         * m4/iconv.m4: Likewise.
33151         * m4/iconv_open.m4: Likewise.
33152         * m4/inet_ntop.m4: Likewise.
33153         * m4/inet_pton.m4: Likewise.
33154         * m4/inline.m4: Likewise.
33155         * m4/intldir.m4: Likewise.
33156         * m4/intlmacosx.m4: Likewise.
33157         * m4/intmax.m4: Likewise.
33158         * m4/intmax_t.m4: Likewise.
33159         * m4/inttypes.m4: Likewise.
33160         * m4/inttypes_h.m4: Likewise.
33161         * m4/inttypes-pri.m4: Likewise.
33162         * m4/isapipe.m4: Likewise.
33163         * m4/isnand.m4: Likewise.
33164         * m4/isnanf.m4: Likewise.
33165         * m4/isnanl.m4: Likewise.
33166         * m4/javacomp.m4: Likewise.
33167         * m4/javaexec.m4: Likewise.
33168         * m4/jm-winsz1.m4: Likewise.
33169         * m4/jm-winsz2.m4: Likewise.
33170         * m4/lchown.m4: Likewise.
33171         * m4/lcmessage.m4: Likewise.
33172         * m4/ldexpl.m4: Likewise.
33173         * m4/lib-ld.m4: Likewise.
33174         * m4/lib-link.m4: Likewise.
33175         * m4/libsigsegv.m4: Likewise.
33176         * m4/link-follow.m4: Likewise.
33177         * m4/localcharset.m4: Likewise.
33178         * m4/locale-fr.m4: Likewise.
33179         * m4/locale-ja.m4: Likewise.
33180         * m4/locale-tr.m4: Likewise.
33181         * m4/locale-zh.m4: Likewise.
33182         * m4/lock.m4: Likewise.
33183         * m4/longlong.m4: Likewise.
33184         * m4/ls-mntd-fs.m4: Likewise.
33185         * m4/lstat.m4: Likewise.
33186         * m4/malloc.m4: Likewise.
33187         * m4/mathl.m4: Likewise.
33188         * m4/mbrtowc.m4: Likewise.
33189         * m4/mbstate_t.m4: Likewise.
33190         * m4/mbswidth.m4: Likewise.
33191         * m4/memchr.m4: Likewise.
33192         * m4/memcmp.m4: Likewise.
33193         * m4/memcpy.m4: Likewise.
33194         * m4/memmem.m4: Likewise.
33195         * m4/memmove.m4: Likewise.
33196         * m4/mempcpy.m4: Likewise.
33197         * m4/memrchr.m4: Likewise.
33198         * m4/memset.m4: Likewise.
33199         * m4/minmax.m4: Likewise.
33200         * m4/mkdir-slash.m4: Likewise.
33201         * m4/mkdtemp.m4: Likewise.
33202         * m4/mktime.m4: Likewise.
33203         * m4/mmap-anon.m4: Likewise.
33204         * m4/mountlist.m4: Likewise.
33205         * m4/nanosleep.m4: Likewise.
33206         * m4/nls.m4: Likewise.
33207         * m4/nocrash.m4: Likewise.
33208         * m4/open.m4: Likewise.
33209         * m4/openat.m4: Likewise.
33210         * m4/openmp.m4: Likewise.
33211         * m4/pathmax.m4: Likewise.
33212         * m4/perl.m4: Likewise.
33213         * m4/physmem.m4: Likewise.
33214         * m4/pipe.m4: Likewise.
33215         * m4/po.m4: Likewise.
33216         * m4/poll.m4: Likewise.
33217         * m4/posixtm.m4: Likewise.
33218         * m4/posixver.m4: Likewise.
33219         * m4/printf-frexp.m4: Likewise.
33220         * m4/printf-frexpl.m4: Likewise.
33221         * m4/printf-posix.m4: Likewise.
33222         * m4/printf-posix-rpl.m4: Likewise.
33223         * m4/printf.m4: Likewise.
33224         * m4/progtest.m4: Likewise.
33225         * m4/putenv.m4: Likewise.
33226         * m4/readline.m4: Likewise.
33227         * m4/readlink.m4: Likewise.
33228         * m4/readutmp.m4: Likewise.
33229         * m4/realloc.m4: Likewise.
33230         * m4/regex.m4: Likewise.
33231         * m4/relocatable.m4: Likewise.
33232         * m4/relocatable-lib.m4: Likewise.
33233         * m4/rename-dest-slash.m4: Likewise.
33234         * m4/rename.m4: Likewise.
33235         * m4/rmdir-errno.m4: Likewise.
33236         * m4/rmdir.m4: Likewise.
33237         * m4/roundf.m4: Likewise.
33238         * m4/roundl.m4: Likewise.
33239         * m4/rpmatch.m4: Likewise.
33240         * m4/save-cwd.m4: Likewise.
33241         * m4/selinux-selinux-h.m4: Likewise.
33242         * m4/setenv.m4: Likewise.
33243         * m4/settime.m4: Likewise.
33244         * m4/sig2str.m4: Likewise.
33245         * m4/sig_atomic_t.m4: Likewise.
33246         * m4/signalblocking.m4: Likewise.
33247         * m4/signbit.m4: Likewise.
33248         * m4/sigpipe.m4: Likewise.
33249         * m4/sockets.m4: Likewise.
33250         * m4/sockpfaf.m4: Likewise.
33251         * m4/st_dm_mode.m4: Likewise.
33252         * m4/stat-time.m4: Likewise.
33253         * m4/stdbool.m4: Likewise.
33254         * m4/stdint.m4: Likewise.
33255         * m4/stdint_h.m4: Likewise.
33256         * m4/stpcpy.m4: Likewise.
33257         * m4/stpncpy.m4: Likewise.
33258         * m4/strcase.m4: Likewise.
33259         * m4/strchrnul.m4: Likewise.
33260         * m4/strcspn.m4: Likewise.
33261         * m4/strdup.m4: Likewise.
33262         * m4/strftime.m4: Likewise.
33263         * m4/strndup.m4: Likewise.
33264         * m4/strnlen.m4: Likewise.
33265         * m4/strpbrk.m4: Likewise.
33266         * m4/strptime.m4: Likewise.
33267         * m4/strsep.m4: Likewise.
33268         * m4/strtod.m4: Likewise.
33269         * m4/strtoimax.m4: Likewise.
33270         * m4/strtok_r.m4: Likewise.
33271         * m4/strtol.m4: Likewise.
33272         * m4/strtoll.m4: Likewise.
33273         * m4/strtoul.m4: Likewise.
33274         * m4/strtoull.m4: Likewise.
33275         * m4/strtoumax.m4: Likewise.
33276         * m4/strverscmp.m4: Likewise.
33277         * m4/threadlib.m4: Likewise.
33278         * m4/timegm.m4: Likewise.
33279         * m4/tm_gmtoff.m4: Likewise.
33280         * m4/tmpdir.m4: Likewise.
33281         * m4/tmpfile.m4: Likewise.
33282         * m4/tzset.m4: Likewise.
33283         * m4/uintmax_t.m4: Likewise.
33284         * m4/unlinkdir.m4: Likewise.
33285         * m4/unlocked-io.m4: Likewise.
33286         * m4/uptime.m4: Likewise.
33287         * m4/userspec.m4: Likewise.
33288         * m4/utimbuf.m4: Likewise.
33289         * m4/utime.m4: Likewise.
33290         * m4/utimes-null.m4: Likewise.
33291         * m4/utimes.m4: Likewise.
33292         * m4/vararrays.m4: Likewise.
33293         * m4/vasnprintf.m4: Likewise.
33294         * m4/vfprintf-posix.m4: Likewise.
33295         * m4/vprintf-posix.m4: Likewise.
33296         * m4/wait-process.m4: Likewise.
33297         * m4/wchar_t.m4: Likewise.
33298         * m4/wint_t.m4: Likewise.
33299         * m4/write-any-file.m4: Likewise.
33300         * m4/yield.m4: Likewise.
33301
33302 2009-01-13  Bruno Haible  <bruno@clisp.org>
33303
33304         Avoid test-copy-file.sh failures when ACL support insufficient.
33305         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
33306         TESTS_ENVIRONMENT.
33307         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
33308         Reported by Jim Meyering.
33309
33310 2009-01-13  Bruno Haible  <bruno@clisp.org>
33311
33312         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
33313         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
33314         * modules/unistdio/u8-printf-parse (Files): Likewise.
33315         * modules/unistdio/u32-printf-parse (Files): Likewise.
33316         * modules/unistdio/ulc-printf-parse (Files): Likewise.
33317
33318 2009-01-13  Simon Josefsson  <simon@josefsson.org>
33319
33320         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
33321         and m4/inttypes_h.m4 too.
33322
33323 2009-01-12  Eric Blake  <ebb9@byu.net>
33324
33325         tests: IRIX 6.2 cc can't compile -0.0 into .data
33326         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
33327         rather than at compile-time.
33328         * tests/test-floorl.c (minus_zero): Likewise.
33329         * tests/test-frexpl.c (minus_zero): Likewise.
33330         * tests/test-isnan.c (minus_zerol): Likewise.
33331         * tests/test-isnanl.h (minus_zero): Likewise.
33332         * tests/test-ldexpl.c (minus_zero): Likewise.
33333         * tests/test-roundl.c (minus_zero): Likewise.
33334         * tests/test-signbit.c (minus_zerol): Likewise.
33335         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33336         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33337         * tests/test-truncl.c (minus_zero): Likewise.
33338         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33339         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33340         Reported by Tom G. Christensen and Nelson H. F. Beebe.
33341
33342 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33343
33344         regex: fix glibc bug 9697
33345         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
33346         handling.
33347
33348 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33349
33350         regex: fix glibc bug 697
33351         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
33352         being NULL also if there are no backreferences.
33353
33354 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33355
33356         regex: merge glibc changes
33357         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
33358         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
33359         re_string_skip_chars, re_string_reconstruct): Likewise.
33360         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
33361
33362 2009-01-07  Jim Meyering  <meyering@redhat.com>
33363
33364         poll: filter through cppi
33365         * lib/poll.c: Indent cpp directives to reflect nesting.
33366
33367 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
33368
33369         poll: don't return uninitialized
33370         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
33371
33372 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
33373
33374         avoid compile failure on AIX 6.1
33375         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
33376         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
33377
33378 2009-01-04  Jim Meyering  <meyering@redhat.com>
33379
33380         remove duplicate inclusion of <stdio.h>
33381         * tests/test-fprintf-posix.c: Likewise.
33382         * tests/test-printf-posix.c: Likewise.
33383         * tests/test-snprintf-posix.c: Likewise.
33384         * tests/test-sprintf-posix.c: Likewise.
33385         * tests/test-vasprintf-posix.c: Likewise.
33386         * tests/test-vfprintf-posix.c: Likewise.
33387         * tests/test-vprintf-posix.c: Likewise.
33388         * tests/test-vsnprintf-posix.c: Likewise.
33389         * tests/test-vsprintf-posix.c: Likewise.
33390
33391 2009-01-03  Jim Meyering  <meyering@redhat.com>
33392
33393         gnulib-tool: fix sed-based filtering
33394         * gnulib-tool (func_filter_filelist): Remove extra backslash
33395         in sed_fff_filter definition.
33396
33397 2009-01-02  Jim Meyering  <meyering@redhat.com>
33398
33399         strftime: avoid compilation failure on Solaris 2.6
33400         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
33401         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
33402         Don't #define mbrlen or mbsinit, since now they're guaranteed to
33403         be available.  Reported by Tom G. Christensen.  Details in
33404         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
33405
33406 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33407             Bruno Haible  <bruno@clisp.org>
33408
33409         Speed up gnulib-tool by doing more string processing through shell
33410         built-ins.
33411         * gnulib-tool (fast_func_append): New variable.
33412         (func_remove_prefix, func_remove_suffix): New functions.
33413         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
33414         (func_filter_filelist): New function.
33415         (func_get_dependencies): Use func_remove_suffix instead of sed.
33416         (func_get_automake_snippet): Use func_filter_filelist instead of a
33417         subshell and sed invocation.
33418
33419 2009-01-01  Bruno Haible  <bruno@clisp.org>
33420
33421         Fix a security bug.
33422         * gnulib-tool (func_import, import, update): Don't allow the characters
33423         '"', '$', '`', '\' in macro arguments that become part of commands that
33424         are evaluated.
33425
33426 2009-01-01  Bruno Haible  <bruno@clisp.org>
33427
33428         * gnulib-tool (func_reset_sigpipe): Add more comments.
33429
33430 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33431
33432         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
33433         func_emit_tests_Makefile_am, func_import): Abort loops early if we
33434         already know the answer.
33435
33436 2009-01-01  Jim Meyering  <meyering@redhat.com>
33437
33438         * lib/version-etc.c (version_etc_va): Update copyright year.
33439
33440 2008-12-30  Bruno Haible  <bruno@clisp.org>
33441
33442         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
33443         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
33444         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
33445
33446 2008-12-29  Eric Blake  <ebb9@byu.net>
33447
33448         multiarch: avoid autoconf AC_REQUIRE bug
33449         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
33450         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
33451         2.63 and older.
33452         Reported by Bruno Haible, and analyzed in
33453         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
33454
33455 2008-12-29  Bruno Haible  <bruno@clisp.org>
33456
33457         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
33458         files in subdirectories correctly.
33459         Reported by Ralf Wildenhues.
33460
33461 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33462
33463         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
33464         rather than 'join FILE -', for Solaris join.
33465
33466 2008-12-29  Bruno Haible  <bruno@clisp.org>
33467
33468         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
33469         quoting.
33470         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
33471         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
33472         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
33473         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
33474         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
33475         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
33476         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
33477         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
33478         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
33479         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
33480         * m4/nls.m4 (AM_NLS): Likewise.
33481         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
33482         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
33483         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
33484         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
33485         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
33486         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
33487         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
33488         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
33489         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
33490         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
33491         * m4/xsize.m4 (gl_XSIZE): Likewise.
33492         Suggested by Jim Meyering.
33493
33494 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33495
33496         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
33497         * lib/parse-duration.c: use a switch instead of cascading if's.
33498
33499 2008-12-29  Eric Blake  <ebb9@byu.net>
33500
33501         wchar.h: supply WEOF on Irix 5.3
33502         * lib/wchar.in.h (wint_t): Also supply WEOF.
33503         * lib/wctype.in.h (wint_t): Likewise.
33504         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
33505         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
33506         Reported by Tom G. Christensen.
33507
33508 2008-12-26  Bruno Haible  <bruno@clisp.org>
33509
33510         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
33511         i486, i586, i686.
33512
33513 2008-12-26  Bruno Haible  <bruno@clisp.org>
33514
33515         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
33516
33517 2008-12-26  Bruno Haible  <bruno@clisp.org>
33518
33519         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
33520         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
33521         not __STDC_CONSTANT_MACROS.
33522         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33523
33524 2008-12-25  Bruno Haible  <bruno@clisp.org>
33525
33526         Add support for universal builds to vasnprintf.
33527         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
33528         universal builds, guess no.
33529         * modules/vasnprintf-posix (Depends-on): Add multiarch.
33530         * modules/vasprintf-posix (Depends-on): Likewise.
33531         * modules/fprintf-posix (Depends-on): Likewise.
33532         * modules/vfprintf-posix (Depends-on): Likewise.
33533         * modules/snprintf-posix (Depends-on): Likewise.
33534         * modules/vsnprintf-posix (Depends-on): Likewise.
33535         * modules/sprintf-posix (Depends-on): Likewise.
33536         * modules/vsprintf-posix (Depends-on): Likewise.
33537         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33538         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33539         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33540         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33541         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33542         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33543         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33544
33545         Add support for universal builds to <inttypes.h>.
33546         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
33547         _SCNu64_PREFIX): In Apple
33548         universal builds, define directly, using _LP64.
33549         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
33550         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
33551         * modules/inttypes (Depends-on): Add multiarch.
33552         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33553
33554         Add support for universal builds to <stdint.h>.
33555         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
33556         universal builds, define directly, using _LP64.
33557         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
33558         Apple universal builds, don't test for the size and suffix of ptrdiff_t
33559         and size_t.
33560         * modules/stdint (Depends-on): Add multiarch.
33561         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33562
33563         New module 'multiarch'.
33564         * modules/multiarch: New file.
33565         * m4/multiarch.m4: New file.
33566
33567 2008-12-25  Bruno Haible  <bruno@clisp.org>
33568
33569         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
33570
33571 2008-12-25  Bruno Haible  <bruno@clisp.org>
33572
33573         * modules/btowc (License): Relicense under LGPLv2+.
33574         * modules/mbsinit (License): Likewise.
33575         * modules/mbrtowc (License): Likewise.
33576         * modules/wcrtomb (License): Likewise.
33577         * modules/streq (License): Likewise.
33578         Reported by David Lutterkort <lutter@redhat.com>.
33579
33580 2008-12-23  Bruno Haible  <bruno@clisp.org>
33581
33582         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
33583
33584 2008-12-23  Bruno Haible  <bruno@clisp.org>
33585
33586         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
33587         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
33588         GETADDRINFO_LIB, not in LIBS.
33589         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
33590         * modules/canon-host (Link): Likewise.
33591         * NEWS: Mention the change.
33592         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
33593         GETADDRINFO_LIB.
33594
33595 2008-12-22  Bruno Haible  <bruno@clisp.org>
33596
33597         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
33598         * doc/posix-functions/iswalpha_l.texi: Likewise.
33599         * doc/posix-functions/iswblank_l.texi: Likewise.
33600         * doc/posix-functions/iswcntrl_l.texi: Likewise.
33601         * doc/posix-functions/iswctype_l.texi: Likewise.
33602         * doc/posix-functions/iswdigit_l.texi: Likewise.
33603         * doc/posix-functions/iswgraph_l.texi: Likewise.
33604         * doc/posix-functions/iswlower_l.texi: Likewise.
33605         * doc/posix-functions/iswprint_l.texi: Likewise.
33606         * doc/posix-functions/iswpunct_l.texi: Likewise.
33607         * doc/posix-functions/iswspace_l.texi: Likewise.
33608         * doc/posix-functions/iswupper_l.texi: Likewise.
33609         * doc/posix-functions/iswxdigit_l.texi: Likewise.
33610         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
33611         * doc/posix-functions/open_wmemstream.texi: Likewise.
33612         * doc/posix-functions/swscanf.texi: Likewise.
33613         * doc/posix-functions/towctrans_l.texi: Likewise.
33614         * doc/posix-functions/towlower.texi: Likewise.
33615         * doc/posix-functions/towlower_l.texi: Likewise.
33616         * doc/posix-functions/towupper.texi: Likewise.
33617         * doc/posix-functions/towupper_l.texi: Likewise.
33618         * doc/posix-functions/vfwprintf.texi: Likewise.
33619         * doc/posix-functions/vfwscanf.texi: Likewise.
33620         * doc/posix-functions/vswscanf.texi: Likewise.
33621         * doc/posix-functions/vwprintf.texi: Likewise.
33622         * doc/posix-functions/vwscanf.texi: Likewise.
33623         * doc/posix-functions/wcpcpy.texi: Likewise.
33624         * doc/posix-functions/wcpncpy.texi: Likewise.
33625         * doc/posix-functions/wcscasecmp.texi: Likewise.
33626         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
33627         * doc/posix-functions/wcscoll_l.texi: Likewise.
33628         * doc/posix-functions/wcsdup.texi: Likewise.
33629         * doc/posix-functions/wcsncasecmp.texi: Likewise.
33630         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
33631         * doc/posix-functions/wcsnlen.texi: Likewise.
33632         * doc/posix-functions/wcsnrtombs.texi: Likewise.
33633         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
33634         * doc/posix-functions/wctrans_l.texi: Likewise.
33635         * doc/posix-functions/wctype_l.texi: Likewise.
33636         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
33637         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
33638         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
33639         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
33640         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
33641         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
33642         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
33643         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
33644         * doc/glibc-functions/wcschrnul.texi: Likewise.
33645         * doc/glibc-functions/wcsftime_l.texi: Likewise.
33646         * doc/glibc-functions/wcstod_l.texi: Likewise.
33647         * doc/glibc-functions/wcstof_l.texi: Likewise.
33648         * doc/glibc-functions/wcstol_l.texi: Likewise.
33649         * doc/glibc-functions/wcstold_l.texi: Likewise.
33650         * doc/glibc-functions/wcstoll_l.texi: Likewise.
33651         * doc/glibc-functions/wcstoq.texi: Likewise.
33652         * doc/glibc-functions/wcstoul_l.texi: Likewise.
33653         * doc/glibc-functions/wcstoull_l.texi: Likewise.
33654         * doc/glibc-functions/wcstouq.texi: Likewise.
33655         * doc/glibc-functions/wmempcpy.texi: Likewise.
33656
33657 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
33658             Eric Blake  <ebb9@byu.net>
33659             Paolo Bonzini  <bonzini@gnu.org>
33660             Bruno Haible  <bruno@clisp.org>
33661
33662         Make c-stack work on Haiku.
33663         * lib/c-stack.c (SA_ONSTACK): Define fallback.
33664         (c_stack_action): Use SA_ONSTACK flag.
33665
33666 2008-12-22  Bruno Haible  <bruno@clisp.org>
33667
33668         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
33669
33670 2008-12-22  Bruno Haible  <bruno@clisp.org>
33671
33672         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
33673         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
33674         being overridden.
33675         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
33676         New macros.
33677         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
33678         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
33679         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
33680         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
33681
33682 2008-12-22  Bruno Haible  <bruno@clisp.org>
33683
33684         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
33685         from test code.
33686
33687 2008-12-22  Eric Blake  <ebb9@byu.net>
33688
33689         Avoid gcc warnings on cygwin.
33690         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
33691         Avoid unused variable.
33692         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
33693         Likewise.
33694
33695 2008-12-22  Bruno Haible  <bruno@clisp.org>
33696
33697         Remove HAVE_MBRTOWC conditionals.
33698         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
33699         (mbscasecmp): Assume mbrtowc function.
33700         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
33701         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
33702         * lib/mbschr.c: Include mbuiter.h unconditionally.
33703         (mbschr): Assume mbrtowc function.
33704         * lib/mbscspn.c: Include mbuiter.h unconditionally.
33705         (mbscspn): Assume mbrtowc function.
33706         * lib/mbslen.c: Include mbuiter.h unconditionally.
33707         (mbslen): Assume mbrtowc function.
33708         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
33709         (mbsncasecmp): Assume mbrtowc function.
33710         * lib/mbsnlen.c: Include mbiter.h unconditionally.
33711         (mbsnlen): Assume mbrtowc function.
33712         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
33713         (mbspbrk): Assume mbrtowc function.
33714         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
33715         (mbspcasecmp): Assume mbrtowc function.
33716         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
33717         (mbsrchr): Assume mbrtowc function.
33718         * lib/mbssep.c: Include mbuiter.h unconditionally.
33719         (mbssep): Assume mbrtowc function.
33720         * lib/mbsspn.c: Include mbuiter.h unconditionally.
33721         (mbsspn): Assume mbrtowc function.
33722         * lib/mbsstr.c: Include mbuiter.h unconditionally.
33723         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
33724         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
33725         (mbstok_r): Assume mbrtowc function.
33726         * lib/propername.c: Include mbuiter.h unconditionally.
33727         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
33728         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
33729         (trim2): Assume mbrtowc function.
33730         * lib/mbswidth.c (mbsinit): Remove fallback definition.
33731         (mbsnwidth): Assume mbrtowc function.
33732         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
33733         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
33734         fallback definitions.
33735         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
33736
33737 2008-12-22  Bruno Haible  <bruno@clisp.org>
33738
33739         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
33740
33741 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
33742
33743         * modules/regex: Request emulations for the mb*/wc* functions we need.
33744         * m4/regex.m4: Don't look for those functions here.
33745         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
33746
33747 2008-12-22  Bruno Haible  <bruno@clisp.org>
33748
33749         * modules/fnmatch (Depends-on): Remove duplicated dependency.
33750
33751 2008-12-21  Bruno Haible  <bruno@clisp.org>
33752
33753         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
33754         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
33755         (Include): Remove conditionalization.
33756         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
33757         (Include): Remove conditionalization.
33758         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
33759         (Include): Remove conditionalization.
33760         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
33761         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33762         * NEWS: Mention the change.
33763         Reported by Alan Hourihane <alanh@fairlite.co.uk>
33764         via Sergey Poznyakoff <gray@gnu.org.ua>.
33765
33766 2008-12-21  Bruno Haible  <bruno@clisp.org>
33767
33768         * MODULES.html.sh (Extended multibyte and wide character utilities
33769         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
33770         wcrtomb, wcsrtombs.
33771         (Support for systems lacking POSIX:2008): Add accept, bind, close,
33772         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
33773         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
33774         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
33775
33776 2008-12-21  Bruno Haible  <bruno@clisp.org>
33777
33778         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
33779
33780 2008-12-21  Bruno Haible  <bruno@clisp.org>
33781
33782         * modules/wcsnrtombs-tests: New file.
33783         * tests/test-wcsnrtombs1.sh: New file.
33784         * tests/test-wcsnrtombs2.sh: New file.
33785         * tests/test-wcsnrtombs3.sh: New file.
33786         * tests/test-wcsnrtombs4.sh: New file.
33787         * tests/test-wcsnrtombs.c: New file.
33788
33789         New module 'wcsnrtombs'.
33790         * lib/wchar.in.h (wcsnrtombs): New declaration.
33791         * lib/wcsnrtombs.c: New file.
33792         * lib/wcsrtombs-state.c: New file.
33793         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
33794         (internal_state): Remove variable.
33795         * m4/wcsnrtombs.m4: New file.
33796         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
33797         compilation units.
33798         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
33799         HAVE_WCSNRTOMBS.
33800         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
33801         HAVE_WCSNRTOMBS.
33802         * modules/wcsnrtombs: New file.
33803         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
33804         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
33805
33806 2008-12-21  Bruno Haible  <bruno@clisp.org>
33807
33808         * modules/wcsrtombs-tests: New file.
33809         * tests/test-wcsrtombs1.sh: New file.
33810         * tests/test-wcsrtombs2.sh: New file.
33811         * tests/test-wcsrtombs3.sh: New file.
33812         * tests/test-wcsrtombs4.sh: New file.
33813         * tests/test-wcsrtombs.c: New file.
33814
33815         New module 'wcsrtombs'.
33816         * lib/wchar.in.h (wcsrtombs): New declaration.
33817         * lib/wcsrtombs.c: New file.
33818         * m4/wcsrtombs.m4: New file.
33819         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
33820         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33821         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
33822         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33823         * modules/wcsrtombs: New file.
33824         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
33825         bugs.
33826
33827 2008-12-21  Bruno Haible  <bruno@clisp.org>
33828
33829         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
33830         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
33831         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
33832         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
33833         if not correct.
33834         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
33835         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
33836         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33837         m4/locale-zh.m4, m4/codeset.m4.
33838         * doc/posix-functions/wcrtomb.texi: Document the bug.
33839
33840 2008-12-21  Bruno Haible  <bruno@clisp.org>
33841
33842         Work around a btowc() bug on IRIX 6.5.
33843         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
33844         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
33845         REPLACE_WTOBC if not.
33846         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
33847         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
33848         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
33849
33850 2008-12-21  Bruno Haible  <bruno@clisp.org>
33851
33852         * modules/wcrtomb-tests: New file.
33853         * tests/test-wcrtomb.sh: New file.
33854         * tests/test-wcrtomb.c: New file.
33855
33856         New module 'wcrtomb'.
33857         * lib/wchar.in.h (wcrtomb): New declaration.
33858         * lib/wcrtomb.c: New file.
33859         * m4/wcrtomb.m4: New file.
33860         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
33861         HAVE_WCRTOMB.
33862         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
33863         HAVE_WCRTOMB.
33864         * modules/wcrtomb: New file.
33865         * doc/posix-functions/wcrtomb.texi: Mention the new module.
33866
33867 2008-12-21  Bruno Haible  <bruno@clisp.org>
33868
33869         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
33870         * modules/mbsrtowcs (Files): Likewise.
33871         * modules/wctob (Files): Likewise.
33872         * modules/c-strcase-tests (Files): Likewise.
33873         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33874         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33875         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33876         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33877         * modules/vasnprintf-posix-tests (Files): Likewise.
33878
33879 2008-12-21  William Pursell  <bill.pursell@gmail.com>
33880
33881         gitlog-to-changelog: pass all command-line arguments to git-log
33882         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
33883         it is sometimes convenient to filter the commits in various ways.
33884         gitlog-to-changelog only allows --since to specify a start date,
33885         but git-log itself supports many other filtering mechanisms.
33886         At the moment, I want to filter by branch name.  Rather than
33887         adding a --branch option to gitlog-to-changelog, it seems more
33888         flexible to simply pass all options directly to git-log and let
33889         git do the work.  Notice that this effectively makes --since a
33890         redundant option for gitlog-to-changelog, but removing it would
33891         require current usage to change since calls would then require
33892         an additional '--'.
33893
33894 2008-12-21  Bruno Haible  <bruno@clisp.org>
33895
33896         * modules/mbsnrtowcs-tests: New file.
33897         * tests/test-mbsnrtowcs1.sh: New file.
33898         * tests/test-mbsnrtowcs2.sh: New file.
33899         * tests/test-mbsnrtowcs3.sh: New file.
33900         * tests/test-mbsnrtowcs4.sh: New file.
33901         * tests/test-mbsnrtowcs.c: New file.
33902
33903         New module 'mbsnrtowcs'.
33904         * lib/wchar.in.h (mbsnrtowcs): New declaration.
33905         * lib/mbsnrtowcs.c: New file.
33906         * lib/mbsrtowcs-state.c: New file.
33907         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
33908         (internal_state): Remove variable.
33909         * m4/mbsnrtowcs.m4: New file.
33910         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
33911         compilation units.
33912         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
33913         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33914         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
33915         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33916         * modules/mbsnrtowcs: New file.
33917         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
33918         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
33919         portability problem.
33920
33921 2008-12-21  Bruno Haible  <bruno@clisp.org>
33922
33923         Work around mbsrtowcs bug.
33924         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
33925         (gl_FUNC_MBSRTOWCS): Invoke it.
33926         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33927         m4/locale-zh.m4.
33928         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
33929
33930 2008-12-21  Bruno Haible  <bruno@clisp.org>
33931
33932         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
33933
33934 2008-12-21  Bruno Haible  <bruno@clisp.org>
33935
33936         Update doc for AIX.
33937         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
33938         16-bit wchar_t type.
33939         * doc/posix-functions/btowc.texi: Likewise.
33940         * doc/posix-functions/fgetwc.texi: Likewise.
33941         * doc/posix-functions/fgetws.texi: Likewise.
33942         * doc/posix-functions/fputwc.texi: Likewise.
33943         * doc/posix-functions/fputws.texi: Likewise.
33944         * doc/posix-functions/fwide.texi: Likewise.
33945         * doc/posix-functions/fwprintf.texi: Likewise.
33946         * doc/posix-functions/fwscanf.texi: Likewise.
33947         * doc/posix-functions/getwchar.texi: Likewise.
33948         * doc/posix-functions/getwc.texi: Likewise.
33949         * doc/posix-functions/iswalnum.texi: Likewise.
33950         * doc/posix-functions/iswalpha.texi: Likewise.
33951         * doc/posix-functions/iswblank.texi: Likewise.
33952         * doc/posix-functions/iswcntrl.texi: Likewise.
33953         * doc/posix-functions/iswctype.texi: Likewise.
33954         * doc/posix-functions/iswdigit.texi: Likewise.
33955         * doc/posix-functions/iswgraph.texi: Likewise.
33956         * doc/posix-functions/iswlower.texi: Likewise.
33957         * doc/posix-functions/iswprint.texi: Likewise.
33958         * doc/posix-functions/iswpunct.texi: Likewise.
33959         * doc/posix-functions/iswspace.texi: Likewise.
33960         * doc/posix-functions/iswupper.texi: Likewise.
33961         * doc/posix-functions/iswxdigit.texi: Likewise.
33962         * doc/posix-functions/mbrtowc.texi: Likewise.
33963         * doc/posix-functions/mbsrtowcs.texi: Likewise.
33964         * doc/posix-functions/mbstowcs.texi: Likewise.
33965         * doc/posix-functions/mbtowc.texi: Likewise.
33966         * doc/posix-functions/putwchar.texi: Likewise.
33967         * doc/posix-functions/putwc.texi: Likewise.
33968         * doc/posix-functions/swprintf.texi: Likewise.
33969         * doc/posix-functions/tolower.texi: Likewise.
33970         * doc/posix-functions/toupper.texi: Likewise.
33971         * doc/posix-functions/towctrans.texi: Likewise.
33972         * doc/posix-functions/ungetwc.texi: Likewise.
33973         * doc/posix-functions/vswprintf.texi: Likewise.
33974         * doc/posix-functions/wcrtomb.texi: Likewise.
33975         * doc/posix-functions/wcscat.texi: Likewise.
33976         * doc/posix-functions/wcschr.texi: Likewise.
33977         * doc/posix-functions/wcscmp.texi: Likewise.
33978         * doc/posix-functions/wcscoll.texi: Likewise.
33979         * doc/posix-functions/wcscpy.texi: Likewise.
33980         * doc/posix-functions/wcscspn.texi: Likewise.
33981         * doc/posix-functions/wcsftime.texi: Likewise.
33982         * doc/posix-functions/wcslen.texi: Likewise.
33983         * doc/posix-functions/wcsncat.texi: Likewise.
33984         * doc/posix-functions/wcsncmp.texi: Likewise.
33985         * doc/posix-functions/wcsncpy.texi: Likewise.
33986         * doc/posix-functions/wcspbrk.texi: Likewise.
33987         * doc/posix-functions/wcsrchr.texi: Likewise.
33988         * doc/posix-functions/wcsrtombs.texi: Likewise.
33989         * doc/posix-functions/wcsspn.texi: Likewise.
33990         * doc/posix-functions/wcsstr.texi: Likewise.
33991         * doc/posix-functions/wcstod.texi: Likewise.
33992         * doc/posix-functions/wcstof.texi: Likewise.
33993         * doc/posix-functions/wcstoimax.texi: Likewise.
33994         * doc/posix-functions/wcstok.texi: Likewise.
33995         * doc/posix-functions/wcstold.texi: Likewise.
33996         * doc/posix-functions/wcstoll.texi: Likewise.
33997         * doc/posix-functions/wcstol.texi: Likewise.
33998         * doc/posix-functions/wcstombs.texi: Likewise.
33999         * doc/posix-functions/wcstoull.texi: Likewise.
34000         * doc/posix-functions/wcstoul.texi: Likewise.
34001         * doc/posix-functions/wcstoumax.texi: Likewise.
34002         * doc/posix-functions/wcswidth.texi: Likewise.
34003         * doc/posix-functions/wcsxfrm.texi: Likewise.
34004         * doc/posix-functions/wctob.texi: Likewise.
34005         * doc/posix-functions/wctomb.texi: Likewise.
34006         * doc/posix-functions/wctrans.texi: Likewise.
34007         * doc/posix-functions/wctype.texi: Likewise.
34008         * doc/posix-functions/wcwidth.texi: Likewise.
34009         * doc/posix-functions/wmemchr.texi: Likewise.
34010         * doc/posix-functions/wmemcmp.texi: Likewise.
34011         * doc/posix-functions/wmemcpy.texi: Likewise.
34012         * doc/posix-functions/wmemmove.texi: Likewise.
34013         * doc/posix-functions/wmemset.texi: Likewise.
34014         * doc/posix-functions/wprintf.texi: Likewise.
34015         * doc/posix-functions/wscanf.texi: Likewise.
34016
34017 2008-12-21  Bruno Haible  <bruno@clisp.org>
34018
34019         Update doc for HP-UX 11.11.
34020         * doc/posix-functions/btowc.texi: Clarify that the function is missing
34021         in HP-UX version 11.00, not in all versions of HP-UX 11.
34022         * doc/posix-functions/fwide.texi: Likewise.
34023         * doc/posix-functions/fwprintf.texi: Likewise.
34024         * doc/posix-functions/fwscanf.texi: Likewise.
34025         * doc/posix-functions/inet_ntop.texi: Likewise.
34026         * doc/posix-functions/inet_pton.texi: Likewise.
34027         * doc/posix-functions/mbrlen.texi: Likewise.
34028         * doc/posix-functions/mbrtowc.texi: Likewise.
34029         * doc/posix-functions/mbsinit.texi: Likewise.
34030         * doc/posix-functions/mbsrtowcs.texi: Likewise.
34031         * doc/posix-functions/swprintf.texi: Likewise.
34032         * doc/posix-functions/swscanf.texi: Likewise.
34033         * doc/posix-functions/towctrans.texi: Likewise.
34034         * doc/posix-functions/vfwprintf.texi: Likewise.
34035         * doc/posix-functions/vswprintf.texi: Likewise.
34036         * doc/posix-functions/vwprintf.texi: Likewise.
34037         * doc/posix-functions/wcrtomb.texi: Likewise.
34038         * doc/posix-functions/wcsrtombs.texi: Likewise.
34039         * doc/posix-functions/wcsstr.texi: Likewise.
34040         * doc/posix-functions/wctob.texi: Likewise.
34041         * doc/posix-functions/wctrans.texi: Likewise.
34042         * doc/posix-functions/wmemchr.texi: Likewise.
34043         * doc/posix-functions/wmemcmp.texi: Likewise.
34044         * doc/posix-functions/wmemcpy.texi: Likewise.
34045         * doc/posix-functions/wmemmove.texi: Likewise.
34046         * doc/posix-functions/wmemset.texi: Likewise.
34047         * doc/posix-functions/wprintf.texi: Likewise.
34048         * doc/posix-functions/wscanf.texi: Likewise.
34049
34050 2008-12-21  Bruno Haible  <bruno@clisp.org>
34051
34052         Work around a portability problem.
34053         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
34054         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
34055
34056 2008-12-20  Bruno Haible  <bruno@clisp.org>
34057
34058         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
34059         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
34060         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
34061         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
34062         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
34063
34064         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
34065         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
34066         set.
34067         (GNULIB_defined_mbstate_t): New macro.
34068         (mbsinit): Redefine if REPLACE_MBSINIT is set.
34069         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
34070         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
34071         reuses the system's mbrtowc function but works around the bugs.
34072         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
34073         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
34074         macros.
34075         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
34076         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
34077         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
34078         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
34079         REPLACE_MBSINIT if mbsinit needs to be overridden.
34080         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
34081         REPLACE_MBSINIT, REPLACE_MBRTOWC.
34082         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
34083         REPLACE_MBSINIT, REPLACE_MBRTOWC.
34084         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34085         m4/locale-zh.m4.
34086         (Depends): Add mbsinit.
34087         * modules/mbsinit (Depends): Add mbrtowc.
34088         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
34089
34090 2008-12-20  Bruno Haible  <bruno@clisp.org>
34091
34092         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
34093         so that there are no conversion errors on AIX.
34094         * tests/test-mbsrtowcs.c (main): LIkewise.
34095
34096 2008-12-20  Bruno Haible  <bruno@clisp.org>
34097
34098         Work around wctob bug on Solaris <= 9.
34099         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
34100         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
34101         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
34102         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
34103         * modules/wctob (Files): Add m4/locale-fr.m4.
34104         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
34105
34106 2008-12-20  Bruno Haible  <bruno@clisp.org>
34107
34108         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
34109         /dev/null.
34110         * tests/test-select-in.sh: Likewise.
34111         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34112
34113 2008-12-20  Bruno Haible  <bruno@clisp.org>
34114
34115         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
34116         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
34117         Cygwin 1.5.x.
34118
34119 2008-12-20  Bruno Haible  <bruno@clisp.org>
34120
34121         Ensure mbstate_t is defined on HP-UX 11.11.
34122         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
34123         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
34124         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
34125         AC_USE_SYSTEM_EXTENSIONS.
34126         * modules/fnmatch (Depends-on): Add extensions.
34127         * modules/mbrlen (Depends-on): Likewise.
34128         * modules/mbrtowc (Depends-on): Likewise.
34129         * modules/mbsinit (Depends-on): Likewise.
34130         * modules/mbsrtowcs (Depends-on): Likewise.
34131         * modules/mbswidth (Depends-on): Likewise.
34132         * modules/quotearg (Depends-on): Likewise.
34133         * modules/strftime (Depends-on): Likewise.
34134
34135 2008-12-20  Bruno Haible  <bruno@clisp.org>
34136
34137         Ensure wctob is declared on IRIX 6.5.
34138         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
34139         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
34140         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
34141         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
34142         of HAVE_WCTOB.
34143         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
34144         HAVE_WCTOB.
34145         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
34146
34147 2008-12-19  Bruno Haible  <bruno@clisp.org>
34148
34149         * modules/mbsrtowcs-tests: New file.
34150         * tests/test-mbsrtowcs1.sh: New file.
34151         * tests/test-mbsrtowcs2.sh: New file.
34152         * tests/test-mbsrtowcs3.sh: New file.
34153         * tests/test-mbsrtowcs4.sh: New file.
34154         * tests/test-mbsrtowcs.c: New file.
34155
34156         New module 'mbsrtowcs'.
34157         * lib/wchar.in.h (mbsrtowcs): New declaration.
34158         * lib/mbsrtowcs.c: New file.
34159         * m4/mbsrtowcs.m4: New file.
34160         * modules/mbsrtowcs: New file.
34161         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
34162         HAVE_MBSRTOWCS.
34163         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
34164         HAVE_MBSRTOWCS.
34165         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
34166
34167 2008-12-19  Bruno Haible  <bruno@clisp.org>
34168
34169         New module 'mbrlen'.
34170         * lib/wchar.in.h (mbrlen): New declaration.
34171         * lib/mbrlen.c: New file.
34172         * m4/mbrlen.m4: New file.
34173         * modules/mbrlen: New file.
34174         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
34175         HAVE_MBRLEN.
34176         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
34177         HAVE_MBRLEN.
34178         * doc/posix-functions/mbrlen.texi: Document the new module.
34179
34180 2008-12-19  Bruno Haible  <bruno@clisp.org>
34181
34182         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
34183         * modules/mbrtowc (Depends-on): Add verify.
34184         Suggested by Paul Eggert.
34185
34186 2008-12-18  Bruno Haible  <bruno@clisp.org>
34187
34188         * modules/mbsinit-tests: New file.
34189         * tests/test-mbsinit.sh: New file.
34190         * tests/test-mbsinit.c: New file.
34191
34192 2008-12-18  Bruno Haible  <bruno@clisp.org>
34193
34194         * modules/mbrtowc-tests: New file.
34195         * tests/test-mbrtowc1.sh: New file.
34196         * tests/test-mbrtowc2.sh: New file.
34197         * tests/test-mbrtowc3.sh: New file.
34198         * tests/test-mbrtowc4.sh: New file.
34199         * tests/test-mbrtowc.c: New file.
34200
34201         New module 'mbrtowc'.
34202         * lib/wchar.in.h (mbstate_t): Override when the system does not have
34203         mbsinit and mbrtowc.
34204         (mbrtowc): New declaration.
34205         * lib/mbrtowc.c: New file.
34206         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
34207         * modules/mbrtowc: New file.
34208         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
34209         HAVE_MBRTOWC.
34210         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
34211         HAVE_MBRTOWC.
34212         * doc/posix-functions/mbrtowc.texi: Document the new module.
34213
34214 2008-12-18  Bruno Haible  <bruno@clisp.org>
34215
34216         New module 'wctob'.
34217         * lib/wchar.in.h (wctob): New declaration.
34218         * lib/wctob.c: New file.
34219         * m4/wctob.m4: New file.
34220         * modules/wctob: New file.
34221         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
34222         HAVE_WCTOB.
34223         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
34224         * doc/posix-functions/wctob.texi: Document the new module.
34225
34226 2008-12-18  Bruno Haible  <bruno@clisp.org>
34227
34228         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
34229         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
34230
34231 2008-12-18  Simon Josefsson  <simon@josefsson.org>
34232
34233         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
34234         G. Christensen" <tgc@jupiterrise.com>.
34235
34236         * lib/flock.c: Need to include errno.h.  Reported by "Tom
34237         G. Christensen" <tgc@jupiterrise.com>.
34238
34239         * lib/flock.c: Need to include string.h.  Reported by "Tom
34240         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
34241         <ebb9@byu.net>.
34242
34243 2008-12-18  Bruno Haible  <bruno@clisp.org>
34244
34245         * m4/locale-ja.m4: New file, from GNU gettext.
34246
34247 2008-12-17  Bruno Haible  <bruno@clisp.org>
34248
34249         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
34250         Suggested by Eric Blake.
34251
34252 2008-12-17  Bruno Haible  <bruno@clisp.org>
34253
34254         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
34255
34256 2008-12-17  Bruno Haible  <bruno@clisp.org>
34257
34258         * lib/mbsinit.c: Include verify.h. Verify an assumption.
34259         * modules/mbsinit (Depends-on): Add verify.
34260         Suggested by Paul Eggert.
34261
34262 2008-12-17  Bruno Haible  <bruno@clisp.org>
34263
34264         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
34265         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
34266         gl_FUNC_MBRTOWC.
34267         * m4/mbiter.m4 (gl_MBITER): LIkewise.
34268         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
34269         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
34270         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
34271         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
34272         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
34273         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
34274         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
34275         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
34276         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
34277         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
34278         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
34279         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
34280         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
34281         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
34282         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
34283         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
34284         * modules/trim (configure.ac): Likewise.
34285
34286 2008-12-17  Bruno Haible  <bruno@clisp.org>
34287
34288         * modules/btowc-tests: New file.
34289         * tests/test-btowc1.sh: New file.
34290         * tests/test-btowc2.sh: New file.
34291         * tests/test-btowc.c: New file.
34292
34293         New module 'btowc'.
34294         * lib/wchar.in.h (btowc): New declaration.
34295         * lib/btowc.c: New file.
34296         * m4/btowc.m4: New file.
34297         * modules/btowc: New file.
34298         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
34299         HAVE_BTOWC.
34300         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
34301         * doc/posix-functions/btowc.texi: Document the new module.
34302
34303 2008-12-17  Bruno Haible  <bruno@clisp.org>
34304
34305         New module 'mbsinit'.
34306         * lib/wchar.in.h (mbsinit): New declaration.
34307         * lib/mbsinit.c: New file.
34308         * m4/mbsinit.m4: New file.
34309         * modules/mbsinit: New file.
34310         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
34311         HAVE_MBSINIT.
34312         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
34313         HAVE_MBSINIT.
34314         * doc/posix-functions/mbsinit.texi: Document the new module.
34315
34316 2008-12-16  Bruno Haible  <bruno@clisp.org>
34317
34318         * lib/unistd.in.h: Add comment.
34319         * tests/test-environ.c: Don't include <stdlib.h>.
34320
34321 2008-12-16  Bruno Haible  <bruno@clisp.org>
34322
34323         * lib/parse-duration.h (parse_duration): Document return value
34324         convention.
34325         * lib/parse-duration.c: Include specification header first. Add
34326         comments.
34327         (_): Remove macro.
34328         (parse_year_month_day, parse_hour_minute_second): Move side effects
34329         outside of strchr call.
34330         (parse_non_iso8601): Move side effects outside of isspace call.
34331         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
34332         call.
34333
34334 2008-12-16  Bruno Haible  <bruno@clisp.org>
34335
34336         * tests/test-parse-duration.sh: Produce no output when the test
34337         succeeds.
34338
34339 2008-12-16  Bruno Haible  <bruno@clisp.org>
34340
34341         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
34342         expressions.
34343
34344 2008-12-15  Bruno Haible  <bruno@clisp.org>
34345
34346         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
34347         * doc/glibc-functions/flistxattr.texi: Likewise.
34348         * doc/glibc-functions/fopencookie.texi: Likewise.
34349         * doc/glibc-functions/fremovexattr.texi: Likewise.
34350         * doc/glibc-functions/fsetxattr.texi: Likewise.
34351         * doc/glibc-functions/getxattr.texi: Likewise.
34352         * doc/glibc-functions/lgetxattr.texi: Likewise.
34353         * doc/glibc-functions/listxattr.texi: Likewise.
34354         * doc/glibc-functions/llistxattr.texi: Likewise.
34355         * doc/glibc-functions/lremovexattr.texi: Likewise.
34356         * doc/glibc-functions/lsetxattr.texi: Likewise.
34357         * doc/glibc-functions/removexattr.texi: Likewise.
34358         * doc/glibc-functions/setxattr.texi: Likewise.
34359         * doc/posix-functions/open_memstream.texi: Likewise.
34360
34361 2008-12-15  Eric Blake  <ebb9@byu.net>
34362
34363         Update doc for cygwin 1.7.
34364         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
34365         functions.
34366         * doc/posix-functions/fchmodat.texi: Likewise.
34367         * doc/posix-functions/fchownat.texi: Likewise.
34368         * doc/posix-functions/fdopendir.texi: Likewise.
34369         * doc/posix-functions/fmemopen.texi: Likewise.
34370         * doc/posix-functions/freeaddrinfo.texi: Likewise.
34371         * doc/posix-functions/fstatat.texi: Likewise.
34372         * doc/posix-functions/futimens.texi: Likewise.
34373         * doc/posix-functions/gai_strerror.texi: Likewise.
34374         * doc/posix-functions/getaddrinfo.texi: Likewise.
34375         * doc/posix-functions/getnameinfo.texi: Likewise.
34376         * doc/posix-functions/if_freenameindex.texi: Likewise.
34377         * doc/posix-functions/if_indextoname.texi: Likewise.
34378         * doc/posix-functions/if_nameindex.texi: Likewise.
34379         * doc/posix-functions/if_nametoindex.texi: Likewise.
34380         * doc/posix-functions/insque.texi: Likewise.
34381         * doc/posix-functions/linkat.texi: Likewise.
34382         * doc/posix-functions/llrint.texi: Likewise.
34383         * doc/posix-functions/llrintf.texi: Likewise.
34384         * doc/posix-functions/llrintl.texi: Likewise.
34385         * doc/posix-functions/lockf.texi: Likewise.
34386         * doc/posix-functions/lrintl.texi: Likewise.
34387         * doc/posix-functions/mkdirat.texi: Likewise.
34388         * doc/posix-functions/mkfifoat.texi: Likewise.
34389         * doc/posix-functions/mknodat.texi: Likewise.
34390         * doc/posix-functions/mq_close.texi: Likewise.
34391         * doc/posix-functions/mq_getattr.texi: Likewise.
34392         * doc/posix-functions/mq_notify.texi: Likewise.
34393         * doc/posix-functions/mq_open.texi: Likewise.
34394         * doc/posix-functions/mq_receive.texi: Likewise.
34395         * doc/posix-functions/mq_send.texi: Likewise.
34396         * doc/posix-functions/mq_setattr.texi: Likewise.
34397         * doc/posix-functions/mq_timedreceive.texi: Likewise.
34398         * doc/posix-functions/mq_timedsend.texi: Likewise.
34399         * doc/posix-functions/mq_unlink.texi: Likewise.
34400         * doc/posix-functions/open_memstream.texi: Likewise.
34401         * doc/posix-functions/openat.texi: Likewise.
34402         * doc/posix-functions/posix_fadvise.texi: Likewise.
34403         * doc/posix-functions/posix_fallocate.texi: Likewise.
34404         * doc/posix-functions/posix_madvise.texi: Likewise.
34405         * doc/posix-functions/posix_memalign.texi: Likewise.
34406         * doc/posix-functions/posix_openpt.texi: Likewise.
34407         * doc/posix-functions/readlinkat.texi: Likewise.
34408         * doc/posix-functions/remque.texi: Likewise.
34409         * doc/posix-functions/renameat.texi: Likewise.
34410         * doc/posix-functions/rintl.texi: Likewise.
34411         * doc/posix-functions/sem_unlink.texi: Likewise.
34412         * doc/posix-functions/shm_open.texi: Likewise.
34413         * doc/posix-functions/shm_unlink.texi: Likewise.
34414         * doc/posix-functions/signgam.texi: Likewise.
34415         * doc/posix-functions/sigset.texi: Likewise.
34416         * doc/posix-functions/stpcpy.texi: Likewise.
34417         * doc/posix-functions/stpncpy.texi: Likewise.
34418         * doc/posix-functions/strerror.texi: Likewise.
34419         * doc/posix-functions/strtod.texi: Likewise.
34420         * doc/posix-functions/symlinkat.texi: Likewise.
34421         * doc/posix-functions/unlinkat.texi: Likewise.
34422         * doc/posix-functions/utimensat.texi: Likewise.
34423         * doc/glibc-functions/bindresvport.texi: Likewise.
34424         * doc/glibc-functions/dn_expand.texi: Likewise.
34425         * doc/glibc-functions/exp10.texi: Likewise.
34426         * doc/glibc-functions/exp10f.texi: Likewise.
34427         * doc/glibc-functions/fgetxattr.texi: Likewise.
34428         * doc/glibc-functions/flistxattr.texi: Likewise.
34429         * doc/glibc-functions/fopencookie.texi: Likewise.
34430         * doc/glibc-functions/freeifaddrs.texi: Likewise.
34431         * doc/glibc-functions/fremovexattr.texi: Likewise.
34432         * doc/glibc-functions/fsetxattr.texi: Likewise.
34433         * doc/glibc-functions/getifaddrs.texi: Likewise.
34434         * doc/glibc-functions/getxattr.texi: Likewise.
34435         * doc/glibc-functions/lgetxattr.texi: Likewise.
34436         * doc/glibc-functions/listxattr.texi: Likewise.
34437         * doc/glibc-functions/llistxattr.texi: Likewise.
34438         * doc/glibc-functions/lremovexattr.texi: Likewise.
34439         * doc/glibc-functions/lsetxattr.texi: Likewise.
34440         * doc/glibc-functions/pow10.texi: Likewise.
34441         * doc/glibc-functions/pow10f.texi: Likewise.
34442         * doc/glibc-functions/rcmd_af.texi: Likewise.
34443         * doc/glibc-functions/removexattr.texi: Likewise.
34444         * doc/glibc-functions/res_init.texi: Likewise.
34445         * doc/glibc-functions/res_mkquery.texi: Likewise.
34446         * doc/glibc-functions/res_query.texi: Likewise.
34447         * doc/glibc-functions/res_querydomain.texi: Likewise.
34448         * doc/glibc-functions/res_send.texi: Likewise.
34449         * doc/glibc-functions/rresvport_af.texi: Likewise.
34450         * doc/glibc-functions/setxattr.texi: Likewise.
34451         * doc/glibc-functions/strcasestr.texi: Likewise.
34452
34453 2008-12-15  Bruno Haible  <bruno@clisp.org>
34454
34455         Fix compilation error on OSF/1 4.0.
34456         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
34457         <sys/time.h>, simply delegate to the system header.
34458         Reported by Daniel Richard G. <oss@teragram.com>.
34459
34460 2008-12-15  Bruno Haible  <bruno@clisp.org>
34461
34462         * doc/posix-functions/openat.texi: Mention the 'openat' module.
34463         * doc/posix-functions/fchmodat.texi: Likewise.
34464         * doc/posix-functions/fchownat.texi: Likewise.
34465         * doc/posix-functions/fdopendir.texi: Likewise.
34466         * doc/posix-functions/fstatat.texi: Likewise.
34467         * doc/posix-functions/mkdirat.texi: Likewise.
34468         * doc/posix-functions/unlinkat.texi: Likewise.
34469
34470 2008-12-14  Bruno Haible  <bruno@clisp.org>
34471
34472         Update doc for POSIX:2008.
34473         * doc/posix-functions/faccessat.texi: New file.
34474         * doc/posix-functions/fchmodat.texi: New file.
34475         * doc/posix-functions/fchownat.texi: New file.
34476         * doc/posix-functions/fdopendir.texi: New file.
34477         * doc/posix-functions/fstatat.texi: New file.
34478         * doc/posix-functions/futimens.texi: New file.
34479         * doc/posix-functions/linkat.texi: New file.
34480         * doc/posix-functions/mkdirat.texi: New file.
34481         * doc/posix-functions/mkfifoat.texi: New file.
34482         * doc/posix-functions/mknodat.texi: New file.
34483         * doc/posix-functions/open_wmemstream.texi: New file.
34484         * doc/posix-functions/openat.texi: New file.
34485         * doc/posix-functions/psiginfo.texi: New file.
34486         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
34487         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
34488         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
34489         * doc/posix-functions/readlinkat.texi: New file.
34490         * doc/posix-functions/renameat.texi: New file.
34491         * doc/posix-functions/strerror_l.texi: New file.
34492         * doc/posix-functions/symlinkat.texi: New file.
34493         * doc/posix-functions/unlinkat.texi: New file.
34494         * doc/posix-functions/utimensat.texi: New file.
34495         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34496
34497 2008-12-14  Bruno Haible  <bruno@clisp.org>
34498
34499         Update doc for POSIX:2008.
34500         * doc/posix-functions/alphasort.texi: Renamed from
34501         doc/glibc-functions/alphasort.texi.
34502         * doc/posix-functions/dirfd.texi: Renamed from
34503         doc/glibc-functions/dirfd.texi.
34504         * doc/posix-functions/dprintf.texi: Renamed from
34505         doc/glibc-functions/dprintf.texi.
34506         * doc/posix-functions/duplocale.texi: Renamed from
34507         doc/glibc-functions/duplocale.texi.
34508         * doc/posix-functions/fexecve.texi: Renamed from
34509         doc/glibc-functions/fexecve.texi.
34510         * doc/posix-functions/fmemopen.texi: Renamed from
34511         doc/glibc-functions/fmemopen.texi.
34512         * doc/posix-functions/freelocale.texi: Renamed from
34513         doc/glibc-functions/freelocale.texi.
34514         * doc/posix-functions/getdate_err.texi: Renamed from
34515         doc/glibc-functions/getdate_err.texi.
34516         * doc/posix-functions/isalnum_l.texi: Renamed from
34517         doc/glibc-functions/isalnum_l.texi.
34518         * doc/posix-functions/isalpha_l.texi: Renamed from
34519         doc/glibc-functions/isalpha_l.texi.
34520         * doc/posix-functions/isblank_l.texi: Renamed from
34521         doc/glibc-functions/isblank_l.texi.
34522         * doc/posix-functions/iscntrl_l.texi: Renamed from
34523         doc/glibc-functions/iscntrl_l.texi.
34524         * doc/posix-functions/isdigit_l.texi: Renamed from
34525         doc/glibc-functions/isdigit_l.texi.
34526         * doc/posix-functions/isgraph_l.texi: Renamed from
34527         doc/glibc-functions/isgraph_l.texi.
34528         * doc/posix-functions/islower_l.texi: Renamed from
34529         doc/glibc-functions/islower_l.texi.
34530         * doc/posix-functions/isprint_l.texi: Renamed from
34531         doc/glibc-functions/isprint_l.texi.
34532         * doc/posix-functions/ispunct_l.texi: Renamed from
34533         doc/glibc-functions/ispunct_l.texi.
34534         * doc/posix-functions/isspace_l.texi: Renamed from
34535         doc/glibc-functions/isspace_l.texi.
34536         * doc/posix-functions/isupper_l.texi: Renamed from
34537         doc/glibc-functions/isupper_l.texi.
34538         * doc/posix-functions/iswalnum_l.texi: Renamed from
34539         doc/glibc-functions/iswalnum_l.texi.
34540         * doc/posix-functions/iswalpha_l.texi: Renamed from
34541         doc/glibc-functions/iswalpha_l.texi.
34542         * doc/posix-functions/iswblank_l.texi: Renamed from
34543         doc/glibc-functions/iswblank_l.texi.
34544         * doc/posix-functions/iswcntrl_l.texi: Renamed from
34545         doc/glibc-functions/iswcntrl_l.texi.
34546         * doc/posix-functions/iswctype_l.texi: Renamed from
34547         doc/glibc-functions/iswctype_l.texi.
34548         * doc/posix-functions/iswdigit_l.texi: Renamed from
34549         doc/glibc-functions/iswdigit_l.texi.
34550         * doc/posix-functions/iswgraph_l.texi: Renamed from
34551         doc/glibc-functions/iswgraph_l.texi.
34552         * doc/posix-functions/iswlower_l.texi: Renamed from
34553         doc/glibc-functions/iswlower_l.texi.
34554         * doc/posix-functions/iswprint_l.texi: Renamed from
34555         doc/glibc-functions/iswprint_l.texi.
34556         * doc/posix-functions/iswpunct_l.texi: Renamed from
34557         doc/glibc-functions/iswpunct_l.texi.
34558         * doc/posix-functions/iswspace_l.texi: Renamed from
34559         doc/glibc-functions/iswspace_l.texi.
34560         * doc/posix-functions/iswupper_l.texi: Renamed from
34561         doc/glibc-functions/iswupper_l.texi.
34562         * doc/posix-functions/iswxdigit_l.texi: Renamed from
34563         doc/glibc-functions/iswxdigit_l.texi.
34564         * doc/posix-functions/isxdigit_l.texi: Renamed from
34565         doc/glibc-functions/isxdigit_l.texi.
34566         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
34567         doc/glibc-functions/mbsnrtowcs.texi.
34568         * doc/posix-functions/mkdtemp.texi: Renamed from
34569         doc/glibc-functions/mkdtemp.texi.
34570         * doc/posix-functions/newlocale.texi: Renamed from
34571         doc/glibc-functions/newlocale.texi.
34572         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
34573         doc/glibc-functions/nl_langinfo_l.texi.
34574         * doc/posix-functions/open_memstream.texi: Renamed from
34575         doc/glibc-functions/open_memstream.texi.
34576         * doc/posix-functions/opterr.texi: Renamed from
34577         doc/glibc-functions/opterr.texi.
34578         * doc/posix-functions/optind.texi: Renamed from
34579         doc/glibc-functions/optind.texi.
34580         * doc/posix-functions/optopt.texi: Renamed from
34581         doc/glibc-functions/optopt.texi.
34582         * doc/posix-functions/psignal.texi: Renamed from
34583         doc/glibc-functions/psignal.texi.
34584         * doc/posix-functions/scandir.texi: Renamed from
34585         doc/glibc-functions/scandir.texi.
34586         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
34587         doc/glibc-functions/sched_get_priority_min.texi.
34588         * doc/posix-functions/signgam.texi: Renamed from
34589         doc/glibc-functions/signgam.texi.
34590         * doc/posix-functions/stpcpy.texi: Renamed from
34591         doc/glibc-functions/stpcpy.texi.
34592         * doc/posix-functions/stpncpy.texi: Renamed from
34593         doc/glibc-functions/stpncpy.texi.
34594         * doc/posix-functions/strcasecmp_l.texi: Renamed from
34595         doc/glibc-functions/strcasecmp_l.texi.
34596         * doc/posix-functions/strcoll_l.texi: Renamed from
34597         doc/glibc-functions/strcoll_l.texi.
34598         * doc/posix-functions/strfmon_l.texi: Renamed from
34599         doc/glibc-functions/strfmon_l.texi.
34600         * doc/posix-functions/strftime_l.texi: Renamed from
34601         doc/glibc-functions/strftime_l.texi.
34602         * doc/posix-functions/strncasecmp_l.texi: Renamed from
34603         doc/glibc-functions/strncasecmp_l.texi.
34604         * doc/posix-functions/strndup.texi: Renamed from
34605         doc/glibc-functions/strndup.texi.
34606         * doc/posix-functions/strnlen.texi: Renamed from
34607         doc/glibc-functions/strnlen.texi.
34608         * doc/posix-functions/strsignal.texi: Renamed from
34609         doc/glibc-functions/strsignal.texi.
34610         * doc/posix-functions/strxfrm_l.texi: Renamed from
34611         doc/glibc-functions/strxfrm_l.texi.
34612         * doc/posix-functions/timer_gettime.texi: Renamed from
34613         doc/glibc-functions/timer_gettime.texi.
34614         * doc/posix-functions/tolower_l.texi: Renamed from
34615         doc/glibc-functions/tolower_l.texi.
34616         * doc/posix-functions/toupper_l.texi: Renamed from
34617         doc/glibc-functions/toupper_l.texi.
34618         * doc/posix-functions/towctrans_l.texi: Renamed from
34619         doc/glibc-functions/towctrans_l.texi.
34620         * doc/posix-functions/towlower_l.texi: Renamed from
34621         doc/glibc-functions/towlower_l.texi.
34622         * doc/posix-functions/towupper_l.texi: Renamed from
34623         doc/glibc-functions/towupper_l.texi.
34624         * doc/posix-functions/uselocale.texi: Renamed from
34625         doc/glibc-functions/uselocale.texi.
34626         * doc/posix-functions/vdprintf.texi: Renamed from
34627         doc/glibc-functions/vdprintf.texi.
34628         * doc/posix-functions/wcpcpy.texi:
34629         Renamed from doc/glibc-functions/wcpcpy.texi.
34630         * doc/posix-functions/wcpncpy.texi: Renamed from
34631         doc/glibc-functions/wcpncpy.texi.
34632         * doc/posix-functions/wcscasecmp.texi: Renamed from
34633         doc/glibc-functions/wcscasecmp.texi.
34634         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
34635         doc/glibc-functions/wcscasecmp_l.texi.
34636         * doc/posix-functions/wcscoll_l.texi: Renamed from
34637         doc/glibc-functions/wcscoll_l.texi.
34638         * doc/posix-functions/wcsdup.texi: Renamed from
34639         doc/glibc-functions/wcsdup.texi.
34640         * doc/posix-functions/wcsncasecmp.texi: Renamed from
34641         doc/glibc-functions/wcsncasecmp.texi.
34642         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
34643         doc/glibc-functions/wcsncasecmp_l.texi.
34644         * doc/posix-functions/wcsnlen.texi: Renamed from
34645         doc/glibc-functions/wcsnlen.texi.
34646         * doc/posix-functions/wcsnrtombs.texi: Renamed from
34647         doc/glibc-functions/wcsnrtombs.texi.
34648         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
34649         doc/glibc-functions/wcsxfrm_l.texi.
34650         * doc/posix-functions/wctrans_l.texi: Renamed from
34651         doc/glibc-functions/wctrans_l.texi.
34652         * doc/posix-functions/wctype_l.texi: Renamed from
34653         doc/glibc-functions/wctype_l.texi.
34654         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34655         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
34656         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
34657         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
34658         these subsections.
34659         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
34660         Remove sections.
34661
34662 2008-12-14  Bruno Haible  <bruno@clisp.org>
34663
34664         Update doc for POSIX:2008.
34665         * doc/posix-functions/*.texi: Update URL of POSIX specification.
34666
34667 2008-12-14  Bruno Haible  <bruno@clisp.org>
34668
34669         Update doc for POSIX:2008.
34670         * doc/pastposix-functions/bcmp.texi: Renamed from
34671         doc/posix-functions/bcmp.texi.
34672         * doc/pastposix-functions/bcopy.texi: Renamed from
34673         doc/posix-functions/bcopy.texi.
34674         * doc/pastposix-functions/bsd_signal.texi: Renamed from
34675         doc/posix-functions/bsd_signal.texi.
34676         * doc/pastposix-functions/bzero.texi: Renamed from
34677         doc/posix-functions/bzero.texi.
34678         * doc/pastposix-functions/ecvt.texi: Renamed from
34679         doc/posix-functions/ecvt.texi.
34680         * doc/pastposix-functions/fcvt.texi: Renamed from
34681         doc/posix-functions/fcvt.texi.
34682         * doc/pastposix-functions/ftime.texi: Renamed from
34683         doc/posix-functions/ftime.texi.
34684         * doc/pastposix-functions/gcvt.texi: Renamed from
34685         doc/posix-functions/gcvt.texi.
34686         * doc/pastposix-functions/getcontext.texi: Renamed from
34687         doc/posix-functions/getcontext.texi.
34688         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
34689         doc/posix-functions/gethostbyaddr.texi.
34690         * doc/pastposix-functions/gethostbyname.texi: Renamed from
34691         doc/posix-functions/gethostbyname.texi.
34692         * doc/pastposix-functions/getwd.texi: Renamed from
34693         doc/posix-functions/getwd.texi.
34694         * doc/pastposix-functions/h_errno.texi: Renamed from
34695         doc/posix-functions/h_errno.texi.
34696         * doc/pastposix-functions/index.texi: Renamed from
34697         doc/posix-functions/index.texi.
34698         * doc/pastposix-functions/makecontext.texi: Renamed from
34699         doc/posix-functions/makecontext.texi.
34700         * doc/pastposix-functions/mktemp.texi: Renamed from
34701         doc/posix-functions/mktemp.texi.
34702         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
34703         doc/posix-functions/pthread_attr_getstackaddr.texi.
34704         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
34705         doc/posix-functions/pthread_attr_setstackaddr.texi.
34706         * doc/pastposix-functions/rindex.texi: Renamed from
34707         doc/posix-functions/rindex.texi.
34708         * doc/pastposix-functions/scalb.texi: Renamed from
34709         doc/posix-functions/scalb.texi.
34710         * doc/pastposix-functions/setcontext.texi: Renamed from
34711         doc/posix-functions/setcontext.texi.
34712         * doc/pastposix-functions/swapcontext.texi: Renamed from
34713         doc/posix-functions/swapcontext.texi.
34714         * doc/pastposix-functions/ualarm.texi: Renamed from
34715         doc/posix-functions/ualarm.texi.
34716         * doc/pastposix-functions/usleep.texi: Renamed from
34717         doc/posix-functions/usleep.texi.
34718         * doc/pastposix-functions/vfork.texi: Renamed from
34719         doc/posix-functions/vfork.texi.
34720         * doc/pastposix-functions/wcswcs.texi: Renamed from
34721         doc/posix-functions/wcswcs.texi.
34722         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
34723         (Function Substitutes): Update.
34724
34725 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34726
34727         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
34728         m4/strerror.m4.
34729
34730 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34731             Bruno Haible  <bruno@clisp.org>
34732
34733         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
34734
34735 2008-12-13  Bruno Haible  <bruno@clisp.org>
34736
34737         * modules/strtoull (Depends-on): Remove unistd.
34738
34739 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34740
34741         * modules/strtoull (Depends-on): Add stdlib.
34742
34743 2008-12-11  Simon Josefsson  <simon@josefsson.org>
34744
34745         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
34746
34747 2008-12-10  Jim Meyering  <meyering@redhat.com>
34748
34749         gl_ASSERT: don't say assertions are disabled when they're not
34750         * m4/assert.m4 (gl_ASSERT): Do not make configure report
34751         "checking whether to enable assertions... no", when they are in
34752         fact enabled.  This is solely a bug in the output of configure.
34753         In spite of saying "no", NDEBUG was not defined in that case.
34754         Also, as noted by Eric Blake, leave assertions enabled upon
34755         --enable-assert=INVALID.
34756
34757 2008-12-10  Bruno Haible  <bruno@clisp.org>
34758
34759         Change MODULES.html to refer to POSIX:2008 where possible.
34760         * MODULES.html.sh (POSIX2008_URL): New variable.
34761         (posix_headers): Remove sys/timeb, ucontext.
34762         (posix2001_headers): New variable.
34763         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
34764         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
34765         index, makecontext, mktemp, pthread_attr_getstackaddr,
34766         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
34767         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
34768         (posix2001_functions): New variable.
34769         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
34770         otherwise.
34771
34772 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34773
34774         add missing include to parse-duration.c
34775         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
34776         * modules/parse-duration (Depends-on): Add xalloc.
34777
34778         fix sed script reading maint.mk
34779         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
34780         (syntax-check-rules): Use it.
34781
34782 2008-12-09  Bruno Haible  <bruno@clisp.org>
34783
34784         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
34785         MacOS X 10.4/PowerPC.
34786         Reported by Simon Josefsson.
34787
34788 2008-12-08  Jim Meyering  <meyering@redhat.com>
34789
34790         work around mingw's lack of some S_IF definitions
34791         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
34792         Reported by Simon Josefsson.
34793
34794 2008-12-08  Bruno Haible  <bruno@clisp.org>
34795
34796         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
34797         applied to variables. Needed on MacOS X 10.4/PowerPC.
34798         Reported by Simon Josefsson.
34799
34800 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
34801         and Eric Blake  <ebb9@byu.net>
34802
34803         assert: honor --enable-assert
34804         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
34805         order to honor --enable-assert, rather than treating it as a
34806         synonym for --disable-assert.
34807
34808 2008-12-08  Jim Meyering  <meyering@redhat.com>
34809
34810         * lib/posixtm.c: Remove now-useless declaration of mktime.
34811
34812         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
34813
34814 2008-12-07  Bruno Haible  <bruno@clisp.org>
34815
34816         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
34817         test_once): Mark functions as static.
34818         * tests/test-tls.c (test_tls): Likewise.
34819
34820 2008-12-07  Bruno Haible  <bruno@clisp.org>
34821
34822         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
34823         iconv_register_autodetect.
34824
34825 2008-12-07  Jim Meyering  <meyering@redhat.com>
34826
34827         posixtm.c: avoid a warning
34828         * lib/posixtm.c (posixtime): Don't initialize tm0.
34829         It's no longer needed to placate gcc4's -Wuninitialized,
34830         and the attempt to placate would elicit a new warning.
34831
34832         unicodeio.c: mark unused parameters
34833         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34834         (fallback_failure_callback): Likewise.
34835
34836 2008-12-07  Bruno Haible  <bruno@clisp.org>
34837
34838         * gnulib-tool (func_create_testdir): When building the tests
34839         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
34840         Reported by Simon Josefsson.
34841
34842 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34843
34844         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
34845
34846 2008-12-06  Bruno Haible  <bruno@clisp.org>
34847
34848         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
34849         Suggested by Eric Blake.
34850
34851 2008-12-06  Bruno Haible  <bruno@clisp.org>
34852
34853         Fix a c-stack test failure on MacOS X.
34854         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
34855         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
34856         handler for SIGBUS as well.
34857         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
34858         install a signal handler for SIGBUS as well.
34859         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
34860
34861 2008-12-06  Bruno Haible  <bruno@clisp.org>
34862
34863         Advocacy documentation.
34864         * doc/gnulib-intro.texi (Benefits): New section.
34865         * doc/gnulib.texi: Update.
34866
34867 2008-12-06  Bruno Haible  <bruno@clisp.org>
34868
34869         Document the 'manywarnings' module.
34870         * doc/manywarnings.texi: New file.
34871         * doc/gnulib.texi: Include it.
34872
34873 2008-12-05  Eric Blake  <ebb9@byu.net>
34874
34875         tests: silence some gcc warnings
34876         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
34877         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
34878         type mismatches.
34879
34880 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34881             Bruno Haible  <bruno@clisp.org>
34882
34883         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
34884
34885 2008-11-29  Jim Meyering  <meyering@redhat.com>
34886
34887         unicodeio.c: mark unused parameters
34888         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34889         (fallback_failure_callback): Likewise.
34890
34891         fts: fix a thinko
34892         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
34893         (set_stat_type): Return S_IF*-valued "type" directly.
34894         Prompted by James Youngman's spotting a related bug.
34895         Confirmed by further testing through find.
34896
34897         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
34898         * lib/fts.c (D_TYPE): Define.
34899         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
34900         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
34901         (s_ifmt_shift_bits): New function.
34902         (set_stat_type): New function.
34903         (fts_build): When not calling fts_stat, call set_stat_type
34904         to propagate dirent.d_type info to fts_read caller.
34905         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
34906         fts_statp->st_mode type information may be valid.
34907
34908 2008-11-28  Simon Josefsson  <simon@josefsson.org>
34909
34910         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
34911         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
34912         <sds@gnu.org>.
34913
34914 2008-11-20  Bruno Haible  <bruno@clisp.org>
34915
34916         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
34917         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
34918         INCLUDE_NEXT.
34919         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
34920         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
34921         * modules/math (Makefile.am): Substitute
34922         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
34923         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34924
34925 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34926             Bruno Haible  <bruno@clisp.org>
34927
34928         * lib/stdint.in.h: Define all type macros so that their expansion is
34929         a single typedef'ed token. Fixes a compilation failure in Boost which
34930         does "using ::int8_t;".
34931
34932 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34933
34934         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
34935         gl_MANYWARN_ALL_GCC.
34936         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
34937         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
34938         * modules/manywarnings: New file.
34939         * MODULES.html.sh: Mention manywarnings module.
34940
34941 2008-11-18  Bruno Haible  <bruno@clisp.org>
34942
34943         * doc/gnulib-tool.texi (Unit tests): New section.
34944
34945 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34946
34947         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
34948         paths like 'lib/po/foo.po'.
34949
34950 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34951
34952         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
34953         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
34954
34955 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34956
34957         * m4/warnings.m4: Use CPPFLAGS to really check whether the
34958         parameter works.
34959
34960 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34961
34962         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
34963
34964 2008-11-17  Bruce Korb  <bkorb@gnu.org>
34965
34966         * modules/parse-duration-tests: New file.
34967         * tests/test-parse-duration.sh: New file.
34968         * tests/test-parse-duration.c: New file.
34969
34970         New module 'parse-duration'.
34971         * lib/parse-duration.h: New file.
34972         * lib/parse-duration.c: New file.
34973         * modules/parse-duration: New file.
34974
34975 2008-11-17  Bruno Haible  <bruno@clisp.org>
34976
34977         * tests/test-select-out.sh: Comment out the first pipe test.
34978         Reported by Simon Josefsson.
34979
34980 2008-11-17  Bruno Haible  <bruno@clisp.org>
34981
34982         * modules/getaddrinfo (Depends-on): Add servent, hostent.
34983         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
34984         gl_HOSTENT.
34985
34986 2008-11-17  Bruno Haible  <bruno@clisp.org>
34987
34988         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
34989         -lnetwork and -lnet. Needed for Haiku and BeOS.
34990
34991 2008-11-16  Bruno Haible  <bruno@clisp.org>
34992
34993         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
34994
34995 2008-11-16  Bruno Haible  <bruno@clisp.org>
34996
34997         Avoid test failure on Haiku.
34998         * tests/test-fsync.c: Include <errno.h>.
34999         (main): Don't require that fsync (0) fails.
35000
35001 2008-11-15  Bruno Haible  <bruno@clisp.org>
35002
35003         New module 'hostent'.
35004         * modules/hostent: New file.
35005         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
35006
35007 2008-11-15  Bruno Haible  <bruno@clisp.org>
35008
35009         New module 'servent'.
35010         * modules/servent: New file.
35011         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
35012
35013 2008-11-15  Bruno Haible  <bruno@clisp.org>
35014
35015         Avoid generating same test program with two different rules.
35016         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
35017         test-frexp to test-frexp-nolibm.
35018         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
35019         test-frexpl to test-frexpl-nolibm.
35020
35021 2008-11-15  Bruno Haible  <bruno@clisp.org>
35022
35023         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
35024         $(FREXPL_LIBM).
35025
35026 2008-11-15  Bruno Haible  <bruno@clisp.org>
35027
35028         * lib/netdb.in.h: Activate the definitions also when the system's
35029         <netdb.h> has 'struct addrinfo'.
35030         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
35031         EAI_OVERFLOW or AI_NUMERICSERV.
35032         * doc/posix-headers/netdb.texi: Document the problem.
35033
35034 2008-11-15  Bruno Haible  <bruno@clisp.org>
35035
35036         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
35037
35038         Make the 'sched' module work on platforms where <sched.h> exists but
35039         is incomplete (such as Haiku).
35040         * lib/sched.in.h; Include the system's <sched.h> if it exists.
35041         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
35042         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
35043         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
35044         HAVE_STRUCT_SCHED_PARAM.
35045         * modules/sched (Depends-on): Add include_next.
35046         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
35047         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
35048         * doc/posix-headers/sched.texi: Document the issue.
35049
35050 2008-11-13  Jim Meyering  <meyering@redhat.com>
35051
35052         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
35053         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
35054         test would fail due to the difference in the Report bugs to ...
35055         line.  The expected address is empty, "<>", while the actual
35056         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
35057
35058 2008-11-12  Bruno Haible  <bruno@clisp.org>
35059
35060         lstat: don't compile lstat.c on systems lacking lstat
35061         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
35062         which don't have lstat; this is handled by lib/sys_stat.in.h already.
35063         Reported by Daniel P. Berrange via Jim Meyering.
35064
35065 2008-11-12  Jim Meyering  <meyering@redhat.com>
35066
35067         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
35068
35069 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35070
35071         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
35072         instead.
35073
35074 2008-11-12  Bruno Haible  <bruno@clisp.org>
35075
35076         * lib/unicodeio.c: Include unistr.h.
35077         (utf8_wctomb): Remove function.
35078         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
35079
35080 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35081
35082         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
35083         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
35084         <bruno@clisp.org>.
35085         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
35086
35087 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35088
35089         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
35090         * doc/gnulib.texi: Add section for warnings.
35091
35092 2008-11-11  Bruno Haible  <bruno@clisp.org>
35093
35094         * lib/sockets.h: Add a comment.
35095
35096 2008-11-11  Karl Berry  <karl@gnu.org>
35097
35098         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
35099
35100 2008-11-11  Eric Blake  <ebb9@byu.net>
35101
35102         fdl.texi: avoid git symlinks
35103         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
35104
35105 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35106
35107         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
35108
35109 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35110
35111         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
35112         (gl_WARN_ADD): Substitute $2 if literal.
35113
35114 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35115
35116         * m4/warning.m4: Remove.
35117
35118 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35119
35120         * m4/warnings.m4: Almost complete rewrite. :-)
35121
35122 2008-11-10  Simon Josefsson  <simon@josefsson.org>
35123
35124         * modules/warnings: New module.
35125         * m4/warnings.m4: New file.
35126         * MODULES.html.sh: Mention warnings module.
35127         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
35128         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35129
35130 2008-11-10  Eric Blake  <ebb9@byu.net>
35131
35132         fdl.texi: make a symlink to the latest version
35133         * doc/standards.texi: Revert today's earlier change.
35134         * doc/fdl-1.2.texi: Rename from old fdl.texi...
35135         * doc/fdl.texi: ...and replace this with a symlink to the newer
35136         fdl-1.3.texi.
35137
35138 2008-11-10  Bruno Haible  <bruno@clisp.org>
35139
35140         * tests/test-select-fd.c (main): Accept the result file name as fourth
35141         argument.
35142         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
35143         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
35144
35145 2008-11-10  Bruno Haible  <bruno@clisp.org>
35146
35147         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
35148         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
35149         as autoconf-substituted macros.
35150         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
35151         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
35152         gl_NETDB_H_DEFAULTS. Set these variables.
35153         * modules/netdb (Makefile.am): Substitute these variables.
35154
35155 2008-11-10  Eric Blake  <ebb9@byu.net>
35156
35157         standards.texi: include correct file for FDL 1.3
35158         * doc/standards.texi (GNU Free Documentation License): Change
35159         include file to pull in FDL 1.3, not 1.2.
35160
35161         fdl.texi: revert accidental change to license
35162         * doc/fdl.texi: This is FDL 1.2, not 1.3.
35163
35164 2008-11-10  Bruno Haible  <bruno@clisp.org>
35165
35166         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
35167         cross-compiling guesses also when the native compile gives no result.
35168
35169 2008-11-10  Bruno Haible  <bruno@clisp.org>
35170
35171         * lib/spawni.c (__spawni): Force variable into the stack.
35172
35173 2008-11-10  Bruno Haible  <bruno@clisp.org>
35174
35175         Add support for Haiku.
35176         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
35177         glibc and BeOS, but also on Haiku.
35178         * lib/fpurge.c (fpurge): Likewise.
35179         * lib/freadable.c (freadable): Likewise.
35180         * lib/freadahead.c (freadahead): Likewise.
35181         * lib/freading.c (freading): Likewise.
35182         * lib/freadptr.c (freadptr): Likewise.
35183         * lib/freadseek.c (freadptrinc): Likewise.
35184         * lib/fseeko.c (rpl_fseeko): Likewise.
35185         * lib/fseterr.c (fseterr): Likewise.
35186         * lib/fwritable.c (fwritable): Likewise.
35187         * lib/fwriting.c (fwriting): Likewise.
35188         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
35189
35190 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35191
35192         * lib/config.charset: Treat Haiku like BeOS.
35193
35194 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35195
35196         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
35197         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
35198
35199 2008-11-08  Bruno Haible  <bruno@clisp.org>
35200
35201         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
35202         AC_CACHE_CHECK.
35203
35204 2008-11-08  Bruno Haible  <bruno@clisp.org>
35205
35206         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
35207
35208 2008-11-08  Bruno Haible  <bruno@clisp.org>
35209
35210         * tests/test-select-fd.c: New file.
35211         * tests/test-select-in.sh: New file.
35212         * tests/test-select-out.sh: New file.
35213         * tests/test-select-stdin.c: New file.
35214         * modules/select-tests (Files): Add the new files.
35215         (Depends-on): Add gettimeofday.
35216         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
35217         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
35218         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
35219
35220 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
35221             Bruno Haible  <bruno@clisp.org>
35222
35223         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
35224
35225 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
35226
35227         * build-aux/pmccabe2html: Added support for C++ source files.
35228
35229 2008-11-05  Ben Pfaff  <blp@gnu.org>
35230
35231         Fix lib/close.c build on Windows.
35232         * modules/close (Files): Add lib/w32sock.h.
35233
35234 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
35235
35236         Accept Bison's NEWS format.
35237         * build-aux/announce-gen (print_news_deltas): Tweak
35238         $re_prefix.
35239
35240 2008-11-04  Bruno Haible  <bruno@clisp.org>
35241
35242         * modules/random_r (Maintainer): Add glibc.
35243
35244 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35245
35246         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
35247         by karl@freefriends.org (Karl Berry).
35248         * doc/alloca.texi: Likewise.
35249         * doc/c-ctype.texi: Likewise.
35250         * doc/c-strcase.texi: Likewise.
35251         * doc/c-strcaseeq.texi: Likewise.
35252         * doc/c-strcasestr.texi: Likewise.
35253         * doc/c-strstr.texi: Likewise.
35254         * doc/c-strtod.texi: Likewise.
35255         * doc/c-strtold.texi: Likewise.
35256         * doc/ctime.texi: Likewise.
35257         * doc/error.texi: Likewise.
35258         * doc/fdl.texi: Likewise.
35259         * doc/gcd.texi: Likewise.
35260         * doc/getdate.texi: Likewise.
35261         * doc/gnulib-intro.texi: Likewise.
35262         * doc/gnulib-tool.texi: Likewise.
35263         * doc/gnulib.texi: Likewise.
35264         * doc/inet_ntoa.texi: Likewise.
35265         * doc/maintain.texi: Likewise.
35266         * doc/make-stds.texi: Likewise.
35267         * doc/quote.texi: Likewise.
35268         * doc/regexprops-generic.texi: Likewise.
35269         * doc/standards.texi: Likewise.
35270         * doc/verify.texi: Likewise.
35271         * doc/visibility.texi: Likewise.
35272         * doc/gnulib.texi (GNU Free Documentation License): Include
35273         fdl-1.3.texi instead of fdl.texi.
35274
35275 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35276
35277         * doc/fdl-1.3.texi: New file, from
35278         <http://www.gnu.org/licenses/fdl-1.3.texi>.
35279         * modules/fdl-1.3: Add.
35280         * MODULES.html.sh: Add fdl-1.3.
35281
35282 2008-11-03  Bruno Haible  <bruno@clisp.org>
35283
35284         Make determination of absolute name of header file work with AIX xlc.
35285         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
35286         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
35287         preprocessing.
35288         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35289         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
35290
35291 2008-11-03  Simon Josefsson  <simon@josefsson.org>
35292
35293         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
35294         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
35295         <ludo@gnu.org>.
35296
35297 2008-11-02  Bruno Haible  <bruno@clisp.org>
35298
35299         Mark 'strpbrk' obsolete.
35300         * modules/strpbrk (Status, Notice): New sections.
35301         * modules/strtok_r (Depends-on): Add strpbrk.
35302
35303 2008-11-02  Bruno Haible  <bruno@clisp.org>
35304
35305         Mark 'strdup' obsolete.
35306         * modules/strdup (Status, Notice): New sections.
35307         * modules/findprog (Depends-on): Add strdup.
35308         * modules/getaddrinfo (Depends-on): Likewise.
35309         * modules/localename (Depends-on): Likewise.
35310         * modules/relocatable-lib (Depends-on): Likewise.
35311         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
35312         * modules/relocatable-prog (Depends-on): Likewise.
35313         * modules/trim (Depends-on): Likewise.
35314         * modules/unictype/gen-ctype (Depends-on): Likewise.
35315         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35316
35317 2008-11-02  Bruno Haible  <bruno@clisp.org>
35318
35319         Mark 'strcspn' obsolete.
35320         * modules/strcspn (Status, Notice): New sections.
35321
35322 2008-11-02  Bruno Haible  <bruno@clisp.org>
35323
35324         Mark 'rmdir' obsolete.
35325         * modules/rmdir (Status, Notice): New sections.
35326         * modules/clean-temp (Depends-on): Add rmdir.
35327         * modules/openat (Depends-on): Likewise.
35328
35329 2008-11-02  Bruno Haible  <bruno@clisp.org>
35330
35331         Mark 'raise' obsolete.
35332         * modules/raise (Status, Notice): New sections.
35333         (Include): Specify <signal.h>.
35334         * modules/stdio (Depends-on): Add raise.
35335         * modules/write (Depends-on): Likewise.
35336
35337 2008-11-02  Bruno Haible  <bruno@clisp.org>
35338
35339         Mark 'memset' obsolete.
35340         * modules/memset (Status, Notice): New sections.
35341
35342 2008-11-02  Bruno Haible  <bruno@clisp.org>
35343
35344         Mark 'memmove' obsolete.
35345         * modules/memmove (Status, Notice): New sections.
35346         * modules/argp (Depends-on): Add memmove.
35347         * modules/argz (Depends-on): Likewise.
35348         * modules/canonicalize (Depends-on): Likewise.
35349         * modules/canonicalize-lgpl (Depends-on): Likewise.
35350         * modules/fts (Depends-on): Likewise.
35351         * modules/getcwd (Depends-on): Likewise.
35352         * modules/human (Depends-on): Likewise.
35353         * modules/regex (Depends-on): Likewise.
35354         * modules/striconveh (Depends-on): Likewise.
35355         * modules/trim (Depends-on): Likewise.
35356         * modules/unistr/u8-move (Depends-on): Likewise.
35357         * modules/unistr/u16-move (Depends-on): Likewise.
35358         * modules/unistr/u32-move (Depends-on): Likewise.
35359
35360 2008-11-02  Bruno Haible  <bruno@clisp.org>
35361
35362         Mark 'memcpy' obsolete.
35363         * modules/memcpy (Status, Notice): New sections.
35364
35365 2008-11-02  Bruno Haible  <bruno@clisp.org>
35366
35367         Mark 'memcmp' obsolete.
35368         * modules/memcmp (Status, Notice): New sections.
35369         * modules/argmatch (Depends-on): Add memchr.
35370         * modules/backupfile (Depends-on): Likewise.
35371         * modules/c-strcasestr (Depends-on): Likewise.
35372         * modules/crypto/des (Depends-on): Likewise.
35373         * modules/csharpcomp (Depends-on): Likewise.
35374         * modules/fnmatch (Depends-on): Likewise.
35375         * modules/git-merge-changelog (Depends-on): Likewise.
35376         * modules/isnand (Depends-on): Likewise.
35377         * modules/isnand-nolibm (Depends-on): Likewise.
35378         * modules/isnanf (Depends-on): Likewise.
35379         * modules/isnanf-nolibm (Depends-on): Likewise.
35380         * modules/isnanl (Depends-on): Likewise.
35381         * modules/isnanl-nolibm (Depends-on): Likewise.
35382         * modules/mbchar (Depends-on): Likewise.
35383         * modules/memcoll (Depends-on): Likewise.
35384         * modules/quotearg (Depends-on): Likewise.
35385         * modules/regex (Depends-on): Likewise.
35386         * modules/relocatable-prog (Depends-on): Likewise.
35387         * modules/same (Depends-on): Likewise.
35388         * modules/signbit (Depends-on): Likewise.
35389         * modules/strcasestr-simple (Depends-on): Likewise.
35390         * modules/unictype/gen-ctype (Depends-on): Likewise.
35391         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35392         * modules/uniname/uniname (Depends-on): Likewise.
35393         * modules/unistr/u8-cmp (Depends-on): Likewise.
35394
35395 2008-11-02  Bruno Haible  <bruno@clisp.org>
35396
35397         Mark 'memchr' obsolete.
35398         * modules/memchr (Status, Notice): New sections.
35399         * modules/argp (Depends-on): Add memchr.
35400         * modules/base64 (Depends-on): Likewise.
35401         * modules/c-strcasestr (Depends-on): Likewise.
35402         * modules/chdir-long (Depends-on): Likewise.
35403         * modules/fnmatch (Depends-on): Likewise.
35404         * modules/getsubopt (Depends-on): Likewise.
35405         * modules/git-merge-changelog (Depends-on): Likewise.
35406         * modules/glob (Depends-on): Likewise.
35407         * modules/strcasestr-simple (Depends-on): Likewise.
35408         * modules/strnlen (Depends-on): Likewise.
35409
35410 2008-11-02  Bruno Haible  <bruno@clisp.org>
35411
35412         Mark 'atexit' obsolete.
35413         * modules/atexit (Status, Notice): New sections.
35414         * modules/chdir-long (Depends-on): Add atexit.
35415         * modules/wait-process (Depends-on): Likewise.
35416
35417 2008-11-02  Bruno Haible  <bruno@clisp.org>
35418
35419         * gnulib-tool: New option --with-obsolete.
35420         (func_usage): Document it.
35421         (func_modules_transitive_closure): Drop obsolete dependencies if
35422         incobsolete is not true.
35423         (func_import): Read and save the incobsolete variable to the cache.
35424
35425 2008-11-02  Bruno Haible  <bruno@clisp.org>
35426
35427         * modules/TEMPLATE-EXTENDED: New field 'Status'.
35428         * gnulib-tool: New option --extract-status.
35429         (func_usage): Document it.
35430         (sed_extract_prog): Recognize it.
35431         (func_get_status): New function.
35432
35433 2008-10-30  Simon Josefsson  <simon@josefsson.org>
35434
35435         * modules/sockets (License): Change from LGPL to LGPLv2+.
35436
35437 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35438
35439         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
35440
35441 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35442
35443         * MODULES.html.sh (Support for systems lacking POSIX:2001):
35444         Mention times and sys_times.
35445         * modules/sys_times, modules/sys_times-tests: New modules.
35446         * modules/times, modules/times-tests: Likewise
35447         * m4/sys_times_h.m4: New file.
35448         * lib/sys_times.in.h: Likewise
35449         * lib/times.c: Likewise.
35450         * tests/test-sys_times.c: Likewise.
35451         * tests/test-times.c: Likewise.
35452         * doc/posix-headers/sys_times.texi: Update.
35453         * doc/posix-functions/times.texi: Update.
35454
35455 2008-10-28  Jim Meyering  <meyering@redhat.com>
35456
35457         * modules/tempname (Depends-on): Add lstat.
35458
35459         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
35460
35461 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35462
35463         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
35464         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
35465         using idiom used elsewhere in gnulib.
35466
35467 2008-10-27  Jim Meyering  <meyering@redhat.com>
35468
35469         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
35470
35471 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35472
35473         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
35474         TESTS_ENVIRONMENT, for shell scripts that needs to call built
35475         programs.
35476         * tests/test-argp-2.sh: Use $EXEEXT when needed.
35477
35478 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35479
35480         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
35481
35482 2008-10-27  Bruno Haible  <bruno@clisp.org>
35483
35484         * tests/test-lstat.c: Include <stdio.h>.
35485
35486 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35487
35488         * modules/lstat-tests: New module.
35489         * tests/test-lstat.c: New file.
35490
35491 2008-10-26  Jim Meyering  <meyering@redhat.com>
35492
35493         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
35494
35495 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35496             Bruno Haible  <bruno@clisp.org>
35497
35498         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
35499         * modules/configmake (Include): Add a note that the include must come
35500         after all system headers.
35501         * lib/javaversion.c: Include configmake.h after all other includes.
35502
35503 2008-10-26  Bruno Haible  <bruno@clisp.org>
35504
35505         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
35506         HAVE_STRUCT_RANDOM_DATA to 1.
35507         (gl_STDLIB_H): Simplify.
35508
35509 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35510
35511         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
35512         substitute HAVE_STRUCT_RANDOM_DATA.
35513         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
35514         random_data.
35515         * modules/stdlib (Makefile.am): Substitute
35516         HAVE_STRUCT_RANDOM_DATA.
35517
35518 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35519
35520         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
35521         * doc/gnulib-intro.texi (Copyright): Likewise.
35522
35523 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35524
35525         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
35526         findings.
35527
35528 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
35529             Bruno Haible  <bruno@clisp.org>
35530
35531         * lib/unistd.in.h: Include <winsock2.h>.
35532         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
35533         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
35534         Provide dummy declarations.
35535         (gethostname): Override.
35536         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
35537         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
35538         gl_PREREQ_SYS_H_WINSOCK2.
35539         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
35540         * doc/posix-functions/gethostname.texi: More details.
35541
35542 2008-10-25  Bruno Haible  <bruno@clisp.org>
35543
35544         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35545         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
35546         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
35547
35548         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
35549         here ...
35550         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
35551         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
35552         gl_UNISTD_H_DEFAULTS.
35553
35554 2008-10-25  Eric Blake  <ebb9@byu.net>
35555
35556         signbit: avoid spurious compiler failure
35557         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
35558         declarations inside function.
35559
35560 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35561             Bruno Haible  <bruno@clisp.org>
35562
35563         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
35564         * modules/random_r (Depends-on): Add stdint.
35565
35566 2008-10-24  Bruno Haible  <bruno@clisp.org>
35567
35568         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
35569         Eggert.
35570         * modules/strerror (License): Likewise.
35571
35572 2008-10-24  Jim Meyering  <meyering@redhat.com>
35573
35574         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
35575         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
35576
35577 2008-10-24  Eric Blake  <ebb9@byu.net>
35578
35579         getgroups: fix compilation when getgroups is available
35580         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
35581         but with <config.h> override of getgroups disabled.
35582
35583 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35584
35585         * doc/gnulib.texi (Header files): Add note about C++ problems.
35586         Explained by Bruno Haible <bruno@clisp.org>.
35587
35588 2008-10-23  Bruno Haible  <bruno@clisp.org>
35589
35590         Define a dummy SA_NODEFER macro on Interix.
35591         * lib/signal.in.h (SA_NODEFER): Define fallback.
35592         Reported by Aleksey Cheusov <cheusov@tut.by> via
35593         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
35594
35595 2008-10-23  Bruno Haible  <bruno@clisp.org>
35596
35597         * modules/freadahead (License): Change to LGPLv2+.
35598         Suggested by Simon Josefsson.
35599
35600 2008-10-23  Jim Meyering  <meyering@redhat.com>
35601
35602         random_r: new module
35603         * modules/random_r: New file.
35604         * m4/random_r.m4: New file.
35605         * lib/random_r.c: New file, from glibc.
35606         * modules/random_r-tests: New file.
35607         * tests/test-random_r.c: New file.
35608         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
35609          Declare.
35610         (RAND_MAX): Define.
35611         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
35612         * modules/stdlib: Substitute them, too.
35613         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
35614         * doc/glibc-functions/initstate_r.texi: Mention the new module.
35615         * doc/glibc-functions/random_r.texi: Likewise.
35616         * doc/glibc-functions/setstate_r.texi: Likewise.
35617         * doc/glibc-functions/srandom_r.texi: Likewise.
35618         * config/srclist.txt: Mention it.
35619
35620 2008-10-23  David Lutterkort  <lutter@redhat.com>
35621
35622         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
35623         link requirement
35624
35625 2008-10-23  Jim Meyering  <meyering@redhat.com>
35626
35627         selinux-h: mark parameters of stub functions as intentionally unused
35628         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
35629         * lib/se-context.in.h: Likewise.
35630
35631 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35632
35633         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
35634
35635 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35636
35637         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
35638
35639 2008-10-22  Eric Blake  <ebb9@byu.net>
35640
35641         glthread/thread: avoid compiler warning
35642         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
35643         Add unreachable abort to silence compiler.
35644
35645 2008-10-22  Eric Blake  <ebb9@byu.net>
35646
35647         netdb: also supply struct addrinfo for cygwin 1.5.x
35648         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
35649         older cygwin.
35650         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
35651         cygwin.
35652         * doc/posix-headers/netdb.texi (netdb.h): Document this.
35653
35654 2008-10-22  Bruno Haible  <bruno@clisp.org>
35655
35656         * users.txt: Update entry about pspp.
35657
35658 2008-10-21  Bruno Haible  <bruno@clisp.org>
35659
35660         Simplification.
35661         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
35662         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
35663
35664         Simplification.
35665         * lib/ioctl.c (ioctl): Don't undefine.
35666         * lib/socket.c (socket): Don't undefine.
35667
35668         Remove unused module indicator macros.
35669         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
35670         GNULIB_$1 as a C macro.
35671
35672         * doc/posix-functions/close.texi: Undo last change.
35673         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
35674         Windows platforms.
35675
35676 2008-10-21  Bruno Haible  <bruno@clisp.org>
35677
35678         Add gethostname() declaration to <unistd.h>.
35679         * lib/unistd.in.h (gethostname): New declaration.
35680         * lib/gethostname.c: Include <unistd.h>.
35681         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
35682         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
35683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
35684         and HAVE_GETHOSTNAME.
35685         * modules/gethostname (Depends-on): Add unistd.
35686         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35687         (Include): Specify <unistd.h>.
35688         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
35689         HAVE_GETHOSTNAME.
35690         * tests/test-gethostname.c: Include <unistd.h> first.
35691
35692 2008-10-21  Bruno Haible  <bruno@clisp.org>
35693
35694         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
35695         * modules/select-tests (Depends-on): Likewise.
35696         Reported by Simon Josefsson.
35697
35698 2008-10-21  Simon Josefsson  <simon@josefsson.org>
35699
35700         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
35701         * lib/accept.c: New file, based on winsock.c.
35702         * lib/bind.c: New file, based on winsock.c.
35703         * lib/connect.c: New file, based on winsock.c.
35704         * lib/getpeername.c: New file, based on winsock.c.
35705         * lib/getsockname.c: New file, based on winsock.c.
35706         * lib/getsockopt.c: New file, based on winsock.c.
35707         * lib/ioctl.c: New file, based on winsock.c.
35708         * lib/listen.c: New file, based on winsock.c.
35709         * lib/recv.c: New file, based on winsock.c.
35710         * lib/recvfrom.c: New file, based on winsock.c.
35711         * lib/send.c: New file, based on winsock.c.
35712         * lib/sendto.c: New file, based on winsock.c.
35713         * lib/setsockopt.c: New file, based on winsock.c.
35714         * lib/shutdown.c: New file, based on winsock.c.
35715         * lib/socket.c: New file, based on winsock.c.
35716         * lib/w32sock.h: New file, based on winsock.c.
35717         * lib/winsock.c: Remove file.
35718         * modules/accept: Likewise.
35719         * modules/bind: Likewise.
35720         * modules/connect: Likewise.
35721         * modules/getpeername: Likewise.
35722         * modules/getsockname: Likewise.
35723         * modules/getsockopt: Likewise.
35724         * modules/ioctl: Likewise.
35725         * modules/listen: Likewise.
35726         * modules/recv: Likewise.
35727         * modules/recvfrom: Likewise.
35728         * modules/send: Likewise.
35729         * modules/sendto: Likewise.
35730         * modules/setsockopt: Likewise.
35731         * modules/shutdown: Likewise.
35732         * modules/socket: Use socket.c instead of winsock.c.
35733         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
35734         * doc/posix-functions/accept.texi: Doc fix.
35735         * doc/posix-functions/bind.texi: Doc fix.
35736         * doc/posix-functions/close.texi: Doc fix.
35737         * doc/posix-functions/connect.texi: Doc fix.
35738         * doc/posix-functions/getpeername.texi: Doc fix.
35739         * doc/posix-functions/getsockname.texi: Doc fix.
35740         * doc/posix-functions/getsockopt.texi: Doc fix.
35741         * doc/posix-functions/ioctl.texi: Doc fix.
35742         * doc/posix-functions/listen.texi: Doc fix.
35743         * doc/posix-functions/recv.texi: Doc fix.
35744         * doc/posix-functions/recvfrom.texi: Doc fix.
35745         * doc/posix-functions/send.texi: Doc fix.
35746         * doc/posix-functions/sendto.texi: Doc fix.
35747         * doc/posix-functions/setsockopt.texi: Doc fix.
35748         * doc/posix-functions/shutdown.texi: Doc fix.
35749         * doc/posix-functions/socket.texi: Doc fix.
35750
35751 2008-10-20  Bruno Haible  <bruno@clisp.org>
35752
35753         Take into account the role of SIGABRT_COMPAT on Windows 2008.
35754         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
35755         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
35756         as an alias for SIGABRT.
35757         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
35758         (sigaction): Map it to SIGABRT.
35759         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
35760
35761 2008-10-20  Bruno Haible  <bruno@clisp.org>
35762
35763         * lib/fts.c: Don't include lstat.h.
35764         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
35765
35766         Move the lstat() declaration to <sys/stat.h>.
35767         * lib/lstat.h: Remove file.
35768         * lib/sys_stat.in.h: Add special invocation convention.
35769         (lstat): New declaration.
35770         * lib/lstat.c (orig_lstat): New function.
35771         (rpl_lstat): Use orig_lstat instead of lstat.
35772         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
35773         AC_C_INLINE. Set REPLACE_LSTAT.
35774         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
35775         and REPLACE_LSTAT.
35776         * modules/lstat (Files): Remove lib/lstat.h.
35777         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
35778         (Include): Specify <sys/stat.h> instead of lstat.h.
35779         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
35780         REPLACE_LSTAT.
35781         * NEWS: Mention the change.
35782
35783 2008-10-20  Bruno Haible  <bruno@clisp.org>
35784
35785         * modules/posix_spawn-tests: New file.
35786         * tests/test-posix_spawn3.c: New file.
35787
35788 2008-10-20  Bruno Haible  <bruno@clisp.org>
35789
35790         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
35791         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35792         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
35793         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35794         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
35795
35796 2008-10-20  Bruno Haible  <bruno@clisp.org>
35797
35798         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
35799         of posix_spawn on AIX 5.3.
35800
35801 2008-10-20  Bruno Haible  <bruno@clisp.org>
35802
35803         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
35804
35805 2008-10-20  Bruno Haible  <bruno@clisp.org>
35806
35807         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
35808         of AC_LANG_PROGRAM.
35809
35810 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35811
35812         * lib/netdb.in.h: Don't define GNU specific constants until they
35813         are supported or needed.  Reported by Bruno Haible
35814         <bruno@clisp.org>.
35815
35816 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35817
35818         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
35819
35820 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35821
35822         * lib/getaddrinfo.h: Remove file.
35823         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
35824         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
35825         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
35826         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
35827         * modules/netdb: Substitute GNULIB_GETADDRINFO.
35828         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
35829         * tests/test-getaddrinfo.c: Likewise.
35830         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
35831         * NEWS: Mention change.
35832
35833 2008-10-19  Bruno Haible  <bruno@clisp.org>
35834
35835         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
35836
35837 2008-10-19  Bruno Haible  <bruno@clisp.org>
35838
35839         * lib/wait-process.c: Include simply <sys/wait.h>.
35840         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
35841         WIFSTOPPED): Remove fallback definitions.
35842         * modules/wait-process (Depends-on): Add sys_wait.
35843
35844         New module 'sys_wait'.
35845         * modules/sys_wait: New file.
35846         * lib/sys_wait.in.h: New file, partially copied from
35847         lib/wait-process.c.
35848         * m4/sys_wait_h.m4: New file.
35849         * doc/posix-headers/sys_wait.texi: Mention the new module.
35850
35851 2008-10-19  Bruno Haible  <bruno@clisp.org>
35852
35853         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
35854
35855 2008-10-19  Bruno Haible  <bruno@clisp.org>
35856
35857         Assume that waitpid() fills an 'int' status, not a 'union wait'.
35858         * lib/wait-process.c (WAIT_T): Remove type.
35859         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
35860         (wait_subprocess): Update.
35861
35862 2008-10-19  Bruno Haible  <bruno@clisp.org>
35863
35864         New module 'atoll'.
35865         * modules/atoll: New file.
35866         * lib/stdlib.in.h (atoll): New declaration.
35867         * lib/atoll.c: New file, from glibc with modifications.
35868         * m4/atoll.m4: New file.
35869         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
35870         HAVE_ATOLL.
35871         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
35872         * doc/posix-functions/atoll.texi: Mention the new module.
35873
35874 2008-10-19  Bruno Haible  <bruno@clisp.org>
35875
35876         Add strtoull() declaration to <stdlib.h>.
35877         * lib/stdlib.in.h (strtoull): New declaration.
35878         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35879         Set HAVE_STRTOULL.
35880         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
35881         HAVE_STRTOULL.
35882         * modules/strtoull (Depends-on): Add stdlib.
35883         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35884         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
35885         HAVE_STRTOULL.
35886
35887 2008-10-19  Bruno Haible  <bruno@clisp.org>
35888
35889         Add strtoll() declaration to <stdlib.h>.
35890         * lib/stdlib.in.h (strtoll): New declaration.
35891         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35892         Set HAVE_STRTOLL.
35893         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
35894         HAVE_STRTOLL.
35895         * modules/strtoll (Depends-on): Add stdlib.
35896         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35897         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
35898
35899 2008-10-19  Bruno Haible  <bruno@clisp.org>
35900
35901         * modules/bcopy (Depends-on): Add strings.
35902         (Include): Specify <strings.h>.
35903
35904 2008-10-19  Bruno Haible  <bruno@clisp.org>
35905
35906         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
35907
35908 2008-10-19  Bruno Haible  <bruno@clisp.org>
35909
35910         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
35911         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
35912         mingw.
35913
35914 2008-10-19  Bruno Haible  <bruno@clisp.org>
35915
35916         * lib/atanl.c: Don't include isnanl.h.
35917         * lib/cosl.c: Likewise.
35918         * lib/ldexpl.c: Likewise.
35919         * lib/logl.c: Likewise.
35920         * lib/sinl.c: Likewise.
35921         * lib/sqrtl.c: Likewise.
35922         * lib/tanl.c: Likewise.
35923
35924         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
35925         * lib/isnanf.h: Remove file.
35926         * lib/isnand.h: Remove file.
35927         * lib/isnanl.h: Remove file.
35928         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
35929         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
35930         macros.
35931         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
35932         HAVE_ISNANF, don't define it as a C macro.
35933         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
35934         HAVE_ISNAND, don't define it as a C macro.
35935         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
35936         HAVE_ISNANL, don't define it as a C macro.
35937         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
35938         HAVE_ISNAN[FDL].
35939         * modules/isnanf (Files): Remove lib/isnanf.h.
35940         (Depends-on): Add math.
35941         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35942         (Include): Specify <math.h> instead of isnanf.h.
35943         * modules/isnand (Files): Remove lib/isnand.h.
35944         (Depends-on): Add math.
35945         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35946         (Include): Specify <math.h> instead of isnand.h.
35947         * modules/isnanl (Files): Remove lib/isnanl.h.
35948         (Depends-on): Add math.
35949         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35950         (Include): Specify <math.h> instead of isnanl.h.
35951         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
35952         HAVE_ISNAN[FDL].
35953         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
35954         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
35955         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
35956         * NEWS: Mention the change.
35957
35958 2008-10-18  Bruno Haible  <bruno@clisp.org>
35959
35960         Add getusershell(), setusershell(), endusershell() declarations to
35961         <unistd.h>.
35962         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
35963         declarations.
35964         * lib/getusershell.c: Include unistd.h.
35965         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
35966         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
35967         HAVE_GETUSERSHELL.
35968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
35969         and HAVE_GETUSERSHELL.
35970         * modules/getusershell (Depends-on): Add unistd, extensions.
35971         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35972         (Include): Specify <unistd.h>.
35973         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
35974         HAVE_GETUSERSHELL.
35975
35976 2008-10-18  Bruno Haible  <bruno@clisp.org>
35977
35978         Add a getloadavg() declaration to <stdlib.h>.
35979         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
35980         getloadavg declaration.
35981         (getloadavg): New declaration.
35982         * lib/getloadavg.c: Include <stdlib.h> first.
35983         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
35984         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
35985         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
35986         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
35987         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
35988         * modules/getloadavg (Depends-on): Add stdlib, extensions.
35989         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35990         (Include): Specify <stdlib.h>.
35991         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
35992         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
35993
35994 2008-10-18  Bruno Haible  <bruno@clisp.org>
35995
35996         * lib/dirchownmod.c: Don't include lchmod.h.
35997
35998         Move the lchmod() declaration to <sys/stat.h>.
35999         * lib/lchmod.h: Remove file.
36000         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
36001         (lchmod): New declaration, moved here from lib/lchown.h.
36002         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
36003         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
36004         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
36005         and HAVE_LCHMOD.
36006         * modules/lchmod (Files): Remove lib/lchmod.h.
36007         (Depends-on): Add sys_stat, extensions.
36008         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
36009         (Include): Specify <sys/stat.h> instead of lchmod.h.
36010         * modules/sys_stat (Depends-on): Add link-warning.
36011         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
36012         definition of GL_LINK_WARNING.
36013         * NEWS: Mention the change.
36014
36015 2008-10-18  Bruno Haible  <bruno@clisp.org>
36016
36017         * lib/fchdir.c: Don't include dirfd.h.
36018         * lib/fts.c: Likewise.
36019         * lib/getcwd.c: Likewise.
36020         * lib/glob.c: Likewise.
36021
36022         Move the dirfd() declaration to <dirent.h>.
36023         * lib/dirfd.h: Remove file.
36024         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
36025         (dirfd): New declaration.
36026         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
36027         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
36028         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
36029         HAVE_DECL_DIRFD.
36030         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
36031         HAVE_DECL_DIRFD.
36032         * modules/dirfd (Files): Remove lib/dirfd.h.
36033         (Depends-on): Add dirent, extensions.
36034         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
36035         (Include): Specify <dirent.h> instead of dirfd.h.
36036         * modules/dirent (Depends-on): Add link-warning.
36037         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
36038         definition of GL_LINK_WARNING.
36039         * NEWS: Mention the change.
36040
36041 2008-10-18  Bruno Haible  <bruno@clisp.org>
36042
36043         Move the euidaccess() declaration to <unistd.h>.
36044         * lib/euidaccess.h: Remove file.
36045         * lib/unistd.in.h (euidaccess): New declaration.
36046         * lib/euidaccess.c: Don't include euidaccess.h.
36047         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
36048         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
36049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
36050         and HAVE_EUIDACCESS.
36051         * modules/euidaccess (Files): Remove lib/euidaccess.h.
36052         (Depends-on): Add unistd.
36053         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36054         (Include): Specify <unistd.h> instead of euidaccess.h.
36055         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
36056         HAVE_EUIDACCESS.
36057         * NEWS: Mention the change.
36058
36059 2008-10-18  Bruno Haible  <bruno@clisp.org>
36060
36061         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
36062
36063         Move the getdomainname() declaration to <unistd.h>.
36064         * lib/getdomainname.h: Remove file.
36065         * lib/unistd.in.h (getdomainname): New declaration.
36066         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
36067         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
36068         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
36069         HAVE_GETDOMAINNAME.
36070         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36071         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
36072         * modules/getdomainname (Files): Remove lib/getdomainname.h.
36073         (Depends-on): Add unistd, extensions.
36074         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36075         (Includes): Specify <unistd.h> instead of getdomainname.h.
36076         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
36077         HAVE_GETDOMAINNAME.
36078         * NEWS: Mention the change.
36079
36080 2008-10-18  Bruno Haible  <bruno@clisp.org>
36081
36082         * modules/dirent: New file.
36083         * m4/dirent_h.m4: New file.
36084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
36085         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
36086         * modules/fchdir (Files): Remove lib/dirent.in.h.
36087         (Depends-on): Add dirent.
36088         (Makefile.am): Move rules to modules/dirent.
36089         * doc/posix-headers/dirent.texi: Mention the new module.
36090
36091 2008-10-18  Bruno Haible  <bruno@clisp.org>
36092
36093         Avoid -Wunused-parameter warnings in public gnulib header files.
36094         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
36095         macro.
36096         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
36097
36098 2008-10-18  Bruno Haible  <bruno@clisp.org>
36099
36100         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
36101         * doc/glibc-functions/error.texi: Mention the module 'error'.
36102         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
36103         * doc/glibc-functions/getdomainname.texi: Mention the module
36104         'getdomainname'.
36105         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
36106         * doc/glibc-functions/getpagesize.texi: Mention the module
36107         'getpagesize'.
36108         * doc/glibc-functions/getusershell.texi: Mention the module
36109         'getusershell'.
36110         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
36111         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
36112         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
36113         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
36114         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
36115         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
36116         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
36117         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
36118         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
36119         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
36120         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
36121         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
36122         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
36123         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
36124
36125 2008-10-17  Bruno Haible  <bruno@clisp.org>
36126
36127         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
36128         HP-UX and IRIX, use -0.0L.
36129         * tests/test-ceill.c (minus_zero): Likewise.
36130         * tests/test-floorl.c (minus_zero): Likewise.
36131         * tests/test-frexpl.c (minus_zero): Likewise.
36132         * tests/test-isnan.c (minus_zerol): Likewise.
36133         * tests/test-isnanl.h (minus_zero): Likewise.
36134         * tests/test-ldexpl.c (minus_zero): Likewise.
36135         * tests/test-roundl.c (minus_zero): Likewise.
36136         * tests/test-signbit.c (minus_zerol): Likewise.
36137         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
36138         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
36139         * tests/test-truncl.c (minus_zero): Likewise.
36140         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
36141         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
36142         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
36143         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
36144
36145 2008-10-17  Bruno Haible  <bruno@clisp.org>
36146
36147         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
36148         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
36149         that it gets activated only for gcc >= 3.0.
36150         * lib/dirent.in.h: Likewise.
36151         * lib/errno.in.h: Likewise.
36152         * lib/fcntl.in.h: Likewise.
36153         * lib/float.in.h: Likewise.
36154         * lib/iconv.in.h: Likewise.
36155         * lib/inttypes.in.h: Likewise.
36156         * lib/locale.in.h: Likewise.
36157         * lib/math.in.h: Likewise.
36158         * lib/netdb.in.h: Likewise.
36159         * lib/netinet_in.in.h: Likewise.
36160         * lib/search.in.h: Likewise.
36161         * lib/signal.in.h: Likewise.
36162         * lib/spawn.in.h: Likewise.
36163         * lib/stdarg.in.h: Likewise.
36164         * lib/stdint.in.h: Likewise.
36165         * lib/stdio.in.h: Likewise.
36166         * lib/stdlib.in.h: Likewise.
36167         * lib/string.in.h: Likewise.
36168         * lib/strings.in.h: Likewise.
36169         * lib/sys_file.in.h: Likewise.
36170         * lib/sys_ioctl.in.h: Likewise.
36171         * lib/sys_select.in.h: Likewise.
36172         * lib/sys_socket.in.h: Likewise.
36173         * lib/sys_stat.in.h: Likewise.
36174         * lib/sys_time.in.h: Likewise.
36175         * lib/sysexits.in.h: Likewise.
36176         * lib/time.in.h: Likewise.
36177         * lib/unistd.in.h: Likewise.
36178         * lib/wchar.in.h: Likewise.
36179         * lib/wctype.in.h: Likewise.
36180         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36181
36182 2008-10-17  Jim Meyering  <meyering@redhat.com>
36183
36184         ignore-value: don't depend on inline module
36185         * modules/ignore-value (Depends-on): Remove 'inline'.
36186         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
36187         Suggestion from Bruno Haible.
36188
36189 2008-10-17  Bruno Haible  <bruno@clisp.org>
36190
36191         New implementation of condition variables for Win32.
36192         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
36193         (gl_linked_waitqueue_t): New type.
36194         (gl_cond_t): Use it.
36195         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
36196         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
36197         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
36198         (glthread_cond_init_func, glthread_cond_wait_func,
36199         glthread_cond_timedwait_func, glthread_cond_signal_func,
36200         glthread_cond_broadcast_func, glthread_cond_destroy_func):
36201         Reimplemented on the basis of gl_linked_waitqueue_t.
36202         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
36203         gl_waitqueue_t.
36204         (gl_rwlock_t): Update.
36205         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
36206
36207 2008-10-17  Simon Josefsson  <simon@josefsson.org>
36208
36209         * modules/recvfrom (Depends-on): Add dependency on getpeername.
36210         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36211
36212 2008-10-17  Jim Meyering  <meyering@redhat.com>
36213
36214         ignore-value: new module
36215         * modules/ignore-value: New file.
36216         * lib/ignore-value.h: New file.
36217         * MODULES.html.sh (Compiler warning management): New section,
36218         just for this module.  More to come.
36219
36220 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36221
36222         open-safer.c: avoid 'signed and unsigned in conditional...' warning
36223         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
36224         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
36225
36226 2008-10-16  Jim Meyering  <meyering@redhat.com>
36227
36228         openat-die.c: avoid 'no previous prototype' warning
36229         * lib/openat-die.c: Include "openat.h".
36230         Reported by Reuben Thomas <rrt@sc3d.org>.
36231
36232 2008-10-16  Simon Josefsson  <simon@josefsson.org>
36233
36234         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
36235         * lib/netdb.in.h: Fix typo.
36236         Reported by Bruno Haible  <bruno@clisp.org>
36237
36238         * lib/netdb.in.h: Include sys/socket.h for platforms without
36239         netdb.h, to get structures like hostent on MinGW.
36240         * modules/netdb (Depends-on): Add sys_socket.
36241
36242 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36243
36244         * modules/netdb, modules/netdb-tests: New file.
36245         * m4/netdb_h.m4: New file.
36246         * lib/netdb.in.h: Add, currently just an empty file pending
36247         definitions.
36248         * tests/test-netdb.c: New file.
36249         * doc/posix-headers/netdb.texi: Mention that we replace it if
36250         needed.
36251         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36252         netdb.
36253
36254 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36255
36256         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
36257         with code.
36258
36259 2008-10-13  Bruno Haible  <bruno@clisp.org>
36260
36261         * lib/glthread/cond.c (glthread_cond_wait_func,
36262         glthread_cond_timedwait_func): Add a comment.
36263
36264 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36265
36266         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
36267         * tests/test-select.c: Likewise,
36268
36269 2008-10-13  Bruno Haible  <bruno@clisp.org>
36270
36271         * lib/glthread/cond.c (glthread_cond_wait_func,
36272         glthread_cond_timedwait_func): Fix variable name.
36273         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36274
36275 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
36276
36277         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
36278         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
36279         struct sockaddr.sa_len.
36280         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
36281
36282 2008-10-13  Simon Josefsson  <simon@josefsson.org>
36283
36284         * build-aux/pmccabe2html: Add css and css_url parameters.
36285
36286 2008-10-12  Bruno Haible  <bruno@clisp.org>
36287
36288         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
36289         calling aclx_get.
36290         Reported by Rainer Tammer <tammer@tammer.net>.
36291
36292 2008-10-12  Bruno Haible  <bruno@clisp.org>
36293
36294         Use msvcrt aware primitives for creation/termination of Win32 threads.
36295         * lib/glthread/thread.c: Include <process.h>.
36296         (glthread_create_func): Use _beginthreadex instead of CreateThread.
36297         (wrapper_func): Update signature.
36298         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
36299
36300 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36301             Bruno Haible  <bruno@clisp.org>
36302
36303         Provide a Win32 implementation of the 'cond' module.
36304         * lib/glthread/cond.h [USE_WIN32]: New implementation.
36305         * lib/glthread/cond.c (glthread_cond_init_func,
36306         glthread_cond_wait_func, glthread_cond_timedwait_func,
36307         glthread_cond_signal_func, glthread_cond_broadcast_func,
36308         glthread_cond_destroy_func) [USE_WIN32]: New functions.
36309         * modules/cond (Dependencies): Add gettimeofday.
36310
36311 2008-10-11  Bruno Haible  <bruno@clisp.org>
36312
36313         Make sleep work on older versions of mingw.
36314         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
36315         only whether it exists.
36316         * doc/posix-functions/sleep.texi: Mention the problem with older
36317         versions of mingw.
36318
36319 2008-10-11  Bruno Haible  <bruno@clisp.org>
36320
36321         New module 'shutdown'.
36322         * modules/shutdown: New file.
36323         * lib/sys_socket.in.h (shutdown): New declaration.
36324         * lib/winsock.c (shutdown): New function.
36325         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
36326         GNULIB_SHUTDOWN.
36327         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
36328         * doc/posix-functions/shutdown.texi: Document the new module.
36329
36330 2008-10-11  Jim Meyering  <meyering@redhat.com>
36331
36332         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
36333
36334 2008-10-11  Bruno Haible  <bruno@clisp.org>
36335
36336         New module 'fclose'.
36337         * modules/fclose: New file.
36338         * lib/stdio.in.h (fclose): New declaration.
36339         * lib/fclose.c: New file.
36340         * m4/fclose.m4: New file.
36341         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
36342         REPLACE_FCLOSE.
36343         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
36344         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
36345         REPLACE_FCLOSE.
36346         * modules/close (Depends-on): fclose.
36347         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
36348
36349 2008-10-11  Bruno Haible  <bruno@clisp.org>
36350
36351         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
36352         set errno and don't call _close.
36353
36354 2008-10-10  Bruno Haible  <bruno@clisp.org>
36355
36356         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
36357         ACL, not afterwards. Fixes test failure on Cygwin.
36358
36359 2008-10-09  Ben Pfaff  <blp@gnu.org>
36360
36361         * build-aux/announce-gen: Fix gnulib version related part of usage
36362         message.  Die with a useful error message if no tarballs are
36363         found.
36364
36365 2008-10-10  Jim Meyering  <meyering@redhat.com>
36366
36367         bootstrap: use git's --depth=N option only if it's supported
36368         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
36369         recognize the --depth option.  Reported by Pádraig Brady.
36370
36371 2008-10-09  Bruno Haible  <bruno@clisp.org>
36372
36373         New module 'ioctl'.
36374         * modules/ioctl: New file.
36375         * lib/sys_socket.in.h (ioctl): Remove declaration.
36376         * lib/winsock.c: Include <sys/ioctl.h>.
36377         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
36378         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
36379         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
36380         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
36381         * doc/posix-functions/ioctl.texi: Mention the new module.
36382
36383 2008-10-09  Bruno Haible  <bruno@clisp.org>
36384
36385         New module 'sys_ioctl'.
36386         * lib/sys_ioctl.in.h: New file.
36387         * m4/sys_ioctl_h.m4: New file.
36388         * modules/sys_ioctl: New file.
36389         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
36390
36391 2008-10-09  Bruno Haible  <bruno@clisp.org>
36392
36393         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
36394         * lib/winsock.c: Include <stdarg.h>.
36395         (rpl_ioctl): Change to second argument 'int' and then varargs.
36396
36397 2008-10-09  Bruno Haible  <bruno@clisp.org>
36398
36399         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
36400         when the sys_socket module is present and the system has <winsock2.h>.
36401
36402 2008-10-09  Bruno Haible  <bruno@clisp.org>
36403
36404         * doc/posix-functions/close.texi: Mention module 'close' instead of
36405         module 'sys_socket'.
36406
36407 2008-10-09  Bruno Haible  <bruno@clisp.org>
36408
36409         * doc/glibc-headers/sys_ioctl.texi: New file.
36410         * doc/gnulib.texi: Include it.
36411
36412 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36413             Bruno Haible  <bruno@clisp.org>
36414
36415         Combine the two replacements of 'close'.
36416         * lib/sys_socket.in.h (close): Define to a reminder to include
36417         <unistd.h>.
36418         (_gl_close_fd_maybe_socket): New declaration.
36419         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
36420         * lib/winsock.c (close): Remove undefinition.
36421         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
36422         needed for the gnulib module 'close'.
36423         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
36424         define to an error symbol or to a warning, if suitable.
36425         * lib/close.c: Include <sys/socket.h>.
36426         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
36427         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
36428         UNISTD_H_HAVE_WINSOCK2_H.
36429         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
36430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36431         UNISTD_H_HAVE_WINSOCK2_H.
36432         * modules/sys_socket (Files): Add m4/unistd_h.m4.
36433         (configure.ac): Set a module indicator.
36434         (Makefile.am): Substitute GNULIB_CLOSE.
36435         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
36436         * modules/poll-tests (Depends-on): Add close.
36437         * modules/select-tests (Depends-on): Likewise.
36438
36439 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36440             Bruno Haible  <bruno@clisp.org>
36441
36442         New module 'close'.
36443         * modules/close: New file.
36444         * lib/unistd.in.h (close): Move declaration out of the
36445         FCHDIR_REPLACEMENT scope.
36446         (_gl_unregister_fd): New declaration.
36447         * lib/close.c: New file.
36448         * lib/fchdir.c (rpl_close): Remove function.
36449         * m4/close.m4: New file.
36450         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36451         close.
36452         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
36453         REPLACE_CLOSE.
36454         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
36455         REPLACE_CLOSE.
36456         * modules/fchdir (Depends-on): Add close.
36457
36458 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36459             Bruno Haible  <bruno@clisp.org>
36460
36461         * lib/fcntl.in.h (open): Simplify conditionals.
36462         (_gl_register_fd): New declaration.
36463         * lib/fchdir.c (rpl_open): Remove function.
36464         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
36465         also.
36466         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
36467         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36468         open.
36469
36470 2008-10-09  Jim Meyering  <meyering@redhat.com>
36471
36472         GNUmakefile: use the more name-space-friendly "_version"
36473         * top/GNUmakefile (_dummy): Update.
36474         (_version): Rename from "version".
36475
36476 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36477             Bruno Haible  <bruno@clisp.org>
36478
36479         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
36480         rpl_close.
36481         (_gl_register_fd): New function, extracted from rpl_open.
36482         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
36483         (rpl_open, rpl_opendir): Use _gl_register_fd.
36484
36485 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36486
36487         Fix organization of 'open' replacement.
36488         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
36489         (gl_FUNC_OPEN): Use it.
36490         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
36491
36492 2008-10-08  Bruno Haible  <bruno@clisp.org>
36493
36494         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
36495
36496 2008-10-08  Simon Josefsson  <simon@josefsson.org>
36497
36498         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
36499         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
36500         listen).
36501
36502 2008-10-08  Eric Blake  <ebb9@byu.net>
36503
36504         GNUmakefile: add 'make version' target
36505         * top/GNUmakefile (_curr-ver): Split version update rules...
36506         (version): ...into a target.
36507
36508 2008-10-07  Bruno Haible  <bruno@clisp.org>
36509
36510         Use a more portable replacement expression for -0.0L.
36511         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
36512         instead of -0.0L. Fix m4 quotation.
36513
36514         * tests/test-signbit.c: Include <float.h>.
36515         (minus_zero): New variable.
36516         (test_signbitl): Use minus_zero instead of -zero.
36517         * modules/signbit-tests (Depends-on): Add float.
36518
36519         * tests/test-ceill.c: Include <float.h>.
36520         (zero): Remove variable.
36521         (minus_zero): New variable.
36522         (main): Use minus_zero instead of -zero.
36523         * modules/ceill-tests (Depends-on): Add float.
36524
36525         * tests/test-floorl.c: Include <float.h>.
36526         (zero): Remove variable.
36527         (minus_zero): New variable.
36528         (main): Use minus_zero instead of -zero.
36529         * modules/floorl-tests (Depends-on): Add float.
36530
36531         * tests/test-roundl.c: Include <float.h>.
36532         (zero): Remove variable.
36533         (minus_zero): New variable.
36534         (main): Use minus_zero instead of -zero.
36535         * modules/roundl-tests (Depends-on): Add float.
36536
36537         * tests/test-truncl.c: Include <float.h>.
36538         (zero): Remove variable.
36539         (minus_zero): New variable.
36540         (main): Use minus_zero instead of -zero.
36541         * modules/truncl-tests (Depends-on): Add float.
36542
36543         * tests/test-frexpl.c (zero): Remove variable.
36544         (minus_zero): New variable.
36545         (main): Use minus_zero instead of -zero.
36546         * modules/frexpl-tests (Depends-on): Add float.
36547
36548         * tests/test-isnan.c (zerol): Remove variable.
36549         (minus_zerol): New variable.
36550         (test_long_double): Use minus_zerol instead of -zerol.
36551         * modules/isnan-tests (Depends-on): Add float.
36552
36553         * tests/test-isnanl.h (zero): Remove variable.
36554         (minus_zero): New variable.
36555         (main): Use minus_zero instead of -zero.
36556         * modules/isnanl-nolibm-tests (Depends-on): Add float.
36557         * modules/isnanl-tests (Depends-on): Add float.
36558
36559         * tests/test-ldexpl.c (zero): Remove variable.
36560         (minus_zero): New variable.
36561         (main): Use minus_zero instead of -zero.
36562         * modules/ldexpl-tests (Depends-on): Add float.
36563
36564         * tests/test-snprintf-posix.h (zerol): Remove variable.
36565         (minus_zerol): New variable.
36566         (test_function): Use minus_zerol instead of -zerol.
36567         * modules/snprintf-posix-tests (Depends-on): Add float.
36568         * modules/vsnprintf-posix-tests (Depends-on): Add float.
36569
36570         * tests/test-sprintf-posix.h (zerol): Remove variable.
36571         (minus_zerol): New variable.
36572         (test_function): Use minus_zerol instead of -zerol.
36573         * modules/sprintf-posix-tests (Depends-on): Add float.
36574         * modules/vsprintf-posix-tests (Depends-on): Add float.
36575
36576         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
36577         (minus_zerol): New variable.
36578         (test_function): Use minus_zerol instead of -zerol.
36579         * modules/vasnprintf-posix-tests (Depends-on): Add float.
36580
36581         * tests/test-vasprintf-posix.c (zerol): Remove variable.
36582         (minus_zerol): New variable.
36583         (test_function): Use minus_zerol instead of -zerol.
36584         * modules/vasprintf-posix-tests (Depends-on): Add float.
36585
36586 2008-10-07  Simon Josefsson  <simon@josefsson.org>
36587
36588         * MODULES.html.sh (Support for building documentation): Mention
36589         pmccabe2html.  Sort entries.
36590
36591         Add pmccabe2html module, from gnupdf.
36592         * build-aux/pmccabe.css: New file.
36593         * build-aux/pmccabe2html: New file.
36594         * m4/pmccabe2html.m4: New file.
36595         * modules/pmccabe2html: New file.
36596
36597 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
36598
36599         flock: new module
36600         * MODULES.html.sh: Add to list of modules.
36601         * lib/flock.c: flock implementation for Windows and Unix systems
36602         which have fcntl.
36603         * doc/glibc-functions/flock.texi: Update documentation.
36604         * lib/sys_file.in.h: <sys/file.h> header file.
36605         * m4/flock.m4: M4 macros.
36606         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
36607         * modules/flock: flock module.
36608         * modules/flock-tests: flock tests module.
36609         * modules/sys_file: sys/file.h module.
36610         * tests/test-flock.c: test suite for flock.
36611
36612 2008-10-06  Jim Meyering  <meyering@redhat.com>
36613
36614         bootstrap: check for LT_INIT more portably still ;-)
36615         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
36616         Spotted by Bruno Haible.
36617
36618 2008-10-06  Eric Blake  <ebb9@byu.net>
36619
36620         test-signbit: avoid tripping Irix cc bug on -0.0L
36621         * tests/test-signbit.c (minus_zerol): Delete, and replace with
36622         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
36623         entire testsuite consistent and avoids an Irix 6.2 bug.
36624
36625 2008-10-05  Bruno Haible  <bruno@clisp.org>
36626             Jim Meyering  <jim@meyering.net>
36627
36628         Add an option for ignoring EPIPE during close_stdout.
36629         * lib/closeout.h: Include <stdbool.h>.
36630         (close_stdout_set_ignore_EPIPE): New declaration.
36631         * lib/closeout.c: Include <stdbool.h>.
36632         (ignore_EPIPE): New variable.
36633         (close_stdout_set_ignore_EPIPE): New function.
36634         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
36635         * lib/close-stream.c (close_stream): Mention the possible EPIPE
36636         failure.
36637         * modules/closeout (Depends-on): Add stdbool.
36638
36639 2008-10-05  Bruno Haible  <bruno@clisp.org>
36640
36641         * modules/accept: New file.
36642         * modules/bind: New file.
36643         * modules/connect: New file.
36644         * modules/getpeername: New file.
36645         * modules/getsockname: New file.
36646         * modules/getsockopt: New file.
36647         * modules/listen: New file.
36648         * modules/recv: New file.
36649         * modules/recvfrom: New file.
36650         * modules/send: New file.
36651         * modules/sendto: New file.
36652         * modules/setsockopt: New file.
36653         * modules/socket: New file.
36654         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
36655         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36656         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
36657         the particular module is requested. Add a link warning when the
36658         particular module is not requested.
36659         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
36660         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
36661         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
36662         the particular module is requested.
36663         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
36664         gl_SYS_SOCKET_H_DEFAULTS): New macros.
36665         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
36666         * modules/sys_socket (Depends-on): Add link-warning.
36667         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
36668         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
36669         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
36670         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
36671         GL_LINK_WARNING.
36672         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
36673         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
36674         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
36675         * doc/posix-functions/getpeername.texi: Mention the new module
36676         'getpeername'.
36677         * doc/posix-functions/getsockname.texi: Mention the new module
36678         'getsockname'.
36679         * doc/posix-functions/getsockopt.texi: Mention the new module
36680         'getsockopt'.
36681         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
36682         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
36683         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
36684         * doc/posix-functions/send.texi: Mention the new module 'send'.
36685         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
36686         * doc/posix-functions/setsockopt.texi: Mention the new module
36687         'setsockopt'.
36688         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
36689         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
36690         listen, connect, accept.
36691         * modules/select-tests (Depends-on): Likewise.
36692
36693 2008-10-05  Bruno Haible  <bruno@clisp.org>
36694
36695         * lib/winsock.c (strerror): Remove unused #undef.
36696         (rpl_close): Remove unused local variable.
36697
36698         * modules/sys_socket (Depends-on); Add errno.
36699
36700 2008-10-05  Bruno Haible  <bruno@clisp.org>
36701
36702         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
36703         (select): Add a link warning when the 'select' module is not used.
36704         * modules/sys_select (Depends-on): Add link-warning.
36705         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
36706         Suggested by Paolo Bonzini.
36707
36708 2008-10-05  Jim Meyering  <meyering@redhat.com>
36709
36710         bootstrap: check for LT_INIT more portably
36711         * build-aux/bootstrap: Avoid using grep -E, since it's not
36712         portable enough.  Suggestion from Bruno Haible.
36713
36714 2008-10-05  Bruno Haible  <bruno@clisp.org>
36715
36716         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
36717         as being fixed by gnulib.
36718
36719 2008-10-05  Bruno Haible  <bruno@clisp.org>
36720
36721         * modules/select-tests: New file, mostly copied from
36722         modules/sys_select-tests.
36723         * tests/test-select.c: New file, mostly copied from
36724         tests/test-sys_select.c.
36725         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
36726         * modules/sys_select-tests (Depends-on): Remove all dependencies.
36727         (Makefile.am): Remove test_sys_select_LDADD.
36728
36729         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
36730         to an undefined symbol, for an error message.
36731         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
36732         (gl_SYS_SELECT_H_DEFAULTS): New macro.
36733         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
36734         winsock-select.c here.
36735         * modules/sys_select (Files): Remove lib/winsock-select.c.
36736         (Depends-on): Remove alloca.
36737         (Makefile.am): Substitute GNULIB_SELECT.
36738         * modules/select: New file.
36739         * doc/posix-functions/select.texi: Update.
36740
36741 2008-10-05  Bruno Haible  <bruno@clisp.org>
36742
36743         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
36744         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
36745         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
36746         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
36747         getdtablesize.
36748         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
36749         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
36750
36751 2008-10-05  Bruno Haible  <bruno@clisp.org>
36752
36753         * modules/getdtablesize-tests: New file.
36754         * tests/test-getdtablesize.c: New file.
36755
36756         New module 'getdtablesize'.
36757         * lib/unistd.in.h (getdtablesize): New declaration.
36758         * lib/getdtablesize.c: New file.
36759         * m4/getdtablesize.m4: New file.
36760         * modules/getdtablesize: New file.
36761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36762         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
36763         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
36764         HAVE_GETDTABLESIZE.
36765         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
36766
36767 2008-10-05  Bruno Haible  <bruno@clisp.org>
36768
36769         * modules/sched (Makefile.am): Fix typo.
36770         Reported by Simon Josefsson.
36771
36772 2008-10-05  Jim Meyering  <meyering@redhat.com>
36773
36774         bootstrap: check for LT_INIT, too
36775         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
36776         are deprecated.  Suggestion from Ralf Wildenhues.
36777
36778 2008-10-05  Bruno Haible  <bruno@clisp.org>
36779
36780         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
36781         overriding them by ours.
36782         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
36783
36784 2008-10-05  Jim Meyering  <meyering@redhat.com>
36785
36786         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
36787         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
36788         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
36789
36790 2008-10-04  Bruno Haible  <bruno@clisp.org>
36791
36792         * modules/dup2 (License): Change to LGPLv2+.
36793         * modules/sleep (License): Likewise.
36794         * modules/perror (License): Likewise.
36795         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
36796         Blake.
36797         * modules/signal (License): Likewise.
36798         * modules/sigprocmask (License): Likewise.
36799         * modules/raise (License): Change to LGPLv2+, with approval by Jim
36800         Meyering.
36801
36802 2008-10-04  Bruno Haible  <bruno@clisp.org>
36803
36804         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
36805         Reported by Rainer Tammer <tammer@tammer.net>.
36806
36807 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
36808             Bruno Haible  <bruno@clisp.org>
36809
36810         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
36811         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
36812         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
36813
36814 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
36815
36816         filevercmp: new module
36817         * lib/filevercmp.h: New function filevercmp comparing version strings.
36818         * lib/filevercmp.c: Implementation of filevercmp function.
36819         * modules/filevercmp: Module metadata.
36820         * tests/test-filevercmp.c: Unit test for new module.
36821         * modules/filevercmp-tests: Unit test metadata.
36822         * MODULES.html.sh: Add filevercmp module.
36823
36824 2008-10-03  Bruno Haible  <bruno@clisp.org>
36825
36826         * lib/c-ctype.h: Add comment.
36827         Reported by Jim Meyering.
36828
36829 2008-10-02  Bruno Haible  <bruno@clisp.org>
36830
36831         * modules/posix_spawn-internal (Depends-on): Add 'open'.
36832
36833 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36834
36835         * build-aux/bootstrap: Allow renaming bootstrap, and change the
36836         name of bootstrap.conf accordingly.
36837
36838 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36839
36840         * build-aux/bootstrap: Install git-merge-changelog configuration
36841         items into .gitconfig if needed.
36842
36843 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36844
36845         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
36846         git repository, and initialize/update it accordingly.
36847
36848 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
36849
36850         * modules/fsync-tests: New file.
36851         * tests/test-fsync.c: New file.
36852
36853         New module 'fsync'.
36854         * lib/fsync.c: New file.
36855         * m4/fsync.m4: New file.
36856         * modules/fsync: New file.
36857         * lib/unistd.in.h (fsync): New declaration.
36858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
36859         GNULIB_FSYNC and HAVE_FSYNC.
36860         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
36861         * MODULES.html.sh (posix_functions): Add fsync.
36862         * doc/posix-functions/fsync.texi: Mention the new module.
36863
36864 2008-10-02  Jim Meyering  <meyering@redhat.com>
36865
36866         fts.c: sync with similar code from coreutils' remove.c
36867         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
36868         Guard also with "#if defined __linux__", since for now at least,
36869         this code is Linux-kernel-specific.
36870
36871 2008-10-02  Jim Meyering  <meyering@redhat.com>
36872
36873         fts: bug fixes
36874         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
36875         Include <sys/vfs.h>, not <sys/statfs.h>.
36876
36877         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
36878         Include <sys/vfs.h>, not <sys/statfs.h>.
36879
36880 2008-10-01  Bruno Haible  <bruno@clisp.org>
36881
36882         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
36883         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
36884         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
36885         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
36886         * doc/posix-functions/posix_spawnp.texi: Likewise.
36887         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
36888         whether posix_spawn actually works.
36889         * m4/pipe.m4 (gl_PIPE): Likewise.
36890         * modules/execute (Files): Add m4/posix_spawn.m4.
36891         * modules/pipe (Files): Add m4/posix_spawn.m4.
36892         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
36893
36894 2008-10-01  Jim Meyering  <meyering@redhat.com>
36895
36896         remove trailing spaces
36897         * NEWS: Likewise.
36898         * lib/poll.c (poll): Likewise.
36899         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
36900         * lib/winsock.c (rpl_close): Likewise.
36901         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
36902         * modules/yield: Likewise.
36903         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
36904         * tests/test-sys_select.c (connect_to_socket): Likewise.
36905
36906         fts.c: adjust a new interface to be more generally useful
36907         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
36908         (fts_build): Adjust caller.
36909
36910 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36911
36912         * modules/cond-tests: New file.
36913         * tests/test-cond.c: New file.
36914
36915 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36916             Bruno Haible  <bruno@clisp.org>
36917
36918         * modules/cond (Dependencies): Add errno, time.
36919         * lib/glthread/cond.h: Include <time.h>.
36920         (gl_cond_define, gl_cond_define_initialized): Use the same definition
36921         across platforms.
36922
36923 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36924             Bruno Haible  <bruno@clisp.org>
36925
36926         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
36927
36928 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36929             Bruno Haible  <bruno@clisp.org>
36930
36931         * modules/tls-tests (Depends-on): Add thread, yield.
36932         (configure.ac): Remove all checks.
36933         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
36934         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36935         gl_thread_self): Remove definitions. Include glthread/thread.h and
36936         glthread/yield.h instead.
36937         (test_tls): Pass an additional NULL argument to gl_thread_join.
36938
36939 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36940             Bruno Haible  <bruno@clisp.org>
36941
36942         * modules/lock-tests (Depends-on): Add thread, yield.
36943         (configure.ac): Remove all checks.
36944         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
36945         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36946         gl_thread_self): Remove definitions. Include glthread/thread.h and
36947         glthread/yield.h instead.
36948         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
36949         additional NULL argument to gl_thread_join.
36950
36951 2008-09-30  Bruno Haible  <bruno@clisp.org>
36952
36953         Fix the Win32 implementation of the 'thread' module.
36954         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
36955         pointer type.
36956         (gl_thread_self): Invoke gl_thread_self_func.
36957         (gl_thread_self_func): New declaration.
36958         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
36959         (do_init_self_key, init_self_key): New functions.
36960         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
36961         Remove some fields.
36962         (running_threads, running_lock): Remove variables.
36963         (get_current_thread_handle): New function.
36964         (gl_thread_self_func, wrapper_func, glthread_create_func,
36965         glthread_join_func, gl_thread_exit_func): Largely rewritten and
36966         simplified.
36967
36968 2008-09-30  Bruno Haible  <bruno@clisp.org>
36969
36970         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
36971         files.
36972
36973 2008-09-30  Jim Meyering  <meyering@redhat.com>
36974
36975         fts.m4: correct the test for statfs.f_type
36976         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
36977         when checking for statfs.f_type.
36978
36979 2008-09-15  Simon Josefsson  <simon@josefsson.org>
36980
36981         tests: avoid some compiler warnings
36982         * tests/test-memchr.c (main): Pass NULL indirectly.
36983         * tests/test-getdate.c (main): Remove unused variable 'ret'.
36984
36985 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
36986
36987         getdate.y: disallow countable dayshifts like "4 yesterday ago"
36988         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
36989         exactly specified dayshifts.
36990         (dayshift): New rule.
36991         (rel): Add dayshift.
36992         (relative_time_table) [tomorrow, yesterday, today, now]:
36993         Use tDAY_SHIFT in place of tDAY_UNIT.
36994         * tests/test-getdate.c: Add tests for now-disallowed countable
36995         dayshifts, e.g., "4 yesterday ago".
36996
36997 2008-09-29  Bruno Haible  <bruno@clisp.org>
36998
36999         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
37000         * tests/test-posix_spawn1.in.sh: Renamed from
37001         tests/test-posix_spawn.in.sh.
37002         * tests/test-posix_spawn2.c: New file.
37003         * tests/test-posix_spawn2.in.sh: New file.
37004         * modules/posix_spawnp-tests (Files): Update.
37005         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
37006
37007 2008-09-29  Bruno Haible  <bruno@clisp.org>
37008
37009         Propagate effects of putenv/setenv/unsetenv to child processes.
37010         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
37011         * lib/pipe.c (create_pipe): Likewise.
37012
37013 2008-09-29  Bruno Haible  <bruno@clisp.org>
37014
37015         Enable use of shell scripts as executables in mingw.
37016         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
37017         run the program as a shell script.
37018         * lib/pipe.c (create_pipe): Likewise.
37019         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
37020         resulting array.
37021
37022 2008-09-29  Eric Blake  <ebb9@byu.net>
37023
37024         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
37025
37026 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
37027
37028         * doc/posix-functions/accept.texi: Update mingw problems.
37029         * doc/posix-functions/bind.texi: Update mingw problems.
37030         * doc/posix-functions/close.texi: Update mingw problems.
37031         * doc/posix-functions/connect.texi: Update mingw problems.
37032         * doc/posix-functions/getpeername.texi: Update mingw problems.
37033         * doc/posix-functions/getsockname.texi: Update mingw problems.
37034         * doc/posix-functions/getsockopt.texi: Update mingw problems.
37035         * doc/posix-functions/ioctl.texi: Update mingw problems.
37036         * doc/posix-functions/listen.texi: Update mingw problems.
37037         * doc/posix-functions/recv.texi: Update mingw problems.
37038         * doc/posix-functions/recvfrom.texi: Update mingw problems.
37039         * doc/posix-functions/select.texi: Update mingw problems.
37040         * doc/posix-functions/send.texi: Update mingw problems.
37041         * doc/posix-functions/sendto.texi: Update mingw problems.
37042         * doc/posix-functions/setsockopt.texi: Update mingw problems.
37043         * doc/posix-functions/socket.texi: Update mingw problems.
37044
37045 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
37046             Bruno Haible  <bruno@clisp.org>
37047
37048         * lib/sys_select.in.h: Include sys/time.h.
37049         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
37050         * modules/sys_select: Depend on sys_time.
37051         * tests/test-sys_select.c: Test that sys/select.h defines struct
37052         timeval fully.
37053
37054 2008-09-29  Bruno Haible  <bruno@clisp.org>
37055
37056         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
37057         * lib/sys_select.in.h: Likewise.
37058
37059 2008-09-29  Bruno Haible  <bruno@clisp.org>
37060
37061         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
37062
37063 2008-09-29  Bruno Haible  <bruno@clisp.org>
37064
37065         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
37066         Set LIBSOCKET instead of augmenting LIBS.
37067         * modules/sockets (Link): New section.
37068         * modules/sockets-tests (test_sockets_LDADD): New variable.
37069         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
37070         * modules/poll-tests (test_poll_LDADD): New variable.
37071         * NEWS: Document the change.
37072
37073 2008-09-29  Bruno Haible  <bruno@clisp.org>
37074
37075         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
37076         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
37077         ARPA_INET_H directly.
37078         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37079
37080 2008-09-28  Bruno Haible  <bruno@clisp.org>
37081
37082         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
37083         from gl_HEADER_SYS_SOCKET.
37084         (gl_HEADER_SYS_SOCKET): Invoke it.
37085         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37086
37087 2008-09-28  Bruno Haible  <bruno@clisp.org>
37088
37089         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
37090         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
37091         Needed on OSF/1 4.0.
37092
37093 2008-09-28  Bruno Haible  <bruno@clisp.org>
37094
37095         Override open more carefully.
37096         * lib/open.c (orig_open): New function.
37097         (rpl_open): Use orig_open instead of open.
37098         * lib/fcntl.in.h: Add special invocation convention.
37099         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
37100         (gl_FUNC_OPEN): Invoke it.
37101
37102         Override freopen more carefully.
37103         * lib/freopen.c (orig_freopen): New function.
37104         (rpl_freopen): Use orig_freopen instead of freopen.
37105         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
37106         (gl_FUNC_FREOPEN): Invoke it.
37107
37108         Override fopen more carefully.
37109         * lib/fopen.c (orig_fopen): New function.
37110         (rpl_fopen): Use orig_fopen instead of fopen.
37111         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
37112         (gl_FUNC_FOPEN): Invoke it.
37113         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
37114
37115 2008-09-28  Bruno Haible  <bruno@clisp.org>
37116
37117         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
37118         SIGPIPE.
37119
37120 2008-09-28  Bruno Haible  <bruno@clisp.org>
37121
37122         * tests/test-sigaction.c (handler, main): Disable the check whether
37123         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
37124         glibc systems with LinuxThreads.
37125
37126 2008-09-28  Bruno Haible  <bruno@clisp.org>
37127
37128         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
37129
37130         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
37131         with AIX xlc.
37132         * lib/fcntl.in.h (open): Likewise.
37133         Reported by Rainer Tammer <tammer@tammer.net>.
37134
37135 2008-09-28  Bruno Haible  <bruno@clisp.org>
37136
37137         * modules/posix_spawnp-tests: New file.
37138         * tests/test-posix_spawn.c: New file.
37139         * tests/test-posix_spawn.in.sh: New file.
37140
37141         New module 'posix_spawnp'.
37142         * modules/posix_spawnp: New file.
37143         * lib/spawnp.c: New file, from GNU libc with modifications.
37144         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
37145
37146         New module 'posix_spawn'.
37147         * modules/posix_spawn: New file.
37148         * lib/spawn.c: New file, from GNU libc with modifications.
37149         * doc/posix-functions/posix_spawn.texi: Mention the new module.
37150
37151         New module 'posix_spawnattr_destroy'.
37152         * modules/posix_spawnattr_destroy: New file.
37153         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
37154         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
37155         module.
37156
37157         New module 'posix_spawnattr_setsigmask'.
37158         * modules/posix_spawnattr_setsigmask: New file.
37159         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
37160         modifications.
37161         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
37162         new module.
37163
37164         New module 'posix_spawnattr_getsigmask'.
37165         * modules/posix_spawnattr_getsigmask: New file.
37166         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
37167         modifications.
37168         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
37169         new module.
37170
37171         New module 'posix_spawnattr_setsigdefault'.
37172         * modules/posix_spawnattr_setsigdefault: New file.
37173         * lib/spawnattr_setdefault.c: New file, from GNU libc with
37174         modifications.
37175         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
37176         new module.
37177
37178         New module 'posix_spawnattr_getsigdefault'.
37179         * modules/posix_spawnattr_getsigdefault: New file.
37180         * lib/spawnattr_getdefault.c: New file, from GNU libc with
37181         modifications.
37182         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
37183         new module.
37184
37185         New module 'posix_spawnattr_setschedpolicy'.
37186         * modules/posix_spawnattr_setschedpolicy: New file.
37187         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
37188         modifications.
37189         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
37190         new module.
37191
37192         New module 'posix_spawnattr_getschedpolicy'.
37193         * modules/posix_spawnattr_getschedpolicy: New file.
37194         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
37195         modifications.
37196         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
37197         new module.
37198
37199         New module 'posix_spawnattr_setschedparam'.
37200         * modules/posix_spawnattr_setschedparam: New file.
37201         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
37202         modifications.
37203         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
37204         new module.
37205
37206         New module 'posix_spawnattr_getschedparam'.
37207         * modules/posix_spawnattr_getschedparam: New file.
37208         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
37209         modifications.
37210         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
37211         new module.
37212
37213         New module 'posix_spawnattr_setpgroup'.
37214         * modules/posix_spawnattr_setpgroup: New file.
37215         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
37216         modifications.
37217         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
37218         module.
37219
37220         New module 'posix_spawnattr_getpgroup'.
37221         * modules/posix_spawnattr_getpgroup: New file.
37222         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
37223         modifications.
37224         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
37225         module.
37226
37227         New module 'posix_spawnattr_setflags'.
37228         * modules/posix_spawnattr_setflags: New file.
37229         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
37230         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
37231         module.
37232
37233         New module 'posix_spawnattr_getflags'.
37234         * modules/posix_spawnattr_getflags: New file.
37235         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
37236         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
37237         module.
37238
37239         New module 'posix_spawnattr_init'.
37240         * modules/posix_spawnattr_init: New file.
37241         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
37242         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
37243         module.
37244
37245         New module 'posix_spawn_file_actions_destroy'.
37246         * modules/posix_spawn_file_actions_destroy: New file.
37247         * lib/spawn_faction_destroy.c: New file, from GNU libc with
37248         modifications.
37249         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
37250         the new module.
37251
37252         New module 'posix_spawn_file_actions_addopen'.
37253         * modules/posix_spawn_file_actions_addopen: New file.
37254         * lib/spawn_faction_addopen.c: New file, from GNU libc with
37255         modifications.
37256         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
37257         the new module.
37258
37259         New module 'posix_spawn_file_actions_adddup2'.
37260         * modules/posix_spawn_file_actions_adddup2: New file.
37261         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
37262         modifications.
37263         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
37264         the new module.
37265
37266         New module 'posix_spawn_file_actions_addclose'.
37267         * modules/posix_spawn_file_actions_addclose: New file.
37268         * lib/spawn_faction_addclose.c: New file, from GNU libc with
37269         modifications.
37270         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
37271         the new module.
37272
37273         New module 'posix_spawn_file_actions_init'.
37274         * modules/posix_spawn_file_actions_init: New file.
37275         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
37276         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
37277         new module.
37278
37279         New module 'posix_spawn-internal'.
37280         * modules/posix_spawn-internal: New file.
37281         * lib/spawn_int.h: New file, from GNU libc with modifications.
37282         * lib/spawni.c: New file, from GNU libc with modifications.
37283         * m4/posix_spawn.m4: New file.
37284
37285         New module 'spawn'.
37286         * modules/spawn: New file.
37287         * lib/spawn.in.h: New file, from GNU libc with modifications.
37288         * m4/spawn_h.m4: New file.
37289         * doc/posix-headers/spawn.texi: Mention the new module.
37290
37291 2008-09-28  Bruno Haible  <bruno@clisp.org>
37292
37293         * modules/sched-tests: New file.
37294         * tests/test-sched.c: New file.
37295
37296         New module 'sched'.
37297         * modules/sched: New file.
37298         * lib/sched.in.h: New file.
37299         * m4/sched_h.m4: New file.
37300         * doc/posix-headers/sched.texi: Mention the new module.
37301
37302 2008-09-27  Eric Blake  <ebb9@byu.net>
37303
37304         Fix previous patch, and tweak references to $0.
37305         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
37306         (func_version, func_gnulib_dir): Don't call this program
37307         gnulib-tool.
37308         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
37309         with using $0 in function.
37310         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
37311         (func_fatal_error): Reuse the name the user invoked us with.
37312
37313 2008-09-27  Bruno Haible  <bruno@clisp.org>
37314
37315         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
37316         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
37317         (gl_ICONV_H): Not here.
37318         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
37319         instead of assigning ICONV_H directly.
37320
37321         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
37322         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
37323         WCHAR_H directly.
37324
37325 2008-09-27  Bruno Haible  <bruno@clisp.org>
37326
37327         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
37328         * modules/arpa_inet (Depends-on): Add link-warning.
37329         (Makefile.am): Insert the definition of GL_LINK-WARNING.
37330         * modules/unistd (Makefile.am): Likewise.
37331
37332 2008-09-26  Bruno Haible  <bruno@clisp.org>
37333
37334         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
37335         variables.
37336         (func_version): Essentially copied from gnulib-tool.
37337         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
37338         func_readlink): Copied from gnulib-tool.
37339
37340 2008-09-26  Bruno Haible  <bruno@clisp.org>
37341
37342         * gnulib-tool (func_version): Change directory to $gnulib_dir before
37343         invoking git-version-gen.
37344
37345 2008-09-26  Bruno Haible  <bruno@clisp.org>
37346
37347         * posix-modules: Update to directory names changed on 2008-01-19.
37348         Remove commas in output before splitting into words. No more need to
37349         avoid 'ftruncate' since 2007-02-19.
37350
37351 2008-09-26  Bruno Haible  <bruno@clisp.org>
37352
37353         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
37354
37355 2008-09-26  Bruno Haible  <bruno@clisp.org>
37356
37357         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
37358         * modules/fwriteerror (Depends-on): Add errno.
37359
37360 2008-09-26  Bruno Haible  <bruno@clisp.org>
37361
37362         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
37363         * tests/test-vc-list-files-cvs.sh: Likewise.
37364
37365 2008-09-26  Bruno Haible  <bruno@clisp.org>
37366
37367         * doc/posix-headers/sys_resource.texi: Reorder items.
37368
37369 2008-09-26  Jim Meyering  <meyering@redhat.com>
37370
37371         fts: tweak inode comparison function
37372         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
37373         inode numbers, as documented.
37374
37375         fts: sort dirent entries on inode number before traversing
37376         This avoids a quadratic, seek-related performance penalty when
37377         operating on a directory containing many entries (measurable at 10k;
37378         3.5 hours at 2 million entries with a cold cache) on certain types
37379         of file systems, including ext3 and ext4, but not tmpfs.
37380         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
37381         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
37382         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
37383         (fs_handles_readdir_ordered_dirents_efficiently): New function.
37384         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
37385         (fts_build): Set the stat.st_ino member from D_INO.
37386         If it is likely to be useful, sort dirent entries on inode number.
37387
37388         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
37389         and the struct statfs.f_type member.
37390         * modules/fts (Depends-on): Add d-ino.
37391
37392 2008-09-26  Bruno Haible  <bruno@clisp.org>
37393
37394         * modules/sigpipe-die (Depends-on): Add sigpipe.
37395
37396         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
37397         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
37398         and GNULIB_STDIO_H_SIGPIPE are set.
37399         * lib/stdio-write.c: New file.
37400         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
37401         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37402         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37403         REPLACE_STDIO_WRITE_FUNCS.
37404         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
37405         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37406         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37407         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37408         * modules/stdio (Files): Add lib/stdio-write.c.
37409         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
37410         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37411         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37412         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37413         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
37414         REPLACE_FPRINTF_POSIX.
37415         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
37416         REPLACE_PRINTF_POSIX.
37417         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
37418         REPLACE_VFPRINTF_POSIX.
37419         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
37420         REPLACE_VPRINTF_POSIX.
37421         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
37422         SIGPIPE issue.
37423         * doc/posix-functions/fputc.texi: Likewise.
37424         * doc/posix-functions/fputs.texi: Likewise.
37425         * doc/posix-functions/fwrite.texi: Likewise.
37426         * doc/posix-functions/printf.texi: Likewise.
37427         * doc/posix-functions/putc.texi: Likewise.
37428         * doc/posix-functions/putchar.texi: Likewise.
37429         * doc/posix-functions/puts.texi: Likewise.
37430         * doc/posix-functions/vfprintf.texi: Likewise.
37431         * doc/posix-functions/vprintf.texi: Likewise.
37432
37433         * modules/safe-write (Depends-on): Add write.
37434
37435         * modules/sigpipe-tests: New file.
37436         * tests/test-sigpipe.c: New file.
37437         * tests/test-sigpipe.sh: New file.
37438
37439         * modules/write: New file.
37440         * lib/unistd.in.h: Include <sys/types.h>.
37441         (write): New declaration.
37442         * lib/write.c: New file.
37443         * m4/write.m4: New file.
37444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37445         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
37446         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
37447         GNULIB_WRITE, REPLACE_WRITE.
37448         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
37449         and the SIGPIPE issue.
37450
37451         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
37452         (raise): New declaration.
37453         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
37454         (ext_signal): New function.
37455         (rpl_raise): New function.
37456         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
37457         GNULIB_SIGNAL_H_SIGPIPE.
37458         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
37459         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
37460
37461         * modules/sigpipe: New file.
37462         * m4/sigpipe.m4: New file.
37463
37464 2008-09-25  Derek Price  <derek@ximbiot.com>
37465             Bruno Haible  <bruno@clisp.org>
37466
37467         * gnulib-tool (func_import): Report all license incompatibilities, not
37468         just the first one.
37469
37470 2008-09-25  Bruno Haible  <bruno@clisp.org>
37471
37472         * gnulib-tool (func_import): When computing the edits, consider not
37473         only the Makefile.ams that exist but also those that will be generated.
37474
37475 2008-09-25  Simon Josefsson  <simon@josefsson.org>
37476
37477         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
37478         fixes gnulib-tool --test warning about duplicate dependency.
37479
37480 2008-09-25  Bruno Haible  <bruno@clisp.org>
37481
37482         * gnulib-tool: Don't ask the user to perform edits in the generated
37483         Makefile.ams.
37484         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
37485         apply to the Makefile.am being generated.
37486         (func_emit_tests_Makefile_am): Execute edits that apply to the
37487         Makefile.am being generated.
37488         (func_import): Setup list of Makefile.am edits before emitting the
37489         Makefile.ams, not at the end.
37490         (func_create_testdir): Update.
37491         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37492
37493 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37494
37495         * gnulib-tool (func_import): Store the --tests-base option in the
37496         comment in gnulib-cache.m4.
37497
37498 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
37499
37500         * NEWS: Document increased portability that sys_select now provides.
37501
37502         * lib/sys_select.in.h: Install select wrapper.
37503         * lib/sys_socket.in.h: Use more descriptive name when there is no
37504         select wrapper.
37505         * lib/winsock-select.c: New.
37506         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
37507         Require gl_HEADER_SYS_SOCKET.
37508         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
37509         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
37510         * tests/test-sys_select.c: Add functional tests.
37511
37512 2008-09-24  Eric Blake  <ebb9@byu.net>
37513
37514         open, fopen: close fd leak in last patch
37515         * lib/open.c (rpl_open): Close fd before returning error.
37516         * lib/fopen.c (rpl_fopen): Close fd before returning error.
37517         * doc/posix-functions/open.texi (open): Document that Irix also
37518         has the bug.
37519         * doc/posix-functions/fopen.texi (fopen): Likewise.
37520         Reported by Paolo Bonzini.
37521
37522 2008-09-24  Bruno Haible  <bruno@clisp.org>
37523
37524         Ensure that a filename ending in a slash cannot be used to access a
37525         non-directory.
37526         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
37527         to check whether it's really a directory.
37528         * lib/fopen.c: Include fcntl.h, unistd.h.
37529         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
37530         and fdopen().
37531         * modules/fopen (Depends-on): Add unistd.
37532         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
37533         * tests/test-fopen.c (main): Likewise.
37534         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
37535         * doc/posix-functions/fopen.texi: Likewise.
37536         Reported by Eric Blake.
37537
37538 2008-09-23  Eric Blake  <ebb9@byu.net>
37539
37540         c-stack: avoid compiler optimizations when provoking overflow
37541         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
37542         recursion harder to optimize, to ensure a stack overflow occurs.
37543         * tests/test-c-stack.c (recurse): Likewise.
37544         Borrowed from libsigsegv.
37545
37546         c-stack: work around Irix sigaltstack bug
37547         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
37548         whether sigaltstack uses wrong end of stack_t (copied in part from
37549         libsigsegv).
37550         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
37551         Irix bug, without requiring an over-allocation.
37552         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
37553         bug.
37554
37555         fopen: document mingw bug on directories
37556         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
37557         not allowing a stream visiting a directory, even though reading
37558         from such a stream is not portable.
37559
37560 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37561
37562         * lib/poll.c: Rewrite.
37563         * modules/poll: Depend on alloca.
37564
37565 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37566
37567         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
37568         instead define prototypes for a full set of wrappers.  Ensure
37569         that Cygwin does not use the compatibility code, which is only
37570         for MinGW.
37571         * lib/winsock.c: New.
37572         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
37573         * modules/sys_socket: Add lib/winsock.c.
37574
37575         * modules/poll-tests: Add errno and perror.
37576         * tests/test-poll.c: Use ioctl, not ioctlsocket.
37577
37578 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37579
37580         * tests/test-poll.c: Downgrade minimum needed Winsock version.
37581
37582 2008-09-23  Bruno Haible  <bruno@clisp.org>
37583
37584         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
37585         * doc/glibc-functions/*: Likewise.
37586
37587 2008-09-23  Simon Josefsson  <simon@josefsson.org>
37588
37589         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
37590         success.
37591
37592 2008-09-22  Eric Blake  <ebb9@byu.net>
37593             Bruno Haible  <bruno@clisp.org>
37594
37595         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
37596         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
37597         supply %A but mishandle pseudo-NaN.
37598         Reported by Simon Josefsson.
37599
37600 2008-09-21  Bruno Haible  <bruno@clisp.org>
37601
37602         * tests/test-lock.c (main): Tweak skip message.
37603         * tests/test-tls.c (main): Likewise.
37604
37605 2008-09-21  Bruno Haible  <bruno@clisp.org>
37606
37607         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
37608         whether 'struct sigaction' has sa_sigaction here...
37609         (gl_PREREQ_SIG_HANDLER_H): ... not here.
37610         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
37611
37612 2008-09-21  Bruno Haible  <bruno@clisp.org>
37613
37614         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
37615         section.
37616         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
37617         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
37618         the new section.
37619         (Support for obsolete systems lacking POSIX:2001): New section.
37620         (String handling <string.h>): Move strdup to the new section.
37621         Suggested by Simon Josefsson and Paolo Bonzini.
37622
37623 2008-09-21  Bruno Haible  <bruno@clisp.org>
37624
37625         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
37626         exponents in %e and %g results on 'long double'. Needed for mingw's
37627         improved *printf functions.
37628         * tests/test-vasprintf-posix.c (test_function): Likewise.
37629         * tests/test-snprintf-posix.h (test_function): Likewise.
37630         * tests/test-sprintf-posix.h (test_function): Likewise.
37631         Reported by Eric Blake.
37632
37633 2008-09-21  Bruno Haible  <bruno@clisp.org>
37634
37635         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
37636         * tests/test-sprintf-posix.h (test_function): Likewise.
37637
37638 2008-09-21  Bruno Haible  <bruno@clisp.org>
37639
37640         * modules/getpass (Depends-on): Add strdup-posix.
37641
37642         New module 'strdup-posix'.
37643         * modules/strdup-posix: New file.
37644         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
37645         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
37646         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37647         REPLACE_STRDUP.
37648         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
37649         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
37650         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37651         strdup-posix.
37652
37653         * modules/strdup (Depends-on): Remove malloc-posix.
37654
37655 2008-09-20  Bruno Haible  <bruno@clisp.org>
37656
37657         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
37658         Wildenhues.
37659
37660 2008-09-20  Bruno Haible  <bruno@clisp.org>
37661
37662         Ensure that wint_t gets defined on IRIX 5.3.
37663         * lib/wchar.in.h (wint_t): Define if not defined by the system.
37664         * lib/wctype.in.h (wint_t): Likewise.
37665         (__wctype_wint_t): Remove type.
37666         (isw*): Use wint_t instead of __wctype_wint_t.
37667         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
37668         * modules/wchar (Files): Add m4/wint_t.m4.
37669         (Makefile.am): Substitute HAVE_WINT_T.
37670         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
37671         * tests/test-wctype.c: Check that wint_t is defined.
37672         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
37673         * doc/posix-headers/wctype.texi: Likewise.
37674         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37675
37676 2008-09-18  Bruno Haible  <bruno@clisp.org>
37677
37678         * gnulib-tool (func_exit): Update comment.
37679
37680 2008-09-18  Simon Josefsson  <simon@josefsson.org>
37681
37682         * modules/getaddrinfo (Depends-on): Remove strdup, this module
37683         assumes strdup exists and does not depend on strdup to return
37684         ENOMEM on out of memory conditions.
37685
37686 2008-09-18  Bruno Haible  <bruno@clisp.org>
37687
37688         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
37689         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
37690         digits for the exponent.
37691
37692 2008-09-18  Jim Meyering  <meyering@redhat.com>
37693             Bruno Haible  <bruno@clisp.org>
37694
37695         * lib/vasnprintf.c (decimal_point_char): Define also if
37696         NEED_PRINTF_INFINITE_LONG_DOUBLE.
37697
37698 2008-09-16  Bruno Haible  <bruno@clisp.org>
37699         and Eric Blake  <ebb9@byu.net>
37700
37701         vasnprintf: support Irix 5.3
37702         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
37703         that mishandle long double infinity.
37704         Reported by Tom G. Christensen.
37705
37706 2008-09-16  Bruno Haible  <bruno@clisp.org>
37707
37708         * doc/glibc-functions/scandir.texi: Mention the function is missing on
37709         Solaris 9.
37710         * doc/glibc-functions/alphasort.texi: Likewise.
37711         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
37712
37713 2008-09-16  Jim Meyering  <meyering@redhat.com>
37714
37715         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
37716         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
37717         a umask modification leak out of a subshell.  Otherwise, the
37718         opensolaris /bin/sh would be accepted and thus cause unwarranted
37719         failures in the coreutils test suite.
37720
37721 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
37722
37723         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
37724         to succeed.
37725
37726 2008-09-16  Jim Meyering  <meyering@redhat.com>
37727
37728         avoid spurious test failure when library is built without ACL support
37729         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
37730         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
37731         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
37732         * tests/test-copy-acl.sh: Likewise.
37733
37734 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37735
37736         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
37737         based on character occurrence counts.
37738
37739 2008-09-15  Eric Blake  <ebb9@byu.net>
37740
37741         tests: avoid some compiler warnings
37742         * tests/test-memchr.c (main): Pass NULL indirectly.
37743         * tests/test-closein.c (main): Avoid unused variable.
37744
37745 2008-09-15  Bruno Haible  <bruno@clisp.org>
37746
37747         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
37748         are missing on OpenBSD 4.0 individually.
37749         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37750
37751 2008-09-15  Bruno Haible  <bruno@clisp.org>
37752
37753         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
37754         * doc/posix-functions/strerror.texi: Mention also Cygwin.
37755         * doc/posix-functions/perror.texi: Likewise.
37756         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
37757         is missing.
37758         Reported by Eric Blake.
37759
37760         * lib/errno.in.h: Use replacement values >= 2000.
37761         Reported by Eric Blake.
37762
37763 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37764
37765         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
37766         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
37767         limit.
37768         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
37769         compareseq was aborted.
37770
37771 2008-09-14  Bruno Haible  <bruno@clisp.org>
37772
37773         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
37774         yvec_edit_count.
37775         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
37776         (fstrcmp_bounded): Simplify result computation accordingly.
37777
37778 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37779
37780         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
37781         (fstrcmp): Define in terms of fstrcmp_bounded.
37782         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
37783         lower_bound argument.
37784         Return quickly if the result is certainly < lower_bound.
37785         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
37786
37787 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37788
37789         * lib/diffseq.h (EARLY_ABORT): New macro.
37790         (compareseq): Change return type to bool. Return true when EARLY_ABORT
37791         evaluates to true.
37792
37793 2008-09-14  Bruno Haible  <bruno@clisp.org>
37794
37795         * modules/perror-tests: New file.
37796         * tests/test-perror.sh: New file.
37797         * tests/test-perror.c: New file.
37798
37799         New module 'perror'.
37800         * lib/stdio.in.h (perror): New declaration.
37801         * lib/perror.c: New file.
37802         * m4/perror.m4: New file.
37803         * modules/perror: New file.
37804         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
37805         * doc/posix-functions/perror.texi: Mention the perror module.
37806         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
37807         REPLACE_PERROR.
37808         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
37809         REPLACE_PERROR.
37810
37811 2008-09-14  Bruno Haible  <bruno@clisp.org>
37812
37813         * modules/stdio (Makefile.am): Reorder to match the order in
37814         lib/stdio.in.h.
37815         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37816
37817 2008-09-13  Bruno Haible  <bruno@clisp.org>
37818
37819         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
37820
37821 2008-09-13  Bruno Haible  <bruno@clisp.org>
37822
37823         Extend strerror to cover the added errno values.
37824         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
37825         (rpl_strerror): Provide error messages for the added errno values and
37826         for the WSA* values.
37827         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
37828         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
37829         strerror.
37830         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
37831         * modules/strerror (Depends-on): Add errno.
37832         * doc/posix-functions/strerror.texi: Document the change.
37833         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
37834         and EOVERFLOW.
37835
37836 2008-09-13  Bruno Haible  <bruno@clisp.org>
37837
37838         * modules/EOVERFLOW: Remove file.
37839         * m4/eoverflow.m4: Remove file.
37840         * modules/EOVERFLOW-tests: Remove file.
37841         * tests/test-EOVERFLOW.c: Remove file.
37842         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
37843         * modules/ftell (Depends-on): Likewise.
37844         * modules/getdelim (Depends-on): Likewise.
37845         * modules/getugroups (Depends-on): Likewise.
37846         * modules/poll (Depends-on): Likewise.
37847         * modules/snprintf (Depends-on): Likewise.
37848         * modules/sprintf-posix (Depends-on): Likewise.
37849         * modules/vasnprintf (Depends-on): Likewise.
37850         * modules/vasprintf (Depends-on): Likewise.
37851         * modules/vfprintf-posix (Depends-on): Likewise.
37852         * modules/vsnprintf (Depends-on): Likewise.
37853         * modules/vsprintf-posix (Depends-on): Likewise.
37854         * modules/xvasprintf (Depends-on): Likewise.
37855         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37856         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
37857         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
37858         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
37859         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37860         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
37861         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
37862         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
37863         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37864         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
37865         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
37866         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
37867         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37868         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
37869         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
37870         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
37871         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37872         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
37873         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
37874         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
37875         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37876         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
37877         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
37878         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
37879         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
37880         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37881         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
37882         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
37883         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
37884         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
37885         * MODULES.html.sh: Remove EOVERFLOW.
37886         * NEWS: Mention the change.
37887
37888 2008-09-13  Bruno Haible  <bruno@clisp.org>
37889
37890         * modules/errno-tests: New file.
37891         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
37892
37893         * lib/errno.in.h: New file.
37894         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
37895         * modules/errno: New file.
37896         * doc/posix-headers/errno.texi: Update documentation.
37897         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
37898
37899 2008-09-13  Bruno Haible  <bruno@clisp.org>
37900
37901         * tests/test-poll.c: Use #if for native Windows, rather than testing
37902         __MSVCRT__.
37903
37904 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37905             Bruno Haible  <bruno@clisp.org>
37906
37907         * lib/glob.c: Don't include <pwd.h> on native Windows.
37908         (WINDOWS32): New macro.
37909         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
37910
37911 2008-09-13  Bruno Haible  <bruno@clisp.org>
37912
37913         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
37914         (ETIMEDOUT): Remove macro.
37915         (glthread_cond_timedwait_multithreaded): New declaration.
37916         (glthread_cond_timedwait): Use it.
37917         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
37918         (glthread_cond_timedwait_multithreaded): New function.
37919
37920 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37921
37922         * modules/poll-tests: Do not check for io.h.
37923         * tests/test-poll.c: Check for __MSVCRT__ instead.
37924
37925 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37926
37927         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
37928         * modules/poll-tests: Add inet_pton, stdbool, sockets.
37929         * tests/test-poll.c: Use them.  Use _pipe on Windows.
37930
37931 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37932
37933         * modules/poll-tests: New.
37934         * tests/test-poll.c: New.
37935
37936 2008-09-12  Eric Blake  <ebb9@byu.net>
37937
37938         frexp: test for NetBSD failure on -0.0
37939         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
37940         not all, bugs from NetBSD 3.0 have been fixed.
37941         * doc/posix-functions/frexp.texi (frexp): Document bug.
37942         Reported by Thomas Klausner.
37943
37944         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
37945         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
37946         literal -0.0.
37947         Reported by Jonathan C. Patschke <jp@centtech.com>.
37948
37949 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37950
37951         * lib/glthread/cond.h: Use dummy implementation also if
37952         USE_WIN32_THREADS.
37953
37954 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37955
37956         * modules/fnmatch-posix (License): Change to LGPLv2+.
37957         * modules/fnmatch-gnu (License): Likewise.
37958
37959 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37960
37961         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
37962
37963 2008-09-11  Jim Meyering  <meyering@redhat.com>
37964
37965         * users.txt: Add gtk-vnc.
37966
37967 2008-09-08  Simon Josefsson  <simon@josefsson.org>
37968
37969         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
37970         rotate amounts.
37971
37972         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
37973         required for 16-bit and 8-bit rotates.
37974         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
37975         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
37976         UINT8_MAX instead of hard-coded constants.
37977         Suggested by Paul Eggert.
37978
37979 2008-09-07  Bruno Haible  <bruno@clisp.org>
37980
37981         * tests/test-striconveh.c (main): Check behaviour when converting from
37982         UTF-7.
37983
37984         Make striconveh work better with stateful encodings.
37985         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
37986         that iconv does not increment the inptr when returning -1/EINVAL.
37987
37988 2008-09-07  Bruno Haible  <bruno@clisp.org>
37989
37990         * build-aux/config.rpath: Update according to libtool-2.2.6.
37991         * build-aux/config.libpath: Likewise.
37992
37993 2008-09-06  Bruno Haible  <bruno@clisp.org>
37994
37995         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
37996         * lib/freadptr.c (freadptr): Likewise.
37997         * lib/freadseek.c (freadptrinc): Likewise.
37998         Reported by Simon Josefsson.
37999
38000 2008-09-06  Bruno Haible  <bruno@clisp.org>
38001
38002         * modules/freadptr (License): Change to LGPLv2+.
38003         * modules/freadseek (License): Likewise.
38004         Suggested by Eric Blake.
38005
38006         * modules/memchr2 (License): Change to LGPLv2+.
38007         Approved by Eric Blake.
38008
38009 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38010             Bruno Haible  <bruno@clisp.org>
38011
38012         Make gnulib-tool work with native 'sed' on AIX.
38013         * gnulib-tool (sed_noop): New variable.
38014         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
38015         func_add_or_update, func_create_testdir): Use it to initialize sed
38016         script variables.
38017         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38018
38019 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
38020             Bruno Haible  <bruno@clisp.org>
38021
38022         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
38023         also works after #include directives.
38024
38025 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
38026
38027         getdate.y: reject an out-of-range timezone value
38028         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
38029         the range [-24...+24].  When specified with only one or two digits,
38030         * tests/test-getdate.c: Tests for the fix.
38031         * doc/getdate.texi: Document this change.
38032
38033 2008-09-03  Bruno Haible  <bruno@clisp.org>
38034
38035         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
38036
38037 2008-09-02  Simon Josefsson  <simon@josefsson.org>
38038
38039         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
38040         <bruce.korb@gmail.com> with ideas from Ben Pfaff
38041         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
38042         Blake <ebb9@byu.net>.
38043
38044         * tests/test-bitrotate.c: Add more test vectors.
38045
38046 2008-09-02  Eric Blake  <ebb9@byu.net>
38047
38048         vasnprintf-posix: handle large precision via %.*d
38049         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
38050         when handling it ourselves.
38051         * tests/test-vasnprintf-posix.c (test_function): Add test.
38052         * tests/test-snprintf-posix.h (test_function): Likewise.
38053         * tests/test-sprintf-posix.h (test_function): Likewise.
38054         * tests/test-vasprintf-posix.c (test_function): Likewise.
38055         Reported by Alain Guibert.
38056
38057 2008-09-01  Eric Blake  <ebb9@byu.net>
38058
38059         c-stack: make configure-time check more robust
38060         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
38061         successful sigaction call.
38062         Reported by Tom G. Christensen.
38063
38064 2008-09-01  Bruno Haible  <bruno@clisp.org>
38065
38066         New module 'findprog-lgpl'.
38067         * modules/findprog-lgpl: New file.
38068         * lib/findprog-lgpl.c: New file.
38069         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
38070         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
38071         to decide whether to use strdup or xstrdup, concatenated_filename or
38072         xconcatenated_filename.
38073
38074 2008-09-01  Bruno Haible  <bruno@clisp.org>
38075
38076         Split module 'concat-filename' into 'concat-filename' (LGPL) and
38077         'xconcat-filename' (GPL).
38078         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
38079         (License): Change to LGPLv2+.
38080         * modules/xconcat-filename: New file.
38081         * lib/concat-filename.h (concatenated_filename): Change specification.
38082         (xconcatenated_filename): New declaration.
38083         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
38084         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
38085         memory situations.
38086         * lib/xconcat-filename.c: New file.
38087         * NEWS: Mention the change.
38088         * lib/findprog.c: Include concat-filename.h, not filename.h.
38089         (find_in_path): Use xconcatenated_filename instead of
38090         concatenated_filename.
38091         * lib/javacomp.c: Include concat-filename.h, not filename.h.
38092         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38093         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38094         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38095         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
38096         instead of concatenated_filename.
38097         * lib/javaexec.c: Include concat-filename.h, not filename.h.
38098         (execute_java_class): Use xconcatenated_filename instead of
38099         concatenated_filename.
38100         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
38101         * modules/javacomp (Depends-on): Likewise.
38102         * modules/javaexec (Depends-on): Likewise.
38103
38104 2008-09-01  Bruno Haible  <bruno@clisp.org>
38105
38106         Split module 'filename' into 'filename' and 'concat-filename'.
38107         * modules/filename: Keep only lib/filename.h.
38108         (License): Change to LGPLv2+.
38109         * modules/concat-filename: New file, extracted from modules/filename.
38110         * lib/filename.h (concatenated_filename): Remove declaration.
38111         * lib/concat-filename.h: New file, extracted from lib/filename.h.
38112         * lib/concat-filename.c: Include concat-filename.h.
38113         * NEWS: Mention the change.
38114
38115 2008-09-01  Simon Josefsson  <simon@josefsson.org>
38116
38117         * lib/bitrotate.h (rotl8, rotr8): Add.
38118
38119         * modules/bitrotate (configure.ac): Need
38120         AC_REQUIRE([AC_C_INLINE]).
38121         (Description): Mention stdint.h.  Reported by Bruno Haible
38122         <bruno@clisp.org>.
38123
38124         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
38125         Paolo Bonzini <bonzini@gnu.org>.
38126
38127 2008-08-31  Bruno Haible  <bruno@clisp.org>
38128
38129         Assume Solaris specific bi-arch conventions on Solaris systems.
38130         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
38131         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
38132         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
38133         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
38134         like acl_libdirstem.
38135         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
38136         acl_libdirstem.
38137         * NEWS: Mention the change.
38138         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
38139
38140 2008-08-31  Jim Meyering  <meyering@redhat.com>
38141
38142         * lib/strftime.h: Add comments describing the two added arguments.
38143
38144         remove duplicate #include directives
38145         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
38146         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
38147
38148 2008-08-31  Bruno Haible  <bruno@clisp.org>
38149
38150         New module 'sigpipe-die'.
38151         * modules/sigpipe-die: New file.
38152         * lib/sigpipe-die.h: New file.
38153         * lib/sigpipe-die.c: New file.
38154         * MODULES.html.sh (Signal handling): Add sigpipe-die.
38155
38156 2008-08-31  Bruno Haible  <bruno@clisp.org>
38157
38158         Don't override previously installed signal handlers.
38159         * lib/fatal-signal.c (saved_sigactions): New variable.
38160         (uninstall_handlers): Reset the signal to the saved handler, not
38161         to SIG_DFL (except when ignored).
38162         (install_handlers): Save the previous handlers.
38163
38164 2008-08-30  Bruno Haible  <bruno@clisp.org>
38165
38166         * gnulib-tool (func_reset_sigpipe): New function.
38167         (func_get_automake_snippet, func_modules_transitive_closure,
38168         func_import): Invoke it before a join command that reads from stdin,
38169         to avoid "echo: write error: Broken pipe" error messages on stderr.
38170         Reported by Sam Steingold <sds@gnu.org>.
38171
38172 2008-08-30  Bruno Haible  <bruno@clisp.org>
38173
38174         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
38175         Code copied from m4/open.m4.
38176         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
38177         access and the filename ends in a slash. Code copied from lib/open.c.
38178         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
38179         * tests/test-fopen.c (main): Check against bug with trailing slash.
38180
38181 2008-08-29  Bruno Haible  <bruno@clisp.org>
38182
38183         Avoid some "gcc -pedantic" warnings.
38184         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
38185         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
38186         * lib/dirent.in.h: Likewise.
38187         * lib/fcntl.in.h: Likewise.
38188         * lib/float.in.h: Likewise.
38189         * lib/iconv.in.h: Likewise.
38190         * lib/inttypes.in.h: Likewise.
38191         * lib/locale.in.h: Likewise.
38192         * lib/math.in.h: Likewise.
38193         * lib/netinet_in.in.h: Likewise.
38194         * lib/search.in.h: Likewise.
38195         * lib/signal.in.h: Likewise.
38196         * lib/stdarg.in.h: Likewise.
38197         * lib/stdint.in.h: Likewise.
38198         * lib/stdio.in.h: Likewise.
38199         * lib/stdlib.in.h: Likewise.
38200         * lib/string.in.h: Likewise.
38201         * lib/strings.in.h: Likewise.
38202         * lib/sys_select.in.h: Likewise.
38203         * lib/sys_socket.in.h: Likewise.
38204         * lib/sys_stat.in.h: Likewise.
38205         * lib/sys_time.in.h: Likewise.
38206         * lib/sysexits.in.h: Likewise.
38207         * lib/time.in.h: Likewise.
38208         * lib/unistd.in.h: Likewise.
38209         * lib/wchar.in.h: Likewise.
38210         * lib/wctype.in.h: Likewise.
38211         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
38212         * modules/fchdir (Makefile.am): Likewise.
38213         * modules/fcntl (Makefile.am): Likewise.
38214         * modules/float (Makefile.am): Likewise.
38215         * modules/iconv_open (Makefile.am): Likewise.
38216         * modules/inttypes (Makefile.am): Likewise.
38217         * modules/locale (Makefile.am): Likewise.
38218         * modules/math (Makefile.am): Likewise.
38219         * modules/netinet_in (Makefile.am): Likewise.
38220         * modules/search (Makefile.am): Likewise.
38221         * modules/signal (Makefile.am): Likewise.
38222         * modules/stdarg (Makefile.am): Likewise.
38223         * modules/stdint (Makefile.am): Likewise.
38224         * modules/stdio (Makefile.am): Likewise.
38225         * modules/stdlib (Makefile.am): Likewise.
38226         * modules/string (Makefile.am): Likewise.
38227         * modules/strings (Makefile.am): Likewise.
38228         * modules/sys_select (Makefile.am): Likewise.
38229         * modules/sys_socket (Makefile.am): Likewise.
38230         * modules/sys_stat (Makefile.am): Likewise.
38231         * modules/sys_time (Makefile.am): Likewise.
38232         * modules/sysexits (Makefile.am): Likewise.
38233         * modules/time (Makefile.am): Likewise.
38234         * modules/unistd (Makefile.am): Likewise.
38235         * modules/wchar (Makefile.am): Likewise.
38236         * modules/wctype (Makefile.am): Likewise.
38237         Reported by Reuben Thomas <rrt@sc3d.org>.
38238
38239 2008-08-29  Bruno Haible  <bruno@clisp.org>
38240
38241         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
38242         any more.
38243
38244 2008-08-29  Simon Josefsson  <simon@josefsson.org>
38245
38246         * MODULES.html.sh (Misc): Add bitrotate.
38247
38248         * modules/bitrotate: New file.
38249
38250         * lib/bitrotate.h: New file.
38251
38252         * modules/bitrotate-tests: New file.
38253
38254         * tests/test-bitrotate.c: New file.
38255
38256         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
38257         on the bitrotate module.
38258
38259         * lib/arctwo.c: Use new bitrotate module.
38260
38261 2008-08-29  Jim Meyering  <meyering@redhat.com>
38262
38263         bootstrap: merge changes from coreutils
38264         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
38265         of copied files.  Remove a kludge, now that this is fixed.
38266         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
38267         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
38268         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
38269
38270 2008-08-29  Bruno Haible  <bruno@clisp.org>
38271
38272         * MODULES.html.sh: Remove --cvs-urls option.
38273
38274 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
38275
38276         maint.mk: adjust to file name change
38277         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
38278
38279 2008-08-28  Jim Meyering  <meyering@redhat.com>
38280
38281         * modules/getndelim2 (License): Relicense to LGPLv2+.
38282         Approved by Richard Stallman for the version of 1995, and by
38283         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
38284
38285 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
38286
38287         * lib/getdelim.c (flockfile, funlockfile): Make all of them
38288         dummy if one is not available.  Do not touch them if
38289         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
38290         (getc_maybe_unlocked): New.
38291         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
38292
38293 2008-08-26  Eric Blake  <ebb9@byu.net>
38294
38295         doc/INSTALL: resync from autoconf
38296         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
38297         (INSTALL_PRELUDE): Delete; this is done more efficiently by
38298         moving...
38299         * install.texi [!autoconf]: ...here.  Resync from autoconf.
38300         * INSTALL: Regenerate.
38301         * INSTALL.ISO: New file.
38302         * INSTALL.UTF-8: Likewise.
38303
38304 2008-08-26  Jim Meyering  <meyering@redhat.com>
38305
38306         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
38307         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
38308         these definitions conditional, so that they may be overridden, too.
38309
38310 2008-08-26  Bruno Haible  <bruno@clisp.org>
38311
38312         Generate INSTALL file variants with prettier quotes.
38313         * doc/Makefile (INSTALL_PRELUDE): New macro.
38314         (INSTALL): Use it.
38315         (INSTALL.ISO, INSTALL.UTF-8): New rules.
38316
38317 2008-08-26  Bruno Haible  <bruno@clisp.org>
38318
38319         Run makeinfo in an English locale.
38320         * doc/Makefile (MAKEINFO): New variable.
38321
38322 2008-08-26  Bruno Haible  <bruno@clisp.org>
38323
38324         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
38325         Suggested by Eric Blake.
38326
38327 2008-08-25  Bruno Haible  <bruno@clisp.org>
38328
38329         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
38330
38331 2008-08-25  Eric Blake  <ebb9@byu.net>
38332
38333         c-stack: test that stack overflow can be caught
38334         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
38335         that platform allows handling stack overflow; at least OS/2 EMX
38336         has sigaltstack, but crashes before transferring control to
38337         handler on stack overflow.
38338         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
38339         check for HAVE_STACK_OVERFLOW_HANDLING.
38340         Reported by Elbert Pol.
38341
38342 2008-08-25  Bruno Haible  <bruno@clisp.org>
38343
38344         * doc/posix-functions/strftime.texi: Fix description of strftime
38345         module.
38346
38347 2008-08-24  Bruno Haible  <bruno@clisp.org>
38348
38349         * tests/uniwidth/test-uc_width2.c: New file.
38350         * tests/uniwidth/test-uc_width2.sh: New file.
38351         * modules/uniwidth/width-tests (Files): Add the new files.
38352         (TESTS): Add uniwidth/test-uc_width2.sh.
38353         (TESTS_ENVIRONMENT): New variable.
38354         (check_PROGRAMS): Add test-uc_width2.
38355         (test_uc_width2_SOURCES): New variable.
38356
38357         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
38358         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
38359         not 0x00AB.
38360         Reported by Alexander V. Lukyanov <lav@netis.ru>.
38361
38362 2008-08-22  Eric Blake  <ebb9@byu.net>
38363
38364         test-lock, test-tls: mention why a test is skipped
38365         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
38366         skipped.
38367         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
38368
38369         count-one-bits: relax license
38370         * modules/count-one-bits (License): Relicense to LGPLv2+.
38371         Suggested by Ludovic Courtès, approved by Ben Pfaff.
38372
38373 2008-08-22  Andreas Schwab  <schwab@suse.de>
38374
38375         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
38376         Remove spurious space in assignment.
38377
38378 2008-08-21  Simon Josefsson  <simon@josefsson.org>
38379
38380         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
38381         Paul Eggert <eggert@CS.UCLA.EDU>.
38382
38383 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
38384
38385         * modules/gettext: Add m4/threadlib.m4.
38386
38387 2008-08-19  Eric Blake  <ebb9@byu.net>
38388
38389         test-c-stack: fix compilation failure on FreeBSD 5.0
38390         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
38391         headers before <sys/resource.h>.
38392         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
38393         the bug.
38394         Reported by Nelson H. F. Beebe.
38395
38396         strverscmp: migrate from "strverscmp.h" to <string.h>
38397         * modules/string (Makefile.am): Add new hooks.
38398         * modules/strverscmp (Files): Remove strverscmp.h.
38399         (Depends-on): Add string.
38400         (configure.ac): Add indicator.
38401         (Include): Mention new header.
38402         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
38403         defaults.
38404         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
38405         results.
38406         * lib/strverscmp.h: Delete.
38407         * lib/string.in.h (strverscmp): Provide declaration, when needed.
38408         * tests/test-strverscmp.c (includes): Adjust client.
38409         * lib/check-version.c (includes): Likewise.
38410         * NEWS: Document the change.
38411
38412         strverscmp: add unit test
38413         * modules/strverscmp-tests: New file.
38414         * tests/test-strverscmp.c: Likewise.
38415
38416 2008-08-19  Simon Josefsson  <simon@josefsson.org>
38417
38418         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
38419         regarding Windows crypto stuff, from Mono.
38420
38421 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
38422
38423         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
38424         if present, for intel RND.  Return error on failures.
38425
38426 2008-08-18  Ben Pfaff  <blp@gnu.org>
38427
38428         gitlog-to-changelog: give better diagnostic for failed pipe-open
38429         * build-aux/gitlog-to-changelog: Improve error message: suggest
38430         that the version of Git may be too old.
38431
38432 2008-08-18  Simon Josefsson  <simon@josefsson.org>
38433
38434         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
38435         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
38436
38437 2008-08-18  Bruno Haible  <bruno@clisp.org>
38438
38439         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
38440         pthread_in_use().
38441
38442 2008-08-18  Bruno Haible  <bruno@clisp.org>
38443
38444         * lib/glthread/threadlib.c: Include <pthread.h>.
38445
38446 2008-08-18  Bruno Haible  <bruno@clisp.org>
38447
38448         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
38449         glthread_recursive_lock_* macros.
38450         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
38451         Fix syntax error.
38452
38453 2008-08-18  Bruno Haible  <bruno@clisp.org>
38454
38455         * lib/glthread/thread.c: Avoid forcing a context switch right after
38456         thread creation.
38457
38458 2008-08-17  Bruno Haible  <bruno@clisp.org>
38459
38460         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
38461         * lib/glthread/thread.h: Provide Win32 specific implementation.
38462         * modules/thread (Files): Add lib/glthread/thread.c.
38463         (Depends-on): Add lock.
38464         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
38465
38466 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38467
38468         New module 'yield'.
38469         * modules/yield: New file.
38470         * lib/glthread/yield.h: New file.
38471         * m4/yield.m4: New file.
38472         * MODULES.html.sh (Multithreading): Add yield.
38473
38474 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38475
38476         New module 'thread'.
38477         * modules/thread: New file.
38478         * lib/glthread/thread.h: New file.
38479         * m4/thread.m4: New file.
38480         * MODULES.html.sh (Multithreading): Add thread.
38481
38482 2008-08-17  Bruno Haible  <bruno@clisp.org>
38483
38484         * lib/glthread/lock.h: Include <stdlib.h> always.
38485         * lib/glthread/tls.h: Likewise.
38486         * lib/glthread/cond.h: Likewise.
38487
38488 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38489
38490         New module 'cond'.
38491         * modules/cond: New file.
38492         * lib/glthread/cond.h: New file.
38493         * lib/glthread/cond.c: New file.
38494         * m4/cond.m4: New file.
38495         * MODULES.html.sh (Multithreading): Add cond.
38496
38497 2008-08-16  Eric Blake  <ebb9@byu.net>
38498
38499         c-stack: fix regression on Irix 5.3 from 2008-06-21
38500         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
38501         sa_sigaction...
38502         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
38503         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
38504         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
38505         * modules/signal (Makefile.am): Use the value.
38506         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
38507         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
38508         * doc/posix-headers/signal.texi (signal.h): Document this
38509         portability issue.
38510         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
38511         Reported by Tom G. Christensen.
38512
38513 2008-08-17  Bruno Haible  <bruno@clisp.org>
38514
38515         New module 'threadlib'.
38516         * modules/threadlib: New file.
38517         * lib/glthread/threadlib.c: New file, extracted from
38518         lib/glthread/lock.c.
38519         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
38520         functions.
38521         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
38522         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
38523         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
38524         macros.
38525         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
38526         (gl_DISABLE_THREADS): Remove macro.
38527         * modules/lock (Files): Remove build-aux/config.rpath.
38528         (Depends-on): Remove havelib. Add threadlib.
38529         (configure.ac-early): Remove section.
38530         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
38531         * modules/tls (Depends-on): Remove lock. Add threadlib.
38532         (Link): New section, copied from threadlib.
38533         * MODULES.html.sh (Multithreading): Add threadlib.
38534
38535 2008-08-14  Bruno Haible  <bruno@clisp.org>
38536
38537         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
38538         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
38539         glthread_rwlock_unlock, glthread_rwlock_destroy,
38540         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
38541         glthread_recursive_lock_destroy): Define as macros always.
38542         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
38543         glthread_lock_lock.
38544         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
38545         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
38546         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
38547         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
38548         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
38549         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
38550         (glthread_recursive_lock_lock_func): Renamed from
38551         glthread_recursive_lock_lock.
38552         (glthread_recursive_lock_unlock_func): Renamed from
38553         glthread_recursive_lock_unlock.
38554         (glthread_recursive_lock_destroy_func): Renamed from
38555         glthread_recursive_lock_destroy.
38556
38557 2008-08-14  Bruno Haible  <bruno@clisp.org>
38558
38559         * lib/glthread/lock.h: Renamed from lib/lock.h.
38560         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
38561         * lib/glthread/tls.h: Renamed from lib/tls.h.
38562         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
38563         * lib/fstrcmp.c: Update includes.
38564         * lib/strsignal.c: Update includes.
38565         * modules/lock (Files, Makefile.am): Update.
38566         (Include): Change to "glthread/lock.h".
38567         * modules/tls (Files, Makefile.am): Update.
38568         (Include): Change to "glthread/tls.h".
38569         * tests/test-lock.c: Update includes.
38570         * tests/test-tls.c: Update includes.
38571         * NEWS: Mention the renamed header files.
38572
38573 2008-08-11  Jim Meyering  <meyering@redhat.com>
38574
38575         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
38576
38577 2008-08-11  Eric Blake  <ebb9@byu.net>
38578
38579         test-c-stack: avoid C99-ism
38580         * tests/test-c-stack.c (main): Fix whitespace, move declaration
38581         before statement.
38582         Reported by Alain Guibert.
38583
38584 2008-08-10  Jim Meyering  <meyering@redhat.com>
38585
38586         ensure that return value of uinttostr et al are not ignored
38587         * lib/inttostr.h (__GNUC_PREREQ): Define.
38588         (__attribute_warn_unused_result__): Define.
38589         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
38590
38591 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
38592
38593         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
38594         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
38595
38596 2008-08-07  Jim Meyering  <meyering@redhat.com>
38597
38598         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
38599
38600         * modules/mkstemp (License): Relicense under LGPLv2+.
38601         * modules/tempname (License): Likewise.
38602
38603 2008-08-06  Bruno Haible  <bruno@clisp.org>
38604
38605         * lib/poll.c (poll): Further micro-optimization.
38606
38607 2008-08-06  Jim Meyering  <meyering@redhat.com>
38608
38609         inet_pton.c: use locale-independent tolower
38610         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
38611         (inet_pton6): Use c_tolower rather than tolower.
38612         * modules/inet_pton (Depends-on): Add c-ctype.
38613
38614 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
38615
38616         * lib/poll.c (poll): Avoid division when timeout is 0, cache
38617         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
38618
38619 2008-08-06  Jim Meyering  <meyering@redhat.com>
38620
38621         * modules/inet_pton (License): Relicense under LGPLv2+.
38622
38623 2008-08-03  Bruno Haible  <bruno@clisp.org>
38624
38625         Additional non-aborting API for lock and tls.
38626         * lib/lock.h: Include <errno.h>.
38627         (glthread_lock_init): New macro/function.
38628         (gl_lock_init): Define as wrapper around glthread_lock_init.
38629         (glthread_lock_lock): New macro/function.
38630         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
38631         (glthread_lock_unlock): New macro/function.
38632         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
38633         (glthread_lock_destroy): New macro/function.
38634         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
38635         (glthread_rwlock_init): New macro/function.
38636         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
38637         (glthread_rwlock_rdlock): New macro/function.
38638         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
38639         (glthread_rwlock_wrlock): New macro/function.
38640         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
38641         (glthread_rwlock_unlock): New macro/function.
38642         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
38643         (glthread_rwlock_destroy): New macro/function.
38644         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
38645         (glthread_recursive_lock_init): New macro/function.
38646         (gl_recursive_lock_init): Define as wrapper around
38647         glthread_recursive_lock_init.
38648         (glthread_recursive_lock_lock): New macro/function.
38649         (gl_recursive_lock_lock): Define as wrapper around
38650         glthread_recursive_lock_lock.
38651         (glthread_recursive_lock_unlock): New macro/function.
38652         (gl_recursive_lock_unlock): Define as wrapper around
38653         glthread_recursive_lock_unlock.
38654         (glthread_recursive_lock_destroy): New macro/function.
38655         (gl_recursive_lock_destroy): Define as wrapper around
38656         glthread_recursive_lock_destroy.
38657         (glthread_once): New macro/function.
38658         (gl_once): Define as wrapper around glthread_once.
38659         Update function declarations.
38660         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
38661         glthread_rwlock_init. Return error code.
38662         (glthread_rwlock_rdlock_multithreaded): Renamed from
38663         glthread_rwlock_rdlock. Return error code.
38664         (glthread_rwlock_wrlock_multithreaded): Renamed from
38665         glthread_rwlock_wrlock. Return error code.
38666         (glthread_rwlock_unlock_multithreaded): Renamed from
38667         glthread_rwlock_unlock. Return error code.
38668         (glthread_rwlock_destroy_multithreaded): Renamed from
38669         glthread_rwlock_destroy. Return error code.
38670         (glthread_recursive_lock_init_multithreaded): Renamed from
38671         glthread_recursive_lock_init. Return error code.
38672         (glthread_recursive_lock_lock_multithreaded): Renamed from
38673         glthread_recursive_lock_lock. Return error code.
38674         (glthread_recursive_lock_unlock_multithreaded): Renamed from
38675         glthread_recursive_lock_unlock. Return error code.
38676         (glthread_recursive_lock_destroy_multithreaded): Renamed from
38677         glthread_recursive_lock_destroy. Return error code.
38678         (glthread_once_call): Make static.
38679         (glthread_once_multithreaded): Renamed from glthread_once.
38680         * lib/tls.h: Include <errno.h>.
38681         (glthread_tls_key_init): New macro/function.
38682         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
38683         (glthread_tls_set): New macro/function.
38684         (gl_tls_set): Define as wrapper around glthread_tls_set.
38685         (glthread_tls_key_destroy): New macro/function.
38686         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
38687         Update function declarations.
38688         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
38689         glthread_tls_get.
38690         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38691
38692 2008-08-04  Eric Blake  <ebb9@byu.net>
38693
38694         gnumakefile: use space, not TAB, outside of targets
38695         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
38696
38697 2008-08-02  Jim Meyering  <meyering@redhat.com>
38698
38699         getdate.y: avoid locale-dependent date parsing failure
38700         In Turkish locales, getdate would fail to recognize keywords
38701         containing a lowercase "i".  The solution is not to rely on
38702         locale-sensitive case-conversion.
38703         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
38704         (lookup_word): Use c_toupper in place of toupper.
38705         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
38706         Reported by Vefa Bicakci <bicave@superonline.com> in
38707         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
38708         * modules/getdate (Depends-on): Add c-ctype.
38709
38710 2008-08-02  Bruno Haible  <bruno@clisp.org>
38711
38712         * gnulib-tool (func_import): When updating or creating a .gitignore
38713         file, prepend each added line with a slash, and ignore leading slashes
38714         from the existing lines.
38715         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
38716
38717 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38718
38719         Portability fix for GNU make 3.79.1.
38720         * top/GNUmakefile: Avoid 'else COND', which older GNU make
38721         versions do not understand.
38722
38723 2008-08-01  Bruno Haible  <bruno@clisp.org>
38724
38725         Work around bug of HP-UX 10.20 cc with -0.0 literal.
38726         * tests/test-isnanf.h (zero): New variable.
38727         (main): Avoid literal -0.0f.
38728         * tests/test-isnand.h (zero): New variable.
38729         (main): Avoid literal -0.0.
38730         * tests/test-isnanl.h (zero): New variable.
38731         (main): Avoid literal -0.0L.
38732         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
38733         (test_float, test_double, test_long_double): Avoid literals -0.0f,
38734         -0.0, -0.0L.
38735         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
38736         (test_signbitd): Avoid literal -0.0.
38737         (test_signbitl): Avoid literal -0.0L.
38738         * tests/test-ceilf1.c (zero): New variable.
38739         (main): Avoid literal -0.0f.
38740         * tests/test-ceill.c (zero): New variable.
38741         (main): Avoid literal -0.0L.
38742         * tests/test-floorf1.c (zero): New variable.
38743         (main): Avoid literal -0.0f.
38744         * tests/test-floorl.c (zero): New variable.
38745         (main): Avoid literal -0.0L.
38746         * tests/test-roundf1.c (zero): New variable.
38747         (main): Avoid literal -0.0f.
38748         * tests/test-round1.c (zero): New variable.
38749         (main): Avoid literal -0.0.
38750         * tests/test-roundl.c (zero): New variable.
38751         (main): Avoid literal -0.0L.
38752         * tests/test-truncf1.c (zero): New variable.
38753         (main): Avoid literal -0.0f.
38754         * tests/test-trunc1.c (zero): New variable.
38755         (main): Avoid literal -0.0.
38756         * tests/test-truncl.c (zero): New variable.
38757         (main): Avoid literal -0.0L.
38758         * tests/test-frexp.c (zero): New variable.
38759         (main): Avoid literal -0.0.
38760         * tests/test-frexpl.c (zero): New variable.
38761         (main): Avoid literal -0.0L.
38762         * tests/test-ldexpl.c (zero): New variable.
38763         (main): Avoid literal -0.0L.
38764         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38765         (zerod, zerol): New variables.
38766         (test_function): Avoid literals -0.0, -0.0L.
38767         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38768         (zerod, zerol): New variables.
38769         (test_function): Avoid literals -0.0, -0.0L.
38770         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38771         (zerod, zerol): New variables.
38772         (test_function): Avoid literals -0.0, -0.0L.
38773         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38774         (zerod, zerol): New variables.
38775         (test_function): Avoid literals -0.0, -0.0L.
38776         * tests/test-strtod.c (zero): New variable.
38777         (main): Avoid literal -0.0.
38778         Reported by Jonathan C. Patschke <jp@centtech.com>.
38779
38780 2008-07-31  Jim Meyering  <meyering@redhat.com>
38781
38782         sha256.h: correct definition of SHA224_DIGEST_SIZE
38783         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
38784         Reported by Paulie Pena IV <paulie4@gmail.com>.
38785         Define as 224 / 8, rather than as a literal.
38786         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
38787         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
38788         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
38789
38790 2008-07-31  Bruno Haible  <bruno@clisp.org>
38791
38792         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
38793         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
38794         Reported by Jonathan Patschke <jp@centtech.com>.
38795
38796 2008-07-31  Bruno Haible  <bruno@clisp.org>
38797
38798         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
38799         Reported by Paolo Bonzini <bonzini@gnu.org>.
38800
38801 2008-07-30  Eric Blake  <ebb9@byu.net>
38802
38803         test-strtod: allow compilation without -lm
38804         * tests/test-strtod.c (main): Avoid link dependence on fabs.
38805         Reported by Dennis Clarke <blastwave@gmail.com>.
38806
38807 2008-07-28  Jim Meyering  <meyering@redhat.com>
38808
38809         bootstrap: work also when there are no .po files in po/
38810         * build-aux/bootstrap (update_po_files): Complete the change
38811         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
38812
38813 2008-07-27  Jim Meyering  <meyering@redhat.com>
38814
38815         * users.txt: Add zile.
38816
38817 2008-07-26  Ben Pfaff  <blp@gnu.org>
38818
38819         Add missing dependencies on new m4/exponent[fdl].m4 files.
38820         * modules/isnanf-nolibm: Add m4/exponentf.m4.
38821         * modules/isnand-nolibm: Add m4/exponentd.m4.
38822         * modules/isnanl-nolibm: Add m4/exponentl.m4.
38823         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
38824         m4/isnan[fdl].m4, because the macros actually used moved.
38825         Reported by Jim Meyering.
38826
38827 2008-07-14  Ben Pfaff  <blp@gnu.org>
38828
38829         Add isinf module.
38830         * lib/isinf.c: New file.
38831         * lib/math.in.h: Define isinf macro if we have decided to replace
38832         it.
38833         * m4/isinf.m4: New file.
38834         * m4/math_h.m4: Initialize and substitute variables for isinf
38835         module.
38836         * modules/isinf: New file.
38837         * modules/isinf-tests: New file.
38838         * modules/math: Add substitutions for new module.
38839         * tests/test-isinf.c: New file.
38840         * doc/posix-functions/isinf.texi: Mention new module.
38841         * MODULES.html.sh: Mention new module.
38842
38843 2008-07-14  Ben Pfaff  <blp@gnu.org>
38844
38845         Factor out some macros for use by additional modules.
38846         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
38847         exponentf.m4.
38848         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
38849         exponentd.m4.
38850         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
38851         file exponentl.m4.
38852         * m4/exponentf.m4: New file.
38853         * m4/exponentd.m4: New file.
38854         * m4/exponentl.m4: New file.
38855         * modules/isnanf: Use new file m4/exponentf.m4.
38856         * modules/isnand: Use new file m4/exponentd.m4.
38857         * modules/isnanl: Use new file m4/exponentl.m4.
38858
38859 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
38860
38861         mktime.c: normalize tp->tm_isdst value to -1/0/1.
38862         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
38863         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
38864         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
38865
38866         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
38867         readlink on platforms without PATH_MAX.
38868
38869 2008-07-21  Eric Blake  <ebb9@byu.net>
38870
38871         Warn, not fail, on stale version.
38872         * top/GNUmakefile (_curr-ver): Tone down previous patch.
38873
38874         Don't allow installation with stale devel version number.
38875         * top/GNUmakefile (_is-install-target): New macro.
38876         (_curr-ver): Forbid installation with stale version number.
38877
38878 2008-07-20  Bruno Haible  <bruno@clisp.org>
38879
38880         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
38881         TESTS_ENVIRONMENT.
38882         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
38883
38884 2008-07-20  Bruno Haible  <bruno@clisp.org>
38885
38886         * lib/c-stack.h (c_stack_action): Add documentation.
38887         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
38888
38889 2008-07-20  Bruno Haible  <bruno@clisp.org>
38890
38891         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
38892         * modules/readlink (License): Likewise.
38893
38894 2008-07-17  Eric Blake  <ebb9@byu.net>
38895
38896         * modules/c-stack (Link): Fix typo.
38897
38898         Make c-stack use libsigsegv, when available.
38899         * modules/c-stack (Depends-on): Add libsigsegv.
38900         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
38901         needed.
38902         * lib/c-stack.c (SIGSTKSZ): Define fallback.
38903         (segv_handler, overflow_handler, c_stack_action)
38904         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
38905         implementation when libsigsegv is available, but only when using
38906         the library is necessary.
38907         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
38908         comment, explaining why XSI check fails on Linux.
38909         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
38910         * tests/test-c-stack2.sh: Tweak skip message.
38911         * NEWS: Document new link-time requirements.
38912
38913 2008-07-16  Eric Blake  <ebb9@byu.net>
38914
38915         c-stack: Expose false positives when not using libsigsegv.
38916         * modules/c-stack-tests (Files): Expand test.
38917         * tests/test-c-stack.c (main): Add means to conditionally trigger
38918         non-overflow SIGSEGV.
38919         * tests/test-c-stack2.sh: New file.
38920
38921 2008-07-14  Bruno Haible  <bruno@clisp.org>
38922
38923         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
38924         Reported by Eric Blake.
38925
38926 2008-07-14  Sam Steingold  <sds@gnu.org>
38927             Bruno Haible  <bruno@clisp.org>
38928
38929         New module libsigsegv.
38930         * modules/libsigsegv: New file.
38931         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
38932         modifications.
38933         * MODULES.html.sh (Signal handling): New section.
38934
38935 2008-07-14  Bruno Haible  <bruno@clisp.org>
38936
38937         * modules/unictype/ctype-* (Description): Add the word "function".
38938         Improves the resulting doc in MODULES.html.
38939
38940 2008-07-12  Ben Pfaff  <blp@gnu.org>
38941
38942         Add longlong module.
38943         * modules/longlong: New file.
38944
38945 2008-07-12  Bruno Haible  <bruno@clisp.org>
38946
38947         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
38948         to empty.
38949
38950 2008-07-10  Ben Pfaff  <blp@gnu.org>
38951
38952         Add isnan module.
38953         * doc/posix-functions/isnan.texi: Mention new module.
38954         * lib/math.in.h: Define isnan macro if we have decided to replace
38955         it.
38956         * m4/isnan.m4: New file.
38957         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
38958         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
38959         also.
38960         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
38961         redundancy.
38962         * m4/math_h.m4: Initialize and substitute variables for isnan
38963         module.
38964         * modules/isnan: New file.
38965         * modules/isnan-tests: New file.
38966         * modules/math: Add substitutions for new module.
38967         * tests/test-isnan.c: New file.
38968         * MODULES.html.sh: Mention new module.
38969
38970 2008-07-10  Ben Pfaff  <blp@gnu.org>
38971
38972         Add isnanf module.
38973         * lib/isnanf.m4: New file.
38974         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
38975         (gl_HAVE_ISNANF_IN_LIBM): New macro.
38976         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
38977         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
38978         * modules/isnanf: New file.
38979         * modules/isnanf-tests: New file.
38980         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
38981         files.
38982         * tests/test-isnanf-nolibm.c: factored most of its contents into
38983         new file tests/test-isnanf.h.
38984         * tests/test-isnanf.h: New file.
38985         * tests/test-isnanf.c: New file.
38986         * MODULES.html.sh: Mention new module.
38987         * doc/glibc-functions/isnanf.texi: Mention new module.
38988
38989 2008-07-10  Ben Pfaff  <blp@gnu.org>
38990
38991         Add isnand module.
38992         * lib/isnand.h: New file.
38993         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
38994         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
38995         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
38996         functionality also.
38997         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
38998         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
38999         (gl_HAVE_ISNAND_IN_LIBM): New macro.
39000         * modules/isnand: New file.
39001         * modules/isnand-tests: New file.
39002         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
39003         files.
39004         * tests/test-isnand-nolibm.c: factored most of its contents into
39005         new file tests/test-isnand.h.
39006         * tests/test-isnand.h: New file.
39007         * tests/test-isnand.c: New file.
39008         * MODULES.html.sh: Mention new module.
39009
39010 2008-07-10  Ben Pfaff  <blp@gnu.org>
39011
39012         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
39013         * lib/isnand.h: Rename lib/isnand-nolibm.h.
39014         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
39015         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
39016         * modules/isnanf-nolibm: Update references to renamed files.
39017         * modules/isnand-nolibm: Likewise.
39018         * modules/isnanf-nolibm-tests: Likewise.
39019         * modules/isnand-nolibm-tests: Likewise.
39020         * lib/frexp.c: Likewise.
39021         * lib/isfinite.c: Likewise.
39022         * lib/signbitd.c: Likewise.
39023         * lib/signbitf.c: Likewise.
39024         * lib/vasnprintf.c: Likewise.
39025         * tests/test-ceilf1.c: Likewise.
39026         * tests/test-ceilf2.c: Likewise.
39027         * tests/test-floorf1.c: Likewise.
39028         * tests/test-floorf2.c: Likewise.
39029         * tests/test-frexp.c: Likewise.
39030         * tests/test-round1.c: Likewise.
39031         * tests/test-round2.c: Likewise.
39032         * tests/test-roundf1.c: Likewise.
39033         * tests/test-strtod.c: Likewise.
39034         * tests/test-trunc1.c: Likewise.
39035         * tests/test-trunc2.c: Likewise.
39036         * tests/test-truncf1.c: Likewise.
39037         * tests/test-truncf2.c: Likewise.
39038         * NEWS: Mention the renamed header files.
39039
39040 2008-07-11  Jim Meyering  <meyering@redhat.com>
39041
39042         vc-list-files: make the last-resort awk code more portable
39043         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
39044         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
39045         does not support it.
39046
39047 2008-07-10  Eric Blake  <ebb9@byu.net>
39048
39049         Work with tar's bootstrap.
39050         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
39051         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
39052         an m4 comment.
39053
39054 2008-07-09  Jim Meyering  <meyering@redhat.com>
39055
39056         posix-shell.m4: fix typo that made this test malfunction
39057         * m4/posix-shell.m4: Remove capitalization in variable name.
39058
39059 2008-07-08  Bruno Haible  <bruno@clisp.org>
39060
39061         * m4/onceonly.m4: Update comments.
39062         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39063
39064 2008-07-04  Jim Meyering  <meyering@redhat.com>
39065
39066         * users.txt: Add vc-dwim.
39067         (bison, coreutils): Use the gitweb URL.
39068
39069 2008-07-03  Jim Meyering  <meyering@redhat.com>
39070
39071         * users.txt: Add libffcall.  From Sam Steingold.
39072
39073 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
39074
39075         getdate.y: do not ignore TZ with relative day, month or year offset
39076         * lib/getdate.y (get_date): Move the tz-handling block to follow the
39077         relative-date-handling, since otherwise, the latter would clobber the
39078         sole output (an updated Start value) of the tz-handling block.
39079         * tests/test-getdate.c: Tests for the fix
39080
39081 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39082
39083         Recognize 'foo_LIBRARIES += libgnu.a'.
39084         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
39085         makefile snippet has already specified an installation location,
39086         also using '+='.
39087
39088 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
39089
39090         getdate.y: factor out common actions
39091         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
39092         Use them in place of open-coded actions.
39093
39094 2008-07-01  Simon Josefsson  <simon@josefsson.org>
39095
39096         Add self-test for getdate module.
39097         * modules/getdate-tests: New file.
39098         * tests/test-getdate.c: New file.
39099
39100 2008-06-29  Bruno Haible  <bruno@clisp.org>
39101
39102         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
39103         .gitignore.
39104         Reported by Sylvain Beucler <beuc@beuc.net>.
39105
39106 2008-06-29  Bruno Haible  <bruno@clisp.org>
39107
39108         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
39109         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
39110
39111 2008-06-29  Bruno Haible  <bruno@clisp.org>
39112
39113         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
39114         EXTRA_DIST.
39115         Reported by Sylvain Beucler <beuc@beuc.net>.
39116
39117 2008-06-26  Jim Meyering  <meyering@redhat.com>
39118
39119         make several modules depend on the "open" module
39120         This provides slightly increased consistency when opening-for-write
39121         the name of a non-directory spelled with a trailing slash.
39122         * modules/chdir-safer: Likewise.
39123         * modules/chown: Likewise.
39124         * modules/clean-temp: Likewise.
39125         * modules/copy-file: Likewise.
39126         * modules/fchdir: Likewise.
39127         * modules/fcntl-safer: Likewise.
39128         * modules/pipe: Likewise.
39129         * modules/utime: Likewise.
39130         Prompted by Eric Blake and Bruno Haible.
39131
39132 2008-06-24  Andreas Schwab  <schwab@suse.de>
39133
39134         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
39135         literals can be used as initializers for global variables.
39136
39137 2008-06-23  Eric Blake  <ebb9@byu.net>
39138
39139         Make gnulib-cache.m4 easier to diff.
39140         * gnulib-tool (func_import): Allow newlines when reading cached
39141         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
39142
39143 2008-06-23  Bruno Haible  <bruno@clisp.org>
39144
39145         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
39146         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
39147         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
39148         m4/signalblocking.m4.
39149         (gl_PREREQ_SIGACTION): Don't invoke it.
39150         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
39151         gl_PREREQ_SIG_HANDLER_H.
39152         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39153         Don't check for sigaction here.
39154
39155 2008-06-23  Bruno Haible  <bruno@clisp.org>
39156
39157         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
39158         (install_handlers): Don't set the SA_RESETHAND flag.
39159
39160 2008-06-23  Bruno Haible  <bruno@clisp.org>
39161
39162         * m4/sigaction.m4: Comment fixes.
39163         * lib/signal.in.h: Likewise.
39164
39165 2008-06-23  Eric Blake  <ebb9@byu.net>
39166
39167         Fix typo.
39168         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
39169
39170         Avoid SA_ namespace.
39171         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
39172         Reported by Ralf Wildenhues.
39173
39174         Avoid test failure due to SA_RESTORER.
39175         * tests/test-sigaction.c (SA_MASK): New macro.
39176         (main): Avoid failing due to extension flags being set.
39177         Reported by Jim Meyering.
39178
39179         Revert use of sig-handler.h in sigprocmask.c.
39180         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
39181         it requires the existence of struct sigaction.
39182         * lib/sigprocmask.c (handler_t): Restore typedef.
39183         (rpl_signal, old_handlers): Use local type.
39184
39185 2008-06-22  Bruno Haible  <bruno@clisp.org>
39186
39187         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
39188         conditionally.
39189         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39190
39191 2008-06-22  Bruno Haible  <bruno@clisp.org>
39192
39193         * doc/posix-functions/siginterrupt.texi: Move note.
39194
39195         * lib/signal.in.h (SA_RESTART): New macro.
39196         * lib/sigaction.c: Update comment.
39197
39198         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
39199
39200         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
39201         (gl_PREREQ_SIGPROCMASK): Invoke it.
39202         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
39203
39204         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
39205
39206         * lib/sigprocmask.c: Update a comment.
39207
39208 2008-06-21  Eric Blake  <ebb9@byu.net>
39209
39210         Use sigaction module rather than signal().
39211         * modules/c-stack (Depends-on): Add sigaction.
39212         * modules/fatal-signal (Depends-on): Likewise.
39213         * modules/nanosleep (Depends-on): Likewise.
39214         * modules/sigprocmask (Files): Add sig-handler.h.
39215         * modules/sigaction (Files): Likewise.
39216         * lib/sig-handler.h (get_handler): New file, suggested by Paul
39217         Eggert.
39218         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
39219         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
39220         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
39221         (init_fatal_signals): Likewise.
39222         * lib/nanosleep.c (rpl_nanosleep): Likewise.
39223         (siginterrupt): Delete fallback.
39224         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
39225         instead.
39226         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
39227         siginterrupt.
39228
39229         New module sigaction, for mingw.
39230         * modules/sigaction: New module...
39231         * modules/sigaction-tests: ...and its test.
39232         * m4/sigaction.m4: New file.
39233         * lib/sigaction.c: Likewise.
39234         * tests/test-sigaction.c: Likewise.
39235         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
39236         * modules/signal (Makefile.am): Likewise.
39237         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
39238         needed.
39239         * doc/posix-headers/signal.texi (signal.h): Mention provided
39240         types.
39241         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
39242         that sigaction is preferable.
39243         * doc/posix-functions/sigaction.texi (sigaction): Mention new
39244         module.
39245         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39246         sigaction.
39247
39248         Improve robustness of sigprocmask by overriding signal.
39249         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
39250         is in use.
39251         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
39252         (SIGKILL, SIGSTOP): Provide fallbacks.
39253         (rpl_signal): Implement.
39254         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
39255         signal can be called inside handlers.
39256
39257         Fix nanosleep module on mingw.
39258         * modules/nanosleep (Depends-on): Add sys_select.
39259         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
39260
39261         Fix licensing of sigprocmask.
39262         * modules/raise (License): Relicense as LGPL.
39263
39264 2008-06-21  Bruno Haible  <bruno@clisp.org>
39265
39266         * lib/propername.c (proper_name_utf8): Don't use the transliterated
39267         result if it contains question marks.
39268         Reported by Michael Geng <linux@michaelgeng.de>.
39269
39270 2008-06-19  Bruno Haible  <bruno@clisp.org>
39271
39272         Fix CVS-ism.
39273         * doc/gnulib.texi: Include updated-stamp.texi.
39274         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
39275         (updated-stamp.texi): New rule.
39276         (gnulib.info): Depend on it.
39277         * doc/.gitignore: Add updated-stamp.texi.
39278         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
39279
39280 2008-06-19  Bruno Haible  <bruno@clisp.org>
39281
39282         * doc/Makefile (gnulib.info): Update and simplify dependencies.
39283         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39284
39285 2008-06-19  Eric Blake  <ebb9@byu.net>
39286
39287         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
39288         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
39289         Reported by Stepan Kasal.
39290
39291 2008-06-18  Bruno Haible  <bruno@clisp.org>
39292
39293         * lib/fatal-signal.c (init_fatal_signals): Add comment.
39294         Reported by Eric Blake.
39295
39296 2008-06-18  Eric Blake  <ebb9@byu.net>
39297
39298         Work around cygwin 1.5.25 strsignal bug.
39299         * tests/test-strsignal.c: Allow for const char *.
39300         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
39301
39302 2008-06-18  Simon Josefsson  <simon@josefsson.org>
39303
39304         * users.txt: Update URL to article and add author/date
39305         information.
39306
39307 2008-06-17  Bruno Haible  <bruno@clisp.org>
39308
39309         New macro gl_DISABLE_THREADS.
39310         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
39311         if the user did not pass --enable-threads or --disable-threads option.
39312         (gl_DISABLE_THREADS): New macro.
39313         Reported by Eric Blake <ebb9@byu.net>.
39314
39315 2008-06-17  Bruno Haible  <bruno@clisp.org>
39316
39317         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
39318         when the macro ignores it.
39319         Based on a patch by Eric Blake <ebb9@byu.net>.
39320
39321 2008-06-17  Bruno Haible  <bruno@clisp.org>
39322
39323         * modules/tls (License): Change to LGPLv2+.
39324         Reported by Eric Blake.
39325
39326 2008-06-17  Eric Blake  <ebb9@byu.net>
39327
39328         Simplify c-stack prerequisites.
39329         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
39330         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
39331         no longer requires <ucontext.h> to exist.  Optimize setrlimit
39332         check.
39333         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
39334         <sys/resource.h>.
39335
39336         Move c-stack test into testsuite.
39337         * modules/c-stack-tests: New file.
39338         * lib/c-stack.c [DEBUG]: Move test program...
39339         * tests/test-c-stack.c: ...into this new file.  Skip rather than
39340         fail test if sigaltstack is lacking.
39341         * tests/test-c-stack.sh: New driver file.
39342
39343 2008-06-16  Eric Blake  <ebb9@byu.net>
39344
39345         Use raise module consistently.
39346         * modules/fatal-signal (Depends-on): Add raise.
39347         * modules/sigprocmask (Depends-on): Likewise.
39348         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
39349         * lib/sigprocmask.c (sigprocmask): Likewise.
39350         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39351         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
39352
39353         Fix compliance bug in sigpending.
39354         * lib/sigprocmask.c (sigpending): Return pending array via
39355         parameter, not return value.
39356
39357 2008-06-14  Eric Blake  <ebb9@byu.net>
39358
39359         Improve obstack-printf test code.
39360         * tests/test-obstack-printf.c (test_function): Fix comment, and
39361         simplify usage of obstack_* in macros.  Add a test for coverage.
39362         Reported by Bruno Haible.
39363
39364 2008-06-14  Bruno Haible  <bruno@clisp.org>
39365
39366         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
39367         array size as a constant, not as a const variable.
39368         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
39369         AC_USE_SYSTEM_EXTENSIONS.
39370         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
39371         Test whether the obstack_printf function actually exists.
39372         * modules/obstack-printf (Depends-on): Add extensions.
39373         (Include): Remove obstack.h.
39374         * modules/obstack-printf-posix (Depends-on): Add extensions.
39375         (Include): Remove obstack.h.
39376
39377 2008-06-13  Eric Blake  <ebb9@byu.net>
39378
39379         Add obstack-printf and obstack-printf-posix modules.
39380         * modules/obstack-printf: New file.
39381         * modules/obstack-printf-posix: Likewise.
39382         * MODULES.html.sh (Misc): Mention them.
39383         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
39384         Likewise.
39385         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
39386         Likewise.
39387         * modules/stdio (Makefile.am): Accomodate new modules.
39388         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39389         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
39390         Declare.
39391         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
39392         functions.
39393         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
39394         (gl_REPLACE_OBSTACK_PRINTF): New macros
39395         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
39396         * tests/test-obstack-printf.c: New file.
39397         * modules/obstack-printf-tests: Likewise.
39398         * modules/obstack-printf-posix-tests: Likewise.
39399
39400 2008-06-11  Bruno Haible  <bruno@clisp.org>
39401
39402         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
39403         * lib/open.c: Include errno.h.
39404         (open): Fail when attempting to write to a file that has a trailing
39405         slash.
39406         * tests/test-open.c (main): Test against trailing slash bug.
39407         * doc/posix-functions/open.texi: Mention the trailing slash bug.
39408
39409 2008-06-10  Bruno Haible  <bruno@clisp.org>
39410
39411         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
39412         for $? to work inside the trap command, with various /bin/sh-s.
39413         * tests/test-vc-list-files-cvs.sh: Likewise.
39414
39415 2008-06-10  Bruno Haible  <bruno@clisp.org>
39416
39417         * lib/acl-internal.h: Don't include gettext.h here.
39418         * lib/set-mode-acl.c: Include gettext.h here.
39419         * lib/copy-acl.c: Likewise.
39420
39421 2008-06-10  Bruno Haible  <bruno@clisp.org>
39422
39423         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
39424         * lib/wait-process.c (wait_subprocess): Likewise.
39425         * lib/execute.h (execute): Add termsigp argument.
39426         * lib/execute.c (execute): Likewise.
39427         * lib/csharpcomp.c (compile_csharp_using_pnet,
39428         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
39429         * lib/csharpexec.c (execute_csharp_using_pnet,
39430         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
39431         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
39432         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
39433         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
39434         is_jikes_present): Update.
39435         * lib/javaexec.c (execute_java_class): Update.
39436         * lib/javaversion.c (execute_and_read_line): Update.
39437         * NEWS: Document the changes.
39438         Reported by Eric Blake.
39439
39440 2008-06-10  Eric Blake  <ebb9@byu.net>
39441
39442         Add missing include.
39443         * tests/test-strstr.c (includes): Add <signal.h>.
39444         * tests/test-strcasestr.c (includes): Likewise.
39445         * tests/test-memmem.c (includes): Likewise.
39446
39447 2008-06-10  Bruno Haible  <bruno@clisp.org>
39448
39449         * lib/wait-process.c (wait_subprocess): Add an assertion.
39450
39451 2008-06-10  Bruno Haible  <bruno@clisp.org>
39452
39453         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
39454
39455 2008-06-10  Bruno Haible  <bruno@clisp.org>
39456
39457         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
39458         using alarm().
39459         * tests/test-strcasestr.c (main): Likewise.
39460         * tests/test-strstr.c (main): Likewise.
39461
39462 2008-06-09  Bruno Haible  <bruno@clisp.org>
39463
39464         Work around the Solaris 10 ACE ACLs ABI change.
39465         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
39466         declare if ACL_NO_TRIVIAL is present.
39467         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
39468         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
39469         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
39470         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
39471         define if ACL_NO_TRIVIAL is present.
39472         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
39473         and use the current ABI.
39474         (file_has_acl): Use same #if condition as elsewhere.
39475         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
39476         in use, and use the current ABI.
39477         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
39478         Reported by Jim Meyering.
39479
39480 2008-06-09  Eric Blake  <ebb9@byu.net>
39481
39482         Work around environments that (stupidly) ignore SIGALRM.
39483         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
39484         before using alarm().
39485         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39486         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
39487         Reported by Ian Beckwith <ianb@erislabs.net>.
39488
39489         Produce autobuild blurb earlier in log.
39490         * modules/autobuild (configure.ac-early): Move AB_INIT here.
39491
39492 2008-06-09  Jim Meyering  <meyering@redhat.com>
39493         and OndÅ™ej Vašík  <ovasik@redhat.com>
39494
39495         utimens.c: correct kernel bug work-around
39496         OndÅ™ej Vašík found that the invalid return value of 280 indicates
39497         failure, not success, and the kernel bug we're trying to work
39498         around affects not just the utimensat call, but also the fallback
39499         futimens call.
39500         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
39501         not success.
39502         [HAVE_FUTIMENS]: Use the same work-around, here.
39503
39504 2008-06-09  Jim Meyering  <meyering@redhat.com>
39505
39506         add more guards around definition of ACE_-related code
39507         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
39508         ALLOW and ACE_OWNER are also defined.
39509
39510 2008-06-08  Bruno Haible  <bruno@clisp.org>
39511
39512         * lib/acl-internal.h: Add me as co-author.
39513         * lib/file-has-acl.c: Likewise.
39514         * lib/set-mode-acl.c: Likewise.
39515         * lib/copy-acl.c: Likewise.
39516
39517 2008-06-08  Bruno Haible  <bruno@clisp.org>
39518
39519         Add support for AIX ACLs.
39520         * lib/acl-internal.h (acl_nontrivial): New declaration.
39521         * lib/file-has-acl.c (acl_nontrivial): New function.
39522         (file_has_acl): Add implementation using AIX 4 ACL API.
39523         * lib/set-mode-acl.c (qset_acl): Likewise.
39524         * lib/copy-acl.c (qcopy_acl): Likewise.
39525
39526 2008-06-08  Bruno Haible  <bruno@clisp.org>
39527
39528         Add support for HP-UX ACLs.
39529         * lib/acl-internal.h (acl_nontrivial): New declaration.
39530         * lib/file-has-acl.c (acl_nontrivial): New function.
39531         (file_has_acl): Add implementation using HP-UX 11 ACL API.
39532         * lib/set-mode-acl.c (qset_acl): Likewise.
39533         * lib/copy-acl.c (qcopy_acl): Likewise.
39534
39535 2008-06-08  Bruno Haible  <bruno@clisp.org>
39536
39537         Add support for Cygwin ACLs.
39538         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
39539         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
39540         the chmod_or_fchmod call.
39541         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
39542
39543 2008-06-08  Bruno Haible  <bruno@clisp.org>
39544
39545         Fix bug with setuid modes in Solaris 10+ code.
39546         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
39547         succeeded, when the mode contains some special bits.
39548
39549 2008-06-08  Bruno Haible  <bruno@clisp.org>
39550
39551         Add support for Solaris 7..10 ACLs.
39552         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
39553         declarations.
39554         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
39555         functions.
39556         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
39557         * lib/set-mode-acl.c (qset_acl): Likewise.
39558         * lib/copy-acl.c (qcopy_acl): Likewise.
39559
39560 2008-06-08  Bruno Haible  <bruno@clisp.org>
39561
39562         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
39563         declaration.
39564         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
39565         (acl_access_nontrivial): Remove MacOS X case.
39566         (file_has_acl): Use acl_extended_nontrivial.
39567         * lib/copy-acl.c (qcopy_acl): Likewise.
39568
39569 2008-06-08  Bruno Haible  <bruno@clisp.org>
39570
39571         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
39572
39573 2008-06-08  Jim Meyering  <meyering@redhat.com>
39574
39575         * modules/acl (Maintainer): Add Bruno Haible.
39576
39577 2008-06-07  Bruno Haible  <bruno@clisp.org>
39578
39579         Improve support for Tru64 ACLs.
39580         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
39581         ACL on OSF/1.
39582
39583 2008-06-07  Bruno Haible  <bruno@clisp.org>
39584
39585         Add support for MacOS X ACLs.
39586         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
39587         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
39588         * lib/set-mode-acl.c (qset_acl): Likewise.
39589         * lib/copy-acl.c (qcopy_acl): Likewise.
39590
39591 2008-06-07  Bruno Haible  <bruno@clisp.org>
39592
39593         Fix memory leak introduced on 2008-05-22.
39594         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
39595         use.
39596
39597 2008-06-07  Bruno Haible  <bruno@clisp.org>
39598
39599         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
39600         to construct an empty ACL.
39601
39602 2008-06-07  Bruno Haible  <bruno@clisp.org>
39603
39604         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
39605         precisely.
39606         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
39607
39608 2008-06-07  Bruno Haible  <bruno@clisp.org>
39609
39610         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
39611         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
39612
39613 2008-06-07  Bruno Haible  <bruno@clisp.org>
39614
39615         * doc/posix-functions/_setjmp.texi: Explain the use of this function
39616         regardless of POSIX.
39617         * doc/posix-functions/_longjmp.texi: Likewise.
39618         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
39619         SystemV platform in this case.
39620
39621 2008-06-06  Eric Blake  <ebb9@byu.net>
39622
39623         Document abort() bugs.
39624         * doc/posix-functions/abort.texi (abort): Mention anomalies.
39625
39626         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
39627         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
39628         sigsetjmp.
39629         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
39630         siglongjmp, but only as a macro.
39631         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
39632         is obsolete.
39633         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
39634
39635         Tweak documentation to cover cygwin argz bugs.
39636         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
39637         argz bug fix; no code change needed since no cygwin releases
39638         occurred between the last fix and the bug being tested.
39639         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
39640         module and recently fixed cygwin bugs.
39641         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
39642         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
39643         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
39644         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
39645         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
39646         Likewise.
39647         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
39648         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
39649         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
39650         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
39651         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
39652         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
39653         Likewise.
39654
39655         Avoid gcc warning on cygwin.
39656         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
39657         !ACL_NO_TRIVIAL]: Avoid unused variable.
39658
39659 2008-06-05  Eric Blake  <ebb9@byu.net>
39660
39661         Be tolerant of UNKNOWN version in gnulib-tool test dir.
39662         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
39663         git-version-gen fails to come up with a version.
39664         Reported by Simon Josefsson.
39665
39666 2008-06-05  Jim Meyering  <meyering@redhat.com>
39667             Paul Eggert  <eggert@cs.ucla.edu>
39668
39669         utimens.c: work around a probable Linux kernel bug
39670         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
39671         appears to be a kernel bug that causes utimensat to return 280
39672         instead of 0, indicating success.
39673
39674 2008-06-04  Bruno Haible  <bruno@clisp.org>
39675
39676         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
39677         2008-06-01 commit.
39678
39679 2008-06-04  Bruno Haible  <bruno@clisp.org>
39680
39681         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
39682         * lib/file-has-acl.c (acl_access_nontrivial): New function.
39683         (file_has_acl): Use it. Save errno afterwards.
39684         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
39685
39686 2008-06-03  Bruno Haible  <bruno@clisp.org>
39687
39688         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
39689         draft code. Simplify #ifs.
39690         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
39691         Put Solaris code after POSIX-draft code. Fix comments regarding
39692         Solaris 10, HP-UX. Mention Cygwin.
39693         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
39694
39695 2008-06-03  Eric Blake  <ebb9@byu.net>
39696
39697         Provide fallback for older kernels.
39698         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
39699         Provide runtime fallback if kernel lacks support.
39700         Reported by Mike Frysinger.
39701
39702 2008-06-02  Bruno Haible  <bruno@clisp.org>
39703
39704         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
39705         it exists.
39706
39707 2008-06-02  Bruno Haible  <bruno@clisp.org>
39708
39709         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
39710         * lib/copy-acl.c (qcopy_acl): Update comment.
39711
39712 2008-06-02  Bruno Haible  <bruno@clisp.org>
39713
39714         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
39715         like ACL APIs.
39716
39717 2008-06-02  Bruno Haible  <bruno@clisp.org>
39718
39719         * tests/test-file-has-acl.sh: Use different code for Cygwin.
39720         * tests/test-set-mode-acl.sh: Likewise.
39721         * tests/test-copy-acl.sh: Likewise.
39722         * tests/test-copy-file.sh: Likewise.
39723
39724 2008-06-02  Bruno Haible  <bruno@clisp.org>
39725
39726         * tests/test-file-has-acl.sh: Remove unused code.
39727
39728 2008-06-01  Bruno Haible  <bruno@clisp.org>
39729
39730         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
39731         (copy_acl): Just a wrapper around qcopy_acl that emits the error
39732         messages.
39733         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
39734
39735 2008-06-01  Bruno Haible  <bruno@clisp.org>
39736
39737         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
39738         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
39739         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
39740         APIs.
39741         * modules/acl-tests (configure.ac): Remove tests now contained in
39742         m4/acl.m4.
39743
39744 2008-06-02  Jim Meyering  <meyering@redhat.com>
39745
39746         announce-gen: use a better key-server host name
39747         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
39748         it may be more consistently reliable.  Suggested by Werner Koch
39749         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
39750
39751 2008-06-01  Bruno Haible  <bruno@clisp.org>
39752
39753         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
39754         Reported by Voroskoi Andras <voroskoi@gmail.com>.
39755
39756 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
39757
39758         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
39759
39760 2008-06-01  Bruno Haible  <bruno@clisp.org>
39761
39762         New ACL tests.
39763         * tests/test-file-has-acl.sh: New file.
39764         * tests/test-file-has-acl.c: New file.
39765         * tests/test-set-mode-acl.sh: New file.
39766         * tests/test-set-mode-acl.c: New file.
39767         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
39768         * tests/test-copy-acl.c: New file.
39769         * modules/acl-tests: New file, based on modules/copy-file-tests.
39770         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
39771         (Depends-on): Add acl-tests.
39772         (configure.ac): Remove checks.
39773         (Makefile.am): Don't create test-sameacls program here any more.
39774
39775 2008-06-01  Bruno Haible  <bruno@clisp.org>
39776
39777         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
39778         * tests/test-sameacls.c: Include progname.h.
39779         (main): Invoke set_program_name. Portability fixes for MacOS X,
39780         Solaris, HP-UX.
39781
39782 2008-06-01  Bruno Haible  <bruno@clisp.org>
39783
39784         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
39785         function.
39786         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
39787
39788 2008-06-01  Bruno Haible  <bruno@clisp.org>
39789
39790         * modules/rpmatch (Depends-on): Add strdup.
39791
39792 2008-06-01  Bruno Haible  <bruno@clisp.org>
39793
39794         * lib/pipe.c: Include unistd-safer.h.
39795         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
39796         * modules/pipe (Depends-on): Add unistd-safer.
39797
39798 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39799
39800         * modules/autobuild (configure.ac): Call AB_INIT.
39801
39802 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39803
39804         * tests/test-getaddrinfo.c: Don't print debug messages by default.
39805         Suggested by Bruno Haible <bruno@clisp.org>.
39806
39807 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39808
39809         * tests/test-base64.c: Cast size_t to unsigned long when invoking
39810         printf.  Use %lu instead of %d.  Reported by Bruno Haible
39811         <bruno@clisp.org>.
39812
39813 2008-05-29  Eric Blake  <ebb9@byu.net>
39814
39815         Prefer new POSIX 200x interfaces over futimesat.
39816         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
39817         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
39818         when available.
39819         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
39820
39821 2008-05-28  Bruno Haible  <bruno@clisp.org>
39822
39823         * modules/stpcpy (License): Change to LGPLv2+.
39824         Requested by David Lutterkort <dlutter@redhat.com>.
39825
39826 2008-05-27  Bruno Haible  <bruno@clisp.org>
39827
39828         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
39829         current mingw.
39830         Reported by Jose E. Marchesi <jemarch@gnu.org>.
39831
39832 2008-05-27  Bruno Haible  <bruno@clisp.org>
39833
39834         * modules/iconv_open (Link): New section, from module 'iconv'.
39835         * modules/striconv (Link): Likewise.
39836         * modules/striconveh (Link): Likewise.
39837         * modules/xstriconv (Link): Likewise.
39838         * modules/unicodeio (Link): Likewise.
39839         * modules/propername (Link): Likewise.
39840         Reported by Jim Meyering.
39841
39842 2008-05-26  Jim Meyering  <meyering@redhat.com>
39843
39844         sha256: do not artificially restrict buffer length to be < 2^32
39845         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
39846         uint32_t to size_t.
39847         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
39848         to match.
39849
39850         avoid unaligned access errors, e.g., on sparc
39851         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
39852         direct access through a possibly-unaligned uint64* pointer.
39853         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
39854         direct access through a possibly-unaligned uint32* pointer.
39855         Prompted by this patch from Tom "spot" Callaway:
39856         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
39857
39858         sha512.c: fix typo in comment
39859         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
39860
39861 2008-05-25  Bruno Haible  <bruno@clisp.org>
39862
39863         * lib/set-mode-acl.c: Renamed from lib/acl.c.
39864         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
39865         (Makefile.am): Update lib_SOURCES.
39866
39867 2008-05-25  Bruno Haible  <bruno@clisp.org>
39868
39869         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
39870
39871 2008-05-25  Jim Meyering  <meyering@redhat.com>
39872
39873         useless-if-before-free: freed expr may have white-space differences
39874         * build-aux/useless-if-before-free: Recognize cases in which the
39875         freed expression differs from the tested one in embedded white
39876         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
39877         $1 was used, so we can't make any regexp shy.  Improved tests now
39878         detect this.
39879
39880         useless-if-before-free: accept white space in the expression.
39881         * build-aux/useless-if-before-free: For now, any white space
39882         in the expression must be identical in the free argument.
39883
39884         useless-if-before-free: efficiency tweak
39885         * build-aux/useless-if-before-free: Make the expression-matching
39886         regexp "shy".
39887         Make the *outer* regexp shy, not the expr-matching one.
39888
39889         update code-in-comment to accept cast of free arg
39890         * build-aux/useless-if-before-free: Update regexp.
39891
39892 2008-05-25  Bruno Haible  <bruno@clisp.org>
39893
39894         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
39895         * modules/copy-file-tests (Files, Makefile.am): Update.
39896         * tests/test-copy-file.c (func_test_copy): Update.
39897
39898 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
39899
39900         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
39901
39902 2008-05-23  Bruno Haible  <bruno@clisp.org>
39903
39904         Improve support for ACLs on OSF/1.
39905         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
39906         Remove fallback for unknown flavors of ACLs.
39907
39908 2008-05-22  Bruno Haible  <bruno@clisp.org>
39909
39910         Add support for ACLs on OSF/1.
39911         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
39912         replacements.
39913         (acl_free_text): New macro fallback.
39914         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
39915         acl_free.
39916         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
39917         acl_free_text function. Require AC_C_INLINE.
39918
39919 2008-05-22  Bruno Haible  <bruno@clisp.org>
39920
39921         Make copy_acl work on MacOS X 10.5.
39922         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
39923         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
39924         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
39925         If MODE_INSIDE_ACL, don't assume that every system has the same text
39926         representation for ACLs as FreeBSD.
39927         * lib/copy-acl.c (copy_acl): Add support for platforms with
39928         !MODE_INSIDE_ACL.
39929         * lib/file-has-acl.c (file_has_acl): Likewise.
39930         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
39931         FreeBSD, MacOS X, or IRIX, respectively.
39932
39933 2008-05-22  Bruno Haible  <bruno@clisp.org>
39934
39935         * lib/acl.h: Don't include <sys/acl.h>.
39936         (GETACLCNT): Move fallback to lib/acl-internal.h.
39937         * lib/acl-internal.h: Include <sys/acl.h> here.
39938         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
39939
39940 2008-05-22  Bruno Haible  <bruno@clisp.org>
39941
39942         Split off copy_acl function to separate file.
39943         * lib/copy-acl.c: New file, extracted from lib/acl.c.
39944         * lib/acl.c (copy_acl): Moved function to separate file.
39945         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
39946         * modules/acl (Files): Add lib/copy-acl.c.
39947         (Makefiles.am): Augment lib_SOURCES.
39948
39949 2008-05-22  Bruno Haible  <bruno@clisp.org>
39950
39951         * modules/copy-file-tests: New file.
39952         * tests/test-copy-file.sh: New file.
39953         * tests/test-copy-file.c: New file.
39954         * tests/test-copy-file-sameacls.c: New file.
39955
39956 2008-05-22  Eric Blake  <ebb9@byu.net>
39957
39958         Avoid gcc warning.
39959         * tests/test-memcmp.c (main): Pass NULL indirectly.
39960
39961 2008-05-21  Bruno Haible  <bruno@clisp.org>
39962
39963         Add reference doc about ACLs.
39964         * doc/acl-resources.txt: New file.
39965         * doc/acl-cygwin.txt: New file.
39966
39967 2008-05-21  Bruno Haible  <bruno@clisp.org>
39968
39969         Avoid one more warning from gcc.
39970         * lib/vasnprintf.c (IF_LINT): Update comments.
39971         (VASNPRINTF): Use it also for the 'prefix' array initializer.
39972
39973 2008-05-21  Jim Meyering  <meyering@redhat.com>
39974
39975         avoid a warning from gcc
39976         * lib/vasnprintf.c (IF_LINT): Define.
39977         (scale10_round_decimal_long_double):
39978         Use it to avoid a "may be used uninitialized" warning.
39979         (scale10_round_decimal_double): Likewise.
39980
39981 2008-05-21  Simon Josefsson  <simon@josefsson.org>
39982
39983         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
39984         declared.
39985
39986 2008-05-20  Bruno Haible  <bruno@clisp.org>
39987
39988         * tests/test-memcmp.c (main): Test also the sign of the result. Test
39989         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
39990
39991 2008-05-20  Simon Josefsson  <simon@josefsson.org>
39992
39993         * modules/memcmp-tests: New file.
39994         * tests/test-memcmp.c: New file.
39995
39996 2008-05-19  Bruno Haible  <bruno@clisp.org>
39997
39998         * modules/propername (Notice, configure.ac): Put quoted "..." into
39999         --keyword option.
40000         * lib/propername.h: Update comments accordingly.
40001         Reported by Eric Blake.
40002
40003 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
40004
40005         * modules/getpass-gnu (Depends-on): Add fseeko.
40006
40007 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40008
40009         * modules/base64-tests: New file.
40010
40011 2008-05-19  Bo Borgerson <gigabo@gmail.com>
40012
40013         * lib/base64.c (base64_decode_ctx): If a decode context structure
40014         was passed in use it to ignore newlines.  If a context structure
40015         was _not_ passed in, continue to treat newlines as garbage (this
40016         is the historical behavior).  Formerly base64_decode.
40017         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40018         takes a decode context structure.
40019         * lib/base64.h (base64_decode): Macro for four-argument calls.
40020         (base64_decode_alloc): Likewise.
40021         * lib/base64.c (base64_decode_ctx): If a decode context structure
40022         was passed in use it to ignore newlines.  If a context structure
40023         was _not_ passed in, continue to treat newlines as garbage (this
40024         is the historical behavior).  Formerly base64_decode.
40025         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40026         takes a decode context structure.
40027         * lib/base64.h (base64_decode): Macro for four-argument calls.
40028         (base64_decode_alloc): Likewise.
40029
40030 2008-05-19  Jim Meyering  <meyering@redhat.com>
40031
40032         avoid a warning from gcc
40033         * lib/trim.c (IF_LINT): Define.
40034         (trim2): Use it to avoid a "may be used uninitialized" warning.
40035
40036         Fix doc typo.
40037         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
40038
40039 2008-05-19  Bruno Haible  <bruno@clisp.org>
40040
40041         * doc/glibc-functions/getpass.texi: Document limits of other
40042         implementations.
40043
40044 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40045             Bruno Haible <bruno@clisp.org>
40046
40047         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
40048
40049 2008-05-18  Bruno Haible  <bruno@clisp.org>
40050
40051         * modules/propername: New file, from GNU gettext.
40052         * lib/propername.h: New file, from GNU gettext.
40053         * lib/propername.c: New file, from GNU gettext.
40054         * MODULES.html.sh (Internationalization functions): Add propername.
40055
40056 2008-05-16  Jim Meyering  <meyering@redhat.com>
40057             Bruno Haible  <bruno@clisp.org>
40058
40059         Avoid some warnings from "gcc -Wshadow".
40060         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
40061
40062 2008-05-15  Eric Blake  <ebb9@byu.net>
40063
40064         Extend previous patch to cygwin 1.7.0.
40065         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
40066         fast implementation in cygwin >= 1.7.0.
40067         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40068         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40069
40070 2008-05-15  Bruno Haible  <bruno@clisp.org>
40071
40072         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
40073         implementation in glibc >= 2.9.
40074         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40075         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40076
40077 2008-05-15  Bruno Haible  <bruno@clisp.org>
40078
40079         * MODULES.html.sh (Internationalization functions): Remove linebreak.
40080         (Unicode string functions): Add unilbrk/*.
40081         Reported by Karl Berry.
40082
40083 2008-05-15  Eric Blake  <ebb9@byu.net>
40084
40085         Fix violation of <stdbool.h> replacement in regex.
40086         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
40087         * lib/regexec.c (re_search_internal): Likewise.
40088         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
40089
40090 2008-05-15  Jim Meyering  <meyering@redhat.com>
40091
40092         avoid distracting test output when git or cvs is not found
40093         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
40094         * tests/test-vc-list-files-git.sh: Likewise.
40095
40096 2008-05-15  Eric Blake  <ebb9@byu.net>
40097
40098         Glibc finally accepted the memmem speedup code, bugzilla #5514.
40099         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
40100         glibc version.
40101         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40102         * doc/posix-functions/strstr.texi (strstr): Likewise.
40103         * lib/str-two-way.h (MAX): Sychronize with glibc.
40104
40105 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
40106
40107         * lib/regcomp.c (optimize_utf8): Add a note on why we test
40108         opr.ctx_type.
40109         (calc_first): Initialize constraint field.
40110         (duplicate_node_closure): Use it instead of special casing ANCHORS.
40111         Fix grammar.
40112         (duplicate_node): Merge constraint field for all node types.
40113         (calc_eclosure_iter): Look at constraint field for all node types.
40114         * lib/regex_internal.c (create_cd_newstate): Don't look at
40115         opr.ctx_type.
40116
40117 2008-05-14  Bruno Haible  <bruno@clisp.org>
40118
40119         Help GCC to do better code generation.
40120         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
40121         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
40122         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
40123         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
40124         Declare with attribute 'malloc' if supported.
40125
40126 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
40127
40128         use "echo STR|wc -c" rather than unportable "expr length STR"
40129         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
40130         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
40131
40132 2008-05-14  Jim Meyering  <meyering@redhat.com>
40133
40134         use dd ibs=$n count=1 ... rather than less-portable head -c$n
40135         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
40136         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
40137         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
40138         via Collin Lasse.
40139
40140 2008-05-14  Eric Blake  <ebb9@byu.net>
40141
40142         Avoid quadratic growth in gl_LIBSOURCES.
40143         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
40144         Suggested by Bruno Haible.
40145
40146         Test xmemdup0.
40147         * modules/xmemdup0-tests: New file.
40148         * tests/test-xmemdup0.c: Likewise.
40149
40150 2008-05-13  Eric Blake  <ebb9@byu.net>
40151
40152         Split xmemdup0 into its own module.
40153         * modules/xmemdup0: New file.
40154         * lib/xmemdup0.h: Likewise.
40155         * lib/xmemdup0.c: Likewise.
40156         * MODULES.html.sh (Memory management functions): Add xmemdup0.
40157         * lib/xalloc.h (xmemdup0): Remove.
40158         * lib/xmalloc.c (xmemdup0): Likewise.
40159
40160 2008-05-13  Eric Blake  <ebb9@byu.net>
40161             Bruno Haible  <bruno@clisp.org>
40162
40163         Reduce number of forks required during autoconf.
40164         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
40165         and gl_LIBSOURCES_DIR.
40166         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
40167         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
40168         m4_syscmd per file.
40169         <m4_foreach_w>: Move...
40170         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
40171
40172 2008-05-13  Eric Blake  <ebb9@byu.net>
40173
40174         * gnulib-tool: Fix various comment typos.
40175
40176 2008-05-12  Bruno Haible  <bruno@clisp.org>
40177
40178         Tailor the linebreaking algorithm.
40179         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
40180
40181 2008-05-12  Bruno Haible  <bruno@clisp.org>
40182
40183         Update to Unicode 5.0.0.
40184         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40185         LBP_JV, LBP_JT. Redistribute values.
40186         (unilbrk_table): Change size.
40187         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
40188         Unicode TR#14 rev. 22.
40189         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40190         LBP_JV, LBP_JT. Redistribute values.
40191         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
40192         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
40193         Update.
40194         * lib/unilbrk/lbrkprop1.h: Regenerated.
40195         * lib/unilbrk/lbrkprop2.h: Regenerated.
40196         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
40197         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
40198         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
40199         Likewise.
40200         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
40201         Likewise.
40202         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
40203         result.
40204         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
40205         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
40206         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
40207         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
40208         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
40209         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
40210
40211 2008-05-11  Bruno Haible  <bruno@clisp.org>
40212
40213         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
40214
40215 2008-05-11  Bruno Haible  <bruno@clisp.org>
40216
40217         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
40218         * modules/unilbrk/gen-lbrk: New file.
40219
40220 2008-05-11  Bruno Haible  <bruno@clisp.org>
40221
40222         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
40223         * m4/sha512.m4 (gl_SHA512): Likewise.
40224
40225 2008-05-11  Jim Meyering  <meyering@redhat.com>
40226
40227         New modules: crypto/sha256, crypto/sha512 (from coreutils)
40228         * modules/crypto/sha256: New file.
40229         * modules/crypto/sha512: Likewise.
40230         * lib/sha256.c: Likewise.
40231         * lib/sha256.h: Likewise.
40232         * lib/sha512.c: Likewise.
40233         * lib/sha512.h: Likewise.
40234         * lib/u64.h: Likewise.
40235         * m4/sha256.m4: Likewise.
40236         * m4/sha512.m4: Likewise.
40237         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
40238
40239 2008-05-10  Bruno Haible  <bruno@clisp.org>
40240
40241         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
40242         (Input/Output <stdio.h>): Add xprintf.
40243         (Signal handling <signal.h>): Add strsignal.
40244         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
40245         (Core language properties): Add func.
40246         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
40247         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
40248         strings.
40249         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
40250         (Input/output): New section.
40251         (File system functions): Add openat-die, stat-macros.
40252         (Networking functions): Add sockets.
40253         (Unicode string functions): Add unictype/*.
40254         (Support for building libraries and executables): Add gperf.
40255         (Support for building documentation): Add agpl-3.0.
40256         (Misc): Add nocrash.
40257
40258 2008-05-10  Bruno Haible  <bruno@clisp.org>
40259
40260         * modules/unictype/gen-ctype: New file.
40261
40262 2008-05-10  Jim Meyering  <meyering@redhat.com>
40263
40264         Make chdir-safer.c more efficient on a system with no symlinks.
40265         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
40266         also if ELOOP is zero.  Suggested by Bruno Haible.
40267
40268         Make chdir-safer.c slightly safer.
40269         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
40270         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
40271
40272         Avoid compile failure on systems without ELOOP (like mingw).
40273         * lib/chdir-safer.c (ELOOP): Define if not already defined.
40274         Reported by Bruno Haible.
40275
40276 2008-05-10  Bruno Haible  <bruno@clisp.org>
40277
40278         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
40279         (is_utf8_encoding): Use a case-insensitive comparison.
40280         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
40281         streq.
40282
40283 2008-05-10  Bruno Haible  <bruno@clisp.org>
40284
40285         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
40286         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
40287         * lib/unilbrk/ulc-common.h (iconv_string_length,
40288         iconv_string_keeping_offsets): Remove declarations.
40289         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
40290         Don't include <iconv.h>, streq.h, xsize.h.
40291         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
40292         conversion.
40293         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
40294         <iconv.h>, streq.h, xsize.h.
40295         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
40296         conversion.
40297         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
40298         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
40299         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
40300         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
40301
40302 2008-05-10  Bruno Haible  <bruno@clisp.org>
40303
40304         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
40305         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
40306
40307         * modules/unilbrk/u32-width-linebreaks-tests: New file.
40308         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
40309
40310         * modules/unilbrk/u16-width-linebreaks-tests: New file.
40311         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
40312
40313         * modules/unilbrk/u8-width-linebreaks-tests: New file.
40314         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
40315
40316         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
40317         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
40318
40319         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
40320         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
40321
40322         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
40323         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
40324
40325         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
40326         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
40327
40328 2008-05-10  Bruno Haible  <bruno@clisp.org>
40329
40330         Split up 'linebreak' module.
40331         * lib/unilbrk.h: New file, based on lib/linebreak.h.
40332         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
40333         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
40334         modifications.
40335         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
40336         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
40337         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
40338         lib/linebreak.c.
40339         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
40340         lib/linebreak.c.
40341         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
40342         lib/linebreak.c.
40343         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
40344         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
40345         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
40346         lib/linebreak.c.
40347         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
40348         lib/linebreak.c.
40349         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
40350         lib/linebreak.c.
40351         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
40352         lib/linebreak.c.
40353         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
40354         lib/linebreak.c.
40355         * modules/unilbrk/base: New file.
40356         * modules/unilbrk/tables: New file.
40357         * modules/unilbrk/u8-possible-linebreaks: New file.
40358         * modules/unilbrk/u16-possible-linebreaks: New file.
40359         * modules/unilbrk/u32-possible-linebreaks: New file.
40360         * modules/unilbrk/ulc-common: New file.
40361         * modules/unilbrk/ulc-possible-linebreaks: New file.
40362         * modules/unilbrk/u8-width-linebreaks: New file.
40363         * modules/unilbrk/u16-width-linebreaks: New file.
40364         * modules/unilbrk/u32-width-linebreaks: New file.
40365         * modules/unilbrk/ulc-width-linebreaks: New file.
40366         * lib/linebreak.h: Remove file.
40367         * lib/linebreak.c: Remove file.
40368         * m4/linebreak.m4: Remove file.
40369         * modules/linebreak: Remove file.
40370         * NEWS: Mention the changes.
40371
40372 2008-05-09  Eric Blake  <ebb9@byu.net>
40373
40374         Add xmemdup0.
40375         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
40376         implementation.
40377         * lib/xmalloc.c (xmemdup0): New C implementation.
40378
40379 2008-05-08  Bruno Haible  <bruno@clisp.org>
40380
40381         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
40382
40383 2008-05-07  Eric Blake  <ebb9@byu.net>
40384
40385         Support cross-compilation of <wctype.h>.
40386         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
40387         AC_CACHE_CHECK.
40388
40389 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
40390
40391         * build-aux/vc-list-files: Add support for bzr.
40392
40393 2008-05-03  Jim Meyering  <meyering@redhat.com>
40394
40395         avoid failed assertion with tight malloc
40396         * tests/test-getndelim2.c: Correct an off-by-one assertion.
40397
40398 2008-05-03  Simon Josefsson  <simon@josefsson.org>
40399
40400         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
40401         are needed from arpa/inet.h.
40402         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
40403         Reported by Bruno Haible.
40404
40405 2008-05-02  Jim Meyering  <meyering@redhat.com>
40406
40407         avoid compilation error on FreeBSD 6
40408         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
40409
40410 2008-05-01  Jim Meyering  <meyering@redhat.com>
40411
40412         useless-if-before-free: correct --help's exit status description
40413         * build-aux/useless-if-before-free (usage): Like grep, exit 0
40414         for one or more matches, etc.  Reported by Bruno Haible.
40415
40416         vc-list-files: make the stand-alone gnulib test work
40417         * modules/vc-list-files-tests (configure.ac):
40418         Define and AC_SUBST abs_aux_dir.
40419         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
40420         $(abs_top_srcdir) to each script and having each of them
40421         duplicate the work of setting PATH, set PATH here, using
40422         the new variable, abs_aux_dir instead.
40423         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
40424         * tests/test-vc-list-files-git.sh: Likewise.
40425         Reported by Bruno Haible.
40426
40427 2008-05-01  Bruno Haible  <bruno@clisp.org>
40428
40429         * lib/getndelim2.c (getndelim2): Fix newsize computation during
40430         reallocation. Rename 'done' to 'found_delimiter'.
40431
40432 2008-05-01  Jim Meyering  <meyering@redhat.com>
40433
40434         vc-list-files: accommodate /bin/sh like the one from Solaris 10
40435         * build-aux/vc-list-files: Use `...`, not $(...).
40436
40437 2008-04-30  Jim Meyering  <meyering@redhat.com>
40438
40439         add tests for vc-list-files
40440         * modules/vc-list-files-tests: New module.
40441         * tests/test-vc-list-files-cvs.sh: New file.
40442         * tests/test-vc-list-files-git.sh: New file.
40443
40444         avoid a warning from gcc
40445         * lib/getndelim2.c (IF_LINT): Define.
40446         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
40447
40448         vc-list-files: work properly with build-aux/cvsu, too
40449         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
40450         to all cvs-based clauses.
40451
40452         vc-list-files: work properly in the CVS+awk case, too
40453         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
40454
40455         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
40456         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
40457         take more than one file argument, so .  Add quotes, just in case $dir
40458         ever contains a shell meta-character.  Prompted by Soren Hansen in
40459         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
40460
40461 2008-04-29  Eric Blake  <ebb9@byu.net>
40462
40463         Optimize getndelim2 to use block operations when possible.
40464         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
40465         freadseek, and memchr2.
40466         * lib/getndelim2.c (getndelim2): Use them for block reads.
40467
40468 2008-04-29  Bruno Haible  <bruno@clisp.org>
40469
40470         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
40471         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40472         * modules/inet_ntop (Depends-on): Add extensions.
40473         * modules/inet_pton (Depends-on): Likewise.
40474         Reported by Simon Josefsson.
40475
40476 2008-04-29  Jim Meyering  <meyering@redhat.com>
40477
40478         When the is more than one match in a block, match all of them.
40479         * build-aux/useless-if-before-free: Iterate through each block
40480         until there are no more matches.
40481
40482         Fix broken useless-if-before-free script.
40483         * build-aux/useless-if-before-free: Fix typo: missing "?" after
40484         the expression to match cast of argument to free-like function.
40485
40486 2008-04-29  Eric Blake  <ebb9@byu.net>
40487
40488         Use new header.
40489         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
40490
40491 2008-04-29  Jim Meyering  <meyering@redhat.com>
40492
40493         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
40494         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
40495         by gnulib to exist and to declare e.g., inet_ntop.
40496         Don't include "inet_ntop.h", now removed.
40497
40498         * m4/arpa_inet_h.m4: Remove trailing blanks.
40499
40500 2008-04-29  Eric Blake  <ebb9@byu.net>
40501
40502         Silence valgrind on safe reads beyond potential array bounds.
40503         * lib/rawmemchr.valgrind: New file.
40504         * lib/strchrnul.valgrind: Likewise.
40505         * modules/rawmemchr (Files): Distribute new file.
40506         * modules/strchrnul (Files): Likewise.
40507         Suggested by Bruno Haible.
40508
40509 2008-04-29  Bruno Haible  <bruno@clisp.org>
40510
40511         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
40512         (inet_ntop, inet_pton): Change portability warning's wording.
40513         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
40514         Invoke gl_CHECK_NEXT_HEADERS.
40515         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
40516         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
40517         set ARPA_INET_H.
40518         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40519         * modules/arpa_inet (Description): No longer only for systems that
40520         lack it.
40521         (Depends-on): Add include_next.
40522         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
40523         HAVE_ARPA_INET_H.
40524
40525 2008-04-29  Jim Meyering  <meyering@redhat.com>
40526
40527         * modules/mkdir (License): Re-license as LGPLv2+.
40528
40529 2008-04-29  Bruno Haible  <bruno@clisp.org>
40530
40531         * modules/rawmemchr (Maintainer): Set to Eric.
40532         * modules/strchrnul (Maintainer): Likewise.
40533
40534 2008-04-29  Simon Josefsson  <simon@josefsson.org>
40535
40536         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
40537         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
40538
40539         * modules/arpa_inet (arpa/inet.h): Use them.
40540
40541 2008-04-28  Eric Blake  <ebb9@byu.net>
40542
40543         Test getndelim2.
40544         * modules/getndelim2-tests: New file.
40545         * tests/test-getndelim2.c: Likewise.
40546         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
40547         stream.
40548         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
40549
40550         * MODULES.html.sh: Document new module.
40551
40552 2008-04-20  Bruno Haible  <bruno@clisp.org>
40553
40554         * lib/c-stack.c (die): Use raise.
40555         * modules/c-stack (Depends-on): Add raise.
40556
40557 2008-04-28  Bruno Haible  <bruno@clisp.org>
40558
40559         Expect rpmatch to be declared.
40560         * lib/yesno.c (rpmatch): Remove declaration.
40561
40562         Declare rpmatch.
40563         * lib/stdlib.in.h (rpmatch): New declaration.
40564         * lib/rpmatch.c: Include <stdlib.h> first.
40565         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
40566         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
40567         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
40568         HAVE_RPMATCH.
40569         * modules/rpmatch (Depends-on): Add stdlib, extensions.
40570         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40571         (Include): Set to <stdlib.h>.
40572         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
40573         HAVE_RPMATCH.
40574         * NEWS: Document the change.
40575
40576 2008-04-28  Bruno Haible  <bruno@clisp.org>
40577
40578         Change rpmatch to use nl_langinfo when appropriate.
40579         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
40580         (N_): New macro.
40581         (localized_pattern): New function/macro.
40582         (try): Remove match, nomatch arguments. Copy the pattern into safe
40583         memory before caching it.
40584         (rpmatch): Use localized_pattern. Add translator comments.
40585         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
40586         Suggested by Eric Blake.
40587         * modules/rpmatch (Depends-on): Add stdbool.
40588
40589 2008-04-28  Eric Blake  <ebb9@byu.net>
40590
40591         Add rawmemchr module, matching glibc.
40592         * modules/string (Makefile.am): New indicator.
40593         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
40594         * lib/string.in.h (rawmemchr): Declare when appropriate.
40595         * modules/rawmemchr: New file.
40596         * m4/rawmemchr.m4: Likewise.
40597         * lib/rawmemchr.c: Likewise.
40598         * modules/rawmemchr-tests: Likewise.
40599         * tests/test-rawmemchr.c: Likewise.
40600         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
40601         module.
40602         * modules/strchrnul (Depends-on): Add rawmemchr.
40603         * lib/strchrnul.c (strchrnul): Optimize a corner case.
40604
40605         Whitespace cleanup.
40606         * tests/test-strchrnul.c: Reindent.
40607         * lib/strchrnul.c: Likewise.
40608
40609         Optimize and test strchrnul.
40610         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
40611         * modules/strchrnul-tests: New file.
40612         * tests/test-strchrnul.c: Likewise.
40613
40614         Remove intprops dependency.
40615         * modules/memchr (Depends-on): Remove intprops.
40616         * modules/memrchr (Depends-on): Likewise.
40617         * modules/memchr2 (Depends-on): Likewise.
40618         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
40619         * lib/memrchr.c (__memrchr): Likewise.
40620         * lib/memrchr2.c (memchr2): Likewise.
40621         Reported by Simon Josefsson.
40622
40623 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40624
40625         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
40626         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40627
40628 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40629
40630         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
40631
40632         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
40633
40634         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
40635
40636         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
40637         declarations.
40638         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
40639
40640         * m4/inet_pton.m4: Don't check for header files.
40641
40642         * m4/inet_ntop.m4: Don't check for header files.
40643
40644 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40645
40646         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
40647         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
40648         trigger for cygwin).
40649         Reported by Bruno Haible  <bruno@clisp.org>.
40650
40651 2008-04-28  Bruno Haible  <bruno@clisp.org>
40652
40653         * doc/posix-functions/strdup.texi: Mention mingw problem.
40654
40655 2008-04-27  Bruno Haible  <bruno@clisp.org>
40656
40657         * modules/stat-time-tests (Depends-on): Add sleep.
40658         * tests/test-stat-time.c (force_unlink): New function.
40659         (cleanup): Use it.
40660         (test_mtime): Remove the ctime related tests.
40661         (test_ctime): New function, containing the ctime related tests.
40662         (main): Call test_ctime, except on native Windows platforms.
40663
40664 2008-04-27  Bruno Haible  <bruno@clisp.org>
40665
40666         * lib/rpmatch.c (rpmatch): Add some comments.
40667         Reported by James Youngman <jay@gnu.org>.
40668
40669 2008-04-27  Bruno Haible  <bruno@clisp.org>
40670
40671         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
40672         quiet NaNs.
40673
40674 2008-04-27  Bruno Haible  <bruno@clisp.org>
40675
40676         Make test-yesno.sh work on mingw.
40677         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
40678         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
40679         (main): Set stdin to binary mode.
40680         * modules/yesno-tests (Depends-on): Add binary-io.
40681
40682 2008-04-27  Bruno Haible  <bruno@clisp.org>
40683
40684         Fix 'isfinite' on x86, x86_64, ia64 platforms.
40685         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
40686         argument that lie outside the IEEE 854 domain.
40687         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
40688         (gl_ISFINITE): Use it.
40689         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
40690
40691 2008-04-27  Bruno Haible  <bruno@clisp.org>
40692
40693         Allow local renaming in config.h.
40694         * lib/memrchr.c (memrchr): Don't undefine outside libc.
40695
40696 2008-04-27  Bruno Haible  <bruno@clisp.org>
40697
40698         * lib/memchr.c (__memchr): Change type of 'i'.
40699         * lib/memchr2.c (memchr2): Likewise.
40700
40701 2008-04-26  Eric Blake  <ebb9@byu.net>
40702         and Bruno Haible  <bruno@clisp.org>
40703
40704         Optimize and test memrchr.
40705         * modules/memrchr (Depends-on): Add intprops.
40706         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
40707         * modules/memrchr-tests: New file.
40708         * tests/test-memrchr.c: New file.
40709
40710 2008-04-26  Bruno Haible  <bruno@clisp.org>
40711
40712         Add tentative support for DragonFly BSD.
40713         * lib/stdio-impl.h: Add macros for DragonFly BSD.
40714         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
40715         fp.
40716         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40717         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
40718         * lib/fpurge.c (fpurge): Likewise.
40719         * lib/freadable.c (freaadable): Likewise.
40720         * lib/freadahead.c (freadahead): Likewise.
40721         * lib/freading.c (freading): Likewise.
40722         * lib/freadptr.c (freadptr): Likewise.
40723         * lib/freadseek.c (freadptrinc): Likewise.
40724         * lib/fseeko.c (fseeko): Likewise.
40725         * lib/fseterr.c (fseterr): Likewise.
40726         * lib/fwritable.c (fwritable): Likewise.
40727         * lib/fwriting.c (fwriting): Likewise.
40728
40729 2008-04-26  Bruno Haible  <bruno@clisp.org>
40730
40731         * lib/stdio-impl.h: New file.
40732         * lib/fbufmode.c: Include stdio-impl.h.
40733         (fbufmode): Use fp_, remove redundant #defines.
40734         * lib/fflush.c: Include stdio-impl.h.
40735         (clear_ungetc_buffer): Remove redundant #defines.
40736         * lib/fpurge.c: Include stdio-impl.h.
40737         (fpurge): Remove redundant #defines.
40738         * lib/freadable.c: Include stdio-impl.h.
40739         (freadable): Remove redundant #defines.
40740         * lib/freadahead.c: Include stdio-impl.h.
40741         (freadahead): Remove redundant #defines.
40742         * lib/freading.c: Include stdio-impl.h.
40743         (freading): Remove redundant #defines.
40744         * lib/freadptr.c: Include stdio-impl.h.
40745         (freadptr): Remove redundant #defines.
40746         * lib/freadseek.c: Include stdio-impl.h.
40747         (freadptrinc): Remove redundant #defines.
40748         * lib/fseeko.c: Include stdio-impl.h.
40749         (rpl_fseeko): Remove redundant #defines.
40750         * lib/fseterr.c: Include stdio-impl.h.
40751         (fseterr): Remove redundant #defines.
40752         * lib/fwritable.c: Include stdio-impl.h.
40753         (fwritable: Remove redundant #defines.
40754         * lib/fwriting.c: Include stdio-impl.h.
40755         (fwriting): Remove redundant #defines.
40756         * modules/fbufmode (Files): Add lib/stdio-impl.h.
40757         * modules/fflush (Files): Likewise.
40758         * modules/fpurge (Files): Likewise.
40759         * modules/freadable (Files): Likewise.
40760         * modules/freadahead (Files): Likewise.
40761         * modules/freading (Files): Likewise.
40762         * modules/freadptr (Files): Likewise.
40763         * modules/freadseek (Files): Likewise.
40764         * modules/fseeko (Files): Likewise.
40765         * modules/fseterr (Files): Likewise.
40766         * modules/fwritable (Files): Likewise.
40767         * modules/fwriting (Files): Likewise.
40768
40769 2008-04-26  Bruno Haible  <bruno@clisp.org>
40770
40771         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40772         restore_seek_optimization, update_fpos_cache): New functions, extracted
40773         from rpl_fflush.
40774         (rpl_fflush): Use them.
40775         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
40776         (gl_REPLACE_FFLUSH): Use it.
40777
40778 2008-04-26  Bruno Haible  <bruno@clisp.org>
40779
40780         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
40781         on Solaris.
40782         * tests/test-xstrtoimax.sh: Likewise.
40783         * tests/test-xstrtoumax.sh: Likewise.
40784         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40785
40786 2008-04-26  Bruno Haible  <bruno@clisp.org>
40787
40788         * modules/memchr-tests: New file.
40789         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
40790
40791 2008-04-26  Eric Blake  <ebb9@byu.net>
40792             Bruno Haible  <bruno@clisp.org>
40793
40794         * lib/memchr.c: Include intprops.h.
40795         (__memchr): Optimize parallel detection of matching bytes. Rename local
40796         variables. Add explanatory comments.
40797
40798 2008-04-26  Bruno Haible  <bruno@clisp.org>
40799
40800         Fix module 'memchr', broken since 2000-10-28.
40801         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
40802
40803 2008-04-26  Bruno Haible  <bruno@clisp.org>
40804
40805         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
40806         comments.
40807
40808 2008-04-25  Eric Blake  <ebb9@byu.net>
40809
40810         Use native fstatat on cygwin 1.7.0.
40811         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
40812         first.
40813
40814 2008-04-23  Eric Blake  <ebb9@byu.net>
40815
40816         Improve memchr2 performance.
40817         * lib/memchr2.c (memchr2): Further optimize parallel detection of
40818         NUL bytes.
40819         * modules/memchr2 (Depends-on): Use intprops.h.
40820
40821 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40822
40823         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
40824         an inline function instead of a CPP macro.  Patch by Ben Pfaff
40825         <blp@cs.stanford.edu>.
40826
40827 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40828
40829         * lib/arpa_inet.in.h: New file.
40830
40831         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
40832         (Makefile.am): Sed in substitute header file.
40833
40834         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
40835         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
40836
40837         * modules/inet_ntop (configure.ac): Use
40838         gl_ARPA_INET_MODULE_INDICATOR.
40839
40840         * modules/inet_pton (configure.ac): Use
40841         gl_ARPA_INET_MODULE_INDICATOR.
40842
40843 2008-04-22  Jim Meyering  <meyering@redhat.com>
40844
40845         * modules/verify (License): Re-license as LGPLv2+.
40846
40847 2008-04-22  Simon Josefsson  <simon@josefsson.org>
40848
40849         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
40850         parameter to void* as per POSIX standard (MinGW uses char*).
40851
40852 2008-04-21  Bruno Haible  <bruno@clisp.org>
40853
40854         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
40855         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
40856         Define to replacements if REPLACE_ISWCNTRL is 1.
40857         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
40858         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
40859         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
40860         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
40861         what it fixes.
40862         * doc/posix-functions/iswalpha.texi: Likewise.
40863         * doc/posix-functions/iswblank.texi: Likewise.
40864         * doc/posix-functions/iswcntrl.texi: Likewise.
40865         * doc/posix-functions/iswdigit.texi: Likewise.
40866         * doc/posix-functions/iswgraph.texi: Likewise.
40867         * doc/posix-functions/iswlower.texi: Likewise.
40868         * doc/posix-functions/iswprint.texi: Likewise.
40869         * doc/posix-functions/iswpunct.texi: Likewise.
40870         * doc/posix-functions/iswspace.texi: Likewise.
40871         * doc/posix-functions/iswupper.texi: Likewise.
40872         * doc/posix-functions/iswxdigit.texi: Likewise.
40873         Reported by Alain Guibert.
40874
40875 2008-04-21  Bruno Haible  <bruno@clisp.org>
40876
40877         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
40878         Patch by Alain Guibert.
40879
40880 2008-04-21  Bruno Haible  <bruno@clisp.org>
40881
40882         Fix test failures on mingw.
40883         * tests/test-xstrtol.c (print_no_progname): New function.
40884         (main): Install it in error_print_progname hook.
40885         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
40886         * tests/test-xstrtoimax.sh: Likewise.
40887         * tests/test-xstrtoumax.sh: Likewise.
40888
40889 2008-04-21  Bruno Haible  <bruno@clisp.org>
40890
40891         Fix test failure on mingw.
40892         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
40893
40894 2008-04-21  Bruno Haible  <bruno@clisp.org>
40895
40896         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
40897         Actually assign a value.
40898
40899 2008-04-20  Bruno Haible  <bruno@clisp.org>
40900
40901         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
40902         take 2.
40903         * lib/canonicalize.c (canonicalize_file_name): Elide if the
40904         'canonicalize-lgpl' module is also used.
40905         * lib/canonicalize-lgpl.c: Undo last change.
40906         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
40907
40908 2008-04-20  Bruno Haible  <bruno@clisp.org>
40909
40910         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
40911         config.h. Provide _mkdir based fallback for mingw.
40912         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
40913         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
40914         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
40915         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
40916         rather than defining mkdir in config.h.
40917         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
40918         (gl_SYS_STAT_H_DEFAULTS): New macro.
40919         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
40920         HAVE_IO_H any more.
40921         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
40922         HAVE_DECL_MKDIR and HAVE_IO_H.
40923
40924 2008-04-20  Bruno Haible  <bruno@clisp.org>
40925
40926         * lib/isapipe.c: Port to native Windows platforms.
40927
40928 2008-04-20  Bruno Haible  <bruno@clisp.org>
40929
40930         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
40931
40932 2008-04-21  Eric Blake  <ebb9@byu.net>
40933
40934         Work around preprocessors that don't handle UINTMAX_MAX.
40935         * lib/memchr2.c (memchr2): Avoid embedded #if.
40936         Reported by Alain Guibert, fix suggested by Bruno Haible.
40937
40938 2008-04-21  Simon Josefsson  <simon@josefsson.org>
40939
40940         * doc/posix-functions/strftime.texi (strftime): Explain better
40941         Windows incompatibility.  Suggested by Micah Cowan
40942         <micah@cowan.name>.
40943
40944 2008-04-20  Bruno Haible  <bruno@clisp.org>
40945
40946         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
40947         unistr/u8-mblen.
40948
40949 2008-04-20  Bruno Haible  <bruno@clisp.org>
40950
40951         Fix test failure on platforms with non-GNU iconv.
40952         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
40953         (U_TO_U8): Use it, rather than u16_to_u8.
40954         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
40955         units at the end of the input string.
40956         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
40957
40958 2008-04-20  Bruno Haible  <bruno@clisp.org>
40959
40960         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
40961         when the resulting length is 0.
40962         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
40963
40964 2008-04-20  Bruno Haible  <bruno@clisp.org>
40965
40966         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
40967         works.
40968         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
40969
40970 2008-04-20  Bruno Haible  <bruno@clisp.org>
40971
40972         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
40973         * modules/tsearch-tests (configure.ac): Test for initstate function.
40974
40975 2008-04-20  Bruno Haible  <bruno@clisp.org>
40976
40977         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
40978         for nlink_t if missing.
40979         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
40980
40981 2008-04-19  Bruno Haible  <bruno@clisp.org>
40982
40983         Work around snprintf bug on Linux libc5.
40984         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
40985         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40986         gl_SNPRINTF_SIZE1.
40987         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40988         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
40989         that test failed.
40990         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
40991         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
40992         * modules/snprintf (Files): Add m4/printf.m4.
40993         * modules/vsnprintf (Files): Likewise.
40994         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
40995         * doc/posix-functions/vsnprintf.texi: Likewise.
40996
40997 2008-04-19  Bruno Haible  <bruno@clisp.org>
40998
40999         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
41000         from 0.0058 to less than 10^-7.
41001
41002 2008-04-19  Bruno Haible  <bruno@clisp.org>
41003
41004         Fix rounding when a precision is given.
41005         * lib/vasnprintf.c (is_borderline): New function.
41006         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
41007         9...9x.
41008         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
41009         %e, %g.
41010         * tests/test-vasprintf-posix.c (test_function): Likewise.
41011         * tests/test-snprintf-posix.h (test_function): Likewise.
41012         * tests/test-sprintf-posix.h (test_function): Likewise.
41013         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
41014         * tests/test-printf-posix.h (test_function): Likewise.
41015         * tests/test-printf-posix.output: Update.
41016         Reported by John Darrington <john@darrington.wattle.id.au> via
41017         Ben Pfaff <blp@cs.stanford.edu>.
41018
41019 2008-04-18  Simon Josefsson  <simon@josefsson.org>
41020
41021         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
41022         Suggested by Bruno Haible <bruno@clisp.org>.
41023
41024 2008-04-17  Bruno Haible  <bruno@clisp.org>
41025
41026         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
41027         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
41028         implementation.
41029         Patch by Bruce Merry <bmerry@gmail.com>.
41030
41031 2008-04-17  Simon Josefsson  <simon@josefsson.org>
41032
41033         * doc/posix-functions/strftime.texi (strftime): Mention that %e
41034         doesn't work under Windows.
41035
41036 2008-04-16  Bruno Haible  <bruno@clisp.org>
41037
41038         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
41039         New macros.
41040         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
41041         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
41042         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
41043         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
41044         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
41045         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
41046         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
41047         macros.
41048         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
41049         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
41050         Northern Sotho, Uighur.
41051
41052 2008-04-16  Bruno Haible  <bruno@clisp.org>
41053
41054         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
41055         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
41056         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
41057         Reported by Daniel Bergström <daniel@octocode.com>.
41058
41059 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
41060             Bruno Haible  <bruno@clisp.org>
41061
41062         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
41063         function.
41064         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
41065         New functions, mostly extracted from gl_locale_name_default.
41066         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
41067
41068 2008-04-16  Eric Blake  <ebb9@byu.net>
41069
41070         Adjust strtod detection to catch glibc 2.7 bug.
41071         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
41072         Reported by John Gatewood Ham.
41073
41074 2008-04-16  Bruno Haible  <bruno@clisp.org>
41075
41076         Add tentative support for Linux libc5.
41077         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
41078         * lib/fpurge.c (fpurge): Likewise.
41079         * lib/freadable.c (freadable): Likewise.
41080         * lib/freadahead.c (freadahead): Likewise.
41081         * lib/freading.c (freading): Likewise.
41082         * lib/freadptr.c (freadptr): Likewise.
41083         * lib/freadseek.c (freadptrinc): Likewise.
41084         * lib/fseeko.c (rpl_fseeko): Likewise.
41085         * lib/fseterr.c (fseterr): Likewise.
41086         * lib/fwritable.c (fwritable): Likewise.
41087         * lib/fwriting.c (fwriting): Likewise.
41088         Reported by Alain Guibert <alguibert+bts@free.fr>.
41089
41090 2008-04-15  Bruno Haible  <bruno@clisp.org>
41091
41092         * modules/mathl (configure.ac): Define module indicator.
41093
41094 2008-04-15  Bruno Haible  <bruno@clisp.org>
41095
41096         * lib/logl.c (logl): Remove unused variables.
41097
41098 2008-04-15  Bruno Haible  <bruno@clisp.org>
41099
41100         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
41101         fails.
41102
41103 2008-04-15  Bruno Haible  <bruno@clisp.org>
41104
41105         * lib/trim.c (trim2): Fix argument of isspace() macro.
41106
41107 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
41108
41109         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
41110         to 0.
41111         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
41112
41113 2008-04-14  Bruno Haible  <bruno@clisp.org>
41114
41115         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
41116         AC_LANG_PROGRAM argument.
41117         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
41118         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
41119         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41120         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
41121         * m4/math_h.m4 (gl_MATH_H): Likewise.
41122         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
41123         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41124         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
41125         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
41126         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
41127         * m4/regex.m4 (gl_REGEX): Likewise.
41128         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
41129         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
41130         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41131         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
41132         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
41133         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41134         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41135         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
41136
41137 2008-04-14  Jim Meyering  <meyering@redhat.com>
41138
41139         test-strtod: fix typos: s/abs/fabs/
41140         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
41141
41142 2008-04-13  Bruno Haible  <bruno@clisp.org>
41143
41144         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
41145         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
41146         module is also used and while not building the reloc-wrapper.
41147
41148 2008-04-13  Bruno Haible  <bruno@clisp.org>
41149
41150         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
41151
41152 2008-04-13  Bruno Haible  <bruno@clisp.org>
41153
41154         Fix AIX compilation failure introduced on 2008-04-02.
41155         * tests/test-frexp.c (exp): Undefine before redefining.
41156         * tests/test-frexpl.c (exp): Likewise.
41157
41158 2008-04-13  Bruno Haible  <bruno@clisp.org>
41159
41160         Work around a HP-UX stdio bug.
41161         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
41162         * tests/test-ftello.c (main): Likewise.
41163         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
41164         * doc/posix-functions/ftello.texi: Likewise.
41165
41166 2008-04-13  Bruno Haible  <bruno@clisp.org>
41167
41168         Make test-signbit pass on HP-UX/hppa.
41169         * tests/test-signbit.c (minus_zerol): New variable.
41170         (test_signbitl): Use it.
41171
41172 2008-04-13  Bruno Haible  <bruno@clisp.org>
41173
41174         Make truncl work on OSF/1 4.0.
41175         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
41176         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41177         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41178         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
41179         HAVE_DECL_TRUNCL.
41180         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
41181         HAVE_DECL_TRUNCL.
41182         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
41183
41184 2008-04-13  Bruno Haible  <bruno@clisp.org>
41185
41186         * lib/unictype.h: Remove trailing comma from enumeration definitions.
41187
41188 2008-04-13  Bruno Haible  <bruno@clisp.org>
41189
41190         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
41191         expression, so as to avoid HP-UX 11 cc compiler bug.
41192
41193 2008-04-13  Bruno Haible  <bruno@clisp.org>
41194
41195         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
41196
41197 2008-04-13  Bruno Haible  <bruno@clisp.org>
41198
41199         * lib/git-merge-changelog.c: Remove empty declaration outside of
41200         functions.
41201
41202 2008-04-13  Bruno Haible  <bruno@clisp.org>
41203
41204         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
41205
41206 2008-04-13  Bruno Haible  <bruno@clisp.org>
41207
41208         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
41209         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
41210         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
41211         also if it exists but lacks definitions of the SHUT_* macros.
41212         * modules/sys_socket (Description): Update.
41213         Reported by Elbert Pol <e.pol@chello.nl>.
41214
41215 2008-04-13  Bruno Haible  <bruno@clisp.org>
41216
41217         * lib/localcharset.c (OS2): Don't redefine if already defined.
41218         Reported by Elbert Pol <e.pol@chello.nl>.
41219
41220 2008-04-13  Bruno Haible  <bruno@clisp.org>
41221
41222         * lib/binary-io.h [__EMX__]: Include <io.h>.
41223         Reported by Elbert Pol <e.pol@chello.nl>.
41224
41225 2008-04-12  Bruno Haible  <bruno@clisp.org>
41226
41227         * lib/fpucw.h: Enable the definitions also for x86_64.
41228         Needed for NetBSD/x86_64.
41229         Reported by Thomas Klausner <tk@giga.or.at>.
41230
41231 2008-04-12  Bruno Haible  <bruno@clisp.org>
41232
41233         * tests/test-strtod.c: Include isnand.h.
41234         (main): Use isnand instead of isnan.
41235         Reported by Jim Meyering.
41236
41237 2008-04-12  Bruno Haible  <bruno@clisp.org>
41238
41239         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
41240         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
41241
41242 2008-04-12  Jim Meyering  <meyering@redhat.com>
41243
41244         * m4/math_h.m4 (gl_MATH_H): Fix typos.
41245
41246 2008-04-12  Bruno Haible  <bruno@clisp.org>
41247
41248         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
41249         Reported by Elbert Pol <e.pol@chello.nl>.
41250
41251 2008-04-12  Eric Blake  <ebb9@byu.net>
41252
41253         Work around Solaris 10 math.h bug.
41254         * m4/math_h.m4 (gl_MATH_H): Check for bug.
41255         (gl_MATH_H_DEFAULTS): Set up default.
41256         * modules/math (Makefile.am): Replace new indicators.
41257         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
41258         * tests/test-math.c (main): Test this.
41259         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
41260         * doc/posix-headers/math.texi (math.h): Mention bug.
41261         Reported by Nelson H. F. Beebe and Jim Meyering.
41262
41263 2008-04-11  Bruno Haible  <bruno@clisp.org>
41264
41265         Adapt to future versions of Apple GCC.
41266         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
41267         Reported by Peter O'Gorman <peter@pogma.com>.
41268
41269 2008-04-11  Bruno Haible  <bruno@clisp.org>
41270
41271         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
41272
41273 2008-04-11  Bruno Haible  <bruno@clisp.org>
41274
41275         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
41276
41277         * modules/getaddrinfo-tests (Makefile.am): Define
41278         test_getaddrinfo_LDADD.
41279
41280 2008-04-11  Bruno Haible  <bruno@clisp.org>
41281
41282         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
41283         (init): Fix syntax error.
41284         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
41285         is declared.
41286
41287 2008-04-11  Bruno Haible  <bruno@clisp.org>
41288
41289         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
41290         * modules/glob (Depends-on): Add stdbool.
41291
41292 2008-04-11  Bruno Haible  <bruno@clisp.org>
41293
41294         * lib/trim.c: Include <string.h>.
41295
41296 2008-04-11  Eric Blake  <ebb9@byu.net>
41297
41298         Avoid compile failure on OS/2.
41299         * lib/regex_internal.h (internal_function): Disable optimization
41300         on OS/2 (__EMX__), where it caused compiler error.
41301         Reported by Elbert Pol.
41302
41303 2008-04-11  Bruno Haible  <bruno@clisp.org>
41304
41305         Flush the standard error stream before aborting. Needed on mingw.
41306         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
41307         * tests/test-array_list.c (ASSERT): Likewise.
41308         * tests/test-array_oset.c (ASSERT): Likewise.
41309         * tests/test-avltree_list.c (ASSERT): Likewise.
41310         * tests/test-avltree_oset.c (ASSERT): Likewise.
41311         * tests/test-avltreehash_list.c (ASSERT): Likewise.
41312         * tests/test-binary-io.c (ASSERT): Likewise.
41313         * tests/test-byteswap.c (ASSERT): Likewise.
41314         * tests/test-c-ctype.c (ASSERT): Likewise.
41315         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
41316         * tests/test-c-strcasestr.c (ASSERT): Likewise.
41317         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
41318         * tests/test-c-strstr.c (ASSERT): Likewise.
41319         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
41320         * tests/test-canonicalize.c (ASSERT): Likewise.
41321         * tests/test-carray_list.c (ASSERT): Likewise.
41322         * tests/test-ceilf1.c (ASSERT): Likewise.
41323         * tests/test-ceilf2.c (ASSERT): Likewise.
41324         * tests/test-ceill.c (ASSERT): Likewise.
41325         * tests/test-count-one-bits.c (ASSERT): Likewise.
41326         * tests/test-fbufmode.c (ASSERT): Likewise.
41327         * tests/test-fflush2.c (ASSERT): Likewise.
41328         * tests/test-floorf1.c (ASSERT): Likewise.
41329         * tests/test-floorf2.c (ASSERT): Likewise.
41330         * tests/test-floorl.c (ASSERT): Likewise.
41331         * tests/test-fopen.c (ASSERT): Likewise.
41332         * tests/test-fpending.c (ASSERT): Likewise.
41333         * tests/test-fprintf-posix.c (ASSERT): Likewise.
41334         * tests/test-fpurge.c (ASSERT): Likewise.
41335         * tests/test-freadable.c (ASSERT): Likewise.
41336         * tests/test-freadahead.c (ASSERT): Likewise.
41337         * tests/test-freading.c (ASSERT): Likewise.
41338         * tests/test-freadptr.c (ASSERT): Likewise.
41339         * tests/test-freadptr2.c (ASSERT): Likewise.
41340         * tests/test-freadseek.c (ASSERT): Likewise.
41341         * tests/test-freopen.c (ASSERT): Likewise.
41342         * tests/test-frexp.c (ASSERT): Likewise.
41343         * tests/test-frexpl.c (ASSERT): Likewise.
41344         * tests/test-fseek.c (ASSERT): Likewise.
41345         * tests/test-fseeko.c (ASSERT): Likewise.
41346         * tests/test-fstrcmp.c (ASSERT): Likewise.
41347         * tests/test-ftell.c (ASSERT): Likewise.
41348         * tests/test-ftello.c (ASSERT): Likewise.
41349         * tests/test-func.c (ASSERT): Likewise.
41350         * tests/test-fwritable.c (ASSERT): Likewise.
41351         * tests/test-fwriting.c (ASSERT): Likewise.
41352         * tests/test-getdelim.c (ASSERT): Likewise.
41353         * tests/test-getline.c (ASSERT): Likewise.
41354         * tests/test-i-ring.c (ASSERT): Likewise.
41355         * tests/test-iconv-utf.c (ASSERT): Likewise.
41356         * tests/test-iconv.c (ASSERT): Likewise.
41357         * tests/test-isfinite.c (ASSERT): Likewise.
41358         * tests/test-isnand.c (ASSERT): Likewise.
41359         * tests/test-isnanf.c (ASSERT): Likewise.
41360         * tests/test-isnanl.h (ASSERT): Likewise.
41361         * tests/test-ldexpl.c (ASSERT): Likewise.
41362         * tests/test-linked_list.c (ASSERT): Likewise.
41363         * tests/test-linkedhash_list.c (ASSERT): Likewise.
41364         * tests/test-localename.c (ASSERT): Likewise.
41365         * tests/test-lseek.c (ASSERT): Likewise.
41366         * tests/test-mbscasecmp.c (ASSERT): Likewise.
41367         * tests/test-mbscasestr1.c (ASSERT): Likewise.
41368         * tests/test-mbscasestr2.c (ASSERT): Likewise.
41369         * tests/test-mbscasestr3.c (ASSERT): Likewise.
41370         * tests/test-mbscasestr4.c (ASSERT): Likewise.
41371         * tests/test-mbschr.c (ASSERT): Likewise.
41372         * tests/test-mbscspn.c (ASSERT): Likewise.
41373         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
41374         * tests/test-mbspbrk.c (ASSERT): Likewise.
41375         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
41376         * tests/test-mbsrchr.c (ASSERT): Likewise.
41377         * tests/test-mbsspn.c (ASSERT): Likewise.
41378         * tests/test-mbsstr1.c (ASSERT): Likewise.
41379         * tests/test-mbsstr2.c (ASSERT): Likewise.
41380         * tests/test-mbsstr3.c (ASSERT): Likewise.
41381         * tests/test-memchr2.c (ASSERT): Likewise.
41382         * tests/test-memmem.c (ASSERT): Likewise.
41383         * tests/test-open.c (ASSERT): Likewise.
41384         * tests/test-printf-frexp.c (ASSERT): Likewise.
41385         * tests/test-printf-frexpl.c (ASSERT): Likewise.
41386         * tests/test-printf-posix.c (ASSERT): Likewise.
41387         * tests/test-quotearg.c (ASSERT): Likewise.
41388         * tests/test-rbtree_list.c (ASSERT): Likewise.
41389         * tests/test-rbtree_oset.c (ASSERT): Likewise.
41390         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
41391         * tests/test-round1.c (ASSERT): Likewise.
41392         * tests/test-roundf1.c (ASSERT): Likewise.
41393         * tests/test-roundl.c (ASSERT): Likewise.
41394         * tests/test-signbit.c (ASSERT): Likewise.
41395         * tests/test-sleep.c (ASSERT): Likewise.
41396         * tests/test-snprintf-posix.c (ASSERT): Likewise.
41397         * tests/test-snprintf.c (ASSERT): Likewise.
41398         * tests/test-sprintf-posix.c (ASSERT): Likewise.
41399         * tests/test-stat-time.c (ASSERT): Likewise.
41400         * tests/test-strcasestr.c (ASSERT): Likewise.
41401         * tests/test-strerror.c (ASSERT): Likewise.
41402         * tests/test-striconv.c (ASSERT): Likewise.
41403         * tests/test-striconveh.c (ASSERT): Likewise.
41404         * tests/test-striconveha.c (ASSERT): Likewise.
41405         * tests/test-strsignal.c (ASSERT): Likewise.
41406         * tests/test-strstr.c (ASSERT): Likewise.
41407         * tests/test-strtod.c (ASSERT): Likewise.
41408         * tests/test-trunc1.c (ASSERT): Likewise.
41409         * tests/test-trunc2.c (ASSERT): Likewise.
41410         * tests/test-truncf1.c (ASSERT): Likewise.
41411         * tests/test-truncf2.c (ASSERT): Likewise.
41412         * tests/test-truncl.c (ASSERT): Likewise.
41413         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
41414         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
41415         * tests/test-vasnprintf.c (ASSERT): Likewise.
41416         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
41417         * tests/test-vasprintf.c (ASSERT): Likewise.
41418         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
41419         * tests/test-vprintf-posix.c (ASSERT): Likewise.
41420         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
41421         * tests/test-vsnprintf.c (ASSERT): Likewise.
41422         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
41423         * tests/test-wcwidth.c (ASSERT): Likewise.
41424         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
41425         * tests/test-xprintf-posix.c (ASSERT): Likewise.
41426         * tests/test-xvasprintf.c (ASSERT): Likewise.
41427         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
41428         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
41429         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
41430         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
41431         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
41432         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
41433         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
41434         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
41435         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
41436         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
41437         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
41438         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
41439         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
41440         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
41441         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
41442         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
41443         * tests/unictype/test-block_list.c (ASSERT): Likewise.
41444         * tests/unictype/test-block_of.c (ASSERT): Likewise.
41445         * tests/unictype/test-block_test.c (ASSERT): Likewise.
41446         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
41447         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
41448         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
41449         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
41450         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
41451         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
41452         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
41453         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
41454         * tests/unictype/test-combining.c (ASSERT): Likewise.
41455         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
41456         * tests/unictype/test-digit.c (ASSERT): Likewise.
41457         * tests/unictype/test-mirror.c (ASSERT): Likewise.
41458         * tests/unictype/test-numeric.c (ASSERT): Likewise.
41459         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
41460         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
41461         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
41462         * tests/unictype/test-scripts.c (ASSERT): Likewise.
41463         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
41464         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
41465         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
41466         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
41467         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
41468         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
41469         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
41470         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
41471         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
41472         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
41473         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
41474         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
41475         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
41476         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
41477         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
41478         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
41479         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
41480         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
41481         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
41482         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
41483         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
41484         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
41485         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
41486         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
41487         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
41488         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
41489         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
41490         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
41491         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
41492         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
41493         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
41494         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
41495         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
41496         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
41497         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
41498         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
41499         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
41500         Reported by Eric Blake.
41501
41502 2008-04-11  Bruno Haible  <bruno@clisp.org>
41503
41504         * lib/wchar.in.h: Tweak comment.
41505
41506 2008-04-11  Bruno Haible  <bruno@clisp.org>
41507
41508         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
41509         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
41510         gl_COMMON.
41511         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
41512
41513 2008-04-11  Bruno Haible  <bruno@clisp.org>
41514
41515         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
41516
41517 2008-04-11  Simon Josefsson  <simon@josefsson.org>
41518
41519         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
41520         of attempting to use non-existing /dev/*random.  Based on patch
41521         from Adam Strzelecki <ono@java.pl> in
41522         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
41523
41524 2008-04-08  Bruno Haible  <bruno@clisp.org>
41525
41526         Add tentative support for emx+gcc.
41527         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
41528         * lib/fpurge.c (fpurge): Likewise.
41529         * lib/freadable.c (freadable): Likewise.
41530         * lib/freadahead.c (freadahead): Likewise.
41531         * lib/freading.c (freading): Likewise.
41532         * lib/freadptr.c (freadptr): Likewise.
41533         * lib/freadseek.c (freadptrinc): Likewise.
41534         * lib/fseeko.c (rpl_fseeko): Likewise.
41535         * lib/fseterr.c (fseterr): Likewise.
41536         * lib/fwritable.c (fwritable): Likewise.
41537         * lib/fwriting.c (fwriting): Likewise.
41538         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
41539
41540 2008-04-09  Eric Blake  <ebb9@byu.net>
41541
41542         Avoid some autoconf warnings.
41543         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
41544         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
41545         * m4/afs.m4 (gl_AFS): Likewise.
41546         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
41547         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
41548         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41549         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
41550         (gl_INTEGER_TYPE_SUFFIX): Likewise.
41551         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
41552         (AC_CHECK_DECLS_ONCE): Likewise.
41553         Rename file...
41554         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
41555         gnulib-tool requires autoconf 2.59 or better.
41556         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
41557
41558 2008-04-08  Eric Blake  <ebb9@byu.net>
41559
41560         Use 'git describe --match' if present (added in git 1.5.5).
41561         * build-aux/git-version-gen: Limit result to tags that match 'v*'
41562         if possible.
41563
41564 2008-04-08  Bruno Haible  <bruno@clisp.org>
41565
41566         Add tentative support for OpenServer.
41567         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
41568         _ptr, _cnt.
41569         * lib/fpurge.c (fpurge): Likewise.
41570         * lib/freadable.c (freadable): Likewise.
41571         * lib/freadahead.c (freadahead): Likewise.
41572         * lib/freading.c (freading): Likewise.
41573         * lib/freadptr.c (freadptr): Likewise.
41574         * lib/freadseek.c (freadptrinc): Likewise.
41575         * lib/fseeko.c (rpl_fseeko): Likewise.
41576         * lib/fseterr.c (fseterr): Likewise.
41577         * lib/fwritable.c (fwritable): Likewise.
41578         * lib/fwriting.c (fwriting): Likewise.
41579         Reported by Roger Cornelius <rac@tenzing.org> and
41580         Brian K. White <brian@aljex.com>.
41581
41582 2008-04-06  Jim Meyering  <meyering@redhat.com>
41583
41584         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
41585
41586 2008-04-06  Bruno Haible  <bruno@clisp.org>
41587
41588         Avoid possible error with non-ASCII bytes in UTF-8 locales.
41589         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
41590         * tests/test-printf-posix.sh: Likewise.
41591         * tests/test-vfprintf-posix.sh: Likewise.
41592         * tests/test-vprintf-posix.sh: Likewise.
41593         * tests/test-xprintf-posix.sh: Likewise.
41594
41595 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41596
41597         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
41598         hide error from 'ls', needed on OS/2.
41599         Report by Elbert Pol <elbert.pol@gmail.com>.
41600
41601 2008-04-04  Eric Blake  <ebb9@byu.net>
41602
41603         Make test-fseeko.c failures meaningful.
41604         * tests/test-fseeko.c: Print line number on failure.
41605         * tests/test-fseek.c: Likewise.
41606         Reported by Nelson H. F. Beebe.
41607
41608         Improve strtod bug detection check.
41609         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
41610         required for Solaris 10.
41611         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
41612
41613 2008-04-04  Bruno Haible  <bruno@clisp.org>
41614
41615         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
41616         by m4/setenv.m4.
41617
41618 2008-04-03  Eric Blake  <ebb9@byu.net>
41619
41620         Ensure sane .version contents.
41621         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
41622         version string.
41623         * build-aux/git-version-gen: Improve documentation.
41624
41625         Make GNU make output nicer.
41626         * top/GNUmakefile [!_have-Makefile]: Add dependency on
41627         MAKECMDGOALS to enforce message for all command line targets.  Set
41628         srcdir for use in maint.mk.
41629
41630         Another maintainer tweak.
41631         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
41632         a target that regenerates version.
41633
41634 2008-04-03  Jim Meyering  <meyering@redhat.com>
41635
41636         vc-list-files: don't cause coreutils "make po-check" failure
41637         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
41638
41639 2008-04-03  Eric Blake  <ebb9@byu.net>
41640
41641         Allow VPATH usage of vc-list-files.
41642         * build-aux/vc-list-files (scriptversion): Add timestamp.
41643         (options): Add --help, --version, -C.
41644         (CVS): Support installed cvsu.
41645
41646 2008-04-02  Bruno Haible  <bruno@clisp.org>
41647
41648         Avoid some "statement with no effect" warnings from gcc.
41649         * tests/test-wctype.c (main): Explicitly ignore unused values.
41650         Reported by Jim Meyering.
41651
41652 2008-04-02  Jim Meyering  <meyering@redhat.com>
41653
41654         Avoid some warnings from "gcc -Wshadow".
41655         * tests/test-frexp.c (exp): Define to a different identifier.
41656         * tests/test-frexpl.c (exp): Likewise.
41657
41658 2008-04-03  Jim Meyering  <meyering@redhat.com>
41659
41660         bootstrap: remove dangling *.[ch] symlinks from lib
41661         * build-aux/bootstrap [dangling symlink removal]: Move find's
41662         -depth option to precede all others, to avoid a warning.
41663         Remove *.[ch] files too, and from "$source_base" (usually lib/).
41664
41665 2008-04-02  Bruno Haible  <bruno@clisp.org>
41666
41667         Avoid some warnings from "gcc -Wshadow".
41668         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
41669         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
41670         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
41671         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
41672         Reported by Jim Meyering.
41673
41674 2008-04-01  Bruno Haible  <bruno@clisp.org>
41675
41676         Fix test to work on IRIX 6.5 with cc.
41677         * tests/test-math.c (numeric_equal): New function.
41678         (main): Use it.
41679
41680 2008-04-01  Bruno Haible  <bruno@clisp.org>
41681
41682         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
41683
41684 2008-04-01  Bruno Haible  <bruno@clisp.org>
41685
41686         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
41687         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41688         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
41689         (Depends-on): Remove math.
41690
41691         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
41692         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41693         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
41694         (Depends-on): Remove math.
41695
41696         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
41697         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41698         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
41699         (Depends-on): Remove math.
41700         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
41701         (Depends-on): Remove math.
41702
41703         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
41704         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41705         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
41706         (Depends-on): Remove math.
41707         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
41708         (Depends-on): Remove math.
41709
41710         * tests/test-round1.c: Include nan.h.
41711         (main): Use NaNd instead of NAN.
41712         * modules/round-tests (Files): Add tests/nan.h.
41713
41714         * tests/test-trunc1.c: Include nan.h.
41715         (main): Use NaNd instead of NAN.
41716         * modules/trunc-tests (Files): Add tests/nan.h.
41717
41718         * tests/test-roundf1.c: Include nan.h.
41719         (main): Use NaNf instead of NAN.
41720         * modules/roundf-tests (Files): Add tests/nan.h.
41721
41722         * tests/test-truncf1.c: Include nan.h.
41723         (main): Use NaNf instead of NAN.
41724         * modules/truncf-tests (Files): Add tests/nan.h.
41725
41726         * tests/test-ceilf1.c: Include nan.h.
41727         (main): Use NaNf instead of NAN.
41728         * modules/ceilf-tests (Files): Add tests/nan.h.
41729
41730         * tests/test-floorf1.c: Include nan.h.
41731         (main): Use NaNf instead of NAN.
41732         * modules/floorf-tests (Files): Add tests/nan.h.
41733
41734         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
41735         (main): Use NaNf instead of NAN.
41736         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
41737
41738         * tests/test-isnand.c: Include nan.h instead of <math.h>.
41739         (main): Use NaNd instead of NAN.
41740         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
41741
41742         * tests/test-frexp.c: Include nan.h.
41743         (main): Use NaNd instead of NAN.
41744         * modules/frexp-tests (Files): Add tests/nan.h.
41745
41746         * lib/isnan.c: Don't include <math.h>.
41747         (FUNC): Don't use NAN macro.
41748         * modules/isnand-nolibm (Depends-on): Remove math.
41749         * modules/isnanf-nolibm (Depends-on): Remove math.
41750         * modules/isnanl (Depends-on): Remove math.
41751         * modules/isnanl-nolibm (Depends-on): Remove math.
41752
41753         * tests/nan.h: New file.
41754
41755 2008-04-01  Eric Blake  <ebb9@byu.net>
41756
41757         Fix typos.
41758         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
41759         values to be the right type.
41760
41761         For now, cater to gnulib strtod inaccuracies.
41762         * tests/test-strtod.c (main): Allow 1-ulp error on expected
41763         fractional results.  While not as nice from a QoI perspective, it
41764         is a quicker patch than correctly implementing decimal to binary
41765         rounding.
41766
41767 2008-03-31  Eric Blake  <ebb9@byu.net>
41768
41769         Guarantee a definition of NAN.
41770         * lib/math.in.h (NAN): Define if missing.
41771         * tests/test-math.c (main): Test it.
41772         * doc/posix-headers/math.texi (math.h): Document this.
41773         * lib/isnan.c (rpl_isnand): Use it.
41774         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
41775         * tests/test-floorf1.c (NaN): Likewise.
41776         * tests/test-frexp.c (NaN): Likewise.
41777         * tests/test-isnand.c (NaN): Likewise.
41778         * tests/test-isnanf.c (NaN): Likewise.
41779         * tests/test-round1.c (NaN): Likewise.
41780         * tests/test-roundf1.c (NaN): Likewise.
41781         * tests/test-snprintf-posix.h (NaN): Likewise.
41782         * tests/test-sprintf-posix.h (NaN): Likewise.
41783         * tests/test-trunc1.c (NaN): Likewise.
41784         * tests/test-truncf1.c (NaN): Likewise.
41785         * tests/test-vasnprintf-posix.c (NaN): Likewise.
41786         * tests/test-vasprintf-posix.c (NaN): Likewise.
41787         * modules/isnand-nolibm (Depends-on): Add math.
41788         * modules/isnanf-nolibm (Depends-on): Likewise.
41789         * modules/isnanl (Depends-on): Likewise.
41790         * modules/isnanl-nolibm (Depends-on): Likewise.
41791         * modules/snprintf-posix-tests (Depends-on): Likewise.
41792         * modules/sprintf-posix-tests (Depends-on): Likewise.
41793         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
41794         * modules/vsprintf-posix-tests (Depends-on): Likewise.
41795         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
41796         * modules/vasprintf-posix-tests (Depends-on): Likewise.
41797
41798 2008-03-31  Bruno Haible  <bruno@clisp.org>
41799
41800         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
41801         * doc/posix-functions/strtod.texi: Likewise.
41802
41803 2008-03-31  Bruno Haible  <bruno@clisp.org>
41804
41805         * tests/test-strtod.c (main): Don't use C99 syntax.
41806
41807 2008-03-31  Bruno Haible  <bruno@clisp.org>
41808
41809         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
41810         Reported by Eric Blake.
41811
41812 2008-03-31  Jim Meyering  <meyering@redhat.com>
41813
41814         Don't compare actual signbit return values.
41815         * tests/test-strtod.c (main): Rather, compare only their
41816         zero/non-zero nature.
41817
41818 2008-03-31  Eric Blake  <ebb9@byu.net>
41819
41820         More strtod documentation.
41821         * doc/posix-functions/strtod.texi (strtod): Interpret more test
41822         failures as distinct bugs.
41823
41824 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41825
41826         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
41827         Problem reported by Erik Benada in
41828         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
41829
41830 2008-03-30  Bruno Haible  <bruno@clisp.org>
41831
41832         * tests/test-strtod.c: Add comments about which assertion fails on which
41833         platform.
41834         * doc/posix-functions/strtod.texi: Add info about many more platforms.
41835
41836 2008-03-30  Eric Blake  <ebb9@byu.net>
41837
41838         Test signbit behavior on zeros.
41839         * tests/test-signbit.c (test_signbitf): Add tests for zero.
41840         (test_signbitd, test_signbitl): Likewise.
41841
41842         More strtod touchups.
41843         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
41844         sign of negative underflow, for now.  Use .5, not .1.
41845         * doc/posix-functions/strtod.texi (strtod): Mention these
41846         limitations.
41847         Reported by Jim Meyering.
41848
41849 2008-03-30  Bruno Haible  <bruno@clisp.org>
41850
41851         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
41852         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
41853
41854 2008-03-30  Bruno Haible  <bruno@clisp.org>
41855
41856         Avoid failure when attempting to return empty iconv results on some
41857         platforms.
41858         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
41859         allocation, don't report ENOMEM when the resulting string is empty.
41860
41861 2008-03-30  Bruno Haible  <bruno@clisp.org>
41862
41863         Fix buffer overrun.
41864         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
41865         Don't consider the width for tmp_length. Check count against tmp_length
41866         before doing the padding. Ensure enough allocation during padding.
41867
41868 2008-03-30  Eric Blake  <ebb9@byu.net>
41869
41870         strtod touchups.
41871         * lib/strtod.c (strtod): Avoid compiler warnings.
41872         Reported by Jim Meyering.
41873
41874 2008-03-30  Bruno Haible  <bruno@clisp.org>
41875
41876         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
41877         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
41878         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
41879         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
41880         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
41881         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
41882         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
41883         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
41884
41885         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
41886         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
41887         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
41888         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
41889         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
41890         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
41891         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
41892         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
41893
41894         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
41895         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
41896         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
41897         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
41898         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
41899         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
41900         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
41901         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
41902
41903         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
41904         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
41905
41906         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
41907         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
41908
41909         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
41910         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
41911
41912         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
41913         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
41914         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
41915
41916         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
41917         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
41918         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
41919
41920         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
41921         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
41922         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
41923
41924         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
41925         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
41926         * modules/vasprintf (Depends-on): Add EOVERFLOW.
41927
41928         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
41929         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
41930         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
41931         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
41932         (Depends-on): Add EOVERFLOW.
41933         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
41934         (Depends-on): Add EOVERFLOW.
41935         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41936         (Depends-on): Add EOVERFLOW.
41937         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41938         (Depends-on): Add EOVERFLOW.
41939         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41940         (Depends-on): Add EOVERFLOW.
41941         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41942         (Depends-on): Add EOVERFLOW.
41943         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41944         (Depends-on): Add EOVERFLOW.
41945         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41946         (Depends-on): Add EOVERFLOW.
41947
41948         * lib/sprintf.c (EOVERFLOW): Remove fallback.
41949         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
41950         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
41951
41952         * lib/snprintf.c (EOVERFLOW): Remove fallback.
41953         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
41954         * modules/snprintf (Depends-on): Add EOVERFLOW.
41955
41956         * lib/poll.c (EOVERFLOW): Remove fallback.
41957         * modules/poll (Depends-on): Add EOVERFLOW.
41958
41959         * lib/getugroups.c (EOVERFLOW): Remove fallback.
41960         * modules/getugroups (Depends-on): Add EOVERFLOW.
41961
41962         * lib/getdelim.c (EOVERFLOW): Remove fallback.
41963         * modules/getdelim (Depends-on): Add EOVERFLOW.
41964
41965         * lib/ftell.c (EOVERFLOW): Remove fallback.
41966         * modules/ftell (Depends-on): Add EOVERFLOW.
41967
41968         * lib/fprintf.c (EOVERFLOW): Remove fallback.
41969         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
41970         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
41971
41972         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
41973
41974         * modules/EOVERFLOW-tests: New file.
41975         * tests/test-EOVERFLOW.c: New file.
41976
41977         * modules/EOVERFLOW: New file.
41978         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
41979
41980 2008-03-30  Bruno Haible  <bruno@clisp.org>
41981
41982         Fix bug introduced on 2007-06-10.
41983         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
41984         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
41985
41986 2008-03-30  Bruno Haible  <bruno@clisp.org>
41987
41988         Improve freadseek's efficiency after ungetc.
41989         * lib/freadseek.c: Include freadahead.h.
41990         (freadptrinc): New function, extracted from freadseek.
41991         (freadseek): Use it in a loop. Use freadahead to determine the number
41992         of loop iterations.
41993         * modules/freadseek (Depends-on): Add freadahead.
41994         (configure.ac): Require AC_C_INLINE.
41995
41996 2008-03-30  Bruno Haible  <bruno@clisp.org>
41997
41998         * lib/freadseek.c (freadseek): Don't ignore the return value of
41999         freadptr.
42000
42001 2008-03-29  Eric Blake  <ebb9@byu.net>
42002
42003         Add hex float support.
42004         * modules/strtod (Depends-on): Add c-ctype.
42005         (Link): Mention POW_LIB.
42006         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
42007         whitespace between 'e' and exponent.
42008         * tests/test-strtod.c (main): Enable hex float tests.
42009         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
42010         now provides.
42011
42012         Document various strtod bugs, with some fixes.
42013         * doc/posix-functions/strtod.texi (strtod): Document bugs with
42014         "-0x", "inf", "nan", and hex constants.
42015         * doc/posix-functions/atof.texi (atof): Likewise.
42016         * modules/stdlib (Makefile.am): Support strtod.
42017         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42018         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
42019         detect additional strtod bugs.
42020         * lib/stdlib.in.h (rpl_strtod): Add declarations.
42021         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
42022         bool where appropriate.  Parse 'inf' and 'nan'.
42023         * tests/test-strtod.c: New file.
42024         * modules/strtod (Depends-on): Add stdbool, stdlib.
42025         (configure.ac): Turn on module indicator.
42026         * modules/strtod-tests: New module.
42027
42028 2008-03-29  Eric Blake  <ebb9@byu.net>
42029
42030         Fix ftell on mingw.
42031         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
42032         * modules/ftell-tests (Depends-on): Add binary-io.
42033         * modules/ftello-tests (Depends-on): Likewise.
42034         * tests/test-ftell.c (main): Enhance test to cover behavior after
42035         ungetc.  Enforce binary mode.
42036         * tests/test-ftello.c (main): Likewise.
42037
42038         Pass test-freadseek on cygwin.
42039         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
42040         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
42041         ungetc buffer.
42042
42043         * tests/test-fflush2.c (main): Fix typo.
42044
42045 2008-03-29  Bruno Haible  <bruno@clisp.org>
42046
42047         * tests/test-fflush2.c (main): Temporarily disable the contents of
42048         this test.
42049         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
42050         Reported by Eric Blake.
42051
42052 2008-03-28  Simon Josefsson  <simon@josefsson.org>
42053
42054         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
42055         (GC_SHA224_DIGEST_SIZE): Add.
42056
42057         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
42058         (gc_hash_digest_length): Likewise.
42059         (gc_hash_buffer): Likewise.
42060
42061 2008-03-25  Bruno Haible  <bruno@clisp.org>
42062
42063         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
42064         detail which gettext release to use.
42065         Reported by Simon Josefsson.
42066
42067 2008-03-26  Jim Meyering  <meyering@redhat.com>
42068
42069         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
42070         * modules/gnumakefile (clean-GNUmakefile): Also, use
42071         test ... && ... || : syntax rather than if-then ... fi.
42072
42073         gnumakefile: Don't double-quote-expand $(VPATH) value.
42074         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
42075
42076 2008-03-24  Eric Blake  <ebb9@byu.net>
42077
42078         Alter GNUmakefile to install into top directory.
42079         * modules/maintainer-makefile: Split, and add dependency...
42080         * modules/gnumakefile: to this new module.
42081         * build-aux/GNUmakefile: Move...
42082         * top/GNUmakefile: ...here.
42083         * build-aux/maint.mk: Move...
42084         * top/maint.mk: ...here.
42085         * MODULES.html.sh (Support for maintaining...): Document new
42086         module.
42087
42088 2008-03-23  Bruno Haible  <bruno@clisp.org>
42089
42090         * gnulib-tool: New options --vc-files, --no-vc-files.
42091         (func_usage): Document them.
42092         (vc_files): New variable.
42093         (func_import): Consider vc_files.
42094         (func_create_testdir): Set vc_files to empty.
42095         Suggested by Jim Meyering and Karl Berry.
42096
42097 2008-03-23  Bruno Haible  <bruno@clisp.org>
42098
42099         Fix regex compilation error on HP-UX 11.
42100         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
42101         * modules/regex (Files): Add m4/mbstate_t.m4.
42102         Reported by Ton Voon <ton.voon@altinity.com>.
42103
42104 2008-03-23  Bruno Haible  <bruno@clisp.org>
42105
42106         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
42107
42108 2008-03-23  Eric Blake  <ebb9@byu.net>
42109             Bruno Haible  <bruno@clisp.org>
42110
42111         Install files from top/ in the destination directory.
42112         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
42113         augmentation also for the files from top/.
42114         (func_import, func_create_testdir): Rewrite file names:
42115         top/filename -> filename.
42116
42117 2008-03-23  Bruno Haible  <bruno@clisp.org>
42118
42119         Tweak "gnulib --version" output.
42120         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
42121
42122 2008-03-23  Bruno Haible  <bruno@clisp.org>
42123
42124         Tweak "gnulib --version" output.
42125         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
42126         rather than contents of ChangeLog, when possible.
42127
42128 2008-03-21  Eric Blake  <ebb9@byu.net>
42129
42130         More --version tweaks.
42131         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
42132         date of last ChangeLog entry.
42133
42134 2008-03-21  Jim Meyering  <meyering@redhat.com>
42135
42136         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
42137
42138 2008-03-20  Eric Blake  <ebb9@byu.net>
42139
42140         VPATH fix.
42141         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
42142
42143 2008-03-20  Simon Josefsson  <simon@josefsson.org>
42144
42145         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
42146         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
42147
42148 2008-03-20  Eric Blake  <ebb9@byu.net>
42149
42150         Sync GNUmakefile with coreutils.
42151         * build-aux/GNUmakefile (have-Makefile): Rename...
42152         (_have-Makefile): ...to this, for namespace consideration.
42153         (GNUmakefile.cfg): Include, if present.
42154         (_autoreconf): Define a default.
42155         (_is-dist-target): New rule for rebuilds to pick up intra-release
42156         version.
42157         (maint-cfg.mk): Rename...
42158         (cfg.mk): ...to this.
42159
42160 2008-03-18  Jim Meyering  <meyering@redhat.com>
42161
42162         New script and module: mktempd
42163         * MODULES.html.sh (maint+release support): Add mktempd.
42164         * build-aux/mktempd: New file.
42165         * modules/mktempd: New file.
42166
42167 2008-03-15  Jim Meyering  <meyering@redhat.com>
42168
42169         Undo last change.
42170         * lib/sha1.c, lib/md5.c: 63 != ~63.
42171         Reported by Andreas Schwab.
42172
42173         sha1.c, md5.c: Hoist a redundant expression.
42174         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
42175         "ctx->buflen" only once, before calling *_process_block.
42176         * lib/md5.c (md5_process_bytes): Likewise.
42177
42178 2008-03-14  Eric Blake  <ebb9@byu.net>
42179
42180         Bump copyright year in files generated by gnulib-tool.
42181         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
42182         gnulib-tool, rather than hard-coding it.
42183
42184         Fix 'gnulib-tool --version' output to work with git.
42185         * gnulib-tool (func_gnulib_dir): New function, extracted from...
42186         (startup): ...here.
42187         (func_version): Use it to invoke git-version-gen, rather than
42188         relying on CVS keyword expansion.  Modernize wording.
42189         (cvsdatestamp, last_checkin_date, version): Kill unused
42190         variables.
42191
42192 2008-03-12  Jim Meyering  <meyering@redhat.com>
42193
42194         Recognize optional cast of the argument to free.
42195         * build-aux/useless-if-before-free: Update regexps.
42196
42197         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
42198
42199 2008-03-11  Bruno Haible  <bruno@clisp.org>
42200
42201         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
42202         by a single package.
42203         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
42204         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
42205         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
42206         Reported by Sam Steingold <sds@gnu.org>.
42207
42208 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42209
42210         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
42211         repositories.
42212
42213 2008-03-11  Bruno Haible  <bruno@clisp.org>
42214
42215         Avoid conflicts between local macro definitions.
42216         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42217         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
42218
42219 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
42220             Bruno Haible  <bruno@clisp.org>
42221
42222         Make va_copy work with some version of xlc on AIX 5.1.
42223         * lib/stdarg.in.h: New file.
42224         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
42225         On AIX, use a <stdarg.h> file substitute.
42226         * modules/stdarg (Files): Add lib/stdarg.in.h.
42227         (Depends-on): Add include_next.
42228         (Makefile.am): Build a stdarg.h substitute if requested.
42229         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
42230
42231 2008-03-10  Bruno Haible  <bruno@clisp.org>
42232
42233         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
42234         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42235         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42236
42237 2008-03-10  Bruno Haible  <bruno@clisp.org>
42238
42239         * modules/stdlib (Depends-on): Add include_next, remove
42240         absolute-header.
42241
42242 2008-03-09  Bruno Haible  <bruno@clisp.org>
42243
42244         * lib/freadahead.h (freadahead): Document more precisely.
42245         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
42246         the sum of both buffer sizes.
42247         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
42248         * NEWS: Document the change.
42249
42250 2008-03-09  Bruno Haible  <bruno@clisp.org>
42251
42252         Extend freadptr to return also the buffer size.
42253         * lib/freadptr.h (freadptr): Add sizep argument.
42254         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
42255         (freadptr): Add sizep argument. Determine buffer size like freadahead
42256         does.
42257         * tests/test-freadptr.c: Don't include freadahead.h.
42258         (main): Adapt for new calling convention of freadptr.
42259         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
42260         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
42261         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
42262         tests/test-freadptr2.sh.
42263         (Depends): Remove freadahead.
42264         (TESTS): Add test-freadptr2.sh.
42265         (check_PROGRAMS): Add test-freadptr2.
42266
42267 2008-03-09  Bruno Haible  <bruno@clisp.org>
42268
42269         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
42270         Report and solution by Simon Josefsson.
42271
42272 2008-03-06  Bruno Haible  <bruno@clisp.org>
42273
42274         Make fflush after ungetc work on BSD platforms.
42275         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
42276         * tests/test-fflush2.c: New file.
42277         * tests/test-fflush2.sh: New file.
42278         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
42279         tests/test-fflush2.c.
42280         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
42281         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
42282
42283 2008-03-06  Eric Blake  <ebb9@byu.net>
42284
42285         Likewise for ftello.
42286         * modules/ftello (Dependencies): Add extensions.
42287         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
42288
42289 2008-03-06  Bruno Haible  <bruno@clisp.org>
42290
42291         * modules/fseeko (Dependencies): Add extensions.
42292         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
42293         Needed on glibc systems.
42294
42295 2008-03-06  Bruno Haible  <bruno@clisp.org>
42296
42297         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
42298         email address.
42299         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42300
42301 2008-03-06  Bruno Haible  <bruno@clisp.org>
42302
42303         * users.txt: Add libgnupdf.
42304
42305 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
42306
42307         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
42308         (Header File Substitutes, Function Substitutes,
42309         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
42310         (Build robot for gnulib): Fix typo.
42311
42312 2008-03-06  Bruno Haible  <bruno@clisp.org>
42313
42314         * doc/gnulib-tool.texi (VCS Issues): Small updates.
42315         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42316
42317 2008-03-06  Bruno Haible  <bruno@clisp.org>
42318
42319         * doc/func.texi: New file, extracted from doc/gnulib.texi.
42320         * doc/gnulib.texi: Include it.
42321
42322 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42323
42324         * modules/func (License): Change license to unlimited; there was
42325         no LGPL parts in the module anyway.
42326
42327 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42328
42329         * modules/__func__: Renamed to modules/func.
42330         * modules/__func__-tests: Renamed to modules/func-tests.
42331         * tests/test-__func__.c: Renamed to tests/test-func.c.
42332         * m4/__func__.m4: Renamed to m4/func.m4.
42333         * doc/gnulib.texi (__func__): Section renamed to func.
42334         Suggested by Eric Blake <ebb9@byu.net>.
42335
42336 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42337
42338         * doc/gnulib.texi (__func__): Use C99 terminology when talking
42339         about __func__.  Make example self-contained.  Suggested by Eric
42340         Blake <ebb9@byu.net>.
42341
42342         * tests/test-__func__.c (main): Avoid extraneous () around __func.
42343         Suggested by Eric Blake <ebb9@byu.net>.
42344
42345 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42346
42347         * modules/__func__: New file.
42348         * modules/__func__-tests: New file.
42349         * tests/test-__func__.c: New file.
42350         * m4/__func__.m4: New file.
42351         * doc/gnulib.texi (__func__): Document __func__ module.
42352
42353 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42354
42355         * modules/byteswap (License): Re-license as LGPLv2+.
42356
42357 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42358
42359         * doc/Makefile: Add pdf target.
42360
42361 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42362
42363         * modules/inline (License): Use 'unlimited', since there are only
42364         *.m4 files in this module.
42365
42366 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42367             Bruno Haible  <bruno@clisp.org>
42368
42369         Add support for HP C 7.1 on OpenVMS 8.3.
42370         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
42371
42372 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42373
42374         Update VMS specifics.
42375         * lib/getopt.c [VMS]: Remove include of unixlib.h.
42376
42377 2008-03-02  Jim Meyering  <meyering@redhat.com>
42378
42379         Remove the last dependency on the "free" module.
42380         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
42381         Reported by Bob Proulx.
42382
42383         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
42384
42385         Remove useless "if" tests before free.  Deprecate "free" module.
42386         * doc/posix-functions/free.texi: Mention that this
42387         module is no longer useful.
42388         * modules/free (Notice): Say this module is obsolete.
42389         * modules/readutmp (Depends-on): Remove free.
42390         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
42391         * lib/putenv.c (putenv): Likewise.
42392         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
42393         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
42394         * tests/test-c-strcasestr.c (main): Likewise.
42395         * tests/test-c-strstr.c (main): Likewise.
42396         * tests/test-mbscasestr1.c (main): Likewise.
42397         * tests/test-mbscasestr2.c (main): Likewise.
42398         * tests/test-mbsstr1.c (main): Likewise.
42399         * tests/test-mbsstr2.c (main): Likewise.
42400         * tests/test-memmem.c (main): Likewise.
42401         * tests/test-strcasestr.c (main): Likewise.
42402         * tests/test-striconv.c (main): Likewise.
42403         * tests/test-striconveh.c (main): Likewise.
42404         * tests/test-striconveha.c (main): Likewise.
42405         * tests/test-strstr.c (main): Likewise.
42406
42407         * build-aux/git-version-gen: Adjust a comment and the Usage string.
42408
42409         bootstrap: sync from coreutils again
42410         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
42411
42412 2008-03-01  Jim Meyering  <meyering@redhat.com>
42413
42414         bootstrap: sync from coreutils
42415         * build-aux/bootstrap (update_po_files): Copy a .po file into place
42416         also when the target doesn't exist.
42417
42418 2008-03-01  Eric Blake  <ebb9@byu.net>
42419
42420         Fix bugs in last patch.
42421         * lib/memchr2.c (memchr2): Fix typo.
42422         * tests/test-memchr2.c: Test previous bug, and don't use GNU
42423         extension.
42424         Reported by Bruce Korb.
42425
42426         New module 'memchr2'.
42427         * modules/memchr2: New file.
42428         * modules/memchr2-tests: Likewise.
42429         * lib/memchr2.h: Likewise.
42430         * lib/memchr2.c: Likewise, based on memchr.c.
42431         * tests/test-memchr2.c: New test.
42432         * MODULES.html.sh (String handling): Add memchr2.
42433
42434 2008-02-29  Bruno Haible  <bruno@clisp.org>
42435
42436         * modules/freadseek-tests: New file.
42437         * tests/test-freadseek.sh: New file.
42438         * tests/test-freadseek.c: New file.
42439
42440         New module 'freadseek'.
42441         * modules/freadseek: New file.
42442         * lib/freadseek.h: New file.
42443         * lib/freadseek.c: New file.
42444         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
42445
42446 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
42447
42448         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
42449         wydawca.
42450
42451         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
42452         program_invocation_name and program_invocation_short_name are
42453         present.
42454
42455 2008-02-28  Bruno Haible  <bruno@clisp.org>
42456
42457         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
42458         * tests/test-freadptr.sh: Also test non-seekable stdin.
42459
42460 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
42461
42462         * build-aux/bootstrap (source_base, m4_base)
42463         (doc_base, tests_base): New variables.
42464         (gnulib_tool_options): Do not hardcode base directories, use
42465         the above variables instead.
42466
42467 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
42468
42469         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
42470
42471 2008-02-28  Bruno Haible  <bruno@clisp.org>
42472
42473         * modules/freadptr-tests: New file.
42474         * tests/test-freadptr.sh: New file.
42475         * tests/test-freadptr.c: New file.
42476
42477         New module 'freadptr'.
42478         * modules/freadptr: New file.
42479         * lib/freadptr.h: New file.
42480         * lib/freadptr.c: New file.
42481         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
42482
42483 2008-02-26  Karl Berry  <karl@freefriends.org>
42484
42485         Sync from Libtool:
42486         * libltdl/argz.c (argz_add, argz_count): New functions.
42487         * libltdl/argz.in.h: Declare them.
42488         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
42489
42490 2008-02-22  Bruno Haible  <bruno@clisp.org>
42491
42492         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
42493         is a pointer type.  Needed for HP-UX 10.
42494         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
42495         * doc/posix-functions/gmtime_r.texi: Likewise.
42496         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42497
42498 2008-02-24  Bruno Haible  <bruno@clisp.org>
42499
42500         * modules/environ-tests: New file.
42501         * tests/test-environ.c: New file.
42502
42503         New module 'environ'.
42504         * modules/environ: New file.
42505         * lib/unistd.in.h (environ): New declaration.
42506         * m4/environ.m4: New file.
42507         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
42508         after use.
42509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
42510         HAVE_DECL_ENVIRON.
42511         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
42512         HAVE_DECL_ENVIRON.
42513         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
42514         wrong claim that 'environ' is missing on some systems.
42515         * modules/execute (Depends-on): Add environ.
42516         * lib/execute.c (environ): Remove fallback declaration.
42517         * modules/pipe (Depends-on): Add environ.
42518         * lib/pipe.c (environ): Remove fallback declaration.
42519         * modules/setenv (Depends-on): Add environ.
42520         * lib/setenv.c (environ): Remove fallback declaration.
42521         * modules/unsetenv (Depends-on): Add environ.
42522         * lib/unsetenv.c (environ): Remove fallback declaration.
42523         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
42524         m4/environ.m4.
42525         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
42526         (gl_PREREQ_UNSETENV): Likewise.
42527
42528 2008-02-24  Bruno Haible  <bruno@clisp.org>
42529
42530         * doc/posix-functions/environ.texi: Document the MacOS X problem.
42531
42532 2008-02-20  Bob Proulx  <bob@proulx.com>
42533
42534         Enable use of older two part flavor 'git describe'.
42535         * build-aux/git-version-gen: If using the older two part flavor of
42536         git version then recreate the third part now present in the
42537         newer three part flavor of git describe.
42538
42539 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
42540
42541         * lib/fts.c (fts_build): Typo correction to comment.
42542
42543 2008-02-17  Bruno Haible  <bruno@clisp.org>
42544
42545         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
42546         generating no-op conflicts.
42547
42548 2008-02-17  Bruno Haible  <bruno@clisp.org>
42549
42550         Speed up by 10%.
42551         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
42552         result_entries, rather than an index-based loop.
42553
42554 2008-02-17  Bruno Haible  <bruno@clisp.org>
42555
42556         Speed up by 25%.
42557         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
42558         'hashcode_cached'.
42559         (entry_create): New function.
42560         (entry_hashcode): Use the cached hashcode if possible.
42561         (read_changelog_file, try_split_merged_entry): Use entry_create.
42562
42563 2008-02-17  Bruno Haible  <bruno@clisp.org>
42564
42565         Speed up from O(n^2) to O(n) for long ChangeLog files.
42566         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
42567         (read_changelog_file): Change implementation of entries_reversed list
42568         to rbtreehash.
42569         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
42570
42571 2008-02-17  Bruno Haible  <bruno@clisp.org>
42572
42573         New option --split-merged-entry.
42574         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
42575         (find_paragraph_end, try_split_merged_entry): New functions.
42576         (long_options): Add option --split-merged-entry.
42577         (usage): Document option --split-merged-entry.
42578         (main): Implement option --split-merged-entry.
42579         Reported by Eric Blake.
42580
42581 2008-02-17  Bruno Haible  <bruno@clisp.org>
42582
42583         * lib/git-merge-changelog.c: Include c-strstr.h.
42584         (main): Support the "git pull --rebase" situation.
42585         * modules/git-merge-changelog (Depends-on): Add c-strstr.
42586         Reported by Eric Blake.
42587
42588 2008-02-16  Eric Blake  <ebb9@byu.net>
42589
42590         Avoid doubling \ in common case of "c-maybe" quoting style.
42591         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
42592         eliding outer quotes.
42593         * lib/quotearg.h: Document this.
42594         * tests/test-quotearg.c (result_strings, inputs, results_g)
42595         (flag_results, locale_results): Test it by adding a new string to
42596         each test group.
42597         (compare_strings): Test new string.
42598
42599 2008-02-13  Eric Blake  <ebb9@byu.net>
42600
42601         Avoid trigraph quoting in default output.
42602         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
42603         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
42604         unless explicitly requested.
42605         * tests/test-quotearg.c (flag_results, main): Add additional tests.
42606
42607 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
42608
42609         Don't rely on signed integer overflowing to negative value.
42610         * lib/getugroups.c (getugroups): Include <limits.h>.
42611         Instead, compare against INT_MAX, and increment only if the test passes.
42612
42613 2008-02-13  Jim Meyering  <meyering@redhat.com>
42614         and Eric Blake  <ebb9@byu.net>
42615
42616         Avoid shadowing warning and compile errors on Linux.
42617         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
42618         forwarding macros on Linux.
42619         (dcgettext): Define a stub, for Linux.
42620         (results_g, main): Avoid warnings.
42621
42622 2008-02-12  Eric Blake  <ebb9@byu.net>
42623
42624         Silence warning in last patch.
42625         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
42626
42627         Quotearg part 4: add tests, fix c-maybe colon quoting.
42628         * lib/quotearg.h: Improve documentation.
42629         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
42630         escapes when adding outer quotes.  When quoting trigraphs, use
42631         valid C notation.  When quoting NUL, omit extra characters if next
42632         character is not digit.  Alter prototype.
42633         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
42634         callers.
42635         * modules/quotearg-tests: New module.
42636         * tests/test-quotearg.c: New test.
42637
42638 2008-02-07  Eric Blake  <ebb9@byu.net>
42639
42640         Quotearg part 3: add flag to control outer quote elision.
42641         * lib/quotearg.h (c_maybe_quoting_style): New style.
42642         (enum quoting_flags): Better documentation of flags.
42643         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
42644         c-maybe style.
42645         (quotearg_buffer_restyled): Handle new flag to elide outer
42646         quotes.
42647
42648         Quotearg part 2: add flag that can control NUL elision.
42649         * lib/quotearg.h (set_quoting_flags): New prototype.
42650         * lib/quotearg.c (struct quoting_options): Add flag field.
42651         (set_quoting_flags): New function.
42652         (quotearg_buffer_restyled): Add flags parameter.
42653         (quotearg_alloc_mem): Set the flag if length cannot be returned.
42654         (quotearg_n_options): Set the flag, since length cannot be
42655         returned.
42656         (quoting_options_from_style): Default flags correctly.
42657
42658         Quotearg part 1: more wrappers, restore quotearg_char state.
42659         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
42660         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
42661         (quotearg_colon_mem): New wrappers.
42662         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
42663         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
42664         functions.
42665         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
42666         (quotearg_colon_mem): New functions.
42667
42668 2008-02-11  Bruno Haible  <bruno@clisp.org>
42669
42670         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
42671         library in the current directory: it does not work with parallel make.
42672         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42673
42674 2008-02-11  Bruno Haible  <bruno@clisp.org>
42675
42676         * .gitattributes: New file.
42677
42678 2008-02-11  Jim Meyering  <meyering@redhat.com>
42679
42680         useless-if-before-free: Fix reversed exit values.
42681         * build-aux/useless-if-before-free: Use correct values
42682         for EXIT_MATCH and EXIT_NO_MATCH.
42683
42684         * build-aux/useless-if-before-free: Close stdout carefully.
42685
42686 2008-02-10  Bruno Haible  <bruno@clisp.org>
42687
42688         New module 'git-merge-changelog'.
42689         * modules/git-merge-changelog: New file.
42690         * lib/git-merge-changelog.c: New file.
42691
42692 2008-02-10  Jim Meyering  <meyering@redhat.com>
42693
42694         useless-if-before-free: New option: --list (-l).
42695
42696         useless-if-before-free: Don't exit immediately upon open failure.
42697         * build-aux/useless-if-before-free: Exit 2 for errors.
42698         Upon failure to open a file, don't exit immediately.
42699         Rather, just warn and continue with any remaining files.
42700
42701 2008-02-10  Bruno Haible  <bruno@clisp.org>
42702
42703         New abstract list operation 'node_set_value'.
42704         * lib/gl_list.h (gl_list_node_set_value): New function.
42705         (struct gl_list_implementation): New field node_set_value.
42706         * lib/gl_list.c (gl_list_node_set_value): New function.
42707         * lib/gl_array_list.c (gl_array_node_set_value): New function.
42708         (gl_array_list_implementation): Update.
42709         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
42710         (gl_carray_list_implementation): Update.
42711         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
42712         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
42713         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
42714         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
42715         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
42716         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
42717         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
42718         Update.
42719         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
42720         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
42721         (gl_sublist_list_implementation): Update.
42722
42723 2008-02-10  Bruno Haible  <bruno@clisp.org>
42724
42725         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
42726         Needed when ELEMENT is #defined to 'some_type *'.
42727
42728 2008-02-10  Jim Meyering  <meyering@redhat.com>
42729
42730         New script and module: useless-if-before-free
42731         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
42732         * build-aux/useless-if-before-free: New file.
42733         * modules/useless-if-before-free: New file.
42734
42735         * build-aux/gitlog-to-changelog: Use committer date, not author date.
42736
42737         xstrtol_error: Fix typo.
42738         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
42739         s/exit_failure/exit_status/.
42740
42741 2008-02-09  Jim Meyering  <meyering@redhat.com>
42742
42743         New script and module: gitlog-to-changelog
42744         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
42745         * modules/gitlog-to-changelog: New file.
42746         * build-aux/gitlog-to-changelog: New file.
42747
42748 2008-02-08  Jim Meyering  <meyering@redhat.com>
42749
42750         Avoid two "parameter unused" warnings.
42751         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
42752         Mark "st" as used.
42753
42754         Use "git COMMAND", not "git-COMMAND".
42755         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
42756         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
42757         * build-aux/git-version-gen: Use "git status", not "git-status".
42758
42759 2008-02-07  Bruno Haible  <bruno@clisp.org>
42760
42761         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
42762         Avoids a crash on Windows Vista.
42763         Reported by Adam Strzelecki <ono@java.pl> via
42764         Simon Josefsson <simon@josefsson.org>.
42765
42766 2008-02-06  Bruno Haible  <bruno@clisp.org>
42767
42768         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
42769         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
42770         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
42771         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
42772         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42773         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42774         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
42775         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
42776         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42777         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42778         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42779         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42780         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42781         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42782         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42783         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
42784         left-adjust flag.
42785         * tests/test-snprintf-posix.h (test_function): Likewise.
42786         * tests/test-sprintf-posix.h (test_function): Likewise.
42787         * tests/test-vasprintf-posix.c (test_function): Likewise.
42788         * doc/posix-functions/fprintf.texi: Update.
42789         * doc/posix-functions/printf.texi: Update.
42790         * doc/posix-functions/snprintf.texi: Update.
42791         * doc/posix-functions/sprintf.texi: Update.
42792         * doc/posix-functions/vfprintf.texi: Update.
42793         * doc/posix-functions/vprintf.texi: Update.
42794         * doc/posix-functions/vsnprintf.texi: Update.
42795         * doc/posix-functions/vsprintf.texi: Update.
42796         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42797
42798 2008-02-06  Bruno Haible  <bruno@clisp.org>
42799
42800         Fix bug introduced on 2008-01-26.
42801         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
42802
42803 2008-02-06  Bruno Haible  <bruno@clisp.org>
42804
42805         Fix bug introduced on 2007-06-10.
42806         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
42807         !NEED_PRINTF_FLAG_ZERO.
42808
42809 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
42810
42811         getloadavg: use libperfstat on AIX5
42812         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
42813
42814 2008-02-03  Bruno Haible  <bruno@clisp.org>
42815
42816         * lib/diffseq.h: Add comments about required #includes.
42817         Reported by Michael Biggs <gnulib@doubleplum.net>.
42818
42819 2008-02-01  Bruno Haible  <bruno@clisp.org>
42820
42821         * users.txt: Add gnuit.
42822
42823 2008-01-31  Bruno Haible  <bruno@clisp.org>
42824
42825         * lib/md4.c (set_uint32): Mark as inline.
42826         * lib/md5.c (set_uint32): Likewise.
42827         * lib/sha1.c (set_uint32): Likewise.
42828         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
42829         * m4/md5.m4 (gl_MD5): Likewise.
42830         * m4/sha1.m4 (gl_SHA1): Likewise.
42831
42832 2008-01-31  Jim Meyering  <meyering@redhat.com>
42833
42834         Use "sizeof VAR", rather than a literal "4".
42835         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
42836         * lib/md4.c (md4_read_ctx): Likewise.
42837         * lib/sha1.c (sha1_read_ctx): Likewise.
42838
42839 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42840
42841         * tests/test-sha1.c: New file, based on test-md5.c.
42842
42843         * modules/crypto/sha1-tests: New file.
42844
42845 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42846
42847         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
42848
42849 2008-01-31  Jim Meyering  <meyering@redhat.com>
42850
42851         Prefer "sizeof v" over the equivalent "4".
42852         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
42853         * lib/md5.c (set_uint32): Likewise.
42854         * lib/sha1.c (set_uint32): Likewise.
42855
42856 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42857
42858         * lib/sha1.c (set_uint32): Mark function as static.
42859
42860 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42861
42862         md2: clarify comments to say that alignment is not required.
42863         * lib/md2.h: Remove warning about alignment in comment.
42864         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
42865         never been required.
42866
42867 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42868
42869         md4: adapt alignment constraint fix from sha1.
42870         * lib/md4.c (set_uint32): New function, from sha1.c
42871         (md4_read_ctx): Use it.
42872         (md4_finish_ctx): Doc fix.
42873         * lib/md4.h: Doc fix.
42874
42875 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42876
42877         md5: adapt alignment constraint fix from sha1.
42878         * lib/md5.c (set_uint32): New function, from sha1.c
42879         (md5_read_ctx): Use it.
42880         (md5_finish_ctx): Doc fix.
42881         * lib/md5.h: Doc fix.
42882
42883 2008-01-30  Peter Palfrader  <weasel@debian.org>
42884
42885         sha1: remove the result buffer alignment constraint
42886         * lib/sha1.c (set_uint32): New function.
42887         (sha1_read_ctx): Rewrite to remove the result buffer alignment
42888         constraint.
42889         (sha1_finish_ctx): Remove comment warning about alignment constraint.
42890         * lib/sha1.h: Likewise.
42891
42892 2008-01-30  Andreas Schwab  <schwab@suse.de>
42893             Bruno Haible  <bruno@clisp.org>
42894
42895         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
42896         correct definition of LDBL_MIN_EXP.
42897
42898 2008-01-30  Karl Berry  <karl@gnu.org>
42899
42900         * config/srclist-update: try to preserve x bit on updates.
42901         * config/srclistvars.sh: update for karl.
42902
42903 2008-01-29  Jim Meyering  <meyering@redhat.com>
42904
42905         vasnprintf.c: Avoid warning about unused label
42906         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
42907         "overflow" label definition and associated code with the
42908         same cpp condition that guards the sole use of that label.
42909
42910 2008-01-26  Bruno Haible  <bruno@clisp.org>
42911
42912         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
42913         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
42914         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
42915         * lib/isnanl-nolibm.h (isnanl): Likewise.
42916         Reported by Paul Eggert <eggert@cs.ucla.edu>.
42917
42918 2008-01-26  Bruno Haible  <bruno@clisp.org>
42919
42920         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
42921         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
42922
42923 2008-01-26  Bruno Haible  <bruno@clisp.org>
42924
42925         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
42926         GCC >= 4.0 built-in.
42927         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
42928
42929 2008-01-26  Bruno Haible  <bruno@clisp.org>
42930
42931         Rename isnan, applicable to 'double' only, to isnand.
42932         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
42933         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
42934         (configure.ac): Update.
42935         (Include): Replace "isnan.h" with "isnand.h".
42936         * m4/isnand.m4: Renamed from m4/isnan.m4.
42937         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
42938         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
42939         instead of isnan.c.
42940         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
42941         instead of HAVE_ISNAN_IN_LIBC.
42942         (isnand): Renamed from isnan.
42943         * lib/isnand.c: New file.
42944         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
42945         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
42946         (Makefile.am): Update.
42947         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
42948         Include isnand.h instead of isnan.h.
42949         (main): Test isnand instead of isnan.
42950         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
42951         isnan-nolibm.
42952         * modules/frexp (Depends-on): Likewise.
42953         * modules/frexp-tests (Depends-on): Likewise.
42954         * modules/frexp-nolibm (Depends-on): Likewise.
42955         * modules/frexp-nolibm-tests (Depends-on): Likewise.
42956         * modules/isfinite (Depends-on): Likewise.
42957         * modules/round-tests (Depends-on): Likewise.
42958         * modules/signbit (Depends-on): Likewise.
42959         * modules/signbit-tests (Depends-on): Likewise.
42960         * modules/snprintf-posix (Depends-on): Likewise.
42961         * modules/sprintf-posix (Depends-on): Likewise.
42962         * modules/trunc-tests (Depends-on): Likewise.
42963         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42964         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42965         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42966         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42967         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42968         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42969         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42970         * modules/vasnprintf-posix (Depends-on): Likewise.
42971         * modules/vasprintf-posix (Depends-on): Likewise.
42972         * modules/vfprintf-posix (Depends-on): Likewise.
42973         * modules/vsnprintf-posix (Depends-on): Likewise.
42974         * modules/vsprintf-posix (Depends-on): Likewise.
42975         * lib/frexp.c: Include isnand.h instead of isnan.h.
42976         (ISNAN): Set to isnand instead of isnan.
42977         * lib/isfinite.c: Include isnand.h instead of isnan.h.
42978         (gl_isfinited): Use isnand instead of isnan.
42979         * lib/signbitd.c: Include isnand.h instead of isnan.h.
42980         (gl_signbitd): Use isnand instead of isnan.
42981         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
42982         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
42983         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
42984         (main): Use isnand instead of isnan.
42985         * tests/test-round1.c: Include isnand.h.
42986         (main): Use isnand instead of isnan.
42987         * tests/test-round2.c: Include isnand.h instead of isnan.h.
42988         (ISNAN): Set to isnand instead of isnan.
42989         * tests/test-trunc1.c: Include isnand.h.
42990         (main): Use isnand instead of isnan.
42991         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
42992         (equal): Use isnand instead of isnan.
42993         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
42994         isnand-nolibm.
42995         * NEWS: Mention the change.
42996
42997 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
42998             Bruno Haible  <bruno@clisp.org>
42999
43000         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
43001         the GCC builtins for signbits are present and set
43002         REPLACE_SIGNBIT_USING_GCC if so.
43003         * lib/math.in.h (signbit): Define using GCC builtins if
43004         REPLACE_SIGNBIT_USING_GCC is set.
43005         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
43006         REPLACE_SIGNBIT_USING_GCC.
43007         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
43008
43009 2008-01-25  Jim Meyering  <meyering@redhat.com>
43010
43011         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
43012         * lib/poll.c: Include <config.h>, not "config.h".
43013         * tests/test-getaddrinfo.c: Likewise.
43014
43015 2008-01-25  Simon Josefsson  <simon@josefsson.org>
43016
43017         * modules/sockets-tests: New file.
43018
43019 2008-01-24  Simon Josefsson  <simon@josefsson.org>
43020
43021         * modules/sockets: New module, can be used to call WSA_Startup and
43022         WSA_Cleanup when needed.
43023
43024         * lib/sockets.h, lib/sockets.c: New files.
43025
43026         * m4/sockets.m4: New file.
43027
43028         * tests/test-sockets.c: New file.
43029
43030 2008-01-19  Bruno Haible  <bruno@clisp.org>
43031
43032         * doc/posix-headers: Renamed from doc/headers.
43033         * doc/posix-functions: Renamed from doc/functions.
43034         * doc/gnulib.texi: Update.
43035
43036 2008-01-19  Bruno Haible  <bruno@clisp.org>
43037
43038         * doc/glibc-functions/strcasestr.texi: Include contents of
43039         doc/functions/strcasestr.texi, fixing the list of platforms.
43040         * doc/functions/strcasestr.texi: Remove file.
43041
43042 2008-01-19  Bruno Haible  <bruno@clisp.org>
43043
43044         * doc/glibc-functions/memmem.texi: Include contents of
43045         doc/functions/memmem.texi.
43046         * doc/functions/memmem.texi: Remove file.
43047
43048 2008-01-18  Bruno Haible  <bruno@clisp.org>
43049
43050         * doc/glibc-functions/*.texi: New files.
43051         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
43052         to use the new files.
43053
43054 2008-01-17  Bruno Haible  <bruno@clisp.org>
43055
43056         * tests/test-gethostname.c (main): Fix printf statement.
43057
43058 2008-01-17  Simon Josefsson  <simon@josefsson.org>
43059
43060         * modules/gethostname-tests: New file.
43061
43062         * tests/test-gethostname.c: New file.
43063
43064 2008-01-17  Simon Josefsson  <simon@josefsson.org>
43065
43066         * lib/gethostname.c: Include string.h unconditionally, strncpy is
43067         used by the UNAME case.  Reported by Bruno Haible
43068         <bruno@clisp.org>.
43069
43070 2008-01-17  Eric Blake  <ebb9@byu.net>
43071
43072         Convert c-strcasestr to be more efficient.
43073         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
43074         (Depends-on): Add c-strcase, remove malloca, strnlen.
43075         * tests/test-c-strcasestr.c (main): Enhance test.
43076         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
43077
43078 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
43079
43080         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
43081         Use it in creating po/Makevars.
43082
43083 2008-01-15  Simon Josefsson  <simon@josefsson.org>
43084
43085         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
43086         Applications that requires it should initialize libgcrypt
43087         manually.
43088
43089 2008-01-16  Simon Josefsson  <simon@josefsson.org>
43090
43091         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
43092
43093 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
43094
43095         Fix problem with getdate on mingw32 reported by Simon Josefsson
43096         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
43097         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
43098         tzname", when deciding whether to declare tzname.
43099         * lib/strftime.c (tzname): Likewise.
43100
43101 2008-01-15  Bruno Haible  <bruno@clisp.org>
43102
43103         Work around a MacOS X 10.5 bug in frexpl().
43104         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
43105         * doc/functions/frexpl.texi: Document the bug.
43106         Reported by Elias Pipping <pipping@gentoo.org>.
43107
43108 2008-01-14  Eric Blake  <ebb9@byu.net>
43109
43110         Touch up previous patch.
43111         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
43112         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
43113
43114         Convert strcasestr module to use Two-Way algorithm.
43115         * modules/strcasestr-simple: New module, based on the old
43116         strcasestr, but with Two-Way rather than KMP.
43117         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
43118         * lib/string.in.h (rpl_strcasestr): Declare.
43119         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
43120         performance.
43121         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
43122         * modules/string (Makefile.am): Support strcasestr.
43123         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
43124         * modules/strcasestr-tests (Depends-on): Check for alarm.
43125         * tests/test-strcasestr.c: Augment test.
43126         * lib/str-two-way.h: Clean up stray macro.
43127         * NEWS: Document new module.
43128         * MODULES.html.sh (string handling): Likewise.
43129         * doc/functions/strcasestr.texi: New file.
43130         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
43131         here, since it is not a POSIX function.
43132
43133 2008-01-14  Colin Watson  <cjwatson@debian.org>
43134             Bruno Haible  <bruno@clisp.org>
43135
43136         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
43137         works fine; if not, set REPLACE_STRSIGNAL.
43138         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
43139         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43140         REPLACE_STRSIGNAL.
43141         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
43142         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
43143         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
43144
43145 2008-01-14  Bruno Haible  <bruno@clisp.org>
43146
43147         * modules/strsignal (Include): Change to <string.h>.
43148
43149 2008-01-14  Colin Watson  <cjwatson@debian.org>
43150
43151         * modules/argp (Notice): Add a notice recommending to change
43152         XGETTEXT_OPTIONS.
43153         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
43154
43155 2008-01-13  Colin Watson  <cjwatson@debian.org>
43156
43157         * modules/strsignal-tests: New file.
43158         * tests/test-strsignal.c: New file.
43159
43160         * lib/strsignal.c: New file, from glibc with modifications.
43161         * lib/siglist.h: New file, from glibc with modifications.
43162         * lib/string.in.h (strsignal): New declaration.
43163         * m4/strsignal.m4: New file.
43164         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43165         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
43166         * modules/strsignal: New file.
43167         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
43168         HAVE_DECL_STRSIGNAL.
43169
43170 2008-01-13  Bruno Haible  <bruno@clisp.org>
43171
43172         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
43173         locale encoding is not ASCII. Needed for OpenBSD 4.0.
43174         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43175         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43176
43177 2008-01-13  Bruno Haible  <bruno@clisp.org>
43178
43179         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
43180         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
43181         * lib/argp.h (__attribute__): Likewise.
43182         * lib/c-stack.c (__attribute__): Likewise.
43183         * lib/error.h (__attribute__): Likewise.
43184         * lib/fts.c (__attribute__): Likewise.
43185         * lib/openat.h (__attribute__): Likewise.
43186         * lib/stdio.in.h (__attribute__): Likewise.
43187         * lib/string.in.h (__attribute__): Likewise.
43188         * lib/utimens.c (__attribute__): Likewise.
43189         * lib/vasnprintf.h (__attribute__): Likewise.
43190         * lib/xalloc.h (__attribute__): Likewise.
43191         * lib/xprintf.h (__attribute__): Likewise.
43192         * lib/xstrtol.h (__attribute__): Likewise.
43193         * lib/xvasprintf.h (__attribute__): Likewise.
43194
43195 2008-01-12  Bruno Haible  <bruno@clisp.org>
43196
43197         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
43198         * doc/glibc-headers/a.out.texi: New file.
43199         * doc/glibc-headers/aliases.texi: New file.
43200         * doc/glibc-headers/alloca.texi: New file.
43201         * doc/glibc-headers/ar.texi: New file.
43202         * doc/glibc-headers/argp.texi: New file.
43203         * doc/glibc-headers/argz.texi: New file.
43204         * doc/glibc-headers/byteswap.texi: New file.
43205         * doc/glibc-headers/crypt.texi: New file.
43206         * doc/glibc-headers/endian.texi: New file.
43207         * doc/glibc-headers/envz.texi: New file.
43208         * doc/glibc-headers/err.texi: New file.
43209         * doc/glibc-headers/error.texi: New file.
43210         * doc/glibc-headers/execinfo.texi: New file.
43211         * doc/glibc-headers/fpu_control.texi: New file.
43212         * doc/glibc-headers/fstab.texi: New file.
43213         * doc/glibc-headers/fts.texi: New file.
43214         * doc/glibc-headers/getopt.texi: New file.
43215         * doc/glibc-headers/ieee754.texi: New file.
43216         * doc/glibc-headers/ifaddrs.texi: New file.
43217         * doc/glibc-headers/libintl.texi: New file.
43218         * doc/glibc-headers/mcheck.texi: New file.
43219         * doc/glibc-headers/mntent.texi: New file.
43220         * doc/glibc-headers/obstack.texi: New file.
43221         * doc/glibc-headers/paths.texi: New file.
43222         * doc/glibc-headers/printf.texi: New file.
43223         * doc/glibc-headers/pty.texi: New file.
43224         * doc/glibc-headers/resolv.texi: New file.
43225         * doc/glibc-headers/shadow.texi: New file.
43226         * doc/glibc-headers/sysexits.texi: New file.
43227         * doc/glibc-headers/ttyent.texi: New file.
43228
43229 2008-01-12  Jim Meyering  <meyering@redhat.com>
43230
43231         announce-gen: emit Gnulib's git-based version string.
43232         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
43233         New option --gnulib-version=V, where V is expected to be
43234         the output of running git describe in the gnulib directory.
43235         (get_tool_versions): Request feedback on xdelta.  I suspect it's
43236         not useful, and plan to stop publishing an xdelta file with each
43237         coreutils release.
43238
43239         * build-aux/announce-gen: Also check for lzma-compressed files.
43240
43241 2008-01-11  Bruno Haible  <bruno@clisp.org>
43242
43243         * tests/test-memmem.c (main): Increase maximum allowed time.
43244         * tests/test-strstr.c (main): Likewise.
43245
43246 2008-01-11  Bruno Haible  <bruno@clisp.org>
43247
43248         * doc/functions/memmem.texi: Add more precisions about platforms.
43249         * doc/functions/strstr.texi: Likewise.
43250
43251 2008-01-10  Eric Blake  <ebb9@byu.net>
43252
43253         * m4/strstr.m4: Delete cruft from copy-n-paste.
43254         Reported by Bruno Haible.
43255
43256 2008-01-10  Bruno Haible  <bruno@clisp.org>
43257
43258         Make c-strstr rely on strstr.
43259         * lib/c-strstr.c: Don't include str-kmp.h.
43260         (c_strstr): Define in terms of strstr.
43261         * modules/c-strstr (Files): Remove lib/str-kmp.h.
43262         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
43263
43264 2008-01-10  Bruno Haible  <bruno@clisp.org>
43265
43266         * doc/gnulib.texi (String Functions in C Locale): New section.
43267         * doc/c-ctype.texi: New file.
43268         * doc/c-strcase.texi: New file.
43269         * doc/c-strcaseeq.texi: New file.
43270         * doc/c-strcasestr.texi: New file.
43271         * doc/c-strstr.texi: New file.
43272         * doc/c-strtod.texi: New file.
43273         * doc/c-strtold.texi: New file.
43274
43275 2008-01-10  Eric Blake  <ebb9@byu.net>
43276
43277         * lib/relocatable.h: Fix a comment.
43278
43279 2008-01-10  Eric Blake  <ebb9@byu.net>
43280
43281         Share two-way algorithm.
43282         * lib/str-two-way.h: New file, merged from...
43283         * lib/memmem.c: ...here...
43284         * lib/strstr.c: ...and here.
43285         * modules/memmem (Files): Use it.
43286         * modules/strstr (Files): Likewise.
43287
43288         Avoid quadratic strstr implementations.
43289         * lib/strstr.c: New file.
43290         * m4/strstr.m4: Likewise.
43291         * modules/strstr: Likewise.
43292         * modules/strstr-tests: Likewise.
43293         * tests/test-strstr.c: Likewise.
43294         * lib/string.in.h (rpl_strstr): Declare.
43295         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
43296         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
43297         * modules/string (Makefile.am): Likewise.
43298         * MODULES.html.sh (string handling): Mention new module.
43299         * doc/functions/strstr.texi (strstr): Document the bug.
43300
43301 2008-01-10  Bruno Haible  <bruno@clisp.org>
43302
43303         * lib/relocatable.h (relocate): State whether result is freshly
43304         allocated or not.
43305         * lib/relocatable.c (relocate): Return a freshly allocated string
43306         instead of a pointer to a privately held string.
43307         Reported by Sylvain Beucler <beuc@gnu.org>.
43308
43309 2008-01-10  Colin Watson  <cjwatson@debian.org>
43310
43311         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
43312         s/S_ISNLK/S_ISLNK/.
43313
43314 2008-01-09  Bruno Haible  <bruno@clisp.org>
43315
43316         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
43317         and other files.
43318         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
43319         if it's only a guess.
43320         * modules/memmem: Simplify by depending on memmem-simple.
43321
43322 2008-01-09  Bruno Haible  <bruno@clisp.org>
43323
43324         Work around OpenBSD 4.0 tdelete() bug.
43325         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
43326         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
43327         macros and don't redefine the enum values.
43328         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
43329         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
43330         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
43331
43332 2008-01-09  Bruno Haible  <bruno@clisp.org>
43333
43334         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
43335         (main): Don't perform the tests if setlocale did not install a UTF-8
43336         locale. Needed on OpenBSD 4.0.
43337         * modules/wcwidth-tests (Depends-on): Add localcharset.
43338
43339 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43340
43341         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
43342         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
43343         * NEWS: announce this.
43344         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
43345
43346 2008-01-09  Simon Josefsson  <simon@josefsson.org>
43347         and Eric Blake  <ebb9@byu.net>
43348
43349         Add memmem-simple module.
43350         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
43351         (gl_FUNC_MEMMEM): Separate performance from presence checks.
43352         * modules/memmem-simple: New file.
43353         * modules/memmem (Description): Tweak.
43354         * MODULES.html.sh (string handling): Mention new module.
43355         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
43356         addressed by memmem-simple.
43357         * NEWS: Document the difference.
43358
43359 2008-01-09  Eric Blake  <ebb9@byu.net>
43360
43361         Give gcc some memmem optimization hints.
43362         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
43363         (strcasestr): Declare as pure.
43364         * modules/memmem (Maintainer): Claim my implementation.
43365
43366 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43367
43368         Support AIX 6.1 and higher.
43369         * build-aux/config.libpath: Likewise.
43370         * build-aux/config.rpath: Likewise.
43371
43372 2008-01-08  Jim Meyering  <meyering@redhat.com>
43373             Bruno Haible  <bruno@clisp.org>
43374
43375         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
43376         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
43377         Reported by Peter Fales in
43378         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
43379
43380 2008-01-08  Bruno Haible  <bruno@clisp.org>
43381
43382         * modules/unictype/category-of (Depends-on): Add
43383         unictype/category-none.
43384         * modules/unictype/category-and-tests (Depends-on): Add
43385         unictype/category-{L,N,Lu,Nd}.
43386         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
43387         * modules/unictype/category-or-tests (Depends-on): Add
43388         unictype/category-{L,N}.
43389         * modules/unictype/category-name-tests (Depends-on): Add
43390         unictype/category-{Z,Nl}.
43391         Reported by Simon Josefsson.
43392
43393 2008-01-08  Bruno Haible  <bruno@clisp.org>
43394
43395         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
43396         convention better.
43397         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
43398         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
43399         Reported by Peter Miller <millerp@canb.auug.org.au>.
43400
43401 2008-01-08  Eric Blake  <ebb9@byu.net>
43402
43403         Rewrite memmem to guarantee linear complexity without malloc.
43404         * lib/memmem.c (memmem): Use Two-Way rather than
43405         Knuth-Morris-Pratt, to allow O(1) space usage.
43406         (critical_factorization, two_way_short_needle)
43407         (two_way_long_needle): New functions.
43408         (knuth_morris_pratt): Delete.
43409         * modules/memmem (Depends-on): No longer need malloca or stdbool.
43410         Add stdint.
43411         * tests/test-memmem.c (main): Add tests for periodic needle and
43412         sublinear performance.
43413         * doc/functions/memmem.texi (memmem): Document other deficiencies
43414         in cygwin and older glibc.
43415
43416 2008-01-08  Bruno Haible  <bruno@clisp.org>
43417
43418         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
43419         augmentation.
43420
43421 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
43422
43423         Add a configure time option: --disable-acl.
43424         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
43425         AC_ARG_ENABLE(acl).
43426
43427 2008-01-06  Simon Josefsson  <simon@josefsson.org>
43428
43429         * tests/test-localename.c: Don't include obsolete "setenv.h".
43430
43431         * modules/localename-tests (Depends-on): Need unsetenv.
43432
43433 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43434
43435         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
43436
43437 2008-01-06  Colin Watson  <cjwatson@debian.org>
43438
43439         * users.txt: Add man-db.
43440
43441 2008-01-07  Bruno Haible  <bruno@clisp.org>
43442
43443         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
43444         previous section name.
43445
43446 2008-01-07  Bruno Haible  <bruno@clisp.org>
43447
43448         * lib/progname.c (set_program_name): Don't strip off a leading
43449         "lt-" prefix outside a .libs directory.
43450         Suggested by Paul Eggert.
43451
43452 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
43453             Bruno Haible  <bruno@clisp.org>
43454
43455         Improve memory cleanup in 'relocatable' module.
43456         * lib/relocatable.h (compute_curr_prefix): Change return type to
43457         'char *'.
43458         * lib/relocatable.c (compute_curr_prefix): Change return type to
43459         'char *'. Free curr_installdir after use.
43460         (relocate): Free curr_prefix_better after use.
43461         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
43462
43463 2008-01-01  Bruno Haible  <bruno@clisp.org>
43464
43465         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
43466         failure on older glibc systems.
43467         Reported by Peter Fales <psfales@alcatel-lucent.com>.
43468
43469 2008-01-05  Eric Blake  <ebb9@byu.net>
43470
43471         Avoid quadratic system memmem.
43472         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
43473         Reported by Ralf Wildenhues.
43474
43475         Fix memmem test for mingw.
43476         * modules/memmem-tests (configure.ac): Check for alarm.
43477         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
43478         it.
43479         * doc/functions/memmem.texi: New file.
43480         * doc/gnulib.texi (Function Substitutes): Add memmem.
43481         Reported by Bruno Haible.
43482
43483 2008-01-04  Bruno Haible  <bruno@clisp.org>
43484
43485         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
43486         Require gl_HEADER_STRINGS_H_DEFAULTS, not
43487         gl_HEADER_STRING_H_DEFAULTS.
43488
43489 2008-01-04  Eric Blake  <ebb9@byu.net>
43490
43491         Shorten duration of memmem test.
43492         * tests/test-memmem.c (main): Use alarm to declare failure if test
43493         is taking too long.
43494         Reported by Ralf Wildenhues.
43495
43496 2007-12-21  Simon Josefsson  <simon@josefsson.org>
43497
43498         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
43499         string, needed by strerror.
43500
43501 2008-01-03  Colin Watson  <cjwatson@debian.org>
43502             Bruno Haible  <bruno@clisp.org>
43503
43504         * doc/gnulib-tool.texi (Localization): New section.
43505
43506 2008-01-02  Bruno Haible  <bruno@clisp.org>
43507
43508         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
43509         variables to 'unsigned char *' type.
43510         Reported by Paul Eggert.
43511
43512 2008-01-02  Jim Meyering  <jim@meyering.net>
43513
43514         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
43515
43516 2007-12-31  Jim Meyering  <jim@meyering.net>
43517
43518         Avoid use of private FTS type name.
43519         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
43520
43521 2007-12-30  Karl Berry  <karl@gnu.org>
43522
43523         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
43524         work around defect in Texinfo and/or the standalone Info browser.
43525
43526 2007-12-30  Bruno Haible  <bruno@clisp.org>
43527
43528         Unify 5 copies of the KMP code.
43529         * lib/str-kmp.h: New file.
43530         * lib/c-strcasestr.c: Include str-kmp.h.
43531         (knuth_morris_pratt): Remove function.
43532         (c_strcasestr): Update.
43533         * lib/c-strstr.c: Include str-kmp.h.
43534         (knuth_morris_pratt): Remove function.
43535         (c_strcasestr): Update.
43536         * lib/mbscasestr.c: Include str-kmp.h.
43537         (knuth_morris_pratt_unibyte): Remove function.
43538         * lib/mbsstr.c: Include str-kmp.h.
43539         (knuth_morris_pratt_unibyte): Remove function.
43540         * lib/strcasestr.c: Include str-kmp.h.
43541         (knuth_morris_pratt): Remove function.
43542         (strcasestr): Update.
43543         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
43544         * modules/c-strstr (Files): Likewise.
43545         * modules/mbscasestr (Files): Likewise.
43546         * modules/mbsstr (Files): Likewise.
43547         * modules/strcasestr (Files): Likewise.
43548         Suggested by Paul Eggert.
43549
43550 2007-12-30  Bruno Haible  <bruno@clisp.org>
43551
43552         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
43553         defined.
43554
43555 2007-12-30  Bruno Haible  <bruno@clisp.org>
43556
43557         * lib/xmalloca.h: Include xalloc.h.
43558         (xnmalloca): New macro.
43559
43560 2007-12-30  Bruno Haible  <bruno@clisp.org>
43561
43562         * lib/malloca.h (nmalloca): New macro.
43563         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
43564         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
43565         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
43566         knuth_morris_pratt_multibyte): Likewise.
43567         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
43568         knuth_morris_pratt_multibyte): Likewise.
43569         * lib/memmem.c (knuth_morris_pratt): Likewise.
43570         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
43571
43572 2007-12-25  Bruno Haible  <bruno@clisp.org>
43573
43574         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
43575         * lib/glob.c: Don't include openat.h.
43576         (link_exists2_p): Add back the code that deals with the
43577         !GLOB_ALTDIRFUNC case.
43578         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
43579         let it do the filename concatenation.
43580         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
43581         * modules/glob (Depends-on): Remove openat.
43582
43583 2007-12-31  Bruno Haible  <bruno@clisp.org>
43584
43585         * modules/dirfd (License): Change to LGPLv2+.
43586         Approved by Jim Meyering.
43587
43588 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43589
43590         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
43591         when multiplying M by sizeof (size_t).
43592
43593 2007-12-10  Martin Lambers  <marlam@marlam.de>
43594
43595         Override getpagesize on mingw.
43596         * lib/getpagesize.c: New file.
43597         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
43598         * modules/getpagesize (Files): Add lib/getpagesize.c.
43599         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
43600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43601         REPLACE_GETPAGESIZE.
43602         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
43603
43604 2007-12-25  Bruno Haible  <bruno@clisp.org>
43605
43606         * modules/localcharset (Notice): New field.
43607         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
43608         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
43609
43610 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43611             Bruno Haible  <bruno@clisp.org>
43612
43613         Avoid using the syntax symbol() in formatted documentation.
43614         * MODULES.html.sh (func_module): When replacing symbol() with a
43615         hyperlink, remove the parentheses. Show an error if some remain.
43616         Recognize and render the '...' syntax.
43617         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
43618         Rework. Add paragraph about GCC's inlining.
43619         * doc/alloca.texi: Likewise.
43620         * doc/error.texi: Remove parentheses from symbol reference.
43621         * doc/gnulib-intro.texi: Likewise.
43622         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
43623         * modules/fnmatch (Description): Reword to say "the ... function".
43624         * modules/full-read (Description): Likewise.
43625         * modules/full-write (Description): Likewise.
43626         * modules/safe-read (Description): Likewise.
43627         * modules/safe-write (Description): Likewise.
43628         * modules/strchrnul (Description): Likewise.
43629         * modules/trim (Description): Likewise.
43630         * modules/error (Description): Remove parentheses from symbol
43631         references.
43632         * modules/verror (Description): Likewise.
43633         Reported by Karl Berry.
43634
43635 2007-12-25  Bruno Haible  <bruno@clisp.org>
43636
43637         Fixup after 2007-10-16 commit.
43638         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
43639
43640 2007-12-24  Bruno Haible  <bruno@clisp.org>
43641
43642         Make --enable-relocatable work with DESTDIR.
43643         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
43644         to compute installdir from destprog.
43645         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
43646         also set the RELOC_DESTDIR variable.
43647         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43648
43649 2007-12-24  Bruno Haible  <bruno@clisp.org>
43650
43651         Fix link error due to xalloc_die().
43652         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
43653         of xreadlink.
43654         * lib/relocwrapper.c: Update comments.
43655         * build-aux/install-reloc: Remove xreadlink.c from file list.
43656         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
43657         xreadlink.c.
43658         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43659
43660 2007-12-24  Bruno Haible  <bruno@clisp.org>
43661
43662         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
43663         * lib/setenv.h: Remove file.
43664         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
43665         lib/setenv.h.
43666         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
43667         (Depends-on): Add stdlib.
43668         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
43669         gl_FUNC_UNSETENV.
43670         (Include): Replace setenv.h with <stdlib.h>.
43671         * modules/unsetenv: New file.
43672         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
43673         * lib/unsetenv.c: Include <stdlib.h> first.
43674         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
43675         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
43676         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
43677         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
43678         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
43679         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43680         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
43681         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43682         * doc/functions/unsetenv.texi: Update.
43683         * modules/xsetenv (Depends-on): Add unsetenv.
43684         * modules/getdate (Depends-on): Likewise.
43685         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
43686         * lib/xsetenv.c: Don't include setenv.h.
43687         * lib/getdate.y: Likewise.
43688         * lib/relocwrapper.c: Likewise.
43689         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
43690         (Depends-on): Add stdlib.
43691         * NEWS: Mention the changes.
43692         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43693
43694 2007-12-23  Bruno Haible  <bruno@clisp.org>
43695
43696         * lib/memmem.c (memmem): Use lowercase variable names. Tab
43697         indentation.
43698
43699 2007-12-23  Bruno Haible  <bruno@clisp.org>
43700
43701         * lib/c-strcasestr.c: Add more comments.
43702         * lib/c-strstr.c: Likewise.
43703         * lib/mbscasestr.c: Likewise.
43704         * lib/mbsstr.c: Likewise.
43705         * lib/strcasestr.c: Likewise.
43706         * lib/memmem.c: Likewise.
43707
43708 2007-12-23  Bruno Haible  <bruno@clisp.org>
43709
43710         * tests/test-memmem.c: Include <string.h> first.
43711
43712 2007-12-22  Bruno Haible  <bruno@clisp.org>
43713
43714         * gnulib-tool (func_create_testdir): Change $auxdir while generating
43715         the contents of $testsbase.
43716         Reported by Ralf Wildenhues.
43717
43718 2007-12-22  Bruno Haible  <bruno@clisp.org>
43719
43720         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
43721         two variables local_ldadd_before, local_ldadd_last.
43722
43723 2007-12-20  Eric Blake  <ebb9@byu.net>
43724
43725         Work around circular library issue when cross-compiling.
43726         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
43727         that progname.o does not need to pull in rpl_memcmp.
43728
43729 2007-12-19  Eric Blake  <ebb9@byu.net>
43730
43731         Fix memmem to avoid O(n^2) worst-case complexity.
43732         * lib/memmem.c (knuth_morris_pratt): New function.
43733         (memmem): Use it if first few naive iterations fail.
43734         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
43735         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
43736         * modules/memchr (License): Likewise.
43737         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
43738         malloca.
43739         * tests/test-memmem.c: Rewrite, borrowing ideas from
43740         test-mbsstr1.c; the old version wouldn't even compile!
43741         * modules/memmem-tests: New file.
43742         * lib/string.in.h (rpl_memmem): Add declaration.
43743         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
43744         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
43745         REPLACE_MEMMEM.
43746
43747 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43748
43749         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
43750         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
43751         before any system include files, and undef after them all.  This
43752         should fix a problem on VMS reported by John E. Malmberg in
43753         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
43754
43755 2007-12-17  Eric Blake  <ebb9@byu.net>
43756
43757         Revert addition of verify, for BSD/OS.
43758         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
43759         can't handle large files, for the sake of obsolete platforms.
43760         * modules/fseeko (Depends-on): Remove verify.
43761         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
43762         * doc/functions/ftello.texi (ftello): Likewise.
43763         * doc/functions/fgetpos.texi (fgetpos): Likewise.
43764         Reported by Larry Jones.
43765
43766 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
43767
43768         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
43769         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
43770
43771 2007-12-17  Jim Meyering  <meyering@redhat.com>
43772
43773         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
43774         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
43775         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
43776         * modules/getcwd (Depends-on): Add openat.
43777         Reported by Petr Salinger.
43778
43779 2007-12-17  Bruno Haible  <bruno@clisp.org>
43780
43781         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
43782         avoid a segmentation fault of the configure test on x86_64 systems.
43783
43784 2007-12-15  Jim Meyering  <meyering@redhat.com>
43785
43786         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
43787
43788 2007-12-13  Eric Blake  <ebb9@byu.net>
43789
43790         Another fseek test.
43791         * tests/test-fseek.c (main): Also test ungetc handling.
43792         * tests/test-fseeko.c (main): Likewise.
43793         * modules/fseeko (Depends-on): Add verify.
43794         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
43795         large.
43796         Reported by Larry Jones.
43797
43798         Fix fseeko on mingw.
43799         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
43800         seek.
43801
43802         Beef up fseek tests.
43803         * tests/test-fseek.c (main): Also test eof handling.
43804         * tests/test-fseeko.c (main): Likewise.
43805         Reported by Larry Jones.
43806
43807 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
43808
43809         Fix fseeko on BSD-based platforms.
43810         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
43811         successful seek.
43812
43813 2007-12-12  Eric Blake  <ebb9@byu.net>
43814
43815         Allow circular dependency of separate libtests.a
43816         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
43817         when use_libtests.
43818
43819 2007-12-11  Eric Blake  <ebb9@byu.net>
43820
43821         Fix bug with -0.0L in previous patch.
43822         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
43823         * tests/test-isnan.c (main): Also test on zeroes.
43824         * tests/test-isnanf.c (main): Likewise.
43825         * tests/test-isnanl.h (main): Likewise.
43826
43827         Detect pseudo-denormals on x86 even when cross-compiling.
43828         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
43829         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
43830         invalid bit patterns that happen to satisfy ==.
43831
43832         Avoid link failures with separate libtests.a.
43833         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
43834         last, to satisfy circular dependencies.
43835
43836 2007-12-11  Eric Blake  <ebb9@byu.net>
43837         and Bruno Haible  <bruno@clisp.org>
43838
43839         Fix OpenBSD 4.0 <float.h> handling of long double.
43840         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
43841         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
43842         * doc/headers/float.texi (float.h): Document OpenBSD bug.
43843
43844 2007-12-11  Jim Meyering  <meyering@redhat.com>
43845
43846         * users.txt: Add libvirt.
43847
43848         Support versions of autoconf prior to 2.59c.
43849         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
43850         if it is not already defined.
43851
43852 2007-12-09  Bruno Haible  <bruno@clisp.org>
43853
43854         Let 'gnulib-tool --import' collect sources needed for the tests in
43855         tests/ rather than in lib/.
43856         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
43857         argument. If true, add rules to generate libtests.a, and put libtests.a
43858         into $(LDADD). Consider source files in subdirectories and set
43859         uses_subdirs.
43860         (func_emit_initmacro_start, func_emit_initmacro_end,
43861         func_emit_initmacro_done): Pass all arguments explicitly.
43862         (func_import): Determine two module lists main_modules,
43863         testsrelated_modules. Determine use_libtests. Determine two variables
43864         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
43865         instead of just sed_transform_lib_file. Determine two variables
43866         main_files and testsrelated_files. Compute 'files' as the union of
43867         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
43868         func_add_or_update. In the generated gnulib-comp.m4, collect the
43869         object files for tests/ in different variables than those for lib/.
43870         Substitute LIBTESTS_LIBDEPS.
43871         (func_create_testdir): Combine the uses_subdirs results from
43872         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
43873
43874 2007-12-09  Bruno Haible  <bruno@clisp.org>
43875
43876         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
43877         the build-aux directory.
43878
43879 2007-12-09  Bruno Haible  <bruno@clisp.org>
43880
43881         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
43882         introduced on 2006-09-09.
43883
43884 2007-12-07  Jim Meyering  <meyering@redhat.com>
43885
43886         Let these macros work also with autoconf-2.59.
43887         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
43888         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
43889         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
43890
43891 2007-12-06  Jim Meyering  <meyering@redhat.com>
43892
43893         Avoid a configure-time syntax error in gl_FUNC_ACL.
43894         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
43895         function in each branch, before testing the cache variable.
43896
43897 2007-12-04  Eric Blake  <ebb9@byu.net>
43898
43899         Make scripts executable.
43900         * build-aux/config.guess: Add execute permissions.
43901         * build-aux/config.sub: Likewise.
43902         * build-aux/gendocs.sh: Likewise.
43903
43904         Fix frexp on mingw.
43905         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
43906         cross-compiling.
43907         * doc/functions/frexp.texi (frexp): Document the bug.
43908
43909         Make cygwin fseeko check more reliable.
43910         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
43911         version numbers, rather than unrelated feature check.
43912         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
43913         * doc/functions/ftello.texi (ftello): Likewise.
43914         Reported by Bruno Haible.
43915
43916         * m4/strerror.m4: Bump version number.
43917
43918 2007-12-03  Bruno Haible  <bruno@clisp.org>
43919
43920         * doc/functions/mprotect.texi: Mention the mingw problem.
43921
43922 2007-12-03  Eric Blake  <ebb9@byu.net>
43923
43924         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
43925         REPLACE_STRERROR is initialized before this macro.
43926
43927 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
43928
43929         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
43930         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
43931         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
43932         put -lsec in even for programs other than 'ls'.  This fixes a problem
43933         for gettext reported by Bruno Haible in
43934         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
43935         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
43936         Add support for Solaris 10.  This isn't efficient, but should get the
43937         job done for now.
43938
43939 2007-12-03  James Youngman  <jay@gnu.org>
43940
43941         * doc/regexprops-generic.texi: change "an close-group" to "a
43942         close-group" and "illegal" to "not allowed".
43943
43944 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43945
43946         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
43947         pr_byname.h. Needed for the rare case when the maintainer has done
43948         "make maintainer-clean" in the source directory and then attempts a
43949         build outside the source directory.
43950         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
43951         scripts_byname.h.
43952
43953 2007-12-02  Martin Lambers <marlam@marlam.de>
43954             Bruno Haible  <bruno@clisp.org>
43955
43956         * lib/getpagesize.h: Remove file.
43957         * lib/unistd.in.h: Include declaration of getpagesize here.
43958         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
43959         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
43960         HAVE_SYS_PARAM_H.
43961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
43962         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
43963         * modules/getpagesize (Files): Remove lib/getpagesize.h.
43964         (Depends-on): Add unistd.
43965         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43966         (Include): Use <unistd.h> instead of getpagesize.h.
43967         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
43968         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
43969         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
43970         gl_GETPAGESIZE invocation, already handled by module dependency.
43971         * lib/pagealign_alloc.c: Don't include getpagesize.h.
43972
43973 2007-12-02  Bruno Haible  <bruno@clisp.org>
43974
43975         * modules/strings-tests: New file.
43976         * tests/test-strings.c: New file.
43977
43978         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
43979         * lib/strings.in.h: New file.
43980         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
43981         * m4/strings_h.m4: New file.
43982         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
43983         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
43984         * modules/strings: New file.
43985         * modules/string (Makefile.am): Update.
43986         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
43987         Reported by Karl Berry.
43988
43989 2007-12-01  Eric Blake  <ebb9@byu.net>
43990
43991         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
43992         accomodate fix in cygwin 1.5.25.
43993
43994 2007-12-01  Jim Meyering  <meyering@redhat.com>
43995
43996         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
43997         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
43998         that would inhibit utf8-optimization of a regexp containing line-
43999         or buffer-anchors, e.g., `^', `$'.
44000
44001 2007-11-30  Bruno Haible  <bruno@clisp.org>
44002
44003         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
44004         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
44005         glthread_recursive_lock_init.
44006         * lib/lock.c (glthread_recursive_lock_init)
44007         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
44008         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44009
44010 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
44011
44012         New function qset_acl, like set_acl but with syscall semantics.
44013         * lib/acl.h (qset_acl): New decl.
44014         * lib/acl.c (qset_acl): New function.
44015         (set_acl): Use new function.  Use more-consistent diagnostics.
44016
44017 2007-11-28  Jim Meyering  <meyering@redhat.com>
44018
44019         * modules/physmem (License): Change from GPL to LGPLv2+.
44020
44021 2007-11-26  Bruno Haible  <bruno@clisp.org>
44022
44023         * lib/vasnprintf.c (decode_long_double): Don't abort if the
44024         'long double' type has excess precision.
44025         Reported by Jim Meyering in
44026         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
44027
44028 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44029
44030         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
44031         Sync from <http://gnu.org/licenses>.
44032         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
44033         with license text from same location.
44034         * doc/maintain.texi, doc/standards.texi:  Sync from
44035         <http://savannah.gnu.org/projects/gnustandards>.
44036
44037 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
44038         and Jim Meyering  <meyering@redhat.com>
44039
44040         Adjust getdate' grammar to accept a slightly more regular language.
44041         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
44042         Before, the former was rejected.
44043         * lib/getdate.y (digits_to_date_time): New function, factored
44044         out of ...
44045         (number): ...here.  Just call digits_to_date_time.
44046         (hybrid): New non-terminal to handle an <unsigned number,
44047         signed relative offset> sequence consistently.
44048
44049 2007-11-18  Jim Meyering  <meyering@redhat.com>
44050
44051         Pull my changes from coreutils:
44052         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
44053         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
44054         use of $gnulib_tool_option_extras, so that it's separated from the
44055         preceding argument.
44056
44057         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
44058         * build-aux/bootstrap (cp_mark_as_generated): Create any required
44059         parent destination directories before copying a file into place.
44060
44061 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
44062
44063         bootstrap: work also with 4-argument variant of AC_INIT
44064         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
44065
44066 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44067
44068         Port test-getaddrinfo to Solaris.
44069         Problem reported by Bruno Haible in
44070         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
44071         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
44072         explanation of setting 'hints'.
44073         Don't reject an implementation merely because it returns EAI_SERVICE.
44074         (EAI_SERVICE): Define to 0 if not defined.
44075
44076 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
44077
44078         The license of gnu-make and posix-shell is now "GPLed build tool".
44079         * modules/gnu-make (License): Likewise.
44080         * modules/posix-shell (License): Likewise.
44081
44082         New module posix-shell, for determining a POSIX shell
44083         or perhaps something that is close enough to a POSIX shell.
44084         * m4/posix-shell.m4: New file.
44085         * modules/posix-shell: New file.
44086
44087         * MODULES.html.sh: Mention new module.
44088
44089         New module gnu-make, for determining whether we're using GNU Make.
44090         * m4/gnu-make.m4: New file.
44091         * modules/gnu-make: New file.
44092         * MODULES.html.sh: Mention new module.
44093
44094 2007-11-14  Jim Meyering  <meyering@redhat.com>
44095
44096         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
44097         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
44098         use this macro to create a function _definition_.
44099         Remove useless "#undef ARGMATCH_DIE".
44100
44101 2007-11-14  Bruno Haible  <bruno@clisp.org>
44102
44103         * lib/config.charset: Update for OpenBSD 4.1.
44104         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
44105
44106 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
44107
44108         Document 64-bit #if problems in stdint.texi.
44109         * doc/headers/stdint.texi (stdint.h): Mention problems with
44110         64-bit-#if, and how to work around them.
44111
44112         Don't insist on 'long long int' support in the preprocessor.  It
44113         breaks too many things.  For example, PRIdMAX still uses a 'long
44114         long int' format with the latest Sun compiler, even though
44115         HAVE_LONG_LONG_INT isn't defined due to that compiler's
44116         preprocessor problem.  This causes the latest coreutils to dump
44117         core on Solaris 10 sparc with the Sun C compiler.
44118         Instead, fix the 2007-10-16 problem in a different way, by evaluating
44119         the troublesome expressions at configure-time, not at #if-time.
44120         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
44121         preprocessor.
44122         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
44123         compile-time C checks, done at 'configure'-time.
44124         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
44125         * modules/inttypes (Makefile): Substitute the new symbols that
44126         gl_INTTYPES_H now generates.
44127         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
44128
44129 2007-11-12  Bruno Haible  <bruno@clisp.org>
44130
44131         Tests for Unicode character classification functions.
44132
44133         * modules/unictype/bidicategory-byname-tests: New file.
44134         * modules/unictype/bidicategory-name-tests: New file.
44135         * modules/unictype/bidicategory-of-tests: New file.
44136         * modules/unictype/bidicategory-test-tests: New file.
44137         * modules/unictype/block-list-tests: New file.
44138         * modules/unictype/block-of-tests: New file.
44139         * modules/unictype/block-test-tests: New file.
44140         * modules/unictype/category-C-tests: New file.
44141         * modules/unictype/category-Cc-tests: New file.
44142         * modules/unictype/category-Cf-tests: New file.
44143         * modules/unictype/category-Cn-tests: New file.
44144         * modules/unictype/category-Co-tests: New file.
44145         * modules/unictype/category-Cs-tests: New file.
44146         * modules/unictype/category-L-tests: New file.
44147         * modules/unictype/category-Ll-tests: New file.
44148         * modules/unictype/category-Lm-tests: New file.
44149         * modules/unictype/category-Lo-tests: New file.
44150         * modules/unictype/category-Lt-tests: New file.
44151         * modules/unictype/category-Lu-tests: New file.
44152         * modules/unictype/category-M-tests: New file.
44153         * modules/unictype/category-Mc-tests: New file.
44154         * modules/unictype/category-Me-tests: New file.
44155         * modules/unictype/category-Mn-tests: New file.
44156         * modules/unictype/category-N-tests: New file.
44157         * modules/unictype/category-Nd-tests: New file.
44158         * modules/unictype/category-Nl-tests: New file.
44159         * modules/unictype/category-No-tests: New file.
44160         * modules/unictype/category-P-tests: New file.
44161         * modules/unictype/category-Pc-tests: New file.
44162         * modules/unictype/category-Pd-tests: New file.
44163         * modules/unictype/category-Pe-tests: New file.
44164         * modules/unictype/category-Pf-tests: New file.
44165         * modules/unictype/category-Pi-tests: New file.
44166         * modules/unictype/category-Po-tests: New file.
44167         * modules/unictype/category-Ps-tests: New file.
44168         * modules/unictype/category-S-tests: New file.
44169         * modules/unictype/category-Sc-tests: New file.
44170         * modules/unictype/category-Sk-tests: New file.
44171         * modules/unictype/category-Sm-tests: New file.
44172         * modules/unictype/category-So-tests: New file.
44173         * modules/unictype/category-Z-tests: New file.
44174         * modules/unictype/category-Zl-tests: New file.
44175         * modules/unictype/category-Zp-tests: New file.
44176         * modules/unictype/category-Zs-tests: New file.
44177         * modules/unictype/category-and-not-tests: New file.
44178         * modules/unictype/category-and-tests: New file.
44179         * modules/unictype/category-byname-tests: New file.
44180         * modules/unictype/category-name-tests: New file.
44181         * modules/unictype/category-none-tests: New file.
44182         * modules/unictype/category-of-tests: New file.
44183         * modules/unictype/category-or-tests: New file.
44184         * modules/unictype/category-test-withtable-tests: New file.
44185         * modules/unictype/combining-class-tests: New file.
44186         * modules/unictype/ctype-alnum-tests: New file.
44187         * modules/unictype/ctype-alpha-tests: New file.
44188         * modules/unictype/ctype-blank-tests: New file.
44189         * modules/unictype/ctype-cntrl-tests: New file.
44190         * modules/unictype/ctype-digit-tests: New file.
44191         * modules/unictype/ctype-graph-tests: New file.
44192         * modules/unictype/ctype-lower-tests: New file.
44193         * modules/unictype/ctype-print-tests: New file.
44194         * modules/unictype/ctype-punct-tests: New file.
44195         * modules/unictype/ctype-space-tests: New file.
44196         * modules/unictype/ctype-upper-tests: New file.
44197         * modules/unictype/ctype-xdigit-tests: New file.
44198         * modules/unictype/decimal-digit-tests: New file.
44199         * modules/unictype/digit-tests: New file.
44200         * modules/unictype/mirror-tests: New file.
44201         * modules/unictype/numeric-tests: New file.
44202         * modules/unictype/property-alphabetic-tests: New file.
44203         * modules/unictype/property-ascii-hex-digit-tests: New file.
44204         * modules/unictype/property-bidi-arabic-digit-tests: New file.
44205         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
44206         * modules/unictype/property-bidi-block-separator-tests: New file.
44207         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
44208         * modules/unictype/property-bidi-common-separator-tests: New file.
44209         * modules/unictype/property-bidi-control-tests: New file.
44210         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
44211         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
44212         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
44213         * modules/unictype/property-bidi-european-digit-tests: New file.
44214         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
44215         * modules/unictype/property-bidi-left-to-right-tests: New file.
44216         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
44217         * modules/unictype/property-bidi-other-neutral-tests: New file.
44218         * modules/unictype/property-bidi-pdf-tests: New file.
44219         * modules/unictype/property-bidi-segment-separator-tests: New file.
44220         * modules/unictype/property-bidi-whitespace-tests: New file.
44221         * modules/unictype/property-byname-tests: New file.
44222         * modules/unictype/property-combining-tests: New file.
44223         * modules/unictype/property-composite-tests: New file.
44224         * modules/unictype/property-currency-symbol-tests: New file.
44225         * modules/unictype/property-dash-tests: New file.
44226         * modules/unictype/property-decimal-digit-tests: New file.
44227         * modules/unictype/property-default-ignorable-code-point-tests: New file.
44228         * modules/unictype/property-deprecated-tests: New file.
44229         * modules/unictype/property-diacritic-tests: New file.
44230         * modules/unictype/property-extender-tests: New file.
44231         * modules/unictype/property-format-control-tests: New file.
44232         * modules/unictype/property-grapheme-base-tests: New file.
44233         * modules/unictype/property-grapheme-extend-tests: New file.
44234         * modules/unictype/property-grapheme-link-tests: New file.
44235         * modules/unictype/property-hex-digit-tests: New file.
44236         * modules/unictype/property-hyphen-tests: New file.
44237         * modules/unictype/property-id-continue-tests: New file.
44238         * modules/unictype/property-id-start-tests: New file.
44239         * modules/unictype/property-ideographic-tests: New file.
44240         * modules/unictype/property-ids-binary-operator-tests: New file.
44241         * modules/unictype/property-ids-trinary-operator-tests: New file.
44242         * modules/unictype/property-ignorable-control-tests: New file.
44243         * modules/unictype/property-iso-control-tests: New file.
44244         * modules/unictype/property-join-control-tests: New file.
44245         * modules/unictype/property-left-of-pair-tests: New file.
44246         * modules/unictype/property-line-separator-tests: New file.
44247         * modules/unictype/property-logical-order-exception-tests: New file.
44248         * modules/unictype/property-lowercase-tests: New file.
44249         * modules/unictype/property-math-tests: New file.
44250         * modules/unictype/property-non-break-tests: New file.
44251         * modules/unictype/property-not-a-character-tests: New file.
44252         * modules/unictype/property-numeric-tests: New file.
44253         * modules/unictype/property-other-alphabetic-tests: New file.
44254         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
44255         * modules/unictype/property-other-grapheme-extend-tests: New file.
44256         * modules/unictype/property-other-id-continue-tests: New file.
44257         * modules/unictype/property-other-id-start-tests: New file.
44258         * modules/unictype/property-other-lowercase-tests: New file.
44259         * modules/unictype/property-other-math-tests: New file.
44260         * modules/unictype/property-other-uppercase-tests: New file.
44261         * modules/unictype/property-paired-punctuation-tests: New file.
44262         * modules/unictype/property-paragraph-separator-tests: New file.
44263         * modules/unictype/property-pattern-syntax-tests: New file.
44264         * modules/unictype/property-pattern-white-space-tests: New file.
44265         * modules/unictype/property-private-use-tests: New file.
44266         * modules/unictype/property-punctuation-tests: New file.
44267         * modules/unictype/property-quotation-mark-tests: New file.
44268         * modules/unictype/property-radical-tests: New file.
44269         * modules/unictype/property-sentence-terminal-tests: New file.
44270         * modules/unictype/property-soft-dotted-tests: New file.
44271         * modules/unictype/property-space-tests: New file.
44272         * modules/unictype/property-terminal-punctuation-tests: New file.
44273         * modules/unictype/property-test-tests: New file.
44274         * modules/unictype/property-titlecase-tests: New file.
44275         * modules/unictype/property-unassigned-code-value-tests: New file.
44276         * modules/unictype/property-unified-ideograph-tests: New file.
44277         * modules/unictype/property-uppercase-tests: New file.
44278         * modules/unictype/property-variation-selector-tests: New file.
44279         * modules/unictype/property-white-space-tests: New file.
44280         * modules/unictype/property-xid-continue-tests: New file.
44281         * modules/unictype/property-xid-start-tests: New file.
44282         * modules/unictype/property-zero-width-tests: New file.
44283         * modules/unictype/scripts-tests: New file.
44284         * modules/unictype/syntax-c-ident-tests: New file.
44285         * modules/unictype/syntax-c-whitespace-tests: New file.
44286         * modules/unictype/syntax-java-ident-tests: New file.
44287         * modules/unictype/syntax-java-whitespace-tests: New file.
44288         * tests/unictype/test-bidi_byname.c: New file.
44289         * tests/unictype/test-bidi_name.c: New file.
44290         * tests/unictype/test-bidi_of.c: New file.
44291         * tests/unictype/test-bidi_test.c: New file.
44292         * tests/unictype/test-block_list.c: New file.
44293         * tests/unictype/test-block_of.c: New file.
44294         * tests/unictype/test-block_test.c: New file.
44295         * tests/unictype/test-categ_and.c: New file.
44296         * tests/unictype/test-categ_and_not.c: New file.
44297         * tests/unictype/test-categ_byname.c: New file.
44298         * tests/unictype/test-categ_name.c: New file.
44299         * tests/unictype/test-categ_none.c: New file.
44300         * tests/unictype/test-categ_of.c: New file.
44301         * tests/unictype/test-categ_or.c: New file.
44302         * tests/unictype/test-categ_test_withtable.c: New file.
44303         * tests/unictype/test-combining.c: New file.
44304         * tests/unictype/test-decdigit.c: New file.
44305         * tests/unictype/test-digit.c: New file.
44306         * tests/unictype/test-mirror.c: New file.
44307         * tests/unictype/test-numeric.c: New file.
44308         * tests/unictype/test-pr_byname.c: New file.
44309         * tests/unictype/test-pr_test.c: New file.
44310         * tests/unictype/test-predicate-part1.h: New file.
44311         * tests/unictype/test-predicate-part2.h: New file.
44312         * tests/unictype/test-scripts.c: New file.
44313         * tests/unictype/test-sy_c_ident.c: New file.
44314         * tests/unictype/test-sy_java_ident.c: New file.
44315
44316         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
44317         for Unicode 5.0.0.
44318         * tests/unictype/test-categ_Cc.c: Likewise.
44319         * tests/unictype/test-categ_Cf.c: Likewise.
44320         * tests/unictype/test-categ_Cn.c: Likewise.
44321         * tests/unictype/test-categ_Co.c: Likewise.
44322         * tests/unictype/test-categ_Cs.c: Likewise.
44323         * tests/unictype/test-categ_L.c: Likewise.
44324         * tests/unictype/test-categ_Ll.c: Likewise.
44325         * tests/unictype/test-categ_Lm.c: Likewise.
44326         * tests/unictype/test-categ_Lo.c: Likewise.
44327         * tests/unictype/test-categ_Lt.c: Likewise.
44328         * tests/unictype/test-categ_Lu.c: Likewise.
44329         * tests/unictype/test-categ_M.c: Likewise.
44330         * tests/unictype/test-categ_Mc.c: Likewise.
44331         * tests/unictype/test-categ_Me.c: Likewise.
44332         * tests/unictype/test-categ_Mn.c: Likewise.
44333         * tests/unictype/test-categ_N.c: Likewise.
44334         * tests/unictype/test-categ_Nd.c: Likewise.
44335         * tests/unictype/test-categ_Nl.c: Likewise.
44336         * tests/unictype/test-categ_No.c: Likewise.
44337         * tests/unictype/test-categ_P.c: Likewise.
44338         * tests/unictype/test-categ_Pc.c: Likewise.
44339         * tests/unictype/test-categ_Pd.c: Likewise.
44340         * tests/unictype/test-categ_Pe.c: Likewise.
44341         * tests/unictype/test-categ_Pf.c: Likewise.
44342         * tests/unictype/test-categ_Pi.c: Likewise.
44343         * tests/unictype/test-categ_Po.c: Likewise.
44344         * tests/unictype/test-categ_Ps.c: Likewise.
44345         * tests/unictype/test-categ_S.c: Likewise.
44346         * tests/unictype/test-categ_Sc.c: Likewise.
44347         * tests/unictype/test-categ_Sk.c: Likewise.
44348         * tests/unictype/test-categ_Sm.c: Likewise.
44349         * tests/unictype/test-categ_So.c: Likewise.
44350         * tests/unictype/test-categ_Z.c: Likewise.
44351         * tests/unictype/test-categ_Zl.c: Likewise.
44352         * tests/unictype/test-categ_Zp.c: Likewise.
44353         * tests/unictype/test-categ_Zs.c: Likewise.
44354         * tests/unictype/test-ctype_alnum.c: Likewise.
44355         * tests/unictype/test-ctype_alpha.c: Likewise.
44356         * tests/unictype/test-ctype_blank.c: Likewise.
44357         * tests/unictype/test-ctype_cntrl.c: Likewise.
44358         * tests/unictype/test-ctype_digit.c: Likewise.
44359         * tests/unictype/test-ctype_graph.c: Likewise.
44360         * tests/unictype/test-ctype_lower.c: Likewise.
44361         * tests/unictype/test-ctype_print.c: Likewise.
44362         * tests/unictype/test-ctype_punct.c: Likewise.
44363         * tests/unictype/test-ctype_space.c: Likewise.
44364         * tests/unictype/test-ctype_upper.c: Likewise.
44365         * tests/unictype/test-ctype_xdigit.c: Likewise.
44366         * tests/unictype/test-decdigit.h: Likewise.
44367         * tests/unictype/test-digit.h: Likewise.
44368         * tests/unictype/test-numeric.h: Likewise.
44369         * tests/unictype/test-pr_alphabetic.c: Likewise.
44370         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
44371         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44372         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44373         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
44374         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44375         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
44376         * tests/unictype/test-pr_bidi_control.c: Likewise.
44377         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
44378         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
44379         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44380         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44381         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44382         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44383         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44384         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44385         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
44386         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
44387         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
44388         * tests/unictype/test-pr_combining.c: Likewise.
44389         * tests/unictype/test-pr_composite.c: Likewise.
44390         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44391         * tests/unictype/test-pr_dash.c: Likewise.
44392         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44393         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
44394         * tests/unictype/test-pr_deprecated.c: Likewise.
44395         * tests/unictype/test-pr_diacritic.c: Likewise.
44396         * tests/unictype/test-pr_extender.c: Likewise.
44397         * tests/unictype/test-pr_format_control.c: Likewise.
44398         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44399         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44400         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44401         * tests/unictype/test-pr_hex_digit.c: Likewise.
44402         * tests/unictype/test-pr_hyphen.c: Likewise.
44403         * tests/unictype/test-pr_id_continue.c: Likewise.
44404         * tests/unictype/test-pr_id_start.c: Likewise.
44405         * tests/unictype/test-pr_ideographic.c: Likewise.
44406         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
44407         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
44408         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44409         * tests/unictype/test-pr_iso_control.c: Likewise.
44410         * tests/unictype/test-pr_join_control.c: Likewise.
44411         * tests/unictype/test-pr_left_of_pair.c: Likewise.
44412         * tests/unictype/test-pr_line_separator.c: Likewise.
44413         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44414         * tests/unictype/test-pr_lowercase.c: Likewise.
44415         * tests/unictype/test-pr_math.c: Likewise.
44416         * tests/unictype/test-pr_non_break.c: Likewise.
44417         * tests/unictype/test-pr_not_a_character.c: Likewise.
44418         * tests/unictype/test-pr_numeric.c: Likewise.
44419         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44420         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
44421         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
44422         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44423         * tests/unictype/test-pr_other_id_start.c: Likewise.
44424         * tests/unictype/test-pr_other_lowercase.c: Likewise.
44425         * tests/unictype/test-pr_other_math.c: Likewise.
44426         * tests/unictype/test-pr_other_uppercase.c: Likewise.
44427         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
44428         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
44429         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
44430         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
44431         * tests/unictype/test-pr_private_use.c: Likewise.
44432         * tests/unictype/test-pr_punctuation.c: Likewise.
44433         * tests/unictype/test-pr_quotation_mark.c: Likewise.
44434         * tests/unictype/test-pr_radical.c: Likewise.
44435         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44436         * tests/unictype/test-pr_soft_dotted.c: Likewise.
44437         * tests/unictype/test-pr_space.c: Likewise.
44438         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44439         * tests/unictype/test-pr_titlecase.c: Likewise.
44440         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44441         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44442         * tests/unictype/test-pr_uppercase.c: Likewise.
44443         * tests/unictype/test-pr_variation_selector.c: Likewise.
44444         * tests/unictype/test-pr_white_space.c: Likewise.
44445         * tests/unictype/test-pr_xid_continue.c: Likewise.
44446         * tests/unictype/test-pr_xid_start.c: Likewise.
44447         * tests/unictype/test-pr_zero_width.c: Likewise.
44448         * tests/unictype/test-sy_c_whitespace.c: Likewise.
44449         * tests/unictype/test-sy_java_whitespace.c: Likewise.
44450
44451 2007-11-12  Bruno Haible  <bruno@clisp.org>
44452
44453         Unicode character classification functions.
44454         * lib/unictype.h: New file.
44455         * modules/unictype/base: New file.
44456         * modules/unictype/category-L: New file.
44457         * modules/unictype/category-Lu: New file.
44458         * modules/unictype/category-Ll: New file.
44459         * modules/unictype/category-Lt: New file.
44460         * modules/unictype/category-Lm: New file.
44461         * modules/unictype/category-Lo: New file.
44462         * modules/unictype/category-M: New file.
44463         * modules/unictype/category-Mn: New file.
44464         * modules/unictype/category-Mc: New file.
44465         * modules/unictype/category-Me: New file.
44466         * modules/unictype/category-N: New file.
44467         * modules/unictype/category-Nd: New file.
44468         * modules/unictype/category-Nl: New file.
44469         * modules/unictype/category-No: New file.
44470         * modules/unictype/category-P: New file.
44471         * modules/unictype/category-Pc: New file.
44472         * modules/unictype/category-Pd: New file.
44473         * modules/unictype/category-Ps: New file.
44474         * modules/unictype/category-Pe: New file.
44475         * modules/unictype/category-Pi: New file.
44476         * modules/unictype/category-Pf: New file.
44477         * modules/unictype/category-Po: New file.
44478         * modules/unictype/category-S: New file.
44479         * modules/unictype/category-Sm: New file.
44480         * modules/unictype/category-Sc: New file.
44481         * modules/unictype/category-Sk: New file.
44482         * modules/unictype/category-So: New file.
44483         * modules/unictype/category-Z: New file.
44484         * modules/unictype/category-Zs: New file.
44485         * modules/unictype/category-Zl: New file.
44486         * modules/unictype/category-Zp: New file.
44487         * modules/unictype/category-C: New file.
44488         * modules/unictype/category-Cc: New file.
44489         * modules/unictype/category-Cf: New file.
44490         * modules/unictype/category-Cs: New file.
44491         * modules/unictype/category-Co: New file.
44492         * modules/unictype/category-Cn: New file.
44493         * modules/unictype/category-or: New file.
44494         * modules/unictype/category-of: New file.
44495         * modules/unictype/category-test: New file.
44496         * modules/unictype/category-test-withtable: New file.
44497         * modules/unictype/category-byname: New file.
44498         * modules/unictype/category-none: New file.
44499         * modules/unictype/category-and: New file.
44500         * modules/unictype/category-and-not: New file.
44501         * modules/unictype/category-name: New file.
44502         * modules/unictype/combining-class: New file.
44503         * modules/unictype/category-all: New file.
44504         * modules/unictype/bidicategory-all: New file.
44505         * modules/unictype/bidicategory-byname: New file.
44506         * modules/unictype/bidicategory-name: New file.
44507         * modules/unictype/bidicategory-of: New file.
44508         * modules/unictype/bidicategory-test: New file.
44509         * modules/unictype/decimal-digit: New file.
44510         * modules/unictype/digit: New file.
44511         * modules/unictype/numeric: New file.
44512         * modules/unictype/mirror: New file.
44513         * modules/unictype/property-white-space: New file.
44514         * modules/unictype/property-alphabetic: New file.
44515         * modules/unictype/property-other-alphabetic: New file.
44516         * modules/unictype/property-not-a-character: New file.
44517         * modules/unictype/property-default-ignorable-code-point: New file.
44518         * modules/unictype/property-other-default-ignorable-code-point: New
44519         file.
44520         * modules/unictype/property-deprecated: New file.
44521         * modules/unictype/property-logical-order-exception: New file.
44522         * modules/unictype/property-variation-selector: New file.
44523         * modules/unictype/property-private-use: New file.
44524         * modules/unictype/property-unassigned-code-value: New file.
44525         * modules/unictype/property-uppercase: New file.
44526         * modules/unictype/property-other-uppercase: New file.
44527         * modules/unictype/property-lowercase: New file.
44528         * modules/unictype/property-other-lowercase: New file.
44529         * modules/unictype/property-titlecase: New file.
44530         * modules/unictype/property-soft-dotted: New file.
44531         * modules/unictype/property-id-start: New file.
44532         * modules/unictype/property-other-id-start: New file.
44533         * modules/unictype/property-id-continue: New file.
44534         * modules/unictype/property-other-id-continue: New file.
44535         * modules/unictype/property-xid-start: New file.
44536         * modules/unictype/property-xid-continue: New file.
44537         * modules/unictype/property-pattern-white-space: New file.
44538         * modules/unictype/property-pattern-syntax: New file.
44539         * modules/unictype/property-join-control: New file.
44540         * modules/unictype/property-grapheme-base: New file.
44541         * modules/unictype/property-grapheme-extend: New file.
44542         * modules/unictype/property-other-grapheme-extend: New file.
44543         * modules/unictype/property-grapheme-link: New file.
44544         * modules/unictype/property-bidi-control: New file.
44545         * modules/unictype/property-bidi-left-to-right: New file.
44546         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
44547         * modules/unictype/property-bidi-arabic-right-to-left: New file.
44548         * modules/unictype/property-bidi-european-digit: New file.
44549         * modules/unictype/property-bidi-eur-num-separator: New file.
44550         * modules/unictype/property-bidi-eur-num-terminator: New file.
44551         * modules/unictype/property-bidi-arabic-digit: New file.
44552         * modules/unictype/property-bidi-common-separator: New file.
44553         * modules/unictype/property-bidi-block-separator: New file.
44554         * modules/unictype/property-bidi-segment-separator: New file.
44555         * modules/unictype/property-bidi-whitespace: New file.
44556         * modules/unictype/property-bidi-non-spacing-mark: New file.
44557         * modules/unictype/property-bidi-boundary-neutral: New file.
44558         * modules/unictype/property-bidi-pdf: New file.
44559         * modules/unictype/property-bidi-embedding-or-override: New file.
44560         * modules/unictype/property-bidi-other-neutral: New file.
44561         * modules/unictype/property-hex-digit: New file.
44562         * modules/unictype/property-ascii-hex-digit: New file.
44563         * modules/unictype/property-ideographic: New file.
44564         * modules/unictype/property-unified-ideograph: New file.
44565         * modules/unictype/property-radical: New file.
44566         * modules/unictype/property-ids-binary-operator: New file.
44567         * modules/unictype/property-ids-trinary-operator: New file.
44568         * modules/unictype/property-zero-width: New file.
44569         * modules/unictype/property-space: New file.
44570         * modules/unictype/property-non-break: New file.
44571         * modules/unictype/property-iso-control: New file.
44572         * modules/unictype/property-format-control: New file.
44573         * modules/unictype/property-dash: New file.
44574         * modules/unictype/property-hyphen: New file.
44575         * modules/unictype/property-punctuation: New file.
44576         * modules/unictype/property-line-separator: New file.
44577         * modules/unictype/property-paragraph-separator: New file.
44578         * modules/unictype/property-quotation-mark: New file.
44579         * modules/unictype/property-sentence-terminal: New file.
44580         * modules/unictype/property-terminal-punctuation: New file.
44581         * modules/unictype/property-currency-symbol: New file.
44582         * modules/unictype/property-math: New file.
44583         * modules/unictype/property-other-math: New file.
44584         * modules/unictype/property-paired-punctuation: New file.
44585         * modules/unictype/property-left-of-pair: New file.
44586         * modules/unictype/property-combining: New file.
44587         * modules/unictype/property-composite: New file.
44588         * modules/unictype/property-decimal-digit: New file.
44589         * modules/unictype/property-numeric: New file.
44590         * modules/unictype/property-diacritic: New file.
44591         * modules/unictype/property-extender: New file.
44592         * modules/unictype/property-ignorable-control: New file.
44593         * modules/unictype/property-test: New file.
44594         * modules/unictype/property-byname: New file.
44595         * modules/unictype/property-all: New file.
44596         * modules/unictype/scripts: New file.
44597         * modules/unictype/scripts-all: New file.
44598         * modules/unictype/block-of: New file.
44599         * modules/unictype/block-test: New file.
44600         * modules/unictype/block-list: New file.
44601         * modules/unictype/block-all: New file.
44602         * modules/unictype/syntax-c-whitespace: New file.
44603         * modules/unictype/syntax-java-whitespace: New file.
44604         * modules/unictype/syntax-c-ident: New file.
44605         * modules/unictype/syntax-java-ident: New file.
44606         * modules/unictype/ctype-alnum: New file.
44607         * modules/unictype/ctype-alpha: New file.
44608         * modules/unictype/ctype-cntrl: New file.
44609         * modules/unictype/ctype-digit: New file.
44610         * modules/unictype/ctype-graph: New file.
44611         * modules/unictype/ctype-lower: New file.
44612         * modules/unictype/ctype-print: New file.
44613         * modules/unictype/ctype-punct: New file.
44614         * modules/unictype/ctype-space: New file.
44615         * modules/unictype/ctype-upper: New file.
44616         * modules/unictype/ctype-xdigit: New file.
44617         * modules/unictype/ctype-blank: New file.
44618         * lib/unictype/bidi_byname.c: New file.
44619         * lib/unictype/bidi_name.c: New file.
44620         * lib/unictype/bidi_of.c: New file.
44621         * lib/unictype/bidi_test.c: New file.
44622         * lib/unictype/bitmap.h: New file.
44623         * lib/unictype/block_test.c: New file.
44624         * lib/unictype/blocks.c: New file.
44625         * lib/unictype/categ_C.c: New file.
44626         * lib/unictype/categ_Cc.c: New file.
44627         * lib/unictype/categ_Cf.c: New file.
44628         * lib/unictype/categ_Cn.c: New file.
44629         * lib/unictype/categ_Co.c: New file.
44630         * lib/unictype/categ_Cs.c: New file.
44631         * lib/unictype/categ_L.c: New file.
44632         * lib/unictype/categ_Ll.c: New file.
44633         * lib/unictype/categ_Lm.c: New file.
44634         * lib/unictype/categ_Lo.c: New file.
44635         * lib/unictype/categ_Lt.c: New file.
44636         * lib/unictype/categ_Lu.c: New file.
44637         * lib/unictype/categ_M.c: New file.
44638         * lib/unictype/categ_Mc.c: New file.
44639         * lib/unictype/categ_Me.c: New file.
44640         * lib/unictype/categ_Mn.c: New file.
44641         * lib/unictype/categ_N.c: New file.
44642         * lib/unictype/categ_Nd.c: New file.
44643         * lib/unictype/categ_Nl.c: New file.
44644         * lib/unictype/categ_No.c: New file.
44645         * lib/unictype/categ_P.c: New file.
44646         * lib/unictype/categ_Pc.c: New file.
44647         * lib/unictype/categ_Pd.c: New file.
44648         * lib/unictype/categ_Pe.c: New file.
44649         * lib/unictype/categ_Pf.c: New file.
44650         * lib/unictype/categ_Pi.c: New file.
44651         * lib/unictype/categ_Po.c: New file.
44652         * lib/unictype/categ_Ps.c: New file.
44653         * lib/unictype/categ_S.c: New file.
44654         * lib/unictype/categ_Sc.c: New file.
44655         * lib/unictype/categ_Sk.c: New file.
44656         * lib/unictype/categ_Sm.c: New file.
44657         * lib/unictype/categ_So.c: New file.
44658         * lib/unictype/categ_Z.c: New file.
44659         * lib/unictype/categ_Zl.c: New file.
44660         * lib/unictype/categ_Zp.c: New file.
44661         * lib/unictype/categ_Zs.c: New file.
44662         * lib/unictype/categ_and.c: New file.
44663         * lib/unictype/categ_and_not.c: New file.
44664         * lib/unictype/categ_byname.c: New file.
44665         * lib/unictype/categ_name.c: New file.
44666         * lib/unictype/categ_none.c: New file.
44667         * lib/unictype/categ_of.c: New file.
44668         * lib/unictype/categ_or.c: New file.
44669         * lib/unictype/categ_test.c: New file.
44670         * lib/unictype/combining.c: New file.
44671         * lib/unictype/ctype_alnum.c: New file.
44672         * lib/unictype/ctype_alpha.c: New file.
44673         * lib/unictype/ctype_blank.c: New file.
44674         * lib/unictype/ctype_cntrl.c: New file.
44675         * lib/unictype/ctype_digit.c: New file.
44676         * lib/unictype/ctype_graph.c: New file.
44677         * lib/unictype/ctype_lower.c: New file.
44678         * lib/unictype/ctype_print.c: New file.
44679         * lib/unictype/ctype_punct.c: New file.
44680         * lib/unictype/ctype_space.c: New file.
44681         * lib/unictype/ctype_upper.c: New file.
44682         * lib/unictype/ctype_xdigit.c: New file.
44683         * lib/unictype/decdigit.c: New file.
44684         * lib/unictype/digit.c: New file.
44685         * lib/unictype/identsyntaxmap.h: New file.
44686         * lib/unictype/mirror.c: New file.
44687         * lib/unictype/numeric.c: New file.
44688         * lib/unictype/pr_alphabetic.c: New file.
44689         * lib/unictype/pr_ascii_hex_digit.c: New file.
44690         * lib/unictype/pr_bidi_arabic_digit.c: New file.
44691         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
44692         * lib/unictype/pr_bidi_block_separator.c: New file.
44693         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
44694         * lib/unictype/pr_bidi_common_separator.c: New file.
44695         * lib/unictype/pr_bidi_control.c: New file.
44696         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
44697         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
44698         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
44699         * lib/unictype/pr_bidi_european_digit.c: New file.
44700         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
44701         * lib/unictype/pr_bidi_left_to_right.c: New file.
44702         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
44703         * lib/unictype/pr_bidi_other_neutral.c: New file.
44704         * lib/unictype/pr_bidi_pdf.c: New file.
44705         * lib/unictype/pr_bidi_segment_separator.c: New file.
44706         * lib/unictype/pr_bidi_whitespace.c: New file.
44707         * lib/unictype/pr_byname.c: New file.
44708         * lib/unictype/pr_byname.gperf: New file.
44709         * lib/unictype/pr_combining.c: New file.
44710         * lib/unictype/pr_composite.c: New file.
44711         * lib/unictype/pr_currency_symbol.c: New file.
44712         * lib/unictype/pr_dash.c: New file.
44713         * lib/unictype/pr_decimal_digit.c: New file.
44714         * lib/unictype/pr_default_ignorable_code_point.c: New file.
44715         * lib/unictype/pr_deprecated.c: New file.
44716         * lib/unictype/pr_diacritic.c: New file.
44717         * lib/unictype/pr_extender.c: New file.
44718         * lib/unictype/pr_format_control.c: New file.
44719         * lib/unictype/pr_grapheme_base.c: New file.
44720         * lib/unictype/pr_grapheme_extend.c: New file.
44721         * lib/unictype/pr_grapheme_link.c: New file.
44722         * lib/unictype/pr_hex_digit.c: New file.
44723         * lib/unictype/pr_hyphen.c: New file.
44724         * lib/unictype/pr_id_continue.c: New file.
44725         * lib/unictype/pr_id_start.c: New file.
44726         * lib/unictype/pr_ideographic.c: New file.
44727         * lib/unictype/pr_ids_binary_operator.c: New file.
44728         * lib/unictype/pr_ids_trinary_operator.c: New file.
44729         * lib/unictype/pr_ignorable_control.c: New file.
44730         * lib/unictype/pr_iso_control.c: New file.
44731         * lib/unictype/pr_join_control.c: New file.
44732         * lib/unictype/pr_left_of_pair.c: New file.
44733         * lib/unictype/pr_line_separator.c: New file.
44734         * lib/unictype/pr_logical_order_exception.c: New file.
44735         * lib/unictype/pr_lowercase.c: New file.
44736         * lib/unictype/pr_math.c: New file.
44737         * lib/unictype/pr_non_break.c: New file.
44738         * lib/unictype/pr_not_a_character.c: New file.
44739         * lib/unictype/pr_numeric.c: New file.
44740         * lib/unictype/pr_other_alphabetic.c: New file.
44741         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
44742         * lib/unictype/pr_other_grapheme_extend.c: New file.
44743         * lib/unictype/pr_other_id_continue.c: New file.
44744         * lib/unictype/pr_other_id_start.c: New file.
44745         * lib/unictype/pr_other_lowercase.c: New file.
44746         * lib/unictype/pr_other_math.c: New file.
44747         * lib/unictype/pr_other_uppercase.c: New file.
44748         * lib/unictype/pr_paired_punctuation.c: New file.
44749         * lib/unictype/pr_paragraph_separator.c: New file.
44750         * lib/unictype/pr_pattern_syntax.c: New file.
44751         * lib/unictype/pr_pattern_white_space.c: New file.
44752         * lib/unictype/pr_private_use.c: New file.
44753         * lib/unictype/pr_punctuation.c: New file.
44754         * lib/unictype/pr_quotation_mark.c: New file.
44755         * lib/unictype/pr_radical.c: New file.
44756         * lib/unictype/pr_sentence_terminal.c: New file.
44757         * lib/unictype/pr_soft_dotted.c: New file.
44758         * lib/unictype/pr_space.c: New file.
44759         * lib/unictype/pr_terminal_punctuation.c: New file.
44760         * lib/unictype/pr_test.c: New file.
44761         * lib/unictype/pr_titlecase.c: New file.
44762         * lib/unictype/pr_unassigned_code_value.c: New file.
44763         * lib/unictype/pr_unified_ideograph.c: New file.
44764         * lib/unictype/pr_uppercase.c: New file.
44765         * lib/unictype/pr_variation_selector.c: New file.
44766         * lib/unictype/pr_white_space.c: New file.
44767         * lib/unictype/pr_xid_continue.c: New file.
44768         * lib/unictype/pr_xid_start.c: New file.
44769         * lib/unictype/pr_zero_width.c: New file.
44770         * lib/unictype/scripts.c: New file.
44771         * lib/unictype/sy_c_ident.c: New file.
44772         * lib/unictype/sy_c_whitespace.c: New file.
44773         * lib/unictype/sy_java_ident.c: New file.
44774         * lib/unictype/sy_java_whitespace.c: New file.
44775
44776         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
44777         Unicode 5.0.0.
44778         * lib/unictype/blocks.h: Likewise.
44779         * lib/unictype/categ_C.h: Likewise.
44780         * lib/unictype/categ_Cc.h: Likewise.
44781         * lib/unictype/categ_Cf.h: Likewise.
44782         * lib/unictype/categ_Cn.h: Likewise.
44783         * lib/unictype/categ_Co.h: Likewise.
44784         * lib/unictype/categ_Cs.h: Likewise.
44785         * lib/unictype/categ_L.h: Likewise.
44786         * lib/unictype/categ_Ll.h: Likewise.
44787         * lib/unictype/categ_Lm.h: Likewise.
44788         * lib/unictype/categ_Lo.h: Likewise.
44789         * lib/unictype/categ_Lt.h: Likewise.
44790         * lib/unictype/categ_Lu.h: Likewise.
44791         * lib/unictype/categ_M.h: Likewise.
44792         * lib/unictype/categ_Mc.h: Likewise.
44793         * lib/unictype/categ_Me.h: Likewise.
44794         * lib/unictype/categ_Mn.h: Likewise.
44795         * lib/unictype/categ_N.h: Likewise.
44796         * lib/unictype/categ_Nd.h: Likewise.
44797         * lib/unictype/categ_Nl.h: Likewise.
44798         * lib/unictype/categ_No.h: Likewise.
44799         * lib/unictype/categ_P.h: Likewise.
44800         * lib/unictype/categ_Pc.h: Likewise.
44801         * lib/unictype/categ_Pd.h: Likewise.
44802         * lib/unictype/categ_Pe.h: Likewise.
44803         * lib/unictype/categ_Pf.h: Likewise.
44804         * lib/unictype/categ_Pi.h: Likewise.
44805         * lib/unictype/categ_Po.h: Likewise.
44806         * lib/unictype/categ_Ps.h: Likewise.
44807         * lib/unictype/categ_S.h: Likewise.
44808         * lib/unictype/categ_Sc.h: Likewise.
44809         * lib/unictype/categ_Sk.h: Likewise.
44810         * lib/unictype/categ_Sm.h: Likewise.
44811         * lib/unictype/categ_So.h: Likewise.
44812         * lib/unictype/categ_Z.h: Likewise.
44813         * lib/unictype/categ_Zl.h: Likewise.
44814         * lib/unictype/categ_Zp.h: Likewise.
44815         * lib/unictype/categ_Zs.h: Likewise.
44816         * lib/unictype/categ_of.h: Likewise.
44817         * lib/unictype/combining.h: Likewise.
44818         * lib/unictype/ctype_alnum.h: Likewise.
44819         * lib/unictype/ctype_alpha.h: Likewise.
44820         * lib/unictype/ctype_blank.h: Likewise.
44821         * lib/unictype/ctype_cntrl.h: Likewise.
44822         * lib/unictype/ctype_digit.h: Likewise.
44823         * lib/unictype/ctype_graph.h: Likewise.
44824         * lib/unictype/ctype_lower.h: Likewise.
44825         * lib/unictype/ctype_print.h: Likewise.
44826         * lib/unictype/ctype_punct.h: Likewise.
44827         * lib/unictype/ctype_space.h: Likewise.
44828         * lib/unictype/ctype_upper.h: Likewise.
44829         * lib/unictype/ctype_xdigit.h: Likewise.
44830         * lib/unictype/decdigit.h: Likewise.
44831         * lib/unictype/digit.h: Likewise.
44832         * lib/unictype/mirror.h: Likewise.
44833         * lib/unictype/numeric.h: Likewise.
44834         * lib/unictype/pr_alphabetic.h: Likewise.
44835         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44836         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44837         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44838         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44839         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44840         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44841         * lib/unictype/pr_bidi_control.h: Likewise.
44842         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44843         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44844         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44845         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44846         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44847         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44848         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44849         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44850         * lib/unictype/pr_bidi_pdf.h: Likewise.
44851         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44852         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44853         * lib/unictype/pr_combining.h: Likewise.
44854         * lib/unictype/pr_composite.h: Likewise.
44855         * lib/unictype/pr_currency_symbol.h: Likewise.
44856         * lib/unictype/pr_dash.h: Likewise.
44857         * lib/unictype/pr_decimal_digit.h: Likewise.
44858         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44859         * lib/unictype/pr_deprecated.h: Likewise.
44860         * lib/unictype/pr_diacritic.h: Likewise.
44861         * lib/unictype/pr_extender.h: Likewise.
44862         * lib/unictype/pr_format_control.h: Likewise.
44863         * lib/unictype/pr_grapheme_base.h: Likewise.
44864         * lib/unictype/pr_grapheme_extend.h: Likewise.
44865         * lib/unictype/pr_grapheme_link.h: Likewise.
44866         * lib/unictype/pr_hex_digit.h: Likewise.
44867         * lib/unictype/pr_hyphen.h: Likewise.
44868         * lib/unictype/pr_id_continue.h: Likewise.
44869         * lib/unictype/pr_id_start.h: Likewise.
44870         * lib/unictype/pr_ideographic.h: Likewise.
44871         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44872         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44873         * lib/unictype/pr_ignorable_control.h: Likewise.
44874         * lib/unictype/pr_iso_control.h: Likewise.
44875         * lib/unictype/pr_join_control.h: Likewise.
44876         * lib/unictype/pr_left_of_pair.h: Likewise.
44877         * lib/unictype/pr_line_separator.h: Likewise.
44878         * lib/unictype/pr_logical_order_exception.h: Likewise.
44879         * lib/unictype/pr_lowercase.h: Likewise.
44880         * lib/unictype/pr_math.h: Likewise.
44881         * lib/unictype/pr_non_break.h: Likewise.
44882         * lib/unictype/pr_not_a_character.h: Likewise.
44883         * lib/unictype/pr_numeric.h: Likewise.
44884         * lib/unictype/pr_other_alphabetic.h: Likewise.
44885         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44886         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44887         * lib/unictype/pr_other_id_continue.h: Likewise.
44888         * lib/unictype/pr_other_id_start.h: Likewise.
44889         * lib/unictype/pr_other_lowercase.h: Likewise.
44890         * lib/unictype/pr_other_math.h: Likewise.
44891         * lib/unictype/pr_other_uppercase.h: Likewise.
44892         * lib/unictype/pr_paired_punctuation.h: Likewise.
44893         * lib/unictype/pr_paragraph_separator.h: Likewise.
44894         * lib/unictype/pr_pattern_syntax.h: Likewise.
44895         * lib/unictype/pr_pattern_white_space.h: Likewise.
44896         * lib/unictype/pr_private_use.h: Likewise.
44897         * lib/unictype/pr_punctuation.h: Likewise.
44898         * lib/unictype/pr_quotation_mark.h: Likewise.
44899         * lib/unictype/pr_radical.h: Likewise.
44900         * lib/unictype/pr_sentence_terminal.h: Likewise.
44901         * lib/unictype/pr_soft_dotted.h: Likewise.
44902         * lib/unictype/pr_space.h: Likewise.
44903         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44904         * lib/unictype/pr_titlecase.h: Likewise.
44905         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44906         * lib/unictype/pr_unified_ideograph.h: Likewise.
44907         * lib/unictype/pr_uppercase.h: Likewise.
44908         * lib/unictype/pr_variation_selector.h: Likewise.
44909         * lib/unictype/pr_white_space.h: Likewise.
44910         * lib/unictype/pr_xid_continue.h: Likewise.
44911         * lib/unictype/pr_xid_start.h: Likewise.
44912         * lib/unictype/pr_zero_width.h: Likewise.
44913         * lib/unictype/scripts.h: Likewise.
44914         * lib/unictype/scripts_byname.gperf: Likewise.
44915         * lib/unictype/sy_c_ident.h: Likewise.
44916         * lib/unictype/sy_c_whitespace.h: Likewise.
44917         * lib/unictype/sy_java_ident.h: Likewise.
44918         * lib/unictype/sy_java_whitespace.h: Likewise.
44919
44920         * lib/unictype/Makefile: New file.
44921         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
44922         glibc.
44923         * lib/unictype/3level.h: New file, copied from glibc.
44924         * lib/unictype/3levelbit.h: New file.
44925
44926 2007-11-11  Bruno Haible  <bruno@clisp.org>
44927
44928         * modules/gperf: New file.
44929         * modules/iconv_open (Depends-on): Add it.
44930         (Makefile.am): Remove the GPERF definition.
44931
44932 2007-11-11  Bruno Haible  <bruno@clisp.org>
44933
44934         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
44935         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
44936
44937 2007-11-11  Bruno Haible  <bruno@clisp.org>
44938
44939         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
44940         (usage): Remove function.
44941
44942 2007-11-11  Bruno Haible  <bruno@clisp.org>
44943
44944         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
44945         gl_FUNC_CEILF_LIBS.
44946         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
44947         gl_FUNC_CEIL_LIBS.
44948         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
44949         gl_FUNC_CEILL_LIBS.
44950         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
44951         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
44952         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
44953
44954 2007-11-11  Bruno Haible  <bruno@clisp.org>
44955
44956         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
44957         roundf were declared but do not exist on functions.
44958         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
44959         roundl were declared but do not exist on functions.
44960         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
44961         HAVE_FLOORL_AND_CEILL, respectively.
44962         Needed for Sun C on Solaris 10.
44963
44964 2007-11-11  Bruno Haible  <bruno@clisp.org>
44965
44966         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
44967         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
44968         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
44969         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
44970         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
44971         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
44972         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
44973         HAVE_DECL_ROUNDF.
44974         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
44975         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
44976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
44977         of HAVE_DECL_ROUND*.
44978         * modules/math (Makefile.am): Update.
44979
44980 2007-11-10  Bruno Haible  <bruno@clisp.org>
44981
44982         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
44983         ptrdiff_t as m4/intl.m4.
44984
44985 2007-11-10  Jim Meyering  <meyering@redhat.com>
44986
44987         Avoid link failure for the argmatch test.
44988         * tests/test-argmatch.c (usage): Define function to avoid a link
44989         failure: argmatch_die requires a usage function.
44990
44991 2007-11-09  Bruno Haible  <bruno@clisp.org>
44992
44993         * doc/functions/snprintf.texi: Mention BeOS deficiency.
44994         * doc/functions/vsnprintf.texi: Likewise.
44995         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
44996         with a size argument < 2.
44997
44998 2007-11-09  Bruno Haible  <bruno@clisp.org>
44999
45000         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
45001         buffer. Fixes an inefficiency introduced on 2007-11-03.
45002
45003 2007-11-09  Bruno Haible  <bruno@clisp.org>
45004
45005         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
45006         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
45007
45008 2007-11-08  Jim Meyering  <meyering@redhat.com>
45009
45010         Change cache variable name prefix "jm_" to "gl_" everywhere.
45011         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
45012         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
45013         * m4/uptime.m4: s/gl_/jm_/
45014
45015 2007-11-07  Bruno Haible  <bruno@clisp.org>
45016
45017         Update to GNU gettext 0.17.
45018         * m4/intl.m4: Update to GNU gettext 0.17.
45019         * m4/po.m4: Likewise.
45020         * modules/gettext (Files): Remove m4/ulonglong.m4.
45021         (configure.ac): Require gettext infrastructure from version 0.17.
45022
45023 2007-11-06  Bruno Haible  <bruno@clisp.org>
45024
45025         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
45026         symbolic values are not defined in a public header.
45027         * lib/freadable.c (freadable) [QNX]: Likewise.
45028         * lib/freadahead.c (freadahead) [QNX]: Likewise.
45029         * lib/freading.c (freading) [QNX]: Likewise.
45030         * lib/fseterr.c (fseterr) [QNX]: Likewise.
45031         * lib/fwritable.c (fwritable) [QNX]: Likewise.
45032         * lib/fwriting.c (fwriting) [QNX]: Likewise.
45033         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
45034         Reported by Alain Magloire.
45035
45036         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
45037
45038 2007-11-05  Bruno Haible  <bruno@clisp.org>
45039
45040         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
45041         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
45042         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
45043         Reported by Eric Blake.
45044
45045 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45046             Bruno Haible  <bruno@clisp.org>
45047
45048         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
45049         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
45050         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
45051         (malloc): Undefine also before including <stdlib.h>.
45052         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
45053         Needed on OSF/1 4.0.
45054
45055 2007-11-05  Jim Meyering  <meyering@redhat.com>
45056
45057         git-version-gen: sync from coreutils.
45058         * build-aux/git-version-gen: Add comments.
45059         Change the first '-' to '.' in the snapshot version string,
45060         e.g., 6.9-377-08144 -> 6.9.377-08144
45061         Remove first parameter.
45062         Don't declare a version "-dirty" merely because a time
45063         stamp has changed.
45064
45065 2007-11-04  Bruno Haible  <bruno@clisp.org>
45066
45067         * lib/lock.h: Protect all macro definitions containing an 'if'
45068         statement through a "do { ... } while (0)".
45069         * lib/tls.h: Likewise.
45070
45071 2007-11-04  Bruno Haible  <bruno@clisp.org>
45072
45073         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
45074
45075 2007-11-04  Bruno Haible  <bruno@clisp.org>
45076
45077         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
45078         * modules/fprintf-posix (Depends-on): Add nocrash.
45079         * modules/snprintf-posix (Depends-on): Likewise.
45080         * modules/sprintf-posix (Depends-on): Likewise.
45081         * modules/vasnprintf-posix (Depends-on): Likewise.
45082         * modules/vasprintf-posix (Depends-on): Likewise.
45083         * modules/vfprintf-posix (Depends-on): Likewise.
45084         * modules/vsnprintf-posix (Depends-on): Likewise.
45085         * modules/vsprintf-posix (Depends-on): Likewise.
45086         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45087         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45088         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45089         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45090         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45091         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45092         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45093
45094 2007-11-04  Bruno Haible  <bruno@clisp.org>
45095
45096         * modules/nocrash: New file.
45097         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
45098         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
45099
45100 2007-11-04  Bruno Haible  <bruno@clisp.org>
45101
45102         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
45103         precision handling.
45104         * tests/test-vasprintf-posix.c (test_function): Likewise.
45105         * tests/test-snprintf-posix.h (test_function): Likewise.
45106         * tests/test-sprintf-posix.h (test_function): Likewise.
45107
45108         Fix *printf behaviour for large precisions on mingw and BeOS.
45109         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
45110         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
45111         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
45112         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45113         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45114         gl_PRINTF_PRECISION and test its result. Invoke
45115         gl_PREREQ_VASNPRINTF_PRECISION.
45116         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45117         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45118         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45119         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45120         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45121         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45122         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45123         * doc/functions/fprintf.texi: Update.
45124         * doc/functions/printf.texi: Update.
45125         * doc/functions/snprintf.texi: Update.
45126         * doc/functions/sprintf.texi: Update.
45127         * doc/functions/vfprintf.texi: Update.
45128         * doc/functions/vprintf.texi: Update.
45129         * doc/functions/vsnprintf.texi: Update.
45130         * doc/functions/vsprintf.texi: Update.
45131
45132 2007-11-04  Bruno Haible  <bruno@clisp.org>
45133
45134         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
45135
45136 2007-11-04  Bruno Haible  <bruno@clisp.org>
45137
45138         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
45139         Reported by Sylvain Beucler <beuc@gnu.org>.
45140
45141 2007-11-03  Bruno Haible  <bruno@clisp.org>
45142
45143         * tests/test-fprintf-posix2.sh: New file.
45144         * tests/test-fprintf-posix2.c: New file.
45145         * modules/fprintf-posix-tests (Files): Add them.
45146         (TESTS): Add test-fprintf-posix2.sh.
45147         (configure.ac): Check for getrlimit and setrlimit.
45148         (check_PROGRAMS): Add test-fprintf-posix2.
45149
45150         * tests/test-printf-posix2.sh: New file.
45151         * tests/test-printf-posix2.c: New file.
45152         * modules/printf-posix-tests (Files): Add them.
45153         (TESTS): Add test-printf-posix2.sh.
45154         (configure.ac): Check for getrlimit and setrlimit.
45155         (check_PROGRAMS): Add test-printf-posix2.
45156
45157         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
45158         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
45159         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
45160         (decode_double): New function, copied from decode_long_double.
45161         (scale10_round_decimal_decoded): New function, extracted from
45162         scale10_round_decimal_long_double.
45163         (scale10_round_decimal_long_double): Use it.
45164         (scale10_round_decimal_double): New function.
45165         (floorlog10): New function.
45166         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
45167         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
45168         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45169         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45170         gl_PRINTF_ENOMEM and test its result. Invoke
45171         gl_PREREQ_VASNPRINTF_ENOMEM.
45172         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45173         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45174         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45175         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45176         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45177         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45178         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45179         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
45180         * modules/snprintf-posix (Depends-on): Likewise.
45181         * modules/sprintf-posix (Depends-on): Likewise.
45182         * modules/vasnprintf-posix (Depends-on): Likewise.
45183         * modules/vasprintf-posix (Depends-on): Likewise.
45184         * modules/vfprintf-posix (Depends-on): Likewise.
45185         * modules/vsnprintf-posix (Depends-on): Likewise.
45186         * modules/vsprintf-posix (Depends-on): Likewise.
45187         * doc/functions/fprintf.texi: Update.
45188         * doc/functions/printf.texi: Update.
45189         * doc/functions/snprintf.texi: Update.
45190         * doc/functions/sprintf.texi: Update.
45191         * doc/functions/vfprintf.texi: Update.
45192         * doc/functions/vprintf.texi: Update.
45193         * doc/functions/vsnprintf.texi: Update.
45194         * doc/functions/vsprintf.texi: Update.
45195
45196 2007-11-03  Bruno Haible  <bruno@clisp.org>
45197
45198         * modules/frexp-nolibm-tests: New file.
45199
45200         * modules/frexp-nolibm: New file.
45201         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
45202
45203 2007-11-03  Bruno Haible  <bruno@clisp.org>
45204
45205         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
45206         value is C99 compliant.
45207         Needed for OSF/1 5.1.
45208
45209 2007-11-03  Bruno Haible  <bruno@clisp.org>
45210
45211         Fix out-of-memory handling of vasnprintf.
45212         * lib/printf-parse.c: Include <errno.h>.
45213         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
45214         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
45215         is already set.
45216
45217 2007-11-02  Eric Blake  <ebb9@byu.net>
45218
45219         Fix tests on cygwin.
45220         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
45221
45222 2007-11-01  Bruno Haible  <bruno@clisp.org>
45223
45224         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
45225         warning.
45226         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
45227         needed for POSIX compatibility.
45228
45229 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45230
45231         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
45232         for compatibility with GNU.
45233
45234 2007-11-01  Bruno Haible  <bruno@clisp.org>
45235
45236         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
45237         (putenv): Renamed from rpl_putenv. Change argument type from
45238         'const char *' to 'char *'.
45239         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
45240         of defining putenv in config.h, just set REPLACE_PUTENV.
45241         * modules/putenv (Depends-on): Add stdlib.
45242         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45243         (Include): Use <stdlib.h>.
45244         * lib/stdlib.in.h (putenv): New declaration.
45245         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
45246         REPLACE_PUTENV.
45247         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
45248         REPLACE_PUTENV.
45249         Needed for MacOS X 10.5.0.
45250         Reported by Peter O'Gorman <peter@pogma.com>.
45251
45252 2007-11-01  Jim Meyering  <meyering@redhat.com>
45253
45254         Treat an empty date string exactly like "0".
45255         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
45256         if the remaining date string (to be parsed) is empty, use "0".
45257         Reported by Mischa Molhoek and discussed in this thread:
45258         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
45259
45260 2007-10-31  Bruno Haible  <bruno@clisp.org>
45261
45262         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
45263         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
45264         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
45265         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
45266         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
45267         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
45268
45269 2007-10-31  Bruno Haible  <bruno@clisp.org>
45270
45271         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
45272         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
45273         (AC_TYPE_LONG_LONG_INT): Use it.
45274         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
45275         it as well.
45276         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
45277         to m4/longlong.m4.
45278         * modules/stdint (Files): Remove m4/ulonglong.m4.
45279         * modules/strtoull (Files): Use m4/longlong.m4 instead of
45280         m4/ulonglong.m4.
45281         * modules/strtoumax (Files): Likewise.
45282
45283 2007-10-30  Bruno Haible  <bruno@clisp.org>
45284
45285         * modules/xvasprintf-posix: New file.
45286         Suggested by Eric Blake.
45287
45288 2007-10-30  Bruno Haible  <bruno@clisp.org>
45289
45290         * modules/xprintf-posix-tests: New file.
45291         * tests/test-xprintf-posix.sh: New file.
45292         * tests/test-xprintf-posix.c: New file.
45293         * tests/test-xfprintf-posix.c: New file.
45294
45295         * modules/xprintf-posix: New file.
45296
45297 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45298
45299         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
45300         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
45301         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
45302
45303 2007-10-29  Bruno Haible  <bruno@clisp.org>
45304
45305         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
45306         contain the special marker '_cv_'.
45307         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45308         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45309         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45310         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
45311         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45312         Reported by Ralf Wildenhues.
45313
45314 2007-10-29  Bruno Haible  <bruno@clisp.org>
45315
45316         * gnulib-tool (func_import): When --lgpl is not specified, set
45317         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
45318         GPLv3.
45319         Reported by Simon Josefsson.
45320
45321 2007-10-28  Bruno Haible  <bruno@clisp.org>
45322
45323         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
45324         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
45325         HAVE_DECL_ISFINITE.
45326         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45327         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
45328         HAVE_DECL_ISFINITE.
45329
45330 2007-10-28  Bruno Haible  <bruno@clisp.org>
45331
45332         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
45333         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
45334
45335 2007-10-28  Bruno Haible  <bruno@clisp.org>
45336
45337         Fix link errors with Sun C 5.0 on Solaris 10.
45338         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
45339         function is declared but not present in the compiler's libm.
45340         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
45341         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
45342         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
45343         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
45344         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
45345         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
45346         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
45347         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45348         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
45349         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
45350         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
45351         HAVE_DECL_FLOORL.
45352
45353 2007-10-28  Bruno Haible  <bruno@clisp.org>
45354
45355         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
45356         gl_FUNC_FLOORL. Cache the result.
45357         (gl_FUNC_FLOORL): Use it.
45358         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
45359         gl_FUNC_CEILL. Cache the result.
45360         (gl_FUNC_CEILL): Use it.
45361
45362         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
45363         gl_FUNC_FLOOR. Cache the result.
45364         (gl_FUNC_FLOOR): Use it.
45365         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
45366         gl_FUNC_CEIL. Cache the result.
45367         (gl_FUNC_CEIL): Use it.
45368
45369         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
45370         gl_FUNC_FLOORF. Cache the result.
45371         (gl_FUNC_FLOORF): Use it.
45372         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
45373         gl_FUNC_CEILF. Cache the result.
45374         (gl_FUNC_CEILF): Use it.
45375
45376 2007-10-28  Bruno Haible  <bruno@clisp.org>
45377
45378         * gnulib-tool: Allow specifying the LGPL version number through
45379         --lgpl=2 or --lgpl=3.
45380         (func_usage): Document --lgpl with argument.
45381         Handle --lgpl=... arguments.
45382         (func_import): Recognize also gl_LGPL calls with an argument. When
45383         --lgpl=2 is used and the module's license is just LGPL, report an
45384         error. Set sed_transform_lib_file according to the lgpl variable. In
45385         the generated files, use --lgpl or gl_LGPL invocations with argument,
45386         if necessary.
45387         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
45388         an LGPv2+ license.
45389         * doc/gnulib-tool.texi (Modified imports): Update explanation of
45390         gl_LGPL macro.
45391
45392 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45393             Bruno Haible  <bruno@clisp.org>
45394
45395         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
45396         (u16_uctomb_aux): Likewise.
45397         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
45398         !HAVE_INLINE.
45399         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
45400
45401 2007-10-28  Bruno Haible  <bruno@clisp.org>
45402
45403         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
45404         Invoke AM_GETTEXT_OPTION if it exists.
45405         * modules/vasprintf: Likewise.
45406         * modules/verror: Likewise.
45407         * modules/xprintf: Likewise.
45408         * modules/xvasprintf: Likewise.
45409
45410 2007-10-27  Ben Pfaff  <blp@gnu.org>
45411
45412         * lib/math.in.h: Define isfinite macro and prototypes for
45413         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
45414         implementations.
45415         * m4/math_h.m4: New substitutions for isfinite module.
45416         * lib/isfinite.c: New file.
45417         * m4/isfinite.m4: New file.
45418         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
45419         * modules/isfinite: New file.
45420         * modules/isfinite-tests: New file.
45421         * tests/tests-isfinite.c: New file.
45422         * doc/functions/isfinite.texi: Mention isfinite module.
45423         * MODULES.html.sh: Mention new module.
45424
45425 2007-10-27  Ben Pfaff  <blp@gnu.org>
45426
45427         Ralf Wildenhues reported that Tru64 4.0D declares the round
45428         functions but does not have definitions.
45429         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
45430         cannot be found in any library, set the output variable to
45431         "missing" instead of "".
45432         * m4/round.m4: Also use our substitute if we cannot find round in
45433         any library, even if it is declared.
45434         * m4/roundf.m4: Likewise for roundf.
45435         * m4/roundl.m4: Likewise for roundl.
45436         * lib/math.in.h: Undefine roundf, round, roundl before defining
45437         their replacements, to allow for hypothetical systems where these
45438         may be defined as macros but not available in libraries.
45439
45440 2007-10-27  Bruno Haible  <bruno@clisp.org>
45441
45442         * doc/gnulib.texi: Invoke @firstparagraphindent.
45443         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
45444         changes in gnulib.
45445         (Source changes): New section.
45446
45447 2007-10-26  Bruno Haible  <bruno@clisp.org>
45448
45449         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
45450         borrowed from autoconf.
45451
45452 2007-10-26  Bruno Haible  <bruno@clisp.org>
45453
45454         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
45455         strerror returned the empty string. Needed on HP-UX 11.00.
45456
45457 2007-10-24  Micah Cowan  <micah@cowan.name>
45458
45459         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
45460         * build-aux/bootstrap: Remove support for now-unnecessary option,
45461         --cvs-user, and envvars CVS_USER, CVS_RSH.
45462
45463 2007-10-24  Jim Meyering  <meyering@redhat.com>
45464
45465         Avoid diagnostics from sha1sum when there is no cached checksum.
45466         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
45467         if the po.s1 file hasn't been created yet.
45468
45469         * build-aux/bootstrap: Sync from coreutils:
45470         2007-10-24  Jim Meyering  <meyering@redhat.com>
45471         Get gnulib from the git repository, not from an obsolete cvs one.
45472         * build-aux/bootstrap: Suggestion from Micah Cowan.
45473         2007-10-04  Jim Meyering  <jim@meyering.net>
45474         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
45475         (update_po_files): Work also when there are no .po files in po/.
45476
45477 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45478
45479         * README: Append ".git" to git and cg examples.
45480         Problem reported by Benoit Sigoure.
45481
45482 2007-10-23  Micah Cowan  <micah@cowan.name>
45483
45484         * users.txt: Add wget.
45485
45486 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45487
45488         Fix linking of some unistdio tests on FreeBSD.
45489         * modules/unistdio/u16-vsnprintf-tests
45490         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
45491         * modules/unistdio/u16-vsprintf-tests
45492         (test_u16_vsnprintf1_LDADD): Likewise.
45493         * modules/unistdio/u32-vsnprintf-tests
45494         (test_u32_vsnprintf1_LDADD): Likewise.
45495         * modules/unistdio/u32-vsprintf-tests
45496         (test_u32_vsprintf1_LDADD): Likewise.
45497         * modules/unistdio/u8-vsnprintf-tests
45498         (test_u8_vsnprintf1_LDADD): Likewise.
45499         * modules/unistdio/u8-vsprintf-tests
45500         (test_u8_vsprintf1_LDADD): Likewise.
45501         * modules/unistdio/ulc-vsnprintf-tests
45502         (test_ulc_vsnprintf1_LDADD): Likewise.
45503         * modules/unistdio/ulc-vsprintf-tests
45504         (test_ulc_vsprintf1_LDADD): Likewise.
45505
45506         Fix linking of some uniconv tests on FreeBSD.
45507         * modules/uniconv/u16-conv-from-enc-tests
45508         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
45509         * modules/uniconv/u16-conv-to-enc-tests
45510         (test_u16_conv_to_enc_LDADD): Likewise.
45511         * modules/uniconv/u16-strconv-from-enc-tests
45512         (test_u16_strconv_from_enc_LDADD): Likewise.
45513         * modules/uniconv/u16-strconv-to-enc-tests
45514         (test_u16_strconv_to_enc_LDADD): Likewise.
45515         * modules/uniconv/u32-conv-from-enc-tests
45516         (test_u32_conv_from_enc_LDADD): Likewise.
45517         * modules/uniconv/u32-conv-to-enc-tests
45518         (test_u32_conv_to_enc_LDADD): Likewise.
45519         * modules/uniconv/u32-strconv-from-enc-tests
45520         (test_u32_strconv_from_enc_LDADD): Likewise.
45521         * modules/uniconv/u32-strconv-to-enc-tests
45522         (test_u32_strconv_to_enc_LDADD): Likewise.
45523         * modules/uniconv/u8-conv-from-enc-tests
45524         (test_u8_conv_from_enc_LDADD): Likewise.
45525         * modules/uniconv/u8-conv-to-enc-tests
45526         (test_u8_conv_to_enc_LDADD): Likewise.
45527         * modules/uniconv/u8-strconv-from-enc-tests
45528         (test_u8_strconv_from_enc_LDADD): Likewise.
45529         * modules/uniconv/u8-strconv-to-enc-tests
45530         (test_u8_strconv_to_enc_LDADD): Likewise.
45531
45532 2007-10-22  Bruno Haible  <bruno@clisp.org>
45533
45534         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
45535         size.
45536
45537 2007-10-22  Eric Blake  <ebb9@byu.net>
45538
45539         Tweak x*printf documentation.
45540         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
45541         variable name and comments.
45542         Suggested by Bruno Haible.
45543
45544 2007-10-22  Bruno Haible  <bruno@clisp.org>
45545
45546         * lib/acl.c (copy_acl): Fix file name in comment.
45547
45548 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45549
45550         Fix Tru64 problem with stdbool.h.
45551         * lib/stdbool.in.h (false, true):
45552         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
45553         Don't declare as an enum in this situation; it runs afoul of Tru64.
45554         Problem reported by Steven M. Schweda in
45555         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
45556
45557 2007-10-22  Eric Blake  <ebb9@byu.net>
45558
45559         Also wrap vf?printf.
45560         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
45561         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
45562         (xvprintf, xvfprintf): New functions.
45563
45564 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45565
45566         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
45567         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
45568
45569         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
45570         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
45571
45572 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45573
45574         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
45575         by Bruno Haible.
45576
45577 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45578
45579         * lib/getloadavg.c
45580         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
45581         Undef `sys' after including sys/table.h, for Tru64 4.0D.
45582
45583         * tests/test-i-ring.c: Work for C89.
45584
45585 2007-10-22  Bruno Haible  <bruno@clisp.org>
45586
45587         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
45588         -1u, in preprocessor expression, so that we don't test for the bug
45589         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
45590         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
45591
45592 2007-10-22  Eric Blake  <ebb9@byu.net>
45593
45594         * tests/test-yesno.sh: Silence stderr during test.
45595
45596 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45597
45598         * modules/crypto/gc-camellia: New file.
45599
45600         * m4/gc-camellia.m4: New file.
45601
45602         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
45603
45604         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
45605
45606 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45607
45608         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
45609         --help to stdout.  Reported by sms@antinode.org (Steven
45610         M. Schweda).
45611
45612 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45613
45614         * users.txt: Fix link to libksba.
45615
45616 2007-10-21  Ben Pfaff  <blp@gnu.org>
45617
45618         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
45619         round.c roundf implementation that depends on floorf and ceilf to
45620         be tested unconditionally.
45621
45622 2007-10-21  Ben Pfaff  <blp@gnu.org>
45623
45624         * m4/check-libm-func.m4: Removed.
45625         * m4/check-math-lib.m4: New file.
45626         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
45627         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
45628         definition and lack of AC_LIBOBJ([roundf]).
45629         * m4/roundl.m4: Ditto, and similarly for roundl.
45630         * modules/round: Reference new m4 file.
45631         * modules/roundf: Ditto.
45632         * modules/roundl: Ditto.
45633         * tests/test-round2.c (main): Use ROUND instead of round.
45634         Bug report from Bruno Haible.
45635
45636 2007-10-21  Bruno Haible  <bruno@clisp.org>
45637
45638         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
45639         context.
45640
45641 2007-10-21  Bruno Haible  <bruno@clisp.org>
45642
45643         * tests/test-wcwidth.c (main): Allow negative result for some control
45644         characters.
45645
45646         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
45647         Needed on OSF/1 5.1.
45648
45649 2007-10-21  Bruno Haible  <bruno@clisp.org>
45650
45651         * tests/test-floorf1.c: Include isnanf.h.
45652         (main): Use isnanf() instead of isnan().
45653         * tests/test-ceilf1.c: Include isnanf.h.
45654         (main): Use isnanf() instead of isnan().
45655         * tests/test-truncf1.c: Include isnanf.h.
45656         (main): Use isnanf() instead of isnan().
45657         * tests/test-roundf1.c: Include isnanf.h.
45658         (main): Use isnanf() instead of isnan().
45659
45660 2007-10-21  Eric Blake  <ebb9@byu.net>
45661
45662         * users.txt: Update URL for m4.
45663
45664 2007-10-21  Bruno Haible  <bruno@clisp.org>
45665
45666         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
45667
45668 2007-10-21  Bruno Haible  <bruno@clisp.org>
45669
45670         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
45671         Git's management files if the CVS files are not present.
45672
45673 2007-10-20  Bruno Haible  <bruno@clisp.org>
45674
45675         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
45676         gcc-3.4.x.
45677
45678 2007-10-20  Ben Pfaff  <blp@gnu.org>
45679
45680         * lib/math.in.h: Declare round, roundf, roundl if we are providing
45681         implementations.
45682         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
45683         * lib/round.c: New file.
45684         * lib/roundf.c: New file.
45685         * lib/roundl.c: New file.
45686         * m4/round.m4: New file.
45687         * m4/roundf.m4: New file.
45688         * m4/roundl.m4: New file.
45689         * m4/check-libm-func-m4: New file.
45690         * modules/math: Replace round, roundf, roundl related @VARS@ in
45691         math.in.h.
45692         * modules/round: New file.
45693         * modules/round-tests: New file.
45694         * modules/roundf: New file.
45695         * modules/roundf-tests: New file.
45696         * modules/roundl: New file.
45697         * modules/roundl-tests: New file.
45698         * tests/test-round1.c: New file.
45699         * tests/test-round2.c: New file.
45700         * tests/test-roundf1.c: New file.
45701         * tests/test-roundf2.c: New file.
45702         * tests/test-roundl.c: New file.
45703         * doc/functions/round.texi: Mention round module.
45704         * doc/functions/roundf.texi: Mention roundf module.
45705         * doc/functions/roundl.texi: Mention roundl module.
45706         * MODULES.html.sh: Mention new modules.
45707         Thanks to Bruno Haible for suggestions.
45708
45709 2007-10-20  Jim Meyering  <meyering@redhat.com>
45710
45711         * lib/xprintf.c: Include <config.h> unconditionally.
45712
45713         Change xprintf's license to GPL.
45714         * modules/xprintf (License): s/LGPL/GPL/, since this module
45715         depends on modules (exit and exitfail) which are GPL.
45716         Suggestion from Bruno Haible.
45717
45718         xprintf fixes.
45719         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
45720         Use a clearer diagnostic.
45721         Patch from Bruno Haible.
45722
45723 2007-10-20  Bruno Haible  <bruno@clisp.org>
45724
45725         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
45726         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
45727         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45728
45729 2007-10-20  Bruno Haible  <bruno@clisp.org>
45730
45731         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
45732         precision in the comparison result > x - 1 or similar.
45733         * tests/test-ceilf2.c (correct_result_p): Likewise.
45734         * tests/test-truncf2.c (correct_result_p): Likewise.
45735         * tests/test-trunc2.c (correct_result_p): Likewise.
45736         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45737
45738 2007-10-20  Bruno Haible  <bruno@clisp.org>
45739
45740         * modules/ceil: New file.
45741         * m4/ceil.m4: New file.
45742         * doc/functions/ceil.texi: Mention the 'ceil' module.
45743
45744 2007-10-20  Bruno Haible  <bruno@clisp.org>
45745
45746         * modules/floor: New file.
45747         * m4/floor.m4: New file.
45748         * doc/functions/floor.texi: Mention the 'floor' module.
45749
45750 2007-10-20  Bruno Haible  <bruno@clisp.org>
45751
45752         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
45753         of %a.
45754         * modules/floorf-tests (Depends-on): Likewise.
45755         * modules/truncf-tests (Depends-on): Likewise.
45756         * modules/trunc-tests (Depends-on): Likewise.
45757         Reported by Ben Pfaff.
45758
45759 2007-10-19  Jim Meyering  <meyering@redhat.com>
45760
45761         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
45762         Don't bother testing specific errno values.  Just test ferror.
45763
45764         New module: xprintf
45765         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
45766
45767 2007-10-19  Bruno Haible  <bruno@clisp.org>
45768
45769         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
45770         syntax.
45771         * modules/javaexec (Makefile.am): Likewise.
45772         * modules/relocatable-prog (Makefile.am): Likewise.
45773         Suggested by Jim Meyering.
45774
45775 2007-10-18  Bruno Haible  <bruno@clisp.org>
45776
45777         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
45778         Reported by Jim Meyering.
45779
45780 2007-10-18  Eric Blake  <ebb9@byu.net>
45781
45782         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
45783
45784 2007-10-18  Bruno Haible  <bruno@clisp.org>
45785
45786         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
45787         the format string into writable memory. Needed in Fortify conditions.
45788
45789 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
45790             Bruno Haible  <bruno@clisp.org>
45791
45792         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
45793         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
45794         * modules/trim (Depends-on): Add mbchar.
45795         (configure.ac): Add gl_FUNC_MBRTOWC.
45796         (Makefile.am): Augment lib_SOURCES.
45797
45798 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45799
45800         Modify glob.c to use fstatat and dirfd, to simplify it.
45801         Suggested by Eric Blake.
45802         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
45803         Don't include <stdbool.h>; not used.
45804         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
45805         (link_exists_p): Simplify implementation, since we can now assume
45806         dirfd and fstatat.
45807         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
45808
45809 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45810
45811         * gnulib-tool (func_get_dependencies): Fix sed script to
45812         match only tests.
45813
45814 2007-10-17  Bruno Haible  <bruno@clisp.org>
45815
45816         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
45817         allow locale names without encoding suffix.
45818         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
45819         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45820
45821 2007-10-16  Bruno Haible  <bruno@clisp.org>
45822
45823         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
45824         * lib/getgroups.c (getgroups): Likewise.
45825         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
45826
45827 2007-10-16  Bruno Haible  <bruno@clisp.org>
45828
45829         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
45830         * modules/malloc-posix (License): Likewise.
45831         * modules/realloc-posix (License): Likewise.
45832         * modules/calloc-posix (License): Likewise.
45833         * modules/intprops (License): Change from GPL to LGPL, with
45834         Paul Eggert's approval.
45835
45836 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45837
45838         Merge glibc changes into lib/glob.c.
45839
45840         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
45841         2007-10-15 04:59:03 UTC.  Here are the changes:
45842
45843         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
45844
45845         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
45846
45847         * lib/glob.c: Add some branch prediction throughout.
45848
45849         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
45850
45851         [BZ #5103]
45852         * lib/glob.c (glob): Recognize patterns starting \/.
45853
45854         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
45855
45856         [BZ #3996]
45857         * lib/glob.c (attribute_hidden): Define if not defined.
45858         (glob): Unescape dirname, filename or username when needed and not
45859         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
45860         is NULL.  Handle unescaped [ in pattern without closing ].
45861         Don't pass GLOB_CHECK down to recursive glob for directories.
45862         (__glob_pattern_type): New function.
45863         (__glob_pattern_p): Implement using __glob_pattern_type.
45864         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
45865         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
45866         Remove unreachable code.
45867
45868         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
45869
45870         * lib/glob.c (glob_in_dir): Add some comments and asserts to
45871         explain why there are no leaks.
45872
45873         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
45874
45875         [BZ #3253]
45876         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
45877         time, rather allocate increasingly bigger arrays of pointers, if
45878         possible with alloca, if too large with malloc.
45879
45880 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45881
45882         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
45883         Problem reported by H.Merijn Brand in
45884         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
45885         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
45886         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
45887
45888 2007-10-15  Bruno Haible  <bruno@clisp.org>
45889
45890         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
45891         with explicit rpl_ prefix.
45892         * lib/fopen.c (fopen): Likewise.
45893         * lib/freopen.c (freopen): Likewise.
45894         * lib/iconv.c (iconv): Likewise.
45895         * lib/iconv_close.c (iconv_close): Likewise.
45896
45897 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45898
45899         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
45900
45901 2007-10-15  Bruno Haible  <bruno@clisp.org>
45902
45903         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
45904         <stddef.h> instead of <stdlib.h> since we only need NULL.
45905         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45906
45907 2007-10-15  Bruno Haible  <bruno@clisp.org>
45908
45909         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
45910         Replace paragraph talking about LIBOBJS.
45911         Reported by Colin Watson <cjwatson@debian.org>.
45912
45913 2007-10-15  Bruno Haible  <bruno@clisp.org>
45914
45915         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
45916         <stdlib.h> before using NULL.
45917
45918 2007-10-15  Simon Josefsson  <simon@josefsson.org>
45919
45920         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
45921         Reported by Albert Chin <china@thewrittenword.com>.
45922
45923 2007-10-14  Bruno Haible  <bruno@clisp.org>
45924
45925         * modules/iconv_open-utf-tests: New file.
45926         * tests/test-iconv-utf.c: New file.
45927
45928         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
45929         * modules/iconv_open-utf: New file.
45930         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
45931         (iconv, iconv_close): New declarations.
45932         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
45933         be defined.
45934         (iconv_open): Add special handling of conversion between UTF-8 and
45935         UTF-{16,32}{BE,LE}.
45936         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
45937         * lib/iconv_close.c: New file.
45938         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
45939         gl_FUNC_ICONV_OPEN.
45940         (gl_FUNC_ICONV_OPEN): Use it.
45941         (gl_FUNC_ICONV_OPEN_UTF): New macro.
45942         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
45943         and REPLACE_ICONV_UTF.
45944         * modules/iconv_open (Depends-on): Add c-strcase.
45945         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
45946         ICONV_CONST.
45947         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
45948
45949 2007-10-13  Albert Chin  <china@thewrittenword.com>
45950             Bruno Haible  <bruno@clisp.org>
45951
45952         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
45953         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
45954
45955 2007-10-13  Bruno Haible  <bruno@clisp.org>
45956
45957         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
45958         defined, use the ISO C99 inline semantics.
45959         * lib/argp.h (ARGP_EI): Likewise.
45960
45961 2007-10-13  Bruno Haible  <bruno@clisp.org>
45962
45963         Handle 'inline' change in gcc 4.3.0.
45964         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
45965         argp_fmtstream_write, argp_fmtstream_set_lmargin,
45966         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
45967         argp_fmtstream_point): Disable 'extern' declaration if the function
45968         definition is going to be provided inline.
45969         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
45970         semantics, not the ISO C99 inline semantics.
45971         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
45972         'extern' declaration if the function definition is going to be provided
45973         inline.
45974         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
45975         the GNU C inline semantics, not the ISO C99 inline semantics. With
45976         GCC 4.2, avoid a warning.
45977
45978 2007-10-13  Bruno Haible  <bruno@clisp.org>
45979
45980         * lib/freading.h (freading): Enable the use of __freading for
45981         glibc >= 2.7.
45982         * lib/freading.c (freading): Likewise.
45983
45984 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45985
45986         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
45987         "warning: C99 inline functions are not supported; using GNU89".
45988
45989 2007-10-12  Bruno Haible  <bruno@clisp.org>
45990
45991         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
45992         of 2.
45993         * tests/test-ceilf2.c: New file.
45994         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
45995
45996         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
45997         * modules/ceilf-tests: Update.
45998
45999 2007-10-12  Bruno Haible  <bruno@clisp.org>
46000
46001         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
46002         of 2.
46003         * tests/test-floorf2.c: New file.
46004         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
46005
46006         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
46007         * modules/floorf-tests: Update.
46008
46009 2007-10-12  Bruno Haible  <bruno@clisp.org>
46010
46011         * tests/test-trunc2.c: New file.
46012         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
46013
46014         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
46015         * modules/trunc-tests: Update.
46016
46017 2007-10-12  Bruno Haible  <bruno@clisp.org>
46018
46019         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
46020         of 2.
46021         * tests/test-truncf2.c: New file.
46022         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
46023
46024         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
46025         * modules/truncf-tests: Update.
46026
46027 2007-10-11  Eric Blake  <ebb9@byu.net>
46028
46029         Don't claim strerror is broken on Interix.
46030         * doc/functions/strerror.texi (strerror): Known broken systems are
46031         now Solaris 8, and not Interix.
46032         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
46033         Interix on cross-compile.
46034         Reported by Martin Koeppe in
46035         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
46036
46037 2007-10-11  Bruno Haible  <bruno@clisp.org>
46038
46039         * modules/i-ring-tests: New file.
46040         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
46041         instead of assert.
46042
46043 2007-10-11  Bruno Haible  <bruno@clisp.org>
46044
46045         * modules/filenamecat-tests: New file.
46046         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
46047         * lib/filenamecat.c: Remove test code.
46048
46049 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46050
46051         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
46052
46053         * lib/strerror.c: Include <string.h> always, to test interface,
46054         and to remove the need for the dummy.
46055         Include intprops.h to compute width instead of doing it ourselves
46056         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
46057         (strerror): Define it to return NULL if there's no system strerror.
46058         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
46059         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
46060         ancient pre-strerror Unix systems well any more.  Saying "unknown
46061         system error" is enough.
46062         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
46063         simpler strerror.c implementation.
46064         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
46065         Simplify the tests to reflect the simpler strerror implementation.
46066         * modules/strerror (Depends-on): Add intprops.
46067
46068 2007-10-09  Eric Blake  <ebb9@byu.net>
46069
46070         Silence test-fpending.
46071         * modules/fpending-tests (Files): Add wrapper script.
46072         * tests/test-fpending.sh: New file.
46073
46074 2007-10-09  Bruno Haible  <bruno@clisp.org>
46075
46076         * MODULES.html.sh (func_module): Don't create a hyperlink for
46077         function names like 'printf_frexp'.
46078         (Misc): Add crc, memxor.
46079         (Characteristics of floating types): New section.
46080         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
46081         isnanf-nolibm, signbit, trunc, truncf, truncl.
46082         (Enhancements for ISO C 99 functions): New subsection Input/output.
46083         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
46084         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
46085         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
46086         (Compatibility checks for POSIX:2001 functions): Add clock-time.
46087         (Enhancements for POSIX:2001 functions): Add chdir-long.
46088         (File system functions): Add areadlink, chdir-safer, read-file.
46089         Remove cycle-check.
46090         (File system as inode set): New section.
46091         (Date and time): Add gethrxtime.
46092         (Multithreading): Add openmp.
46093         (Internationalization functions): Add localename.
46094         (Unicode string functions): Add unistr/u*-mbsnlen.
46095         (Support for maintaining and releasing projects): Add git-version-gen.
46096         (Lone files): Remove directories.
46097
46098 2007-10-08  Ben Pfaff  <blp@gnu.org>
46099
46100         * lib/xmalloca.h: Fix typo in comment.
46101
46102 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46103
46104         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
46105         when avoiding problems with integer overflow.  Use a portable test
46106         instead.
46107
46108 2007-10-08  Simon Josefsson  <simon@josefsson.org>
46109
46110         * modules/dummy (License): Change to LGPLv2+.
46111         * modules/float (License): Likewise
46112         * modules/realloc (License): Likewise
46113         * modules/stdlib (License): Likewise
46114
46115 2007-10-07  Bruno Haible  <bruno@clisp.org>
46116
46117         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
46118         * floor.c (TWO_MANT_DIG): Likewise.
46119         * ceil.c (TWO_MANT_DIG): Likewise.
46120         Reported by Ben Pfaff.
46121
46122 2007-10-07  Bruno Haible  <bruno@clisp.org>
46123
46124         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
46125         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
46126         * lib/frexp.c (FUNC): Likewise.
46127         * lib/printf-frexp.h (printf_frexp): Likewise.
46128         * lib/printf-frexpl.h (printf_frexpl): Likewise.
46129         * lib/printf-frexp.c (FUNC): Likewise.
46130         Suggested by Jim Meyering.
46131
46132 2007-10-07  Jim Meyering  <meyering@redhat.com>
46133
46134         Make xnanosleep's integer overflow test more robust.
46135         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
46136         so that gcc-4.3.0 doesn't optimize away this test for overflow.
46137
46138 2007-10-07  Bruno Haible  <bruno@clisp.org>
46139
46140         * NEWS: Mention the license change.
46141
46142         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
46143         abbreviations in the modules files.
46144
46145         Change copyright notice from GPLv2+ to GPLv3+.
46146         * README: Change copyright notice.
46147         * MODULES.html.sh: Likewise.
46148         * build-aux/bootstrap.conf: Likewise.
46149         * build-aux/config.libpath: Likewise.
46150         * build-aux/csharpcomp.sh.in: Likewise.
46151         * build-aux/csharpexec.sh.in: Likewise.
46152         * build-aux/install-reloc: Likewise.
46153         * build-aux/javacomp.sh.in: Likewise.
46154         * build-aux/javaexec.sh.in: Likewise.
46155         * build-aux/ldd.sh.in: Likewise.
46156         * build-aux/reloc-ldflags: Likewise.
46157         * build-aux/relocatable.sh.in: Likewise.
46158         * build-aux/x-to-1.in: Likewise.
46159         * check-module: Likewise.
46160         * config/srclistvars.sh: Likewise.
46161         * gnulib-tool: Likewise.
46162         * lib/acl-internal.h: Likewise.
46163         * lib/acl.c: Likewise.
46164         * lib/acl.h: Likewise.
46165         * lib/acl_entries.c: Likewise.
46166         * lib/areadlink-with-size.c: Likewise.
46167         * lib/areadlink.c: Likewise.
46168         * lib/areadlink.h: Likewise.
46169         * lib/argmatch.c: Likewise.
46170         * lib/argmatch.h: Likewise.
46171         * lib/argp-ba.c: Likewise.
46172         * lib/argp-eexst.c: Likewise.
46173         * lib/argp-fmtstream.c: Likewise.
46174         * lib/argp-fmtstream.h: Likewise.
46175         * lib/argp-fs-xinl.c: Likewise.
46176         * lib/argp-help.c: Likewise.
46177         * lib/argp-namefrob.h: Likewise.
46178         * lib/argp-parse.c: Likewise.
46179         * lib/argp-pin.c: Likewise.
46180         * lib/argp-pv.c: Likewise.
46181         * lib/argp-pvh.c: Likewise.
46182         * lib/argp-xinl.c: Likewise.
46183         * lib/argp.h: Likewise.
46184         * lib/at-func.c: Likewise.
46185         * lib/atanl.c: Likewise.
46186         * lib/backupfile.c: Likewise.
46187         * lib/backupfile.h: Likewise.
46188         * lib/basename.c: Likewise.
46189         * lib/binary-io.h: Likewise.
46190         * lib/byteswap.in.h: Likewise.
46191         * lib/c-stack.c: Likewise.
46192         * lib/c-stack.h: Likewise.
46193         * lib/c-strcasestr.c: Likewise.
46194         * lib/c-strcasestr.h: Likewise.
46195         * lib/c-strstr.c: Likewise.
46196         * lib/c-strstr.h: Likewise.
46197         * lib/c-strtod.c: Likewise.
46198         * lib/calloc.c: Likewise.
46199         * lib/canon-host.c: Likewise.
46200         * lib/canon-host.h: Likewise.
46201         * lib/canonicalize-lgpl.c: Likewise.
46202         * lib/canonicalize.c: Likewise.
46203         * lib/canonicalize.h: Likewise.
46204         * lib/ceil.c: Likewise.
46205         * lib/ceilf.c: Likewise.
46206         * lib/ceill.c: Likewise.
46207         * lib/chdir-long.c: Likewise.
46208         * lib/chdir-long.h: Likewise.
46209         * lib/chdir-safer.c: Likewise.
46210         * lib/chdir-safer.h: Likewise.
46211         * lib/chown.c: Likewise.
46212         * lib/classpath.c: Likewise.
46213         * lib/classpath.h: Likewise.
46214         * lib/clean-temp.c: Likewise.
46215         * lib/clean-temp.h: Likewise.
46216         * lib/cloexec.c: Likewise.
46217         * lib/close-stream.c: Likewise.
46218         * lib/closein.c: Likewise.
46219         * lib/closein.h: Likewise.
46220         * lib/closeout.c: Likewise.
46221         * lib/closeout.h: Likewise.
46222         * lib/concat-filename.c: Likewise.
46223         * lib/copy-file.c: Likewise.
46224         * lib/copy-file.h: Likewise.
46225         * lib/count-one-bits.h: Likewise.
46226         * lib/crc.c: Likewise.
46227         * lib/crc.h: Likewise.
46228         * lib/creat-safer.c: Likewise.
46229         * lib/csharpcomp.c: Likewise.
46230         * lib/csharpcomp.h: Likewise.
46231         * lib/csharpexec.c: Likewise.
46232         * lib/csharpexec.h: Likewise.
46233         * lib/cycle-check.c: Likewise.
46234         * lib/cycle-check.h: Likewise.
46235         * lib/diacrit.c: Likewise.
46236         * lib/diacrit.h: Likewise.
46237         * lib/diffseq.h: Likewise.
46238         * lib/dirchownmod.c: Likewise.
46239         * lib/dirent.in.h: Likewise.
46240         * lib/dirfd.c: Likewise.
46241         * lib/dirfd.h: Likewise.
46242         * lib/dirname.c: Likewise.
46243         * lib/dirname.h: Likewise.
46244         * lib/dummy.c: Likewise.
46245         * lib/dup-safer.c: Likewise.
46246         * lib/dup2.c: Likewise.
46247         * lib/eealloc.h: Likewise.
46248         * lib/error.c: Likewise.
46249         * lib/error.h: Likewise.
46250         * lib/euidaccess.c: Likewise.
46251         * lib/exclude.c: Likewise.
46252         * lib/exclude.h: Likewise.
46253         * lib/execute.c: Likewise.
46254         * lib/execute.h: Likewise.
46255         * lib/exitfail.c: Likewise.
46256         * lib/exitfail.h: Likewise.
46257         * lib/expl.c: Likewise.
46258         * lib/fatal-signal.c: Likewise.
46259         * lib/fatal-signal.h: Likewise.
46260         * lib/fbufmode.c: Likewise.
46261         * lib/fbufmode.h: Likewise.
46262         * lib/fchdir.c: Likewise.
46263         * lib/fchmodat.c: Likewise.
46264         * lib/fchownat.c: Likewise.
46265         * lib/fcntl--.h: Likewise.
46266         * lib/fcntl-safer.h: Likewise.
46267         * lib/fcntl.in.h: Likewise.
46268         * lib/fd-safer.c: Likewise.
46269         * lib/fflush.c: Likewise.
46270         * lib/file-has-acl.c: Likewise.
46271         * lib/file-set.c: Likewise.
46272         * lib/file-type.c: Likewise.
46273         * lib/file-type.h: Likewise.
46274         * lib/fileblocks.c: Likewise.
46275         * lib/filemode.c: Likewise.
46276         * lib/filemode.h: Likewise.
46277         * lib/filename.h: Likewise.
46278         * lib/filenamecat.c: Likewise.
46279         * lib/filenamecat.h: Likewise.
46280         * lib/findprog.c: Likewise.
46281         * lib/findprog.h: Likewise.
46282         * lib/float.in.h: Likewise.
46283         * lib/floor.c: Likewise.
46284         * lib/floorf.c: Likewise.
46285         * lib/floorl.c: Likewise.
46286         * lib/fopen-safer.c: Likewise.
46287         * lib/fopen.c: Likewise.
46288         * lib/fpending.c: Likewise.
46289         * lib/fpending.h: Likewise.
46290         * lib/fprintf.c: Likewise.
46291         * lib/fprintftime.h: Likewise.
46292         * lib/fpucw.h: Likewise.
46293         * lib/fpurge.c: Likewise.
46294         * lib/fpurge.h: Likewise.
46295         * lib/freadable.c: Likewise.
46296         * lib/freadable.h: Likewise.
46297         * lib/freadahead.c: Likewise.
46298         * lib/freadahead.h: Likewise.
46299         * lib/freading.c: Likewise.
46300         * lib/freading.h: Likewise.
46301         * lib/free.c: Likewise.
46302         * lib/freopen.c: Likewise.
46303         * lib/frexp.c: Likewise.
46304         * lib/frexpl.c: Likewise.
46305         * lib/fseek.c: Likewise.
46306         * lib/fseterr.c: Likewise.
46307         * lib/fseterr.h: Likewise.
46308         * lib/fstatat.c: Likewise.
46309         * lib/fstrcmp.c: Likewise.
46310         * lib/fstrcmp.h: Likewise.
46311         * lib/fsusage.c: Likewise.
46312         * lib/fsusage.h: Likewise.
46313         * lib/ftell.c: Likewise.
46314         * lib/ftello.c: Likewise.
46315         * lib/fts-cycle.c: Likewise.
46316         * lib/fts.c: Likewise.
46317         * lib/fts_.h: Likewise.
46318         * lib/full-read.c: Likewise.
46319         * lib/full-read.h: Likewise.
46320         * lib/full-write.c: Likewise.
46321         * lib/full-write.h: Likewise.
46322         * lib/fwritable.c: Likewise.
46323         * lib/fwritable.h: Likewise.
46324         * lib/fwriteerror.c: Likewise.
46325         * lib/fwriteerror.h: Likewise.
46326         * lib/fwriting.c: Likewise.
46327         * lib/fwriting.h: Likewise.
46328         * lib/gcd.c: Likewise.
46329         * lib/gcd.h: Likewise.
46330         * lib/getcwd.c: Likewise.
46331         * lib/getdate.h: Likewise.
46332         * lib/getdate.y: Likewise.
46333         * lib/getdomainname.c: Likewise.
46334         * lib/getdomainname.h: Likewise.
46335         * lib/getgroups.c: Likewise.
46336         * lib/gethostname.c: Likewise.
46337         * lib/gethrxtime.c: Likewise.
46338         * lib/gethrxtime.h: Likewise.
46339         * lib/getloadavg.c: Likewise.
46340         * lib/getndelim2.c: Likewise.
46341         * lib/getndelim2.h: Likewise.
46342         * lib/getnline.c: Likewise.
46343         * lib/getnline.h: Likewise.
46344         * lib/getopt.c: Likewise.
46345         * lib/getopt.in.h: Likewise.
46346         * lib/getopt1.c: Likewise.
46347         * lib/getopt_int.h: Likewise.
46348         * lib/getpagesize.h: Likewise.
46349         * lib/getsubopt.c: Likewise.
46350         * lib/gettime.c: Likewise.
46351         * lib/getugroups.c: Likewise.
46352         * lib/getugroups.h: Likewise.
46353         * lib/getusershell.c: Likewise.
46354         * lib/gl_anyavltree_list1.h: Likewise.
46355         * lib/gl_anyavltree_list2.h: Likewise.
46356         * lib/gl_anyhash_list1.h: Likewise.
46357         * lib/gl_anyhash_list2.h: Likewise.
46358         * lib/gl_anylinked_list1.h: Likewise.
46359         * lib/gl_anylinked_list2.h: Likewise.
46360         * lib/gl_anyrbtree_list1.h: Likewise.
46361         * lib/gl_anyrbtree_list2.h: Likewise.
46362         * lib/gl_anytree_list1.h: Likewise.
46363         * lib/gl_anytree_list2.h: Likewise.
46364         * lib/gl_anytree_oset.h: Likewise.
46365         * lib/gl_anytreehash_list1.h: Likewise.
46366         * lib/gl_anytreehash_list2.h: Likewise.
46367         * lib/gl_array_list.c: Likewise.
46368         * lib/gl_array_list.h: Likewise.
46369         * lib/gl_array_oset.c: Likewise.
46370         * lib/gl_array_oset.h: Likewise.
46371         * lib/gl_avltree_list.c: Likewise.
46372         * lib/gl_avltree_list.h: Likewise.
46373         * lib/gl_avltree_oset.c: Likewise.
46374         * lib/gl_avltree_oset.h: Likewise.
46375         * lib/gl_avltreehash_list.c: Likewise.
46376         * lib/gl_avltreehash_list.h: Likewise.
46377         * lib/gl_carray_list.c: Likewise.
46378         * lib/gl_carray_list.h: Likewise.
46379         * lib/gl_linked_list.c: Likewise.
46380         * lib/gl_linked_list.h: Likewise.
46381         * lib/gl_linkedhash_list.c: Likewise.
46382         * lib/gl_linkedhash_list.h: Likewise.
46383         * lib/gl_list.c: Likewise.
46384         * lib/gl_list.h: Likewise.
46385         * lib/gl_oset.c: Likewise.
46386         * lib/gl_oset.h: Likewise.
46387         * lib/gl_rbtree_list.c: Likewise.
46388         * lib/gl_rbtree_list.h: Likewise.
46389         * lib/gl_rbtree_oset.c: Likewise.
46390         * lib/gl_rbtree_oset.h: Likewise.
46391         * lib/gl_rbtreehash_list.c: Likewise.
46392         * lib/gl_rbtreehash_list.h: Likewise.
46393         * lib/gl_sublist.c: Likewise.
46394         * lib/gl_sublist.h: Likewise.
46395         * lib/group-member.c: Likewise.
46396         * lib/group-member.h: Likewise.
46397         * lib/hard-locale.c: Likewise.
46398         * lib/hard-locale.h: Likewise.
46399         * lib/hash-pjw.c: Likewise.
46400         * lib/hash-pjw.h: Likewise.
46401         * lib/hash-triple.c: Likewise.
46402         * lib/hash.c: Likewise.
46403         * lib/hash.h: Likewise.
46404         * lib/human.c: Likewise.
46405         * lib/human.h: Likewise.
46406         * lib/i-ring.c: Likewise.
46407         * lib/i-ring.h: Likewise.
46408         * lib/idcache.c: Likewise.
46409         * lib/imaxabs.c: Likewise.
46410         * lib/imaxdiv.c: Likewise.
46411         * lib/inet_pton.c: Likewise.
46412         * lib/inet_pton.h: Likewise.
46413         * lib/intprops.h: Likewise.
46414         * lib/inttostr.c: Likewise.
46415         * lib/inttostr.h: Likewise.
46416         * lib/inttypes.in.h: Likewise.
46417         * lib/isapipe.c: Likewise.
46418         * lib/isdir.c: Likewise.
46419         * lib/isnan.c: Likewise.
46420         * lib/isnan.h: Likewise.
46421         * lib/isnanf.c: Likewise.
46422         * lib/isnanf.h: Likewise.
46423         * lib/isnanl-nolibm.h: Likewise.
46424         * lib/isnanl.c: Likewise.
46425         * lib/isnanl.h: Likewise.
46426         * lib/javacomp.c: Likewise.
46427         * lib/javacomp.h: Likewise.
46428         * lib/javaexec.c: Likewise.
46429         * lib/javaexec.h: Likewise.
46430         * lib/javaversion.c: Likewise.
46431         * lib/javaversion.h: Likewise.
46432         * lib/javaversion.java: Likewise.
46433         * lib/lbrkprop.h: Likewise.
46434         * lib/lchmod.h: Likewise.
46435         * lib/lchown.c: Likewise.
46436         * lib/ldexpl.c: Likewise.
46437         * lib/linebreak.c: Likewise.
46438         * lib/linebreak.h: Likewise.
46439         * lib/linebuffer.c: Likewise.
46440         * lib/linebuffer.h: Likewise.
46441         * lib/locale.in.h: Likewise.
46442         * lib/logl.c: Likewise.
46443         * lib/long-options.c: Likewise.
46444         * lib/long-options.h: Likewise.
46445         * lib/lstat.c: Likewise.
46446         * lib/lstat.h: Likewise.
46447         * lib/math.in.h: Likewise.
46448         * lib/mbchar.c: Likewise.
46449         * lib/mbchar.h: Likewise.
46450         * lib/mbfile.h: Likewise.
46451         * lib/mbiter.h: Likewise.
46452         * lib/mbscasecmp.c: Likewise.
46453         * lib/mbscasestr.c: Likewise.
46454         * lib/mbschr.c: Likewise.
46455         * lib/mbscspn.c: Likewise.
46456         * lib/mbslen.c: Likewise.
46457         * lib/mbsncasecmp.c: Likewise.
46458         * lib/mbsnlen.c: Likewise.
46459         * lib/mbspbrk.c: Likewise.
46460         * lib/mbspcasecmp.c: Likewise.
46461         * lib/mbsrchr.c: Likewise.
46462         * lib/mbssep.c: Likewise.
46463         * lib/mbsspn.c: Likewise.
46464         * lib/mbsstr.c: Likewise.
46465         * lib/mbstok_r.c: Likewise.
46466         * lib/mbswidth.c: Likewise.
46467         * lib/mbswidth.h: Likewise.
46468         * lib/mbuiter.h: Likewise.
46469         * lib/memcasecmp.c: Likewise.
46470         * lib/memcasecmp.h: Likewise.
46471         * lib/memchr.c: Likewise.
46472         * lib/memcmp.c: Likewise.
46473         * lib/memcoll.c: Likewise.
46474         * lib/memcoll.h: Likewise.
46475         * lib/memcpy.c: Likewise.
46476         * lib/memrchr.c: Likewise.
46477         * lib/mkancesdirs.c: Likewise.
46478         * lib/mkdir-p.c: Likewise.
46479         * lib/mkdir-p.h: Likewise.
46480         * lib/mkdir.c: Likewise.
46481         * lib/mkdirat.c: Likewise.
46482         * lib/mkdtemp.c: Likewise.
46483         * lib/mkstemp-safer.c: Likewise.
46484         * lib/mkstemp.c: Likewise.
46485         * lib/modechange.c: Likewise.
46486         * lib/modechange.h: Likewise.
46487         * lib/mountlist.c: Likewise.
46488         * lib/mountlist.h: Likewise.
46489         * lib/mpsort.c: Likewise.
46490         * lib/nanosleep.c: Likewise.
46491         * lib/obstack.c: Likewise.
46492         * lib/obstack.h: Likewise.
46493         * lib/open-safer.c: Likewise.
46494         * lib/open.c: Likewise.
46495         * lib/openat-die.c: Likewise.
46496         * lib/openat-priv.h: Likewise.
46497         * lib/openat-proc.c: Likewise.
46498         * lib/openat.c: Likewise.
46499         * lib/openat.h: Likewise.
46500         * lib/pagealign_alloc.c: Likewise.
46501         * lib/pagealign_alloc.h: Likewise.
46502         * lib/physmem.c: Likewise.
46503         * lib/physmem.h: Likewise.
46504         * lib/pipe-safer.c: Likewise.
46505         * lib/pipe.c: Likewise.
46506         * lib/pipe.h: Likewise.
46507         * lib/posixtm.c: Likewise.
46508         * lib/posixtm.h: Likewise.
46509         * lib/posixver.c: Likewise.
46510         * lib/printf-frexp.c: Likewise.
46511         * lib/printf-frexp.h: Likewise.
46512         * lib/printf-frexpl.c: Likewise.
46513         * lib/printf-frexpl.h: Likewise.
46514         * lib/printf.c: Likewise.
46515         * lib/progname.c: Likewise.
46516         * lib/progname.h: Likewise.
46517         * lib/progreloc.c: Likewise.
46518         * lib/putenv.c: Likewise.
46519         * lib/quote.c: Likewise.
46520         * lib/quote.h: Likewise.
46521         * lib/quotearg.c: Likewise.
46522         * lib/quotearg.h: Likewise.
46523         * lib/raise.c: Likewise.
46524         * lib/readline.c: Likewise.
46525         * lib/readline.h: Likewise.
46526         * lib/readlink.c: Likewise.
46527         * lib/readtokens.c: Likewise.
46528         * lib/readtokens.h: Likewise.
46529         * lib/readtokens0.c: Likewise.
46530         * lib/readtokens0.h: Likewise.
46531         * lib/readutmp.c: Likewise.
46532         * lib/readutmp.h: Likewise.
46533         * lib/realloc.c: Likewise.
46534         * lib/relocwrapper.c: Likewise.
46535         * lib/rename-dest-slash.c: Likewise.
46536         * lib/rename.c: Likewise.
46537         * lib/rmdir.c: Likewise.
46538         * lib/rpmatch.c: Likewise.
46539         * lib/safe-read.c: Likewise.
46540         * lib/safe-read.h: Likewise.
46541         * lib/safe-write.c: Likewise.
46542         * lib/safe-write.h: Likewise.
46543         * lib/same-inode.h: Likewise.
46544         * lib/same.c: Likewise.
46545         * lib/same.h: Likewise.
46546         * lib/save-cwd.c: Likewise.
46547         * lib/save-cwd.h: Likewise.
46548         * lib/savedir.c: Likewise.
46549         * lib/savedir.h: Likewise.
46550         * lib/savewd.c: Likewise.
46551         * lib/savewd.h: Likewise.
46552         * lib/search.in.h: Likewise.
46553         * lib/setenv.c: Likewise.
46554         * lib/setenv.h: Likewise.
46555         * lib/settime.c: Likewise.
46556         * lib/sh-quote.c: Likewise.
46557         * lib/sh-quote.h: Likewise.
46558         * lib/sig2str.c: Likewise.
46559         * lib/sig2str.h: Likewise.
46560         * lib/signal.in.h: Likewise.
46561         * lib/signbitd.c: Likewise.
46562         * lib/signbitf.c: Likewise.
46563         * lib/signbitl.c: Likewise.
46564         * lib/sigprocmask.c: Likewise.
46565         * lib/sincosl.c: Likewise.
46566         * lib/sleep.c: Likewise.
46567         * lib/sprintf.c: Likewise.
46568         * lib/sqrtl.c: Likewise.
46569         * lib/stat-time.h: Likewise.
46570         * lib/stdio--.h: Likewise.
46571         * lib/stdio-safer.h: Likewise.
46572         * lib/stdlib--.h: Likewise.
46573         * lib/stdlib-safer.h: Likewise.
46574         * lib/stdlib.in.h: Likewise.
46575         * lib/stpcpy.c: Likewise.
46576         * lib/stpncpy.c: Likewise.
46577         * lib/strchrnul.c: Likewise.
46578         * lib/strcspn.c: Likewise.
46579         * lib/strerror.c: Likewise.
46580         * lib/strftime.c: Likewise.
46581         * lib/strftime.h: Likewise.
46582         * lib/striconveh.c: Likewise.
46583         * lib/striconveh.h: Likewise.
46584         * lib/striconveha.c: Likewise.
46585         * lib/striconveha.h: Likewise.
46586         * lib/stripslash.c: Likewise.
46587         * lib/strnlen1.c: Likewise.
46588         * lib/strnlen1.h: Likewise.
46589         * lib/strtod.c: Likewise.
46590         * lib/strtoimax.c: Likewise.
46591         * lib/strtok_r.c: Likewise.
46592         * lib/strtol.c: Likewise.
46593         * lib/strtoll.c: Likewise.
46594         * lib/strtoul.c: Likewise.
46595         * lib/strtoull.c: Likewise.
46596         * lib/sysexits.in.h: Likewise.
46597         * lib/tempname.c: Likewise.
46598         * lib/tempname.h: Likewise.
46599         * lib/timespec.h: Likewise.
46600         * lib/tls.c: Likewise.
46601         * lib/tls.h: Likewise.
46602         * lib/tmpdir.c: Likewise.
46603         * lib/tmpdir.h: Likewise.
46604         * lib/tmpfile-safer.c: Likewise.
46605         * lib/tmpfile.c: Likewise.
46606         * lib/trigl.c: Likewise.
46607         * lib/trigl.h: Likewise.
46608         * lib/trim.c: Likewise.
46609         * lib/trim.h: Likewise.
46610         * lib/trunc.c: Likewise.
46611         * lib/truncf.c: Likewise.
46612         * lib/truncl.c: Likewise.
46613         * lib/tsearch.c: Likewise.
46614         * lib/unicodeio.c: Likewise.
46615         * lib/unicodeio.h: Likewise.
46616         * lib/unistd--.h: Likewise.
46617         * lib/unistd-safer.h: Likewise.
46618         * lib/unistdio/ulc-fprintf.c: Likewise.
46619         * lib/unistdio/ulc-vfprintf.c: Likewise.
46620         * lib/unlinkdir.c: Likewise.
46621         * lib/unlinkdir.h: Likewise.
46622         * lib/unlocked-io.h: Likewise.
46623         * lib/unsetenv.c: Likewise.
46624         * lib/userspec.c: Likewise.
46625         * lib/utime.c: Likewise.
46626         * lib/utimecmp.c: Likewise.
46627         * lib/utimecmp.h: Likewise.
46628         * lib/utimens.c: Likewise.
46629         * lib/verify.h: Likewise.
46630         * lib/verror.c: Likewise.
46631         * lib/verror.h: Likewise.
46632         * lib/version-etc-fsf.c: Likewise.
46633         * lib/version-etc.c: Likewise.
46634         * lib/version-etc.h: Likewise.
46635         * lib/vfprintf.c: Likewise.
46636         * lib/vprintf.c: Likewise.
46637         * lib/vsprintf.c: Likewise.
46638         * lib/w32spawn.h: Likewise.
46639         * lib/wait-process.c: Likewise.
46640         * lib/wait-process.h: Likewise.
46641         * lib/wcwidth.c: Likewise.
46642         * lib/write-any-file.c: Likewise.
46643         * lib/xalloc-die.c: Likewise.
46644         * lib/xalloc.h: Likewise.
46645         * lib/xasprintf.c: Likewise.
46646         * lib/xgetcwd.c: Likewise.
46647         * lib/xgetcwd.h: Likewise.
46648         * lib/xgetdomainname.c: Likewise.
46649         * lib/xgetdomainname.h: Likewise.
46650         * lib/xgethostname.c: Likewise.
46651         * lib/xmalloc.c: Likewise.
46652         * lib/xmalloca.c: Likewise.
46653         * lib/xmalloca.h: Likewise.
46654         * lib/xmemcoll.c: Likewise.
46655         * lib/xnanosleep.c: Likewise.
46656         * lib/xreadlink.c: Likewise.
46657         * lib/xreadlink.h: Likewise.
46658         * lib/xsetenv.c: Likewise.
46659         * lib/xsetenv.h: Likewise.
46660         * lib/xstriconv.c: Likewise.
46661         * lib/xstriconv.h: Likewise.
46662         * lib/xstrndup.c: Likewise.
46663         * lib/xstrndup.h: Likewise.
46664         * lib/xstrtod.c: Likewise.
46665         * lib/xstrtod.h: Likewise.
46666         * lib/xstrtol-error.c: Likewise.
46667         * lib/xstrtol.c: Likewise.
46668         * lib/xstrtol.h: Likewise.
46669         * lib/xtime.h: Likewise.
46670         * lib/xvasprintf.c: Likewise.
46671         * lib/xvasprintf.h: Likewise.
46672         * lib/yesno.c: Likewise.
46673         * lib/yesno.h: Likewise.
46674         * posix-modules: Likewise.
46675         * tests/test-alloca-opt.c: Likewise.
46676         * tests/test-arcfour.c: Likewise.
46677         * tests/test-arctwo.c: Likewise.
46678         * tests/test-argmatch.c: Likewise.
46679         * tests/test-argp-2.sh: Likewise.
46680         * tests/test-argp.c: Likewise.
46681         * tests/test-arpa_inet.c: Likewise.
46682         * tests/test-array_list.c: Likewise.
46683         * tests/test-array_oset.c: Likewise.
46684         * tests/test-atexit.c: Likewise.
46685         * tests/test-avltree_list.c: Likewise.
46686         * tests/test-avltree_oset.c: Likewise.
46687         * tests/test-avltreehash_list.c: Likewise.
46688         * tests/test-base64.c: Likewise.
46689         * tests/test-binary-io.c: Likewise.
46690         * tests/test-byteswap.c: Likewise.
46691         * tests/test-c-ctype.c: Likewise.
46692         * tests/test-c-strcasecmp.c: Likewise.
46693         * tests/test-c-strcasestr.c: Likewise.
46694         * tests/test-c-strncasecmp.c: Likewise.
46695         * tests/test-c-strstr.c: Likewise.
46696         * tests/test-canonicalize-lgpl.c: Likewise.
46697         * tests/test-canonicalize.c: Likewise.
46698         * tests/test-carray_list.c: Likewise.
46699         * tests/test-ceilf.c: Likewise.
46700         * tests/test-ceill.c: Likewise.
46701         * tests/test-count-one-bits.c: Likewise.
46702         * tests/test-crc.c: Likewise.
46703         * tests/test-dirname.c: Likewise.
46704         * tests/test-fbufmode.c: Likewise.
46705         * tests/test-fcntl.c: Likewise.
46706         * tests/test-fflush.c: Likewise.
46707         * tests/test-floorf.c: Likewise.
46708         * tests/test-floorl.c: Likewise.
46709         * tests/test-fopen.c: Likewise.
46710         * tests/test-fprintf-posix.c: Likewise.
46711         * tests/test-fprintf-posix.h: Likewise.
46712         * tests/test-fpurge.c: Likewise.
46713         * tests/test-freadable.c: Likewise.
46714         * tests/test-freadahead.c: Likewise.
46715         * tests/test-freading.c: Likewise.
46716         * tests/test-freopen.c: Likewise.
46717         * tests/test-frexp.c: Likewise.
46718         * tests/test-frexpl.c: Likewise.
46719         * tests/test-fseek.c: Likewise.
46720         * tests/test-fseeko.c: Likewise.
46721         * tests/test-fseterr.c: Likewise.
46722         * tests/test-fstrcmp.c: Likewise.
46723         * tests/test-ftell.c: Likewise.
46724         * tests/test-ftello.c: Likewise.
46725         * tests/test-fwritable.c: Likewise.
46726         * tests/test-fwriting.c: Likewise.
46727         * tests/test-getaddrinfo.c: Likewise.
46728         * tests/test-getpass.c: Likewise.
46729         * tests/test-gettimeofday.c: Likewise.
46730         * tests/test-hmac-md5.c: Likewise.
46731         * tests/test-hmac-sha1.c: Likewise.
46732         * tests/test-iconv.c: Likewise.
46733         * tests/test-iconvme.c: Likewise.
46734         * tests/test-inttypes.c: Likewise.
46735         * tests/test-isnan.c: Likewise.
46736         * tests/test-isnanf.c: Likewise.
46737         * tests/test-isnanl-nolibm.c: Likewise.
46738         * tests/test-isnanl.c: Likewise.
46739         * tests/test-isnanl.h: Likewise.
46740         * tests/test-ldexpl.c: Likewise.
46741         * tests/test-linked_list.c: Likewise.
46742         * tests/test-linkedhash_list.c: Likewise.
46743         * tests/test-locale.c: Likewise.
46744         * tests/test-localename.c: Likewise.
46745         * tests/test-lock.c: Likewise.
46746         * tests/test-lseek.c: Likewise.
46747         * tests/test-malloca.c: Likewise.
46748         * tests/test-math.c: Likewise.
46749         * tests/test-mbscasecmp.c: Likewise.
46750         * tests/test-mbscasestr1.c: Likewise.
46751         * tests/test-mbscasestr2.c: Likewise.
46752         * tests/test-mbscasestr3.c: Likewise.
46753         * tests/test-mbscasestr4.c: Likewise.
46754         * tests/test-mbschr.c: Likewise.
46755         * tests/test-mbscspn.c: Likewise.
46756         * tests/test-mbsncasecmp.c: Likewise.
46757         * tests/test-mbspbrk.c: Likewise.
46758         * tests/test-mbspcasecmp.c: Likewise.
46759         * tests/test-mbsrchr.c: Likewise.
46760         * tests/test-mbsspn.c: Likewise.
46761         * tests/test-mbsstr1.c: Likewise.
46762         * tests/test-mbsstr2.c: Likewise.
46763         * tests/test-mbsstr3.c: Likewise.
46764         * tests/test-md5.c: Likewise.
46765         * tests/test-memmem.c: Likewise.
46766         * tests/test-netinet_in.c: Likewise.
46767         * tests/test-open.c: Likewise.
46768         * tests/test-printf-frexp.c: Likewise.
46769         * tests/test-printf-frexpl.c: Likewise.
46770         * tests/test-printf-posix.c: Likewise.
46771         * tests/test-printf-posix.h: Likewise.
46772         * tests/test-rbtree_list.c: Likewise.
46773         * tests/test-rbtree_oset.c: Likewise.
46774         * tests/test-rbtreehash_list.c: Likewise.
46775         * tests/test-read-file.c: Likewise.
46776         * tests/test-rijndael.c: Likewise.
46777         * tests/test-search.c: Likewise.
46778         * tests/test-signbit.c: Likewise.
46779         * tests/test-sleep.c: Likewise.
46780         * tests/test-snprintf-posix.c: Likewise.
46781         * tests/test-snprintf-posix.h: Likewise.
46782         * tests/test-snprintf.c: Likewise.
46783         * tests/test-sprintf-posix.c: Likewise.
46784         * tests/test-sprintf-posix.h: Likewise.
46785         * tests/test-stat-time.c: Likewise.
46786         * tests/test-stdbool.c: Likewise.
46787         * tests/test-stdint.c: Likewise.
46788         * tests/test-stdio.c: Likewise.
46789         * tests/test-stdlib.c: Likewise.
46790         * tests/test-stpncpy.c: Likewise.
46791         * tests/test-strcasestr.c: Likewise.
46792         * tests/test-striconv.c: Likewise.
46793         * tests/test-striconveh.c: Likewise.
46794         * tests/test-striconveha.c: Likewise.
46795         * tests/test-string.c: Likewise.
46796         * tests/test-sys_select.c: Likewise.
46797         * tests/test-sys_socket.c: Likewise.
46798         * tests/test-sys_stat.c: Likewise.
46799         * tests/test-sys_time.c: Likewise.
46800         * tests/test-sysexits.c: Likewise.
46801         * tests/test-time.c: Likewise.
46802         * tests/test-tls.c: Likewise.
46803         * tests/test-trunc.c: Likewise.
46804         * tests/test-truncf.c: Likewise.
46805         * tests/test-truncl.c: Likewise.
46806         * tests/test-unistd.c: Likewise.
46807         * tests/test-vasnprintf-posix.c: Likewise.
46808         * tests/test-vasnprintf-posix2.c: Likewise.
46809         * tests/test-vasnprintf.c: Likewise.
46810         * tests/test-vasprintf-posix.c: Likewise.
46811         * tests/test-vasprintf.c: Likewise.
46812         * tests/test-verify.c: Likewise.
46813         * tests/test-vfprintf-posix.c: Likewise.
46814         * tests/test-vprintf-posix.c: Likewise.
46815         * tests/test-vsnprintf-posix.c: Likewise.
46816         * tests/test-vsnprintf.c: Likewise.
46817         * tests/test-vsprintf-posix.c: Likewise.
46818         * tests/test-wchar.c: Likewise.
46819         * tests/test-wctype.c: Likewise.
46820         * tests/test-wcwidth.c: Likewise.
46821         * tests/test-xstrtol.c: Likewise.
46822         * tests/test-xvasprintf.c: Likewise.
46823         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
46824         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
46825         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46826         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46827         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46828         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
46829         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46830         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46831         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46832         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
46833         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46834         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46835         * tests/uniname/test-uninames.c: Likewise.
46836         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
46837         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
46838         * tests/unistdio/test-u16-printf1.h: Likewise.
46839         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
46840         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
46841         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
46842         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
46843         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
46844         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
46845         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
46846         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
46847         * tests/unistdio/test-u32-printf1.h: Likewise.
46848         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
46849         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
46850         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
46851         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
46852         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
46853         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
46854         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
46855         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
46856         * tests/unistdio/test-u8-printf1.h: Likewise.
46857         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
46858         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
46859         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
46860         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
46861         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
46862         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
46863         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
46864         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
46865         * tests/unistdio/test-ulc-printf1.h: Likewise.
46866         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
46867         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
46868         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
46869         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
46870         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
46871         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
46872         * tests/uniwidth/test-u16-strwidth.c: Likewise.
46873         * tests/uniwidth/test-u16-width.c: Likewise.
46874         * tests/uniwidth/test-u32-strwidth.c: Likewise.
46875         * tests/uniwidth/test-u32-width.c: Likewise.
46876         * tests/uniwidth/test-u8-strwidth.c: Likewise.
46877         * tests/uniwidth/test-u8-width.c: Likewise.
46878         * tests/uniwidth/test-uc_width.c: Likewise.
46879         * config/srclist-update: Likewise.
46880         (fixlicense): Update to GPLv3+.
46881
46882         Change copyright notice from LGPLv2.1+ to LGPLv3+.
46883         * tests/test-tsearch.c: Change copyright notice.
46884
46885         Change copyright notice from LGPLv2.0+ to LGPLv3+.
46886         * lib/c-strcaseeq.h: Change copyright notice.
46887         * lib/streq.h: Likewise.
46888         * lib/uniconv.h: Likewise.
46889         * lib/uniconv/u-conv-from-enc.h: Likewise.
46890         * lib/uniconv/u-conv-to-enc.h: Likewise.
46891         * lib/uniconv/u-strconv-from-enc.h: Likewise.
46892         * lib/uniconv/u-strconv-to-enc.h: Likewise.
46893         * lib/uniconv/u16-conv-from-enc.c: Likewise.
46894         * lib/uniconv/u16-conv-to-enc.c: Likewise.
46895         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
46896         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
46897         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
46898         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
46899         * lib/uniconv/u32-conv-from-enc.c: Likewise.
46900         * lib/uniconv/u32-conv-to-enc.c: Likewise.
46901         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
46902         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
46903         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
46904         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
46905         * lib/uniconv/u8-conv-from-enc.c: Likewise.
46906         * lib/uniconv/u8-conv-to-enc.c: Likewise.
46907         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
46908         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
46909         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
46910         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
46911         * lib/uniname.h: Likewise.
46912         * lib/uniname/uniname.c: Likewise.
46913         * lib/unistdio.h: Likewise.
46914         * lib/unistdio/u-asnprintf.h: Likewise.
46915         * lib/unistdio/u-asprintf.h: Likewise.
46916         * lib/unistdio/u-printf-args.c: Likewise.
46917         * lib/unistdio/u-printf-args.h: Likewise.
46918         * lib/unistdio/u-printf-parse.h: Likewise.
46919         * lib/unistdio/u-snprintf.h: Likewise.
46920         * lib/unistdio/u-sprintf.h: Likewise.
46921         * lib/unistdio/u-vasprintf.h: Likewise.
46922         * lib/unistdio/u-vsnprintf.h: Likewise.
46923         * lib/unistdio/u-vsprintf.h: Likewise.
46924         * lib/unistdio/u16-asnprintf.c: Likewise.
46925         * lib/unistdio/u16-asprintf.c: Likewise.
46926         * lib/unistdio/u16-printf-parse.c: Likewise.
46927         * lib/unistdio/u16-snprintf.c: Likewise.
46928         * lib/unistdio/u16-sprintf.c: Likewise.
46929         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
46930         * lib/unistdio/u16-u16-asprintf.c: Likewise.
46931         * lib/unistdio/u16-u16-snprintf.c: Likewise.
46932         * lib/unistdio/u16-u16-sprintf.c: Likewise.
46933         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
46934         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
46935         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
46936         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
46937         * lib/unistdio/u16-vasnprintf.c: Likewise.
46938         * lib/unistdio/u16-vasprintf.c: Likewise.
46939         * lib/unistdio/u16-vsnprintf.c: Likewise.
46940         * lib/unistdio/u16-vsprintf.c: Likewise.
46941         * lib/unistdio/u32-asnprintf.c: Likewise.
46942         * lib/unistdio/u32-asprintf.c: Likewise.
46943         * lib/unistdio/u32-printf-parse.c: Likewise.
46944         * lib/unistdio/u32-snprintf.c: Likewise.
46945         * lib/unistdio/u32-sprintf.c: Likewise.
46946         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
46947         * lib/unistdio/u32-u32-asprintf.c: Likewise.
46948         * lib/unistdio/u32-u32-snprintf.c: Likewise.
46949         * lib/unistdio/u32-u32-sprintf.c: Likewise.
46950         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
46951         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
46952         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
46953         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
46954         * lib/unistdio/u32-vasnprintf.c: Likewise.
46955         * lib/unistdio/u32-vasprintf.c: Likewise.
46956         * lib/unistdio/u32-vsnprintf.c: Likewise.
46957         * lib/unistdio/u32-vsprintf.c: Likewise.
46958         * lib/unistdio/u8-asnprintf.c: Likewise.
46959         * lib/unistdio/u8-asprintf.c: Likewise.
46960         * lib/unistdio/u8-printf-parse.c: Likewise.
46961         * lib/unistdio/u8-snprintf.c: Likewise.
46962         * lib/unistdio/u8-sprintf.c: Likewise.
46963         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
46964         * lib/unistdio/u8-u8-asprintf.c: Likewise.
46965         * lib/unistdio/u8-u8-snprintf.c: Likewise.
46966         * lib/unistdio/u8-u8-sprintf.c: Likewise.
46967         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
46968         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
46969         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
46970         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
46971         * lib/unistdio/u8-vasnprintf.c: Likewise.
46972         * lib/unistdio/u8-vasprintf.c: Likewise.
46973         * lib/unistdio/u8-vsnprintf.c: Likewise.
46974         * lib/unistdio/u8-vsprintf.c: Likewise.
46975         * lib/unistdio/ulc-asnprintf.c: Likewise.
46976         * lib/unistdio/ulc-asprintf.c: Likewise.
46977         * lib/unistdio/ulc-printf-parse.c: Likewise.
46978         * lib/unistdio/ulc-snprintf.c: Likewise.
46979         * lib/unistdio/ulc-sprintf.c: Likewise.
46980         * lib/unistdio/ulc-vasnprintf.c: Likewise.
46981         * lib/unistdio/ulc-vasprintf.c: Likewise.
46982         * lib/unistdio/ulc-vsnprintf.c: Likewise.
46983         * lib/unistdio/ulc-vsprintf.c: Likewise.
46984         * lib/unistr.h: Likewise.
46985         * lib/unistr/u-cpy-alloc.h: Likewise.
46986         * lib/unistr/u-cpy.h: Likewise.
46987         * lib/unistr/u-endswith.h: Likewise.
46988         * lib/unistr/u-move.h: Likewise.
46989         * lib/unistr/u-set.h: Likewise.
46990         * lib/unistr/u-startswith.h: Likewise.
46991         * lib/unistr/u-stpcpy.h: Likewise.
46992         * lib/unistr/u-stpncpy.h: Likewise.
46993         * lib/unistr/u-strcat.h: Likewise.
46994         * lib/unistr/u-strcpy.h: Likewise.
46995         * lib/unistr/u-strcspn.h: Likewise.
46996         * lib/unistr/u-strdup.h: Likewise.
46997         * lib/unistr/u-strlen.h: Likewise.
46998         * lib/unistr/u-strncat.h: Likewise.
46999         * lib/unistr/u-strncpy.h: Likewise.
47000         * lib/unistr/u-strnlen.h: Likewise.
47001         * lib/unistr/u-strpbrk.h: Likewise.
47002         * lib/unistr/u-strspn.h: Likewise.
47003         * lib/unistr/u-strstr.h: Likewise.
47004         * lib/unistr/u-strtok.h: Likewise.
47005         * lib/unistr/u16-check.c: Likewise.
47006         * lib/unistr/u16-chr.c: Likewise.
47007         * lib/unistr/u16-cmp.c: Likewise.
47008         * lib/unistr/u16-cpy-alloc.c: Likewise.
47009         * lib/unistr/u16-cpy.c: Likewise.
47010         * lib/unistr/u16-endswith.c: Likewise.
47011         * lib/unistr/u16-mblen.c: Likewise.
47012         * lib/unistr/u16-mbsnlen.c: Likewise.
47013         * lib/unistr/u16-mbtouc-aux.c: Likewise.
47014         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
47015         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
47016         * lib/unistr/u16-mbtouc.c: Likewise.
47017         * lib/unistr/u16-mbtoucr.c: Likewise.
47018         * lib/unistr/u16-move.c: Likewise.
47019         * lib/unistr/u16-next.c: Likewise.
47020         * lib/unistr/u16-prev.c: Likewise.
47021         * lib/unistr/u16-set.c: Likewise.
47022         * lib/unistr/u16-startswith.c: Likewise.
47023         * lib/unistr/u16-stpcpy.c: Likewise.
47024         * lib/unistr/u16-stpncpy.c: Likewise.
47025         * lib/unistr/u16-strcat.c: Likewise.
47026         * lib/unistr/u16-strchr.c: Likewise.
47027         * lib/unistr/u16-strcmp.c: Likewise.
47028         * lib/unistr/u16-strcpy.c: Likewise.
47029         * lib/unistr/u16-strcspn.c: Likewise.
47030         * lib/unistr/u16-strdup.c: Likewise.
47031         * lib/unistr/u16-strlen.c: Likewise.
47032         * lib/unistr/u16-strmblen.c: Likewise.
47033         * lib/unistr/u16-strmbtouc.c: Likewise.
47034         * lib/unistr/u16-strncat.c: Likewise.
47035         * lib/unistr/u16-strncmp.c: Likewise.
47036         * lib/unistr/u16-strncpy.c: Likewise.
47037         * lib/unistr/u16-strnlen.c: Likewise.
47038         * lib/unistr/u16-strpbrk.c: Likewise.
47039         * lib/unistr/u16-strrchr.c: Likewise.
47040         * lib/unistr/u16-strspn.c: Likewise.
47041         * lib/unistr/u16-strstr.c: Likewise.
47042         * lib/unistr/u16-strtok.c: Likewise.
47043         * lib/unistr/u16-to-u32.c: Likewise.
47044         * lib/unistr/u16-to-u8.c: Likewise.
47045         * lib/unistr/u16-uctomb-aux.c: Likewise.
47046         * lib/unistr/u16-uctomb.c: Likewise.
47047         * lib/unistr/u32-check.c: Likewise.
47048         * lib/unistr/u32-chr.c: Likewise.
47049         * lib/unistr/u32-cmp.c: Likewise.
47050         * lib/unistr/u32-cpy-alloc.c: Likewise.
47051         * lib/unistr/u32-cpy.c: Likewise.
47052         * lib/unistr/u32-endswith.c: Likewise.
47053         * lib/unistr/u32-mblen.c: Likewise.
47054         * lib/unistr/u32-mbsnlen.c: Likewise.
47055         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
47056         * lib/unistr/u32-mbtouc.c: Likewise.
47057         * lib/unistr/u32-mbtoucr.c: Likewise.
47058         * lib/unistr/u32-move.c: Likewise.
47059         * lib/unistr/u32-next.c: Likewise.
47060         * lib/unistr/u32-prev.c: Likewise.
47061         * lib/unistr/u32-set.c: Likewise.
47062         * lib/unistr/u32-startswith.c: Likewise.
47063         * lib/unistr/u32-stpcpy.c: Likewise.
47064         * lib/unistr/u32-stpncpy.c: Likewise.
47065         * lib/unistr/u32-strcat.c: Likewise.
47066         * lib/unistr/u32-strchr.c: Likewise.
47067         * lib/unistr/u32-strcmp.c: Likewise.
47068         * lib/unistr/u32-strcpy.c: Likewise.
47069         * lib/unistr/u32-strcspn.c: Likewise.
47070         * lib/unistr/u32-strdup.c: Likewise.
47071         * lib/unistr/u32-strlen.c: Likewise.
47072         * lib/unistr/u32-strmblen.c: Likewise.
47073         * lib/unistr/u32-strmbtouc.c: Likewise.
47074         * lib/unistr/u32-strncat.c: Likewise.
47075         * lib/unistr/u32-strncmp.c: Likewise.
47076         * lib/unistr/u32-strncpy.c: Likewise.
47077         * lib/unistr/u32-strnlen.c: Likewise.
47078         * lib/unistr/u32-strpbrk.c: Likewise.
47079         * lib/unistr/u32-strrchr.c: Likewise.
47080         * lib/unistr/u32-strspn.c: Likewise.
47081         * lib/unistr/u32-strstr.c: Likewise.
47082         * lib/unistr/u32-strtok.c: Likewise.
47083         * lib/unistr/u32-to-u16.c: Likewise.
47084         * lib/unistr/u32-to-u8.c: Likewise.
47085         * lib/unistr/u32-uctomb.c: Likewise.
47086         * lib/unistr/u8-check.c: Likewise.
47087         * lib/unistr/u8-chr.c: Likewise.
47088         * lib/unistr/u8-cmp.c: Likewise.
47089         * lib/unistr/u8-cpy-alloc.c: Likewise.
47090         * lib/unistr/u8-cpy.c: Likewise.
47091         * lib/unistr/u8-endswith.c: Likewise.
47092         * lib/unistr/u8-mblen.c: Likewise.
47093         * lib/unistr/u8-mbsnlen.c: Likewise.
47094         * lib/unistr/u8-mbtouc-aux.c: Likewise.
47095         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
47096         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
47097         * lib/unistr/u8-mbtouc.c: Likewise.
47098         * lib/unistr/u8-mbtoucr.c: Likewise.
47099         * lib/unistr/u8-move.c: Likewise.
47100         * lib/unistr/u8-next.c: Likewise.
47101         * lib/unistr/u8-prev.c: Likewise.
47102         * lib/unistr/u8-set.c: Likewise.
47103         * lib/unistr/u8-startswith.c: Likewise.
47104         * lib/unistr/u8-stpcpy.c: Likewise.
47105         * lib/unistr/u8-stpncpy.c: Likewise.
47106         * lib/unistr/u8-strcat.c: Likewise.
47107         * lib/unistr/u8-strchr.c: Likewise.
47108         * lib/unistr/u8-strcmp.c: Likewise.
47109         * lib/unistr/u8-strcpy.c: Likewise.
47110         * lib/unistr/u8-strcspn.c: Likewise.
47111         * lib/unistr/u8-strdup.c: Likewise.
47112         * lib/unistr/u8-strlen.c: Likewise.
47113         * lib/unistr/u8-strmblen.c: Likewise.
47114         * lib/unistr/u8-strmbtouc.c: Likewise.
47115         * lib/unistr/u8-strncat.c: Likewise.
47116         * lib/unistr/u8-strncmp.c: Likewise.
47117         * lib/unistr/u8-strncpy.c: Likewise.
47118         * lib/unistr/u8-strnlen.c: Likewise.
47119         * lib/unistr/u8-strpbrk.c: Likewise.
47120         * lib/unistr/u8-strrchr.c: Likewise.
47121         * lib/unistr/u8-strspn.c: Likewise.
47122         * lib/unistr/u8-strstr.c: Likewise.
47123         * lib/unistr/u8-strtok.c: Likewise.
47124         * lib/unistr/u8-to-u16.c: Likewise.
47125         * lib/unistr/u8-to-u32.c: Likewise.
47126         * lib/unistr/u8-uctomb-aux.c: Likewise.
47127         * lib/unistr/u8-uctomb.c: Likewise.
47128         * lib/unitypes.h: Likewise.
47129         * lib/uniwidth.h: Likewise.
47130         * lib/uniwidth/cjk.h: Likewise.
47131         * lib/uniwidth/u16-strwidth.c: Likewise.
47132         * lib/uniwidth/u16-width.c: Likewise.
47133         * lib/uniwidth/u32-strwidth.c: Likewise.
47134         * lib/uniwidth/u32-width.c: Likewise.
47135         * lib/uniwidth/u8-strwidth.c: Likewise.
47136         * lib/uniwidth/u8-width.c: Likewise.
47137         * lib/uniwidth/width.c: Likewise.
47138
47139 2007-10-07  Bruno Haible  <bruno@clisp.org>
47140
47141         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
47142         The file is still under LGPL (see modules/inttypes).
47143
47144 2007-10-06  Bruno Haible  <bruno@clisp.org>
47145
47146         * modules/trunc (Dependencies): Add 'extensions'.
47147         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
47148         Reported by Ben Pfaff <blp@gnu.org>.
47149
47150 2007-10-06  Bruno Haible  <bruno@clisp.org>
47151
47152         * modules/freopen-tests: New file.
47153         * tests/test-freopen.c: New file.
47154
47155         * modules/fopen-tests: New file.
47156         * tests/test-fopen.c: New file.
47157
47158         * modules/fopen: New file.
47159         * lib/fopen.c: New file.
47160         * m4/fopen.m4: New file.
47161         * modules/freopen: New file.
47162         * lib/freopen.c: New file.
47163         * m4/freopen.m4: New file.
47164         * lib/stdio.in.h (fopen, freopen): New declarations.
47165         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
47166         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47167         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
47168         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47169         * doc/functions/fopen.texi: Mention the 'fopen' module.
47170         * doc/functions/freopen.texi: Mention the 'freopen' module.
47171
47172 2007-10-06  Bruno Haible  <bruno@clisp.org>
47173
47174         * modules/open-tests: New file.
47175         * tests/test-open.c: New file.
47176
47177         * modules/open: New file.
47178         * lib/open.c: New file.
47179         * m4/open.m4: New file.
47180         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
47181         lib/open.c does.
47182         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
47183         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
47184         macros.
47185         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
47186         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
47187         REPLACE_OPEN.
47188         * doc/functions/open.texi: Mention the 'open' module.
47189
47190 2007-10-04  Bruno Haible  <bruno@clisp.org>
47191
47192         * modules/ceill-tests: New file.
47193         * tests/test-ceill.c: New file.
47194
47195         * modules/ceill: New file.
47196         * lib/ceill.c: Replace entire file.
47197         * m4/ceill.m4: New file.
47198         * lib/math.in.h (ceill): Replace declaration.
47199         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
47200         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
47201         * doc/functions/ceill.texi: Mention the 'ceill' module.
47202         * modules/mathl (Files): Remove lib/ceill.c.
47203         (Depends-on): Add ceill.
47204
47205 2007-10-04  Bruno Haible  <bruno@clisp.org>
47206
47207         * modules/ceilf-tests: New file.
47208         * tests/test-ceilf.c: New file.
47209
47210         * modules/ceilf: New file.
47211         * lib/ceil.c: New file.
47212         * lib/ceilf.c: New file.
47213         * m4/ceilf.m4: New file.
47214         * lib/math.in.h (ceilf): New declaration.
47215         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
47216         HAVE_DECL_CEILF.
47217         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
47218         HAVE_DECL_CEILF.
47219         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
47220
47221 2007-10-04  Bruno Haible  <bruno@clisp.org>
47222
47223         * modules/floorl-tests: New file.
47224         * tests/test-floorl.c: New file.
47225
47226         * modules/floorl: New file.
47227         * lib/floorl.c: Replace entire file.
47228         * m4/floorl.m4: New file.
47229         * lib/math.in.h (floorl): Replace declaration.
47230         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
47231         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
47232         * doc/functions/floorl.texi: Mention the 'floorl' module.
47233         * modules/mathl (Files): Remove lib/floorl.c.
47234         (Depends-on): Add floorl.
47235
47236 2007-10-04  Bruno Haible  <bruno@clisp.org>
47237
47238         * modules/floorf-tests: New file.
47239         * tests/test-floorf.c: New file.
47240
47241         * modules/floorf: New file.
47242         * lib/floor.c: New file.
47243         * lib/floorf.c: New file.
47244         * m4/floorf.m4: New file.
47245         * lib/math.in.h (floorf): New declaration.
47246         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
47247         HAVE_DECL_FLOORF.
47248         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
47249         HAVE_DECL_FLOORF.
47250         * doc/functions/floorf.texi: Mention the 'floorf' module.
47251
47252 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
47253             Bruno Haible  <bruno@clisp.org>
47254
47255         Advertise for the Git server instead of the CVS server.
47256         * doc/gnulib-intro.texi (Steady Development): Mention the Git
47257         repository instead of the CVS one.
47258         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
47259         about all VCS systems generically.
47260         * doc/gnulib.texi (Introduction): Capitalize `Git'.
47261
47262 2007-10-04  Bruno Haible  <bruno@clisp.org>
47263
47264         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
47265         means.
47266         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
47267
47268 2007-10-04  Bruno Haible  <bruno@clisp.org>
47269
47270         * modules/truncl-tests: New file.
47271         * tests/test-truncl.c: New file.
47272
47273         * modules/truncl: New file.
47274         * lib/truncl.c: New file.
47275         * m4/truncl.m4: New file.
47276         * lib/math.in.h (truncl): New declaration.
47277         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
47278         HAVE_DECL_TRUNCL.
47279         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
47280         HAVE_DECL_TRUNCL.
47281         * doc/functions/truncl.texi: Mention the 'truncl' module.
47282
47283 2007-10-04  Bruno Haible  <bruno@clisp.org>
47284
47285         * modules/truncf-tests: New file.
47286         * tests/test-truncf.c: New file.
47287
47288         * modules/truncf: New file.
47289         * lib/trunc.c: Make paramerizable through USE_* macros.
47290         * lib/truncf.c: New file.
47291         * m4/truncf.m4: New file.
47292         * lib/math.in.h (truncf): New declaration.
47293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
47294         HAVE_DECL_TRUNCF.
47295         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
47296         HAVE_DECL_TRUNCF.
47297         * doc/functions/truncf.texi: Mention the 'truncf' module.
47298
47299 2007-10-03  Bruno Haible  <bruno@clisp.org>
47300
47301         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
47302         augmentation also for tests modules.
47303         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
47304         * modules/atexit-tests (Makefile.am): Likewise.
47305         * modules/binary-io-tests (Makefile.am): Likewise.
47306         * modules/c-strcase-tests (Makefile.am): Likewise.
47307         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
47308         * modules/canonicalize-tests (Makefile.am): Likewise.
47309         * modules/closein-tests (Makefile.am): Likewise.
47310         * modules/fprintf-posix-tests (Makefile.am): Likewise.
47311         * modules/freadahead-tests (Makefile.am): Likewise.
47312         * modules/fseek-tests (Makefile.am): Likewise.
47313         * modules/fseeko-tests (Makefile.am): Likewise.
47314         * modules/ftell-tests (Makefile.am): Likewise.
47315         * modules/ftello-tests (Makefile.am): Likewise.
47316         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
47317         * modules/isnanl-tests (Makefile.am): Likewise.
47318         * modules/lseek-tests (Makefile.am): Likewise.
47319         * modules/mbscasecmp-tests (Makefile.am): Likewise.
47320         * modules/mbscasestr-tests (Makefile.am): Likewise.
47321         * modules/mbschr-tests (Makefile.am): Likewise.
47322         * modules/mbscspn-tests (Makefile.am): Likewise.
47323         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
47324         * modules/mbspbrk-tests (Makefile.am): Likewise.
47325         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
47326         * modules/mbsrchr-tests (Makefile.am): Likewise.
47327         * modules/mbsspn-tests (Makefile.am): Likewise.
47328         * modules/mbsstr-tests (Makefile.am): Likewise.
47329         * modules/printf-posix-tests (Makefile.am): Likewise.
47330         * modules/snprintf-posix-tests (Makefile.am): Likewise.
47331         * modules/sprintf-posix-tests (Makefile.am): Likewise.
47332         * modules/tsearch-tests (Makefile.am): Likewise.
47333         * modules/uniname/uniname-tests (Makefile.am): Likewise.
47334         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
47335         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
47336         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
47337         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
47338         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
47339         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
47340         * modules/vprintf-posix-tests (Makefile.am): Likewise.
47341         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
47342         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
47343         * modules/xstrtoimax-tests (Makefile.am): Likewise.
47344         * modules/xstrtol-tests (Makefile.am): Likewise.
47345         * modules/xstrtoumax-tests (Makefile.am): Likewise.
47346         * modules/yesno-tests (Makefile.am): Likewise.
47347
47348 2007-10-03  Bruno Haible  <bruno@clisp.org>
47349
47350         * modules/trunc-tests: New file.
47351         * tests/test-trunc.c: New file.
47352
47353         * modules/trunc: New file.
47354         * lib/trunc.c: New file.
47355         * m4/trunc.m4: New file.
47356         * lib/math.in.h (trunc): New declaration.
47357         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
47358         HAVE_DECL_TRUNC.
47359         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
47360         HAVE_DECL_TRUNC.
47361         * doc/functions/trunc.texi: Mention the 'trunc' module.
47362
47363 2007-10-03  Bruno Haible  <bruno@clisp.org>
47364
47365         * tests/test-fpending.c: New file, mostly copied
47366         from coreutils/lib/t-fpending.c.
47367         * modules/fpending-tests: New file.
47368
47369 2007-10-03  Bruno Haible  <bruno@clisp.org>
47370
47371         Port the stdio extensions to QNX (untested).
47372         * lib/fseterr.c (fseterr): Add support for QNX.
47373         * lib/fbufmode.c (fbufmode): Likewise.
47374         * lib/freadable.c (freadable): Likewise.
47375         * lib/fwritable.c (fwritable): Likewise.
47376         * lib/freading.c (freading): Likewise.
47377         * lib/fwriting.c (fwriting): Likewise.
47378         * lib/freadahead.c (freadahed): Likewise.
47379         * lib/fpurge.c (fpurge): Likewise.
47380         * lib/fseeko.c (rpl_fseeko): Likewise.
47381
47382 2007-10-03  Bruno Haible  <bruno@clisp.org>
47383             Jim Meyering  <jim@meyering.net>
47384             Eric Blake  <ebb9@byu.net>
47385
47386         * doc/relocatable.texi: Use @command instead of @program.
47387
47388 2007-10-02  Jim Meyering  <jim@meyering.net>
47389
47390         Perform one more "_.h" -> ".in.h" substitution.
47391         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
47392         instead of unistd_.h here, too.
47393
47394 2007-10-01  Bruno Haible  <bruno@clisp.org>
47395
47396         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
47397         Needed for the alloca-opt module.
47398
47399 2007-09-30  Bruno Haible  <bruno@clisp.org>
47400
47401         * lib/alloca.in.h: Renamed from lib/alloca_.h.
47402         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
47403         alloca_.h.
47404         * lib/argz.in.h: Renamed from lib/argz_.h.
47405         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
47406         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
47407         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
47408         byteswap_.h.
47409         * lib/dirent.in.h: Renamed from lib/dirent_.h.
47410         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
47411         dirent_.h.
47412         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
47413         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
47414         fcntl_.h.
47415         * lib/float.in.h: Renamed from lib/float_.h.
47416         * modules/float (Files, Makefile.am): Use float.in.h instead of
47417         float_.h.
47418         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
47419         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
47420         fnmatch_.h.
47421         * lib/getopt.in.h: Renamed from lib/getopt_.h.
47422         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
47423         getopt_.h.
47424         * lib/glob.in.h: Renamed from lib/glob_.h.
47425         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
47426         * lib/iconv.in.h: Renamed from lib/iconv_.h.
47427         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
47428         iconv_.h.
47429         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
47430         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
47431         inttypes_.h.
47432         * lib/locale.in.h: Renamed from lib/locale_.h.
47433         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
47434         locale_.h.
47435         * lib/math.in.h: Renamed from lib/math_.h.
47436         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
47437         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
47438         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
47439         of netinet_in_.h. Add dependency.
47440         * lib/poll.in.h: Renamed from lib/poll_.h.
47441         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
47442         * lib/search.in.h: Renamed from lib/search_.h.
47443         * modules/search (Files, Makefile.am): Use search.in.h instead of
47444         search_.h.
47445         * lib/signal.in.h: Renamed from lib/signal_.h.
47446         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
47447         _signal.h.
47448         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
47449         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
47450         stdbool_.h.
47451         * lib/stdint.in.h: Renamed from lib/stdint_.h.
47452         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
47453         stdint_.h.
47454         * lib/stdio.in.h: Renamed from lib/stdio_.h.
47455         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
47456         stdio_.h.
47457         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
47458         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
47459         stdlib_.h.
47460         * lib/string.in.h: Renamed from lib/string_.h.
47461         * modules/string (Files, Makefile.am): Use string.in.h instead of
47462         string_.h.
47463         * doc/gnulib-tool.texi (Initial import): Update.
47464         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
47465         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
47466         of sys_select_.h. Add dependency.
47467         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
47468         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
47469         of sys_socket_.h.
47470         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
47471         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
47472         sys_stat_.h.
47473         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
47474         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
47475         sys_time_.h.
47476         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
47477         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
47478         sysexits_.h.
47479         * lib/time.in.h: Renamed from lib/time_.h.
47480         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
47481         * lib/unistd.in.h: Renamed from lib/unistd_.h.
47482         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
47483         unistd_.h.
47484         * lib/wchar.in.h: Renamed from lib/wchar_.h.
47485         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
47486         wchar_.h.
47487         * lib/wctype.in.h: Renamed from lib/wctype_.h.
47488         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
47489         wctype_.h.
47490         * build-aux/bootstrap (slurp): Update.
47491         * lib/.cppi-disable: Update.
47492
47493 2007-09-30  Bruno Haible  <bruno@clisp.org>
47494
47495         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
47496         Needed on BeOS.
47497
47498 2007-09-30  Bruno Haible  <bruno@clisp.org>
47499
47500         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
47501
47502 2007-09-29  Bruno Haible  <bruno@clisp.org>
47503
47504         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
47505
47506 2007-09-29  Bruno Haible  <bruno@clisp.org>
47507
47508         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
47509         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
47510         * build-aux/install-reloc: Compile also areadlink.c.
47511         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
47512
47513 2007-09-29  Bruno Haible  <bruno@clisp.org>
47514
47515         * gnulib-tool (func_emit_initmacro_done): Indentation.
47516
47517 2007-09-29  Bruno Haible  <bruno@clisp.org>
47518
47519         * README: Add CVS checkout update instructions.
47520         Info from Bob Proulx <bob@proulx.com>.
47521
47522 2007-09-28  Eric Blake  <ebb9@byu.net>
47523
47524         Provide move-if-change.
47525         * build-aux/move-if-change: New file, based on best practice
47526         rather than any canonical upstream location.
47527
47528 2007-09-28  Jim Meyering  <jim@meyering.net>
47529
47530         Fix canonicalize loop-detection corner case.
47531         Do not attempt to stat the symlink values stored via seen_triple.
47532         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
47533         on linux-2.6.18, (but not 2.6.22).
47534         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
47535         triple_compare.  The former compares dev,ino,filename, while the latter
47536         would actually stat dirname(filename) when dev and ino were equal.
47537         * lib/hash-triple.c: Install <string.h>.
47538         (STREQ): Define.
47539         (triple_compare_ino_str): New function.
47540         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
47541
47542 2007-09-28  Eric Blake  <ebb9@byu.net>
47543
47544         Enforce that AC_REPLACE_FUNCS files exist.
47545         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
47546         override check for typos.
47547
47548         Fix test-closein on Solaris 10.
47549         * tests/test-closein.c (main): Don't assume stdin can be inherited
47550         closed on all systems.
47551         * tests/test-closein.sh: Likewise.
47552         Reported by Piotr Tarnowski.
47553
47554 2007-09-28  Jim Meyering  <jim@meyering.net>
47555
47556         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
47557
47558 2007-09-27  Jim Meyering  <jim@meyering.net>
47559
47560         canonicalize: Avoid a false-positive cycle failure.
47561         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
47562         Sort.  Remove cycle-check.
47563         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
47564         not cycle-check.h.
47565         (seen_triple): New function.
47566         (canonicalize_filename_mode): Use it instead of cycle-check.
47567         * tests/test-canonicalize.c: Add a test for this bug.
47568         * tests/test-canonicalize.sh: Set up and run the test.
47569
47570         New module, file-set, from coreutils.
47571         * modules/file-set: Define it.
47572         * lib/file-set.c, lib/file-set.h: Implement.
47573
47574         New module, hash-triple, from coreutils.
47575         * modules/hash-triple: Define it.
47576         * lib/hash-triple.c, lib/hash-triple.h: Implement.
47577
47578 2007-09-25  Eric Blake  <ebb9@byu.net>
47579
47580         Fix strerror on Interix.
47581         * lib/string_.h (strerror): Declare replacement.
47582         * doc/functions/strerror.texi (strerror): Document the Interix
47583         shortcoming.
47584         * modules/string (Makefile.am): Support new hooks.
47585         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
47586         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
47587         gl_FUNC_STRERROR_SEPARATE.
47588         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
47589         * lib/strerror.c (rpl_strerror): Provide replacement.
47590         * modules/strerror (Depends-on): Add string.
47591         (configure.ac): Detect use of module.
47592         * tests/test-strerror.c: New file.
47593         * modules/strerror-tests: New test module.
47594         * modules/argp (Depends-on): Add strerror.
47595         * modules/error (Depends-on): Likewise.
47596         Reported by Martin Koeppe.
47597
47598 2007-09-24  Bruno Haible  <bruno@clisp.org>
47599
47600         * README: Update git instructions.
47601
47602 2007-09-24  Eric Blake  <ebb9@byu.net>
47603
47604         Revert fpending breakage from 2007-09-08.
47605         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
47606         __fpending.c.
47607
47608 2007-09-24  Jim Meyering  <jim@meyering.net>
47609
47610         filenamecat.c: Add a test.
47611         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
47612         showing how the function works when DIR is the empty string.
47613
47614 2007-09-21  Simon Josefsson  <simon@josefsson.org>
47615
47616         * tests/test-canonicalize.sh: Turn on executable bit.
47617
47618 2007-09-19  Eric Blake  <ebb9@byu.net>
47619
47620         * README: Update CVS instructions.
47621
47622 2007-09-18  Bruno Haible  <bruno@clisp.org>
47623
47624         * modules/areadlink: New file.
47625         * lib/areadlink.h (areadlink): New declaration.
47626         * lib/areadlink.c: New file, based on lib/xreadlink.c.
47627
47628 2007-09-17  Jim Meyering  <jim@meyering.net>
47629
47630         * lib/savewd.c (ESTALE) [!defined]: Define.
47631         Reported to be required on Interix by Martin Koeppe.
47632
47633 2007-09-17  Bruno Haible  <bruno@clisp.org>
47634
47635         * gnulib-tool (func_version): Use $version.
47636
47637 2007-09-16  Bruno Haible  <bruno@clisp.org>
47638
47639         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
47640         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
47641         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
47642         Reported by Greg Schafer <gschafer@zip.com.au>.
47643
47644 2007-09-15  Bruno Haible  <bruno@clisp.org>
47645
47646         * gnulib-tool (sed): Try a little harder to make bash understand the
47647         alias.
47648         Reported by Bruce Korb <bruce.korb@gmail.com>.
47649
47650 2007-09-13  Eric Blake  <ebb9@byu.net>
47651
47652         * ChangeLog: Remove conflict markers.
47653
47654 2007-09-13  Simon Josefsson  <simon@josefsson.org>
47655
47656         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
47657         Reported by Bruno Haible <bruno@clisp.org>.
47658
47659 2007-09-12  Bruno Haible  <bruno@clisp.org>
47660
47661         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
47662         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
47663         is not defined.
47664
47665 2007-09-12  Eric Blake  <ebb9@byu.net>
47666
47667         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
47668         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
47669         Autoconf definition.
47670         * modules/euidaccess (Depends-on): Add extensions, for
47671         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
47672         * modules/fnmatch (Depends-on): Likewise.
47673         * modules/getaddrinfo (Depends-on): Likewise.
47674         * modules/getdelim (Depends-on): Likewise.
47675         * modules/getline (Depends-on): Likewise.
47676         * modules/getsubopt (Depends-on): Likewise.
47677         * modules/gettext (Depends-on): Likewise.
47678         * modules/group-member (Depends-on): Likewise.
47679         * modules/mbchar (Depends-on): Likewise.
47680         * modules/memmem (Depends-on): Likewise.
47681         * modules/mempcpy (Depends-on): Likewise.
47682         * modules/memrchr (Depends-on): Likewise.
47683         * modules/pagealign_alloc (Depends-on): Likewise.
47684         * modules/readutmp (Depends-on): Likewise.
47685         * modules/stpcpy (Depends-on): Likewise.
47686         * modules/stpncpy (Depends-on): Likewise.
47687         * modules/strchrnul (Depends-on): Likewise.
47688         * modules/strndup (Depends-on): Likewise.
47689         * modules/strsep (Depends-on): Likewise.
47690         * modules/strverscmp (Depends-on): Likewise.
47691         * modules/vasprintf (Depends-on): Likewise.
47692         * modules/wcwidth (Depends-on): Likewise.
47693         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
47694         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
47695         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
47696         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
47697         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
47698         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47699         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
47700         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47701         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
47702         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
47703         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47704         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
47705         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
47706         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
47707         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
47708         * m4/readutmp.m4 (gl_READUTMP): Likewise.
47709         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47710         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
47711         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47712         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
47713         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47714         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
47715         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
47716         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
47717         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
47718         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47719         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
47720         so that lock.m4 can be used in gettext without extensions module.
47721
47722 2007-09-11  Bruno Haible  <bruno@clisp.org>
47723
47724         * m4/isc-posix.m4: Remove file.
47725         Suggested by Eric Blake.
47726
47727 2007-09-11  Eric Blake  <ebb9@byu.net>
47728
47729         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
47730
47731 2007-09-10  Bruno Haible  <bruno@clisp.org>
47732
47733         * posix-modules: Fix typo in error message.
47734         Reported by Matt <mkraai@beckman.com>.
47735
47736 2007-09-09  Bruno Haible  <bruno@clisp.org>
47737
47738         * doc/functions/getdelim.texi: Update list of platforms lacking the
47739         function.
47740         * doc/functions/getline.texi: Likewise.
47741
47742 2007-09-09  Jim Meyering  <jim@meyering.net>
47743
47744         * lib/hash.c (hash_initialize): Detect calloc failure.
47745         Reported by Bruno Haible.
47746
47747 2007-09-09  Bruno Haible  <bruno@clisp.org>
47748
47749         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
47750         malloc or realloc fails.
47751
47752 2007-09-09  Bruno Haible  <bruno@clisp.org>
47753
47754         * modules/getcwd (Depends-on): Add malloc-posix.
47755         * modules/glob (Depends-on): Likewise.
47756         * modules/putenv (Depends-on): Likewise.
47757         * modules/strdup (Depends-on): Likewise.
47758         * modules/getdelim (Depends-on): Add realloc-posix.
47759         * modules/read-file (Depends-on): Likewise.
47760
47761 2007-09-09  Bruno Haible  <bruno@clisp.org>
47762
47763         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
47764         (gl_FUNC_MALLOC_POSIX): Require it.
47765         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
47766         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
47767         * modules/realloc (Files): Add m4/malloc.m4.
47768         * modules/calloc (Files): Likewise.
47769
47770 2007-09-09  Bruno Haible  <bruno@clisp.org>
47771
47772         * modules/malloc-posix: New file.
47773         * modules/malloc (Depends-on): Add malloc-posix.
47774         * lib/malloc.c: Include errno.h.
47775         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
47776         and a POSIX-compatible malloc into a single function. Set ENOMEM
47777         when returning NULL.
47778         * m4/malloc.m4: New file.
47779         * doc/functions/malloc.texi: Mention the malloc-posix module.
47780         * lib/stdlib_.h (malloc): New declaration.
47781         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47782         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
47783         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
47784         and HAVE_MALLOC_POSIX.
47785
47786 2007-09-09  Bruno Haible  <bruno@clisp.org>
47787
47788         * modules/realloc-posix: New file.
47789         * modules/realloc (Depends-on): Add realloc-posix.
47790         * lib/realloc.c: Include errno.h.
47791         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
47792         and a POSIX-compatible realloc into a single function. Set ENOMEM
47793         when returning NULL.
47794         * m4/realloc.m4: New file.
47795         * doc/functions/realloc.texi: Mention the realloc-posix module.
47796         * lib/stdlib_.h (realloc): New declaration.
47797         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47798         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
47799         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
47800         and HAVE_REALLOC_POSIX.
47801
47802 2007-09-09  Bruno Haible  <bruno@clisp.org>
47803
47804         * modules/calloc-posix: New file.
47805         * modules/calloc (Depends-on): Add calloc-posix.
47806         * lib/calloc.c: Include errno.h.
47807         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
47808         and a POSIX-compatible calloc into a single function. Set ENOMEM
47809         when returning NULL.
47810         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
47811         * doc/functions/calloc.texi: Mention the calloc-posix module.
47812         * lib/stdlib_.h (calloc): New declaration.
47813         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47814         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
47815         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
47816         and HAVE_CALLOC_POSIX.
47817
47818 2007-09-09  Bruno Haible  <bruno@clisp.org>
47819
47820         Allow for modules to show an arbitrary notice.
47821         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
47822         * gnulib-tool: New option --extract-notice.
47823         (func_usage): Document it.
47824         (sed_extract_prog): Update.
47825         (func_get_notice): New function.
47826         (func_modules_notice): New function.
47827         (func_import, func_create_testdir): Invoke it.
47828         Suggested by Jim Meyering.
47829
47830 2007-09-09  Bruno Haible  <bruno@clisp.org>
47831
47832         * gnulib-tool: New options --verbose, --quiet.
47833         (func_usage): Document them.
47834         (verbose): New variable.
47835         (func_execute_command): New function.
47836         (func_import): Don't show the module list and the file list if
47837         $verbose < 0.
47838         (func_create_testdir): Likewise. Use func_execute_command.
47839         (func_create_megatestdir): Use func_execute_command.
47840
47841 2007-09-08  Bruno Haible  <bruno@clisp.org>
47842
47843         * gnulib-tool (func_import): Prefer rsync over wget when available,
47844         for fetching the PO files.
47845
47846 2007-09-08  Bruno Haible  <bruno@clisp.org>
47847
47848         * posix-modules: New file. Portions copied from gnulib-tool.
47849         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
47850
47851 2007-09-08  Jim Meyering  <jim@meyering.net>
47852
47853         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
47854         * lib/fpending.h: Rename from __fpending.h.
47855         * lib/fpending.c: Rename from __fpending.c.
47856         Include "fpending.h", not "__fpending.h".
47857         * lib/__fpending.h, lib/__fpending.c: Remove files.
47858         * modules/fpending (Files): Reflect new file names.
47859         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
47860
47861 2007-09-08  Bruno Haible  <bruno@clisp.org>
47862
47863         * m4/inttypes-h.m4: Remove stub file.
47864
47865 2007-09-07  Simon Josefsson  <simon@josefsson.org>
47866
47867         * doc/headers/stdint.texi: Discuss #include_next issue.
47868
47869 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47870
47871         * build-aux/bootstrap: Remove obsolete comment about wget --help.
47872
47873 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47874
47875         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
47876         in variable name.
47877
47878 2007-09-03  Jim Meyering  <jim@meyering.net>
47879
47880         New module: git-version-gen.
47881         * modules/git-version-gen: New file.
47882
47883         Import changes from coreutils for bootstrap script.
47884
47885         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
47886
47887         bootstrap: uses rsync to download the .po files
47888         * build-aux/bootstrap (po_download_command_format): New global.
47889         (download_po_files): Use rsync.
47890         (update_po_files): Don't remove .po files after download,
47891         so future rsync runs can take advantage of the copies.
47892
47893         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
47894
47895         Solve the unnecessary-.po-file-regeneration problem once and for all.
47896         * build-aux/bootstrap (download_po_files): New function, renamed from
47897         get_translations.  Now, downloads, but doesn't update LINGUAS.
47898         (update_po_files): New function.
47899
47900         bootstrap: Ignore more.
47901         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
47902         uniwidth to e.g., lib/.gitignore.
47903         (slurp): Handle the sys_stat_.h -> sys mapping, too.
47904
47905         * build-aux/bootstrap: New setting: vc_ignore.
47906         (insert_sorted_if_absent): Create $file if absent.
47907         Adapt to new, possibly empty, list: $vc_ignore.
47908
47909         bootstrap: generate more ignorable names
47910         * build-aux/bootstrap (slurp): When generating ignorable names,
47911         also map .sin to .sed, .gperf to .c, and .y to .c.
47912
47913 2007-09-03  Jim Meyering  <jim@meyering.net>
47914
47915         * build-aux/git-version-gen: New file, from coreutils.  For details, see
47916         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
47917
47918 2007-09-02  Bruno Haible  <bruno@clisp.org>
47919
47920         Fix mis-recognition of 'mcs' on QNX 6.
47921         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
47922         output contains the string "Mono".
47923         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
47924         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
47925
47926 2007-09-01  Bruno Haible  <bruno@clisp.org>
47927
47928         Fix collision between uniwidth/* and linebreak modules.
47929         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
47930         u32_width): Remove declarations.
47931         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
47932         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
47933         streq3, streq2, streq1, streq0): Remove functions.
47934         (STREQ): Remove macro.
47935         (is_cjk_encoding): Remove function.
47936         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
47937         (uc_width, u8_width, u16_width, u32_width): Remove functions.
47938         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
47939         * NEWS: Document the change.
47940
47941 2007-09-01  Bruno Haible  <bruno@clisp.org>
47942
47943         * lib/streq.h: Add double-inclusion guard.
47944
47945 2007-09-01  Karl Berry  <karl@gnu.org>
47946
47947         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
47948
47949 2007-08-28  Jim Meyering  <jim@meyering.net>
47950
47951         Rename mreadlink_with_size to areadlink_with_size.
47952         * NEWS: Document the change.
47953         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
47954         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
47955         * lib/mreadlink.h: Rename this to...
47956         * lib/areadlink.h: ...this.
47957         * modules/mreadlink-with-size: Rename this to...
47958         * modules/areadlink-with-size: ...this.
47959         * lib/canonicalize.c: Reflect the renaming.
47960         * modules/canonicalize: Likewise.
47961
47962 2007-08-26  Bruno Haible  <bruno@clisp.org>
47963
47964         * gnulib-tool (func_import): When deciding which files to remove,
47965         consider also dangling symbolic links.
47966         Reported by Eric Blake.
47967
47968 2007-08-26  Bruno Haible  <bruno@clisp.org>
47969
47970         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
47971
47972 2007-08-23  Simon Josefsson  <simon@josefsson.org>
47973
47974         * lib/readline.c: Don't include getline.h, the prototype is now
47975         found in stdio.h.
47976
47977 2007-08-23  Jim Meyering  <jim@meyering.net>
47978
47979         Getdelim touchup.
47980         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
47981         around the funlockfile call, since funlockfile never sets errno.
47982         Don't set errno upon failed realloc.
47983
47984 2007-08-22  Eric Blake  <ebb9@byu.net>
47985
47986         Getline touchups.
47987         * lib/getdelim.c (getdelim): Revert regression that required *n to
47988         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
47989         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
47990         getdelim, rather than whether implementation is missing.
47991         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
47992         * lib/stdio_.h (getline): Also declare if replacement is
47993         required.
47994         * doc/functions/getdelim.texi: New file.
47995         * doc/functions/getline.texi: Likewise.
47996         * doc/gnulib.texi (Function Substitutes): Add new files.
47997         Reported by Bruno Haible.
47998
47999 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
48000
48001         * users.txt: Add Guile.
48002
48003 2007-08-22  Eric Blake  <ebb9@byu.net>
48004
48005         * tests/test-getdelim.c (main): Use remove, not unlink.
48006         * tests/test-getline.c (main): Likewise.
48007
48008         Move getline and getdelim into stdio.h, per POSIX 200x.
48009         * modules/getline (Files): Remove getline.h.
48010         (Depends-on): Add stdio.
48011         (configure.ac): Add module indicator.
48012         * modules/getdelim (Files): Remove getdelim.h.
48013         (Depends-on): Add stdio.
48014         (configure.ac): Add module indicator.
48015         * modules/stdio (Makefile.am): Work with new indicators.
48016         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
48017         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
48018         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
48019         * lib/getdelim.h: Delete.
48020         * lib/getline.h: Delete.
48021         * lib/stdio_.h (getdelim, getline): Declare.
48022         * modules/getdelim-tests: New module.
48023         * modules/getline-tests: Likewise.
48024         * tests/test-getdelim.c: New file.
48025         * tests/test-getline.c: Likewise.
48026         * NEWS: Document the change.
48027         * lib/getline.c: Update choice of header.
48028         * lib/csharpcomp.c: Likewise.
48029         * lib/getpass.c: Likewise.
48030         * lib/javacomp.c: Likewise.
48031         * lib/javaversion.c: Likewise.
48032         * lib/yesno.c: Likewise.
48033         * lib/getdelim.c: Likewise.
48034         (getdelim): Set errno on failure, and avoid memory leak.
48035
48036 2007-08-19  Bruno Haible  <bruno@clisp.org>
48037
48038         * modules/closein (Depends-on): Add freadahead.
48039         * lib/closein.c: Include freadahead.h.
48040         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
48041         is zero.
48042
48043 2007-08-19  Bruno Haible  <bruno@clisp.org>
48044
48045         * modules/freadahead-tests: New file.
48046         * tests/test-freadahead.sh: New file.
48047         * tests/test-freadahead.c: New file.
48048
48049         * modules/freadahead: New file.
48050         * lib/freadahead.h: New file.
48051         * lib/freadahead.c: New file.
48052         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
48053         fbufmode, fpurge, freadable, fwritable.
48054
48055 2007-08-19  Eric Blake  <ebb9@byu.net>
48056
48057         Test yesno in combination with closein.
48058         * lib/yesno.c (yesno): Document use of stdin.
48059         * modules/yesno-tests (Files): New module.
48060         * tests/test-yesno.c (main): New file.
48061         * tests/test-yesno.sh: Likewise.
48062
48063 2007-08-19  Bruno Haible  <bruno@clisp.org>
48064
48065         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
48066         * lib/fseeko.c (rpl_fseeko): Likewise.
48067         * lib/fseterr.c (fseterr): Likewise.
48068
48069 2007-08-19  Bruno Haible  <bruno@clisp.org>
48070
48071         * tests/test-lseek.c (main): Disable a test for BeOS.
48072         * doc/functions/lseek.texi: Document the BeOS bug.
48073
48074 2007-08-19  Bruno Haible  <bruno@clisp.org>
48075             Eric Blake  <ebb9@byu.net>
48076
48077         * lib/lseek.c: Include <sys/stat.h>.
48078         (rpl_lseek): Add workaround code also for Unix platforms.
48079         Needed for BeOS.
48080         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
48081         * doc/functions/lseek.texi: Document BeOS definiency.
48082
48083 2007-08-18  Bruno Haible  <bruno@clisp.org>
48084
48085         * modules/fstrcmp-tests: New file.
48086         * tests/test-fstrcmp.c: New file.
48087
48088 2007-08-18  Bruno Haible  <bruno@clisp.org>
48089
48090         * modules/fstrcmp: New file, from GNU gettext with modifications.
48091         * lib/fstrcmp.h: New file, from GNU gettext.
48092         * lib/fstrcmp.c: New file, from GNU gettext.
48093         * MODULES.html.sh (String handling): Add fstrcmp.
48094
48095 2007-08-18  Bruno Haible  <bruno@clisp.org>
48096
48097         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
48098         'bool'.
48099         (diag, compareseq): Remove const from the ctxt argument.
48100         (USE_HEURISTIC): Undefine at the end.
48101
48102 2007-08-18  Jim Meyering  <jim@meyering.net>
48103
48104         New file: lib/idcache.h
48105         * NEWS: Mention the addition.
48106         * modules/idcache (Files): Add lib/idcache.h
48107         * lib/idcache.c: Include "idcache.h".
48108         Don't include <sys/types.h>.
48109         Add a FIXME comment.
48110         Move file-scoped "static" declarations to the top.
48111         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
48112
48113 2007-08-17  Bruno Haible  <bruno@clisp.org>
48114         and Paul Eggert  <eggert@cs.ucla.edu>
48115
48116         * MODULES.html.sh: Add diffseq.
48117         * modules/diffseq: New file.
48118         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
48119         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
48120
48121 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48122
48123         Import changes from coreutils for bootstrap script.
48124
48125         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
48126
48127         * build-aux/bootstrap (slurp): Work even in environments where
48128         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
48129         current code does not slurp files whose names start with ".", and
48130         this looks like it might be a troublesome area.
48131
48132         2007-07-11  Jim Meyering  <jim@meyering.net>
48133
48134         If there's a GPL vN copyright comment, require that N == 3.
48135
48136         2007-07-08  Jim Meyering  <jim@meyering.net>
48137
48138         Run the coreutils-specific code only if tests/Makefile.am.in exists.
48139         * build-aux/bootstrap (mam_template): Move definition out of loop.
48140
48141         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
48142
48143         * build-aux/bootstrap (symlink_to_dir): Rename function from
48144         symlink_to_gnulib.  Add a directory parameter.  Update all
48145         callers.
48146         (cp_mark_as_generated): Also check for -- and link to -- files in
48147         gl/.
48148
48149         2007-07-08  Jim Meyering  <jim@meyering.net>
48150
48151         Adapt to deeper hierarchy in gnulib.
48152         * build-aux/bootstrap (symlink_to_dir): If the destination
48153         directory doesn't exist, create it. This is required at least for
48154         "lib/uniwidth/cjk.h".
48155
48156         2007-05-15  Jim Meyering  <jim@meyering.net>
48157
48158         * build-aux/bootstrap: Now that generated Makefile.am files
48159         are no longer under version control, they must be created at
48160         bootstrap time.
48161
48162 2007-08-14  Ben Pfaff  <blp@gnu.org>
48163
48164         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
48165
48166 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48167
48168         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
48169         given the changes below.
48170         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
48171         even on hosts that have padding bits beyond the supported 64.
48172
48173 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48174
48175         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
48176         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
48177         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
48178         depends on it.
48179         (xstrtol_error): Remove.
48180         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
48181         but with a different signature.
48182         (ATTRIBUTE_NORETURN, __attribute__): New macros.
48183         * lib/xstrtol-error.c: Include exitfail.h.
48184         (xstrtol_fatal): New function, with a different signature from the
48185         old xstrtol_error, so that the caller need not worry about passing
48186         in an exit status, or about storage management of the option argument.
48187         (xstrtol_error): Now a static function.  Redo signature to
48188         implement xstrtol_fatal.  Output the correct number of hyphens in
48189         front of the option so that the caller need not worry about
48190         storage management.
48191         (N_): New macro.
48192         (_): Remove; not used now.
48193         * modules/xstrtol: Depend on getopt.
48194         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
48195         of old STRTOL_FATAL_ERROR macro.
48196         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
48197         of test program.
48198         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
48199         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
48200
48201 2007-08-08  Eric Blake  <ebb9@byu.net>
48202
48203         * lib/xstrtol-error.c: Add missing include.
48204
48205         Move xstrtol messages into gnulib domain, when --pobase is used.
48206         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
48207         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
48208         * modules/xstrtol (Files): Distribute new file.
48209         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
48210         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
48211         * tests/test-xstrtol.c: ...into new file.
48212         * tests/test-xstrtoul.c: Also test xstrtoul.
48213         * tests/test-xstrtoimax.c: Also test xstrtoimax.
48214         * tests/test-xstrtoumax.c: Also test xstrtoumax.
48215         * tests/test-xstrtol.sh: Drive the tests.
48216         * tests/test-xstrtoimax.sh: Likewise.
48217         * tests/test-xstrtoumax.sh: Likewise.
48218         * modules/xstrtol-tests: New module.
48219         * modules/xstrtoimax-tests: Likewise.
48220         * modules/xstrtoumax-tests: Likewise.
48221
48222 2007-08-08  Jim Meyering  <jim@meyering.net>
48223
48224         New function: mfile_name_concat.
48225         * lib/filenamecat.c (mfile_name_concat): New function, just like
48226         file_name_concat, but return NULL upon failure rather than exiting
48227         with a diagnostic.
48228         * lib/filenamecat.h: Declare it.
48229
48230 2007-08-07  Bruno Haible  <bruno@clisp.org>
48231
48232         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
48233         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
48234         warning from gcc.
48235         Reported by Eric Blake.
48236
48237 2007-08-07  Simon Josefsson  <simon@josefsson.org>
48238
48239         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
48240         * modules/crypto/arcfour (License): Likewise.
48241         * modules/crypto/des-tests (License): Likewise.
48242         * modules/crypto/gc-arctwo-tests (License): Likewise.
48243         * modules/crypto/gc-des-tests (License): Likewise.
48244         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
48245         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
48246         * modules/crypto/gc-md2-tests (License): Likewise.
48247         * modules/crypto/gc-md4-tests (License): Likewise.
48248         * modules/crypto/gc-md5-tests (License): Likewise.
48249         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
48250         * modules/crypto/gc-rijndael-tests (License): Likewise.
48251         * modules/crypto/gc-sha1-tests (License): Likewise.
48252         * modules/crypto/gc-tests (License): Likewise.
48253         * modules/crypto/hmac-md5 (License): Likewise.
48254         * modules/crypto/hmac-sha1 (License): Likewise.
48255         * modules/crypto/md2-tests (License): Likewise.
48256         * modules/crypto/md4-tests (License): Likewise.
48257         * modules/crypto/md5 (License): Likewise.
48258         * modules/crypto/rijndael (License): Likewise.
48259         * modules/crypto/sha1 (License): Likewise.
48260         * modules/memxor (License): Likewise.
48261
48262 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
48263         and Bruno Haible  <bruno@clisp.org>
48264
48265         * NEWS: Describe interface changes to human, xstrtol.
48266         * lib/human.h: Include <xstrtol.h>.
48267         (human_options): Return enum strtol_error, not int.  Remove
48268         bool arg; take int * instead.
48269         * lib/human.c: Don't include "gettext.h".
48270         (_): Remove; no longer used.
48271         Don't include <xstrtol.h>, since human.h does it.
48272         (human_options): Adjust to abovementioned interface changes.
48273         Do not report error to stderr; that's now the caller's
48274         responsibility.
48275         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
48276         interface change.
48277         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
48278         Str, Argument_type_string.  All uses changed.  Put " argument"
48279         in diagnostics to make them clearer.  Change wording of suffix
48280         message for clarity.
48281         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
48282         Argument_type_string.
48283         (STRTOL_FATAL_WARN): Remove; no longer used.
48284         * modules/human (Depends-on): Remove gettext-h.
48285
48286 2007-08-06  Simon Josefsson  <simon@josefsson.org>
48287
48288         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
48289
48290 2007-07-31  Bruno Haible  <bruno@clisp.org>
48291
48292         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
48293         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
48294         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
48295
48296 2007-07-31  Bruno Haible  <bruno@clisp.org>
48297
48298         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
48299         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
48300
48301 2007-07-30  Bruno Haible  <bruno@clisp.org>
48302
48303         * modules/base64 (License): Use the synonymous term "LGPLv2+".
48304         * modules/c-ctype (License): Likewise.
48305         * modules/c-strcase (License): Likewise.
48306         * modules/check-version (License): Likewise.
48307         * modules/iconv (License): Likewise.
48308         * modules/iconv_open (License): Likewise.
48309         * modules/read-file (License): Likewise.
48310         * modules/striconv (License): Likewise.
48311         * modules/strverscmp (License): Likewise.
48312         * modules/vasprintf (License): Likewise.
48313         * modules/crypto/des (License): Likewise.
48314         * modules/crypto/gc (License): Likewise.
48315         * modules/crypto/gc-arcfour (License): Likewise.
48316         * modules/crypto/gc-arctwo (License): Likewise.
48317         * modules/crypto/gc-des (License): Likewise.
48318         * modules/crypto/gc-hmac-md5 (License): Likewise.
48319         * modules/crypto/gc-hmac-sha1 (License): Likewise.
48320         * modules/crypto/gc-md2 (License): Likewise.
48321         * modules/crypto/gc-md4 (License): Likewise.
48322         * modules/crypto/gc-md5 (License): Likewise.
48323         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
48324         * modules/crypto/gc-random (License): Likewise.
48325         * modules/crypto/gc-rijndael (License): Likewise.
48326         * modules/crypto/gc-sha1 (License): Likewise.
48327         * modules/crypto/md2 (License): Likewise.
48328         * modules/crypto/md4 (License): Likewise.
48329
48330 2007-07-30  Jim Meyering  <jim@meyering.net>
48331
48332         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
48333         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
48334         it has valid stat data.  This bug would cause du not to count the
48335         sizes of inaccessible directories.
48336         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
48337         in <http://bugzilla.redhat.com/250077>.
48338
48339 2007-07-25  Peter O'Gorman  <peter@pogma.com>
48340             Bruno Haible  <bruno@clisp.org>
48341
48342         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
48343         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
48344         #include_next, gives a diagnostic about it, but reports no error in
48345         the exit code.
48346         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48347
48348 2007-07-24  Ben Pfaff  <blp@gnu.org>
48349
48350         Improve name: "count-one-bits" is better than "popcount".
48351         * MODULES.html.sh: Update name.
48352         * lib/popcount.h: Renamed lib/count-one-bits.h.
48353         (popcount): Renamed count_one_bits.
48354         (popcountl): Renamed count_one_bits_l.
48355         (popcountll): Renamed count_one_bits_ll.
48356         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
48357         * modules/popcount: Renamed module/count-one-bits.
48358         * modules/popcount-tests: Renamed module/count-one-bits-tests.
48359         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
48360
48361 2007-07-23  Ben Pfaff  <blp@gnu.org>
48362
48363         * lib/popcount.h (popcount32): Reduce size of constants, to allow
48364         better code generation, and add U to large constants to avoid
48365         warnings, in non-GCC case.
48366         Suggested by Bruno Haible.
48367
48368 2007-07-23  Ben Pfaff  <blp@gnu.org>
48369
48370         * lib/popcount.h: Use verify_true instead of if...abort.
48371         * modules/popcount: Depend on verify module.
48372         Suggested by Jim Meyering.
48373
48374 2007-07-23  Bruno Haible  <bruno@clisp.org>
48375
48376         * gnulib-tool (func_import): Create a .cvsignore file also when the
48377         directory is not yet in CVS but the toplevel directory is. When
48378         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
48379         Reported by Karl Berry.
48380
48381 2007-07-22  Ben Pfaff  <blp@gnu.org>
48382
48383         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
48384         case.
48385         Suggested by Eric Blake.
48386
48387 2007-07-22  Ben Pfaff  <blp@gnu.org>
48388
48389         New module: popcount.
48390         * MODULES.html.sh: Add popcount.
48391         * modules/popcount: New file.
48392         * modules/popcount-tests: New file.
48393         * tests/test-popcount.c: New file.
48394         * lib/popcount.h: New file.
48395         * m4/popcount.m4: New file.
48396
48397 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48398
48399         * build-aux/announce-gen: Update to GPLv3.
48400
48401         * build-aux/config.guess: Update from config.
48402
48403 2007-07-21  Bruno Haible  <bruno@clisp.org>
48404
48405         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
48406         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
48407
48408 2007-07-20  Jim Meyering  <jim@meyering.net>
48409
48410         * check-module: Diagnose a self-dependency.
48411
48412 2007-07-19  Bruno Haible  <bruno@clisp.org>
48413
48414         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
48415         empty.
48416         Reported by Eric Blake.
48417
48418 2007-07-18  Bruno Haible  <bruno@clisp.org>
48419
48420         * gnulib-tool: New options --po-base, --po-domain.
48421         (func_usage): Document them.
48422         (pobase, po_domain): New variables.
48423         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
48424         DEFAULT_TEXT_DOMAIN.
48425         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
48426         (func_import): Consider pobase and po_domain. Create a po/ directory.
48427         (func_create_testdir): Set pobase and po_domain to empty.
48428         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
48429         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
48430
48431 2007-07-18  Bruno Haible  <bruno@clisp.org>
48432
48433         * gnulib-tool (func_get_automake_snippet): Synthesize also an
48434         EXTRA_DIST augmentation for files in build-aux/.
48435
48436 2007-07-16  Bruno Haible  <bruno@clisp.org>
48437
48438         * modules/lseek (License): Use the synonymous term "LGPLv2+".
48439         * modules/getdelim (License): Likewise.
48440
48441 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48442
48443         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
48444         * modules/d-type (License): Likewise.
48445         * modules/extensions (License): Likewise.
48446         * modules/fnmatch (License): Likewise.
48447         * modules/fseeko (License): Likewise.
48448         * modules/getaddrinfo (License): Likewise.
48449         * modules/getline (License): Likewise.
48450         * modules/getlogin_r (License): Likewise.
48451         * modules/getpass (License): Likewise.
48452         * modules/gettimeofday (License): Likewise.
48453         * modules/glob (License): Likewise.
48454         * modules/inet_ntop (License): Likewise.
48455         * modules/malloc (License): Likewise.
48456         * modules/malloca (License): Likewise.
48457         * modules/memmem (License): Likewise.
48458         * modules/mempcpy (License): Likewise.
48459         * modules/memset (License): Likewise.
48460         * modules/minmax (License): Likewise.
48461         * modules/mktime (License): Likewise.
48462         * modules/netinet_in (License): Likewise.
48463         * modules/pathmax (License): Likewise.
48464         * modules/poll (License): Likewise.
48465         * modules/regex (License): Likewise.
48466         * modules/snprintf (License): Likewise.
48467         * modules/stdbool (License): Likewise.
48468         * modules/stdint (License): Likewise.
48469         * modules/stdio (License): Likewise.
48470         * modules/strcase (License): Likewise.
48471         * modules/strcasestr (License): Likewise.
48472         * modules/strdup (License): Likewise.
48473         * modules/string (License): Likewise.
48474         * modules/strndup (License): Likewise.
48475         * modules/strnlen (License): Likewise.
48476         * modules/strpbrk (License): Likewise.
48477         * modules/strptime (License): Likewise.
48478         * modules/strsep (License): Likewise.
48479         * modules/sys_select (License): Likewise.
48480         * modules/sys_socket (License): Likewise.
48481         * modules/sys_stat (License): Likewise.
48482         * modules/sys_time (License): Likewise.
48483         * modules/time (License): Likewise.
48484         * modules/time_r (License): Likewise.
48485         * modules/timegm (License): Likewise.
48486         * modules/unistd (License): Likewise.
48487         * modules/vsnprintf (License): Likewise.
48488         * modules/wctype (License): Likewise.
48489
48490 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48491
48492         * modules/argz (License): LGPLv2+.
48493
48494 2007-07-15  Karl Berry  <karl@gnu.org>
48495
48496         * doc/gnulib.texi: revise node structure per new fdl.texi.
48497
48498 2007-07-14  Bruno Haible  <bruno@clisp.org>
48499
48500         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
48501         the output file.
48502         * lib/uniname/uninames.h: Regenerated.
48503
48504 2007-07-14  Karl Berry  <karl@gnu.org>
48505
48506         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
48507         omitting sectioning and index commands.
48508
48509 2007-07-13  Bruno Haible  <bruno@clisp.org>
48510
48511         New gnulib-tool option --more-symlinks.
48512         * gnulib-tool (func_usage): Document --more-symlinks.
48513         (do_copyrights): New variable.
48514         Recognize option --more-symlinks.
48515         (func_import): Don't add a copyright notice transform to
48516         sed_transform_lib_file if do_copyrights is empty.
48517
48518 2007-07-13  Bruno Haible  <bruno@clisp.org>
48519
48520         * lib/vasnprintf.c (decimal_point_char): Define also if
48521         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
48522         && !NEED_PRINTF_DIRECTIVE_A.
48523         Reported by Clemens Koller <clemens.koller@anagramm.de> via
48524         Gary V. Vaughan <gary@gnu.org>.
48525
48526 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
48527
48528         * lib/inttypes_.h: Undo previous change, since it was fixed
48529         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
48530
48531 2007-07-13  Bruno Haible  <bruno@clisp.org>
48532
48533         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
48534         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
48535
48536 2007-07-13  Jim Meyering  <jim@meyering.net>
48537
48538         df: Don't fail for Tru64's "file-on-file mount".
48539         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
48540         so we fall through and use statfs instead.  Details here:
48541         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
48542         Reported by Albert Chin.
48543
48544 2007-07-13  Bruno Haible  <bruno@clisp.org>
48545
48546         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
48547         * modules/configmake (License): Likewise.
48548         * modules/gettext (License): Likewise.
48549         * modules/gettext-h (License): Likewise.
48550         * modules/include_next (License): Likewise.
48551         * modules/link-warning (License): Likewise.
48552         * modules/localcharset (License): Likewise.
48553         * modules/localename (License): Likewise.
48554         * modules/lock (License): Likewise.
48555         * modules/relocatable-lib-lgpl (License): Likewise.
48556         * modules/size_max (License): Likewise.
48557         * modules/vasnprintf (License): Likewise.
48558         * modules/wchar (License): Likewise.
48559         * modules/xsize (License): Likewise.
48560
48561 2007-07-13  Bruno Haible  <bruno@clisp.org>
48562
48563         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
48564         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
48565
48566 2007-07-12  Bruno Haible  <bruno@clisp.org>
48567
48568         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
48569         in the modules files.
48570
48571 2007-07-11  Karl Berry  <karl@gnu.org>
48572
48573         * MODULES.html.sh (func_module): use
48574          sed -e '\|^'"${includefile}"'$|d'
48575          instead of /.../d, to avoid errors on $includefile's containing /.
48576
48577 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
48578
48579         * gnulib-tool (func_import): Avoid duplication of --avoid
48580         statements
48581         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
48582         names to `_' in variable names.
48583
48584 2007-07-10  Eric Blake  <ebb9@byu.net>
48585
48586         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
48587         * NEWS: Document this change.
48588
48589 2007-07-08  Bruno Haible  <bruno@clisp.org>
48590
48591         Update to Unicode 5.0.
48592         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
48593         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
48594         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
48595         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
48596         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
48597         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
48598         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
48599         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
48600         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
48601         U+10A3F, U+1D242..U+1D244.
48602         (nonspacing_table_ind): Update.
48603         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
48604         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
48605
48606 2007-07-08  Bruno Haible  <bruno@clisp.org>
48607
48608         Update to Unicode 5.0.
48609         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
48610         code transform. Extend the name index field of unicode_name_to_code and
48611         unicode_code_to_name from 16 to 24 bits.
48612         * lib/uniname/uniname.c (unicode_character_name,
48613         unicode_name_character): Add the range 0x12xxx to the code transform.
48614         * lib/uniname/uninames.h: Regenerated.
48615         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
48616
48617 2007-07-07  Bruno Haible  <bruno@clisp.org>
48618
48619         * modules/wcwidth-tests: New file.
48620         * tests/test-wcwidth.c: New file.
48621
48622         Work around MacOS X wcwidth() bug.
48623         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
48624         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
48625         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
48626         original wcwidth in non-UTF-8 locales.
48627         * modules/wcwidth (Depends-on): Add localcharset, streq,
48628         uniwidth/width.
48629         * doc/functions/wcwidth.texi: Update.
48630
48631 2007-07-07  Bruno Haible  <bruno@clisp.org>
48632
48633         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
48634         (wcwidth): New declaration.
48635         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
48636         macros.
48637         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
48638         here. Prepare for creating <wchar.h> unconditionally.
48639         * modules/wchar (Depends-on): Add link-warning.
48640         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
48641         REPLACE_WCWIDTH, and GL_LINK_WARNING.
48642         * lib/wcwidth.h: Remove file.
48643         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
48644         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
48645         * modules/wcwidth (Files): Remove lib/wcwidth.h.
48646         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
48647         (Include): Replace wcwidth.h with <wchar.h>.
48648         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
48649         * lib/mbchar.h: Don't include wcwidth.h.
48650         * lib/mbswidth.c: Likewise.
48651         * NEWS: Mention the change.
48652
48653 2007-07-07  Bruno Haible  <bruno@clisp.org>
48654
48655         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
48656         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
48657         definition with an external declaration.
48658         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
48659         defined as a function. Remove AC_C_INLINE requirement.
48660         * modules/wcwidth (Files): Add lib/wcwidth.c.
48661         (Makefile.am): Remove redundant statement.
48662
48663 2007-07-07  Bruno Haible  <bruno@clisp.org>
48664
48665         * MODULES.html.sh (Unicode string functions): Add the new modules.
48666
48667         * tests/uniwidth/test-u32-strwidth.c: New file.
48668         * modules/uniwidth/u32-strwidth-tests: New file.
48669
48670         * lib/uniwidth/u32-strwidth.c: New file.
48671         * modules/uniwidth/u32-strwidth: New file.
48672
48673         * tests/uniwidth/test-u16-strwidth.c: New file.
48674         * modules/uniwidth/u16-strwidth-tests: New file.
48675
48676         * lib/uniwidth/u16-strwidth.c: New file.
48677         * modules/uniwidth/u16-strwidth: New file.
48678
48679         * tests/uniwidth/test-u8-strwidth.c: New file.
48680         * modules/uniwidth/u8-strwidth-tests: New file.
48681
48682         * lib/uniwidth/u8-strwidth.c: New file.
48683         * modules/uniwidth/u8-strwidth: New file.
48684
48685         * tests/uniwidth/test-u32-width.c: New file.
48686         * modules/uniwidth/u32-width-tests: New file.
48687
48688         * lib/uniwidth/u32-width.c: New file.
48689         * modules/uniwidth/u32-width: New file.
48690
48691         * tests/uniwidth/test-u16-width.c: New file.
48692         * modules/uniwidth/u16-width-tests: New file.
48693
48694         * lib/uniwidth/u16-width.c: New file.
48695         * modules/uniwidth/u16-width: New file.
48696
48697         * tests/uniwidth/test-u8-width.c: New file.
48698         * modules/uniwidth/u8-width-tests: New file.
48699
48700         * lib/uniwidth/u8-width.c: New file.
48701         * modules/uniwidth/u8-width: New file.
48702
48703         * tests/uniwidth/test-uc_width.c: New file.
48704         * modules/uniwidth/width-tests: New file.
48705
48706         * lib/uniwidth/width.c: New file, from GNU libiconv.
48707         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
48708         * modules/uniwidth/width: New file.
48709
48710         * lib/uniwidth.h: New file, from GNU libiconv.
48711         * modules/uniwidth/base: New file.
48712
48713 2007-07-07  Bruno Haible  <bruno@clisp.org>
48714
48715         * lib/uniname.h: New file, from GNU gettext.
48716         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
48717         * lib/uniname/uninames.h: New file, from GNU gettext.
48718         * lib/uniname/uniname.c: New file, from GNU gettext.
48719         * tests/uniname/test-uninames.sh: New file.
48720         * tests/uniname/test-uninames.c: New file, from GNU gettext.
48721         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
48722         * modules/uniname/base: New file.
48723         * modules/uniname/uniname: New file.
48724         * modules/uniname/uniname-tests: New file.
48725         * MODULES.html.sh (Unicode string functions): Add the new modules.
48726
48727 2007-07-06  Bruno Haible  <bruno@clisp.org>
48728
48729         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
48730
48731 2007-07-06  Bruno Haible  <bruno@clisp.org>
48732
48733         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
48734         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
48735         includes <cygwin/sys_time.h> which includes <sys/select.h> which
48736         include <sys/time.h>.
48737         Reported by Eric Blake.
48738
48739 2007-07-06  Eric Blake  <ebb9@byu.net>
48740
48741         Fix testing canonicalize on cygwin.
48742         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48743         Revert patch from 2007-06-19.
48744         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
48745         canonicalize module is also in use.
48746         * tests/test-canonicalize.c: New file.
48747         * tests/test-canonicalize.sh: Likewise.
48748         * modules/canonicalize-tests: Likewise.
48749
48750 2007-07-06  Jim Meyering  <jim@meyering.net>
48751
48752         * lib/getugroups.c (getugroups): Detect getgrent failure.
48753         Adjust comment to reflect reality: this function may return -1.
48754
48755 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
48756
48757         * build-aux/bootstrap (TP_URL,get_translations): Update to use
48758         the new TP address.
48759         (usage): Fix typo
48760         (gnulib_mk): New variable.
48761
48762 2007-07-05  Jim Meyering  <jim@meyering.net>
48763
48764         Don't let endgrent clobber errno, no matter how improbable.
48765         * lib/getugroups.c (getugroups): Save and restore errno around
48766         endgrent call.
48767
48768         Close the group DB even when failing with 2^31 or more members.
48769         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
48770
48771 2007-07-04  Jim Meyering  <jim@meyering.net>
48772
48773         * lib/getugroups.h: New file.
48774         * lib/getugroups.c: Include "getugroups.h".
48775         Remove uses of "register" keyword.
48776         Move local variable, "cp", down into scope where used.
48777         Give "username" parameter the "const" attribute.
48778         * modules/getugroups (Files): Add lib/getugroups.h
48779
48780 2007-07-04  Karl Berry  <karl@gnu.org>
48781
48782         * MODULES.html.sh (func_all_modules): Complete rename of
48783         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
48784
48785 2007-07-02  Bruno Haible  <bruno@clisp.org>
48786
48787         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
48788         mode, when inttypes.h comes from gnulib.
48789         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
48790
48791 2007-07-02  Simon Josefsson  <simon@josefsson.org>
48792
48793         * NEWS: Mention lgpl module name change.
48794
48795         * modules/lgpl-2.1: Renamed from lgpl.
48796
48797         * NEWS: Mention gpl module name change.
48798
48799         * modules/gpl-3.0: New file, based on gpl-2.0.
48800
48801         * modules/gpl-2.0: Renamed from gpl.
48802
48803         * modules/gpl: Fix filename, doc/gpl.texi is now found at
48804         doc/gpl-2.0.texi.
48805
48806 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
48807
48808         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
48809         #define __STDC_LIMIT_MACROS temporarily while including
48810         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
48811         Problem reported by Joel E. Denny in
48812         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
48813
48814 2007-07-01  Bruno Haible  <bruno@clisp.org>
48815
48816         * lib/unistdio.h: New file.
48817         * lib/unistdio/u-asnprintf.h: New file.
48818         * lib/unistdio/u-asprintf.h: New file.
48819         * lib/unistdio/u-printf-args.c: New file.
48820         * lib/unistdio/u-printf-args.h: New file.
48821         * lib/unistdio/u-printf-parse.h: New file.
48822         * lib/unistdio/u-snprintf.h: New file.
48823         * lib/unistdio/u-sprintf.h: New file.
48824         * lib/unistdio/u-vasprintf.h: New file.
48825         * lib/unistdio/u-vsnprintf.h: New file.
48826         * lib/unistdio/u-vsprintf.h: New file.
48827         * lib/unistdio/ulc-asnprintf.c: New file.
48828         * lib/unistdio/ulc-asprintf.c: New file.
48829         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
48830         * lib/unistdio/ulc-printf-parse.c: New file.
48831         * lib/unistdio/ulc-snprintf.c: New file.
48832         * lib/unistdio/ulc-sprintf.c: New file.
48833         * lib/unistdio/ulc-vasnprintf.c: New file.
48834         * lib/unistdio/ulc-vasprintf.c: New file.
48835         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
48836         * lib/unistdio/ulc-vsnprintf.c: New file.
48837         * lib/unistdio/ulc-vsprintf.c: New file.
48838         * lib/unistdio/u8-asnprintf.c: New file.
48839         * lib/unistdio/u8-asprintf.c: New file.
48840         * lib/unistdio/u8-printf-parse.c: New file.
48841         * lib/unistdio/u8-snprintf.c: New file.
48842         * lib/unistdio/u8-sprintf.c: New file.
48843         * lib/unistdio/u8-vasnprintf.c: New file.
48844         * lib/unistdio/u8-vasprintf.c: New file.
48845         * lib/unistdio/u8-vsnprintf.c: New file.
48846         * lib/unistdio/u8-vsprintf.c: New file.
48847         * lib/unistdio/u8-u8-asnprintf.c: New file.
48848         * lib/unistdio/u8-u8-asprintf.c: New file.
48849         * lib/unistdio/u8-u8-snprintf.c: New file.
48850         * lib/unistdio/u8-u8-sprintf.c: New file.
48851         * lib/unistdio/u8-u8-vasnprintf.c: New file.
48852         * lib/unistdio/u8-u8-vasprintf.c: New file.
48853         * lib/unistdio/u8-u8-vsnprintf.c: New file.
48854         * lib/unistdio/u8-u8-vsprintf.c: New file.
48855         * lib/unistdio/u16-asnprintf.c: New file.
48856         * lib/unistdio/u16-asprintf.c: New file.
48857         * lib/unistdio/u16-printf-parse.c: New file.
48858         * lib/unistdio/u16-snprintf.c: New file.
48859         * lib/unistdio/u16-sprintf.c: New file.
48860         * lib/unistdio/u16-vasnprintf.c: New file.
48861         * lib/unistdio/u16-vasprintf.c: New file.
48862         * lib/unistdio/u16-vsnprintf.c: New file.
48863         * lib/unistdio/u16-vsprintf.c: New file.
48864         * lib/unistdio/u16-u16-asnprintf.c: New file.
48865         * lib/unistdio/u16-u16-asprintf.c: New file.
48866         * lib/unistdio/u16-u16-snprintf.c: New file.
48867         * lib/unistdio/u16-u16-sprintf.c: New file.
48868         * lib/unistdio/u16-u16-vasnprintf.c: New file.
48869         * lib/unistdio/u16-u16-vasprintf.c: New file.
48870         * lib/unistdio/u16-u16-vsnprintf.c: New file.
48871         * lib/unistdio/u16-u16-vsprintf.c: New file.
48872         * lib/unistdio/u32-asnprintf.c: New file.
48873         * lib/unistdio/u32-asprintf.c: New file.
48874         * lib/unistdio/u32-printf-parse.c: New file.
48875         * lib/unistdio/u32-snprintf.c: New file.
48876         * lib/unistdio/u32-sprintf.c: New file.
48877         * lib/unistdio/u32-vasnprintf.c: New file.
48878         * lib/unistdio/u32-vasprintf.c: New file.
48879         * lib/unistdio/u32-vsnprintf.c: New file.
48880         * lib/unistdio/u32-vsprintf.c: New file.
48881         * lib/unistdio/u32-u32-asnprintf.c: New file.
48882         * lib/unistdio/u32-u32-asprintf.c: New file.
48883         * lib/unistdio/u32-u32-snprintf.c: New file.
48884         * lib/unistdio/u32-u32-sprintf.c: New file.
48885         * lib/unistdio/u32-u32-vasnprintf.c: New file.
48886         * lib/unistdio/u32-u32-vasprintf.c: New file.
48887         * lib/unistdio/u32-u32-vsnprintf.c: New file.
48888         * lib/unistdio/u32-u32-vsprintf.c: New file.
48889         * tests/unistdio/test-ulc-asnprintf1.c: New file.
48890         * tests/unistdio/test-ulc-asnprintf1.h: New file.
48891         * tests/unistdio/test-ulc-printf1.h: New file.
48892         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
48893         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
48894         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
48895         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
48896         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
48897         * tests/unistdio/test-ulc-vasprintf1.c: New file.
48898         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
48899         * tests/unistdio/test-ulc-vsprintf1.c: New file.
48900         * tests/unistdio/test-u8-asnprintf1.c: New file.
48901         * tests/unistdio/test-u8-asnprintf1.h: New file.
48902         * tests/unistdio/test-u8-printf1.h: New file.
48903         * tests/unistdio/test-u8-vasnprintf1.c: New file.
48904         * tests/unistdio/test-u8-vasnprintf2.c: New file.
48905         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
48906         * tests/unistdio/test-u8-vasnprintf3.c: New file.
48907         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
48908         * tests/unistdio/test-u8-vasprintf1.c: New file.
48909         * tests/unistdio/test-u8-vsnprintf1.c: New file.
48910         * tests/unistdio/test-u8-vsprintf1.c: New file.
48911         * tests/unistdio/test-u16-asnprintf1.c: New file.
48912         * tests/unistdio/test-u16-asnprintf1.h: New file.
48913         * tests/unistdio/test-u16-printf1.h: New file.
48914         * tests/unistdio/test-u16-vasnprintf1.c: New file.
48915         * tests/unistdio/test-u16-vasnprintf2.c: New file.
48916         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
48917         * tests/unistdio/test-u16-vasnprintf3.c: New file.
48918         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
48919         * tests/unistdio/test-u16-vasprintf1.c: New file.
48920         * tests/unistdio/test-u16-vsnprintf1.c: New file.
48921         * tests/unistdio/test-u16-vsprintf1.c: New file.
48922         * tests/unistdio/test-u32-asnprintf1.c: New file.
48923         * tests/unistdio/test-u32-asnprintf1.h: New file.
48924         * tests/unistdio/test-u32-printf1.h: New file.
48925         * tests/unistdio/test-u32-vasnprintf1.c: New file.
48926         * tests/unistdio/test-u32-vasnprintf2.c: New file.
48927         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
48928         * tests/unistdio/test-u32-vasnprintf3.c: New file.
48929         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
48930         * tests/unistdio/test-u32-vasprintf1.c: New file.
48931         * tests/unistdio/test-u32-vsnprintf1.c: New file.
48932         * tests/unistdio/test-u32-vsprintf1.c: New file.
48933         * modules/unistdio/base: New file.
48934         * modules/unistdio/u-printf-args: New file.
48935         * modules/unistdio/ulc-asnprintf: New file.
48936         * modules/unistdio/ulc-asprintf: New file.
48937         * modules/unistdio/ulc-fprintf: New file.
48938         * modules/unistdio/ulc-printf-parse: New file.
48939         * modules/unistdio/ulc-snprintf: New file.
48940         * modules/unistdio/ulc-sprintf: New file.
48941         * modules/unistdio/ulc-vasnprintf: New file.
48942         * modules/unistdio/ulc-vasprintf: New file.
48943         * modules/unistdio/ulc-vfprintf: New file.
48944         * modules/unistdio/ulc-vsnprintf: New file.
48945         * modules/unistdio/ulc-vsprintf: New file.
48946         * modules/unistdio/u8-asnprintf: New file.
48947         * modules/unistdio/u8-asprintf: New file.
48948         * modules/unistdio/u8-printf-parse: New file.
48949         * modules/unistdio/u8-snprintf: New file.
48950         * modules/unistdio/u8-sprintf: New file.
48951         * modules/unistdio/u8-vasnprintf: New file.
48952         * modules/unistdio/u8-vasprintf: New file.
48953         * modules/unistdio/u8-vsnprintf: New file.
48954         * modules/unistdio/u8-vsprintf: New file.
48955         * modules/unistdio/u8-u8-asnprintf: New file.
48956         * modules/unistdio/u8-u8-asprintf: New file.
48957         * modules/unistdio/u8-u8-snprintf: New file.
48958         * modules/unistdio/u8-u8-sprintf: New file.
48959         * modules/unistdio/u8-u8-vasnprintf: New file.
48960         * modules/unistdio/u8-u8-vasprintf: New file.
48961         * modules/unistdio/u8-u8-vsnprintf: New file.
48962         * modules/unistdio/u8-u8-vsprintf: New file.
48963         * modules/unistdio/u16-asnprintf: New file.
48964         * modules/unistdio/u16-asprintf: New file.
48965         * modules/unistdio/u16-printf-parse: New file.
48966         * modules/unistdio/u16-snprintf: New file.
48967         * modules/unistdio/u16-sprintf: New file.
48968         * modules/unistdio/u16-vasnprintf: New file.
48969         * modules/unistdio/u16-vasprintf: New file.
48970         * modules/unistdio/u16-vsnprintf: New file.
48971         * modules/unistdio/u16-vsprintf: New file.
48972         * modules/unistdio/u16-u16-asnprintf: New file.
48973         * modules/unistdio/u16-u16-asprintf: New file.
48974         * modules/unistdio/u16-u16-snprintf: New file.
48975         * modules/unistdio/u16-u16-sprintf: New file.
48976         * modules/unistdio/u16-u16-vasnprintf: New file.
48977         * modules/unistdio/u16-u16-vasprintf: New file.
48978         * modules/unistdio/u16-u16-vsnprintf: New file.
48979         * modules/unistdio/u16-u16-vsprintf: New file.
48980         * modules/unistdio/u32-asnprintf: New file.
48981         * modules/unistdio/u32-asprintf: New file.
48982         * modules/unistdio/u32-printf-parse: New file.
48983         * modules/unistdio/u32-snprintf: New file.
48984         * modules/unistdio/u32-sprintf: New file.
48985         * modules/unistdio/u32-vasnprintf: New file.
48986         * modules/unistdio/u32-vasprintf: New file.
48987         * modules/unistdio/u32-vsnprintf: New file.
48988         * modules/unistdio/u32-vsprintf: New file.
48989         * modules/unistdio/u32-u32-asnprintf: New file.
48990         * modules/unistdio/u32-u32-asprintf: New file.
48991         * modules/unistdio/u32-u32-snprintf: New file.
48992         * modules/unistdio/u32-u32-sprintf: New file.
48993         * modules/unistdio/u32-u32-vasnprintf: New file.
48994         * modules/unistdio/u32-u32-vasprintf: New file.
48995         * modules/unistdio/u32-u32-vsnprintf: New file.
48996         * modules/unistdio/u32-u32-vsprintf: New file.
48997         * modules/unistdio/ulc-asnprintf-tests: New file.
48998         * modules/unistdio/ulc-vasnprintf-tests: New file.
48999         * modules/unistdio/ulc-vasprintf-tests: New file.
49000         * modules/unistdio/ulc-vsnprintf-tests: New file.
49001         * modules/unistdio/ulc-vsprintf-tests: New file.
49002         * modules/unistdio/u8-asnprintf-tests: New file.
49003         * modules/unistdio/u8-vasnprintf-tests: New file.
49004         * modules/unistdio/u8-vasprintf-tests: New file.
49005         * modules/unistdio/u8-vsnprintf-tests: New file.
49006         * modules/unistdio/u8-vsprintf-tests: New file.
49007         * modules/unistdio/u16-asnprintf-tests: New file.
49008         * modules/unistdio/u16-vasnprintf-tests: New file.
49009         * modules/unistdio/u16-vasprintf-tests: New file.
49010         * modules/unistdio/u16-vsnprintf-tests: New file.
49011         * modules/unistdio/u16-vsprintf-tests: New file.
49012         * modules/unistdio/u32-asnprintf-tests: New file.
49013         * modules/unistdio/u32-vasnprintf-tests: New file.
49014         * modules/unistdio/u32-vasprintf-tests: New file.
49015         * modules/unistdio/u32-vsnprintf-tests: New file.
49016         * modules/unistdio/u32-vsprintf-tests: New file.
49017         * MODULES.html.sh (Unicode string functions): Add the new modules.
49018
49019 2007-07-01  Bruno Haible  <bruno@clisp.org>
49020
49021         * lib/sprintf.c (sprintf): Limit the available length estimation,
49022         to avoid address wraparound.
49023         * lib/vsprintf.c (vsprintf): Likewise.
49024         * modules/sprintf-posix (Dependencies): Add stdint.
49025         * modules/vsprintf-posix (Dependencies): Likewise.
49026
49027 2007-07-01  Bruno Haible  <bruno@clisp.org>
49028
49029         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
49030         Windows PATH as well. Conservative double-quoting. Comments.
49031
49032 2007-07-01  Bruno Haible  <bruno@clisp.org>
49033             Eric Blake  <ebb9@byu.net>
49034             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49035
49036         * gnulib-tool (self_abspathname): Fix algorithm to cope with
49037         empty components in $PATH, denoting '.'.
49038
49039 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49040
49041         * gnulib-tool: Fix indentation.
49042         (func_create_megatestdir): Likewise.
49043         Report by Bruno Haible.
49044
49045 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49046
49047         Sync from Automake.
49048         * build-aux/gnupload: Fix shell portability issues with for loops.
49049         Report by Karl Berry.
49050
49051 2007-06-29  Simon Josefsson  <simon@josefsson.org>
49052
49053         * build-aux/maint.mk (POURL): Use translationproject.org.
49054
49055 2007-06-27  Simon Josefsson  <simon@josefsson.org>
49056             Bruno Haible  <bruno@clisp.org>
49057
49058         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
49059         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
49060         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
49061         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
49062         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
49063
49064 2007-06-27  Bruno Haible  <bruno@clisp.org>
49065
49066         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
49067         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
49068
49069 2007-06-26  Karl Berry  <karl@gnu.org>
49070
49071         * MODULES.html.sh: remove xreadlink-with-size.
49072
49073 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49074
49075         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
49076         method that I hope also handles the double-include problem noted
49077         by Bruno Haible in
49078         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
49079
49080 2007-06-23  Bruno Haible  <bruno@clisp.org>
49081
49082         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49083         Don't let the 'mostlyclean' target fail if the last subdirectory could
49084         not be removed.
49085         Reported by Karl Berry.
49086
49087 2007-06-23  Bruno Haible  <bruno@clisp.org>
49088
49089         * gnulib-tool (echo): Add a speedier workaround for ksh.
49090         * tests/test-echo.sh: Likewise.
49091
49092 2007-06-23  Bruno Haible  <bruno@clisp.org>
49093
49094         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
49095         * tests/test-echo.sh: Likewise.
49096
49097 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49098
49099         * gnulib-tool (IFS): Initialize early, so we don't set it to
49100         empty later.
49101         (self_abspathname): Rewrite algorithm to set it, reindent.
49102         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
49103         (func_create_megatestdir): Merge some sed scripts.
49104
49105 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49106
49107         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
49108         exposed by Sun Studio 11 cc on Solaris 8.
49109
49110 2007-06-22  Bruno Haible  <bruno@clisp.org>
49111
49112         * gnulib-tool (echo): Ensure the echo primitive does not interpret
49113         backslashes.
49114         * tests/test-echo.sh: New file.
49115
49116 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49117
49118         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
49119         simplify `sed_replace_build_aux' scripts, they are portable but
49120         echoing them with `echo' is not.
49121         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
49122
49123 2007-06-21  Karl Berry  <karl@gnu.org>
49124
49125         * config/srclist.txt: guess we can't handle the licenses via
49126         srclist at the moment.
49127
49128 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
49129
49130         * MODULES.html.sh: Add include_next.
49131         * modules/include_next: New file.
49132
49133 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
49134
49135         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
49136         INCLUDE_NEXT.
49137         (gl_CHECK_NEXT_HEADERS): New macro.
49138         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
49139         the obsolescent gl_ABSOLUTE_HEADER.
49140         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
49141         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
49142         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
49143         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49144         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49145         * m4/math_h.m4 (gl_MATH_H): Likewise.
49146         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49147         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
49148         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49149         * m4/stdint.m4 (gl_STDINT_H): Likewise.
49150         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
49151         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
49152         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
49153         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49154         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49155         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49156         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
49157         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
49158         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49159         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49160         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
49161         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
49162         * m4/inttypes.m4 (gl_INTTYPES_H): Define
49163         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
49164         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
49165         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
49166         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
49167         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
49168         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
49169         * lib/float_.h: Likewise.
49170         * lib/inttypes_.h: Likewise.
49171         * lib/math_.h: Likewise.
49172         * lib/search_.h: Likewise.
49173         * lib/signal_.h: Likewise.
49174         * lib/stdint_.h: Likewise.
49175         * lib/stdio_.h: Likewise.
49176         * lib/stdlib_.h: Likewise.
49177         * lib/string_.h: Likewise.
49178         * lib/sys_stat_.h: Likewise.
49179         * lib/sys_time_.h: Likewise.
49180         * lib/time_.h: Likewise.
49181         * lib/unistd_.h: Likewise.
49182         * lib/wchar_.h: Likewise.
49183         * lib/wctype_.h: Likewise.
49184         * lib/dirent_.h: Likewise.
49185         * lib/iconv_.h: Likewise.
49186         * lib/locale_.h: Likewise.
49187         * lib/netinet_in_.h: Likewise.
49188         * lib/sys_select_.h: Likewise.
49189         * lib/sys_socket_.h: Likewise.
49190         * lib/sysexits_.h: Likewise.
49191         * modules/fcntl (Depends-on): Depend on include_next, not
49192         absolute_header.
49193         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
49194         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
49195         * modules/fchdir: Likewise.
49196         * modules/float: Likewise.
49197         * modules/iconv_open: Likewise.
49198         * modules/inttypes: Likewise.
49199         * modules/locale: Likewise.
49200         * modules/math: Likewise.
49201         * modules/netinet_in: Likewise.
49202         * modules/search: Likewise.
49203         * modules/signal: Likewise.
49204         * modules/stdint: Likewise.
49205         * modules/stdio: Likewise.
49206         * modules/stdlib: Likewise.
49207         * modules/string: Likewise.
49208         * modules/sys_select: Likewise.
49209         * modules/sys_socket: Likewise.
49210         * modules/sys_stat: Likewise.
49211         * modules/sys_time: Likewise.
49212         * modules/sysexits: Likewise.
49213         * modules/time: Likewise.
49214         * modules/unistd: Likewise.
49215         * modules/wchar: Likewise.
49216         * modules/wctype: Likewise.
49217         * modules/sys_stat: Change maintainer to "all".
49218         * modules/unistd: Likewise.
49219
49220 2007-06-20  Karl Berry  <karl@gnu.org>
49221
49222         * config/srclist.txt: track www changes in license files.
49223
49224 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
49225
49226         * build-aux/bootstrap: Remove stray dot.
49227         Make sure build_aux settings are honored when linking
49228         gnulib_extra_files.
49229
49230 2007-06-19  Eric Blake  <ebb9@byu.net>
49231
49232         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
49233         Allow compilation on cygwin.
49234
49235 2007-06-19  Jim Meyering  <jim@meyering.net>
49236
49237         xreadlink-with-size: Remove module.  No longer used.
49238         Ex-callers now use xreadlink or mreadlink-with-size.
49239         * modules/xreadlink-with-size: Remove module.
49240         * lib/xreadlink-with-size.c: Remove file.
49241         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
49242         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
49243         just before the function definition *is* accurate.
49244
49245         Eliminate one way canonicalize_filename_mode could exit.
49246         * lib/canonicalize.c (canonicalize_filename_mode):
49247         Use mreadlink_with_size, not xreadlink_with_size.
49248
49249 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
49250
49251         Detect porting problems to FreeBSD/arm, which has time_t wider than
49252         long int.  Original problem reported for GNU diff by Xin Li in
49253         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
49254         * modules/getdate (Depends-on): Add intprops, verify.
49255         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
49256         is an integer type no wider than long int.
49257
49258 2007-06-18  Jim Meyering  <jim@meyering.net>
49259
49260         New module: mreadlink-with-size.
49261         * MODULES.html.sh: Add mreadlink-with-size.
49262         * modules/mreadlink-with-size: New module
49263         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
49264         not xreadlink-with-size.
49265         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
49266
49267 2007-06-16  Bruno Haible  <bruno@clisp.org>
49268
49269         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
49270         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
49271         Reported by Gary V. Vaughan <gary@gnu.org>.
49272
49273 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
49274
49275         Revamp lchown so that it lives in unistd.h where it belongs.
49276         * lib/lchown.h: Remove.
49277         * lib/dirchownmod.c: Don't include lib/lchown.h.
49278         * lib/fchownat.c: Likewise.
49279         * lib/openat.c: Likewise.
49280         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
49281         does not follow symlinks.
49282         (EOPNOTSUPP): Define if not defined.
49283         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
49284         is defined to 0.
49285         (lchown): New decl.
49286         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
49287         Do not check for lchown decl.
49288         Set REPLACE_LCHOWN.
49289         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
49290         REPLACE_LCHOWN.
49291         * modules/chown: Make it clear it follows symlinks.
49292         * modules/lchown: Make it clear it doesn't follow symlinks.
49293         (Files): Remove lib/lchown.h
49294         (Depends-on): Add unistd.
49295         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
49296         (Include): Include <unistd.h>, not "lchown.h".
49297         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
49298         REPLACE_LCHOWN.
49299
49300 2007-06-15  Jim Meyering  <jim@meyering.net>
49301
49302         Change license (GPL to LGPL) of fsusage and dependents.
49303         * modules/fsusage (License): Change to LGPL.
49304         * modules/full-read (License): Likewise.
49305         * modules/full-write (License): Likewise.
49306         * modules/safe-read (License): Likewise.
49307         * modules/safe-write (License): Likewise.
49308
49309 2007-06-14  Ben Pfaff  <blp@gnu.org>
49310
49311         Missing part of allocsa -> malloca transition.
49312         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
49313         gl_MALLOCA.
49314
49315 2007-06-12  Bruno Haible  <bruno@clisp.org>
49316
49317         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
49318         to ia64, x86_64, i386.
49319         Reported by Eric Blake.
49320
49321 2007-06-12  Bruno Haible  <bruno@clisp.org>
49322
49323         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
49324         cross-compiling to x86_64.
49325
49326 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
49327
49328         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
49329         glitch reported by Ralf Wildenhues in
49330         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
49331
49332         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
49333         Vin Shelton.
49334
49335 2007-06-11  Bruno Haible  <bruno@clisp.org>
49336
49337         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
49338         replacement string.
49339         Reported by Eric Blake.
49340
49341 2007-06-10  Bruno Haible  <bruno@clisp.org>
49342
49343         Prepare vasnprintf code for use with Unicode strings.
49344         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
49345         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
49346         TYPE_U32_STRING.
49347         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
49348         a_u32_string variants.
49349         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49350         * lib/printf-args.c: Don't include config.h and the specification
49351         header if PRINTF_FETCHARGS is already defined.
49352         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49353         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
49354         TYPE_U16_STRING, TYPE_U32_STRING.
49355         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
49356         u16_directive, u16_directives, u32_directive, u32_directives): New
49357         types.
49358         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
49359         New declarations.
49360         * lib/printf-parse.c: Don't include config.h and the specification
49361         header if PRINTF_PARSE is already defined. Eliminate the set of
49362         parameters for WIDE_CHAR_VERSION; the user of this file must provide
49363         them now. Include c-ctype.h.
49364         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
49365         directive and CHAR_T_ONLY_ASCII.
49366         * lib/vasnprintf.c: Don't include config.h and the specification header
49367         if VASNPRINTF is already defined.
49368         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
49369         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
49370         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
49371         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
49372         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
49373         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
49374         code accordingly.
49375         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
49376         pad_ourselves also in this case, with the 'c' and 's' directives, and
49377         with a different notion of "width".
49378         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
49379
49380 2007-06-10  Bruno Haible  <bruno@clisp.org>
49381
49382         * modules/unistr/u32-mbsnlen: New file.
49383         * lib/unistr/u32-mbsnlen.c: New file.
49384
49385         * modules/unistr/u16-mbsnlen: New file.
49386         * lib/unistr/u16-mbsnlen.c: New file.
49387
49388         * modules/unistr/u8-mbsnlen: New file.
49389         * lib/unistr/u8-mbsnlen.c: New file.
49390
49391         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
49392         declarations.
49393
49394 2007-06-10  Bruno Haible  <bruno@clisp.org>
49395
49396         * lib/string_.h (mbsnlen): New declaration.
49397         * lib/mbsnlen.c: New file.
49398         * m4/mbsnlen.m4: New file.
49399         * modules/mbsnlen: New file.
49400         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
49401         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
49402         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
49403
49404 2007-06-10  Bruno Haible  <bruno@clisp.org>
49405
49406         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
49407
49408 2007-06-10  Bruno Haible  <bruno@clisp.org>
49409
49410         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
49411         * lib/mbuiter.h: Likewise.
49412
49413 2007-06-10  Bruno Haible  <bruno@clisp.org>
49414
49415         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
49416         declaration.
49417
49418 2007-06-10  Karl Berry  <karl@gnu.org>
49419
49420         * config/srclist.txt: remove gettext entries, Bruno prefers
49421         to update individually.
49422
49423 2007-06-10  Bruno Haible  <bruno@clisp.org>
49424
49425         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
49426         'maxlen'. Ensure only length + width bytes are allocated, not
49427         length + 1 + width.
49428
49429 2007-06-09  Bruno Haible  <bruno@clisp.org>
49430
49431         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
49432         (CHAR_T): Remove macro.
49433         (VASNPRINTF): Update.
49434
49435 2007-06-09  Bruno Haible  <bruno@clisp.org>
49436
49437         * MODULES.html.sh (Unicode string functions): Add the new modules.
49438
49439         * modules/uniconv/u32-conv-to-enc: New file.
49440         * lib/uniconv/u32-conv-to-enc.c: New file.
49441         * modules/uniconv/u32-conv-to-enc-tests: New file.
49442         * tests/uniconv/test-u32-conv-to-enc.c: New file.
49443
49444         * modules/uniconv/u16-conv-to-enc: New file.
49445         * lib/uniconv/u16-conv-to-enc.c: New file.
49446         * lib/uniconv/u-conv-to-enc.h: New file.
49447         * modules/uniconv/u16-conv-to-enc-tests: New file.
49448         * tests/uniconv/test-u16-conv-to-enc.c: New file.
49449
49450         * modules/uniconv/u8-conv-to-enc: New file.
49451         * lib/uniconv/u8-conv-to-enc.c: New file.
49452         * modules/uniconv/u8-conv-to-enc-tests: New file.
49453         * tests/uniconv/test-u8-conv-to-enc.c: New file.
49454
49455         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49456         u32_conv_to_encoding): New declarations.
49457
49458 2007-06-09  Bruno Haible  <bruno@clisp.org>
49459
49460         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
49461
49462 2007-06-09  Bruno Haible  <bruno@clisp.org>
49463
49464         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
49465         * modules/malloca: Renamed from modules/allocsa, updated.
49466         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
49467         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
49468         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
49469         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
49470         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
49471         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
49472         * modules/xmalloca: Renamed from modules/xallocsa, updated.
49473         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
49474         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
49475         * modules/c-strcasestr (Depends-on): Update.
49476         * lib/c-strcasestr.c: Update.
49477         * modules/c-strstr (Depends-on): Update.
49478         * lib/c-strstr.c: Update.
49479         * modules/canonicalize-lgpl (Depends-on): Update.
49480         * lib/canonicalize-lgpl.c: Update.
49481         * modules/clean-temp (Depends-on): Update.
49482         * lib/clean-temp.c: Update.
49483         * modules/csharpcomp (Depends-on): Update.
49484         * lib/csharpcomp.c: Update.
49485         * modules/csharpexec (Depends-on): Update.
49486         * lib/csharpexec.c: Update.
49487         * modules/javacomp (Depends-on): Update.
49488         * lib/javacomp.c: Update.
49489         * modules/javaexec (Depends-on): Update.
49490         * lib/javaexec.c: Update.
49491         * modules/mbscasestr (Depends-on): Update.
49492         * lib/mbscasestr.c: Update.
49493         * modules/mbsstr (Depends-on): Update.
49494         * lib/mbsstr.c: Update.
49495         * modules/setenv (Depends-on): Update.
49496         * lib/setenv.c: Update.
49497         * modules/strcasestr (Depends-on): Update.
49498         * lib/strcasestr.c: Update.
49499         * modules/striconveha (Depends-on): Update.
49500         * lib/striconveha.c: Update.
49501         * modules/relocatable-prog-wrapper (Files): Update.
49502         * lib/relocwrapper.c: Update.
49503         * build-aux/install-reloc: Update.
49504         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
49505
49506 2007-06-08  Bruno Haible  <bruno@clisp.org>
49507
49508         Port to uClibc.
49509         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
49510         * lib/fpurge.c (fpurge): Likewise.
49511         * lib/freading.c (freading): Likewise.
49512         * lib/fseeko.c (rpl_fseeko): Likewise.
49513         * lib/fseterr.c (fseterr): Likewise.
49514         * lib/fwriting.c (fwriting): Likewise.
49515         * tests/test-fflush.c (main): Avoid a failure on uClibc.
49516
49517 2007-06-08  Bruno Haible  <bruno@clisp.org>
49518
49519         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
49520         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
49521         * modules/gettext (Files): Add m4/intlmacosx.m4.
49522
49523 2007-06-07  Bruno Haible  <bruno@clisp.org>
49524
49525         * modules/localename-tests: New file.
49526         * tests/test-localename.c: New file.
49527
49528         New module 'localename'.
49529         * lib/localename.h: New file.
49530         * lib/localename.c: New file, from GNU gettext.
49531         * m4/localename.m4: New file.
49532         * modules/localename: New file.
49533
49534 2007-06-07  Bruno Haible  <bruno@clisp.org>
49535
49536         Work around the lack of <wchar.h> on some builds of uClibc.
49537         * doc/headers/wchar.texi: Update.
49538         * lib/wchar_.h: Include <wchar.h> only if it exists.
49539         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
49540         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
49541         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
49542         doesn't exist.
49543         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
49544         * modules/mbfile (Depends-on): Add wchar.
49545         * modules/mbiter (Depends-on): Likewise.
49546         * modules/mbuiter (Depends-on): Likewise.
49547         Reported by Simon Josefsson.
49548
49549 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
49550
49551         Work around problem reported by Steven M. Schweda in
49552         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
49553         Tru64 5.1B with the Compaq compiler environment installed declares
49554         an 'isblank' function but does not define it in the C library.
49555         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
49556         * lib/regex_internal.h (isblank): Likewise.
49557         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
49558         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49559
49560 2007-06-05  Bruno Haible  <bruno@clisp.org>
49561
49562         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
49563         ia64.
49564         * modules/printf-safe: New file.
49565         * modules/fprintf-posix (Depends-on): Add printf-safe.
49566         * modules/printf-posix (Depends-on): Likewise.
49567         * modules/snprintf-posix (Depends-on): Likewise.
49568         * modules/sprintf-posix (Depends-on): Likewise.
49569         * modules/vasnprintf-posix (Depends-on): Likewise.
49570         * modules/vasprintf-posix (Depends-on): Likewise.
49571         * modules/vfprintf-posix (Depends-on): Likewise.
49572         * modules/vprintf-posix (Depends-on): Likewise.
49573         * modules/vsnprintf-posix (Depends-on): Likewise.
49574         * modules/vsprintf-posix (Depends-on): Likewise.
49575         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
49576         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
49577         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
49578         "no" on i386, x86_64, ia64.
49579         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
49580         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49581         on i386, x86_64, ia64.
49582         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
49583         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49584         on i386, x86_64, ia64.
49585         * tests/test-vasnprintf-posix.c: Include float.h.
49586         (LDBL80_WORDS): New macro.
49587         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49588         on i386, x86_64, ia64.
49589         * tests/test-vasprintf-posix.c: Include float.h.
49590         (LDBL80_WORDS): New macro.
49591         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49592         on i386, x86_64, ia64.
49593         * tests/test-snprintf-posix.c: Include float.h.
49594         * tests/test-sprintf-posix.c: Likewise.
49595         * tests/test-vsnprintf-posix.c: Likewise.
49596         * tests/test-vsprintf-posix.c: Likewise.
49597
49598 2007-06-05  Bruno Haible  <bruno@clisp.org>
49599
49600         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
49601         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
49602         non-IEEE numbers on i386, x86_64, ia64.
49603         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
49604         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
49605         * tests/test-isnanl.h: Include float.h.
49606         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
49607
49608 2007-06-05  Bruno Haible  <bruno@clisp.org>
49609
49610         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
49611         also the %a / %A. Handle the %a / %A code before this extra handling.
49612
49613 2007-06-05  Bruno Haible  <bruno@clisp.org>
49614
49615         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
49616         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
49617
49618 2007-06-05  Bruno Haible  <bruno@clisp.org>
49619
49620         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
49621         typo in variable name.
49622
49623 2007-06-05  Eric Blake  <ebb9@byu.net>
49624
49625         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
49626         Reported by Simon Josefsson.
49627
49628 2007-06-04  Bruno Haible  <bruno@clisp.org>
49629
49630         Avoid test failures on some PowerPC platforms.
49631         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
49632         Define differently for PowerPC.
49633         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
49634         Reported by Gary V. Vaughan <gary@gnu.org>.
49635
49636 2007-06-02  Bruno Haible  <bruno@clisp.org>
49637
49638         Fix test-stdint failure on FreeBSD/ia64.
49639         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
49640         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
49641         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
49642         * doc/headers/stdint.texi: Update.
49643
49644 2007-06-01  Bruno Haible  <bruno@clisp.org>
49645
49646         * tests/test-binary-io.c (main): Pass a third argument to open().
49647         Reported by Gary V. Vaughan <gary@gnu.org>.
49648
49649 2007-06-01  Bruno Haible  <bruno@clisp.org>
49650
49651         * doc/functions/frexpl.texi: Update for mingw.
49652
49653 2007-06-01  Bruno Haible  <bruno@clisp.org>
49654
49655         * tests/test-lseek.c (main): Disable test of errno for invalid third
49656         argument.
49657         * doc/functions/lseek.texi: Update.
49658         Reported by Gary V. Vaughan <gary@gnu.org>.
49659
49660 2007-05-28  Bruno Haible  <bruno@clisp.org>
49661
49662         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
49663
49664 2007-05-31  Eric Blake  <ebb9@byu.net>
49665
49666         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
49667         cross compiling.
49668
49669 2007-05-30  Eric Blake  <ebb9@byu.net>
49670         and Bruno Haible  <bruno@clisp.org>
49671
49672         Work around mingw test failures exposed by m4-1.4.9b.
49673         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
49674         * tests/test-unistd.c: Disable uid_t and git_t tests for the
49675         moment.
49676
49677 2007-05-30  Bruno Haible  <bruno@clisp.org>
49678
49679         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
49680         assuming that they are closed. Needed on HP-UX 11.
49681
49682 2007-05-29  Bruno Haible  <bruno@clisp.org>
49683
49684         Fix a problem with #include_next.
49685         * lib/dirent_.h: Split the double-inclusion guard.
49686         * lib/fcntl_.h: Likewise.
49687         * lib/float_.h: Likewise.
49688         * lib/iconv_.h: Likewise.
49689         * lib/inttypes_.h: Likewise.
49690         * lib/locale_.h: Likewise.
49691         * lib/math_.h: Likewise.
49692         * lib/netinet_in_.h: Likewise.
49693         * lib/search_.h: Likewise.
49694         * lib/signal_.h: Likewise.
49695         * lib/stdint_.h: Likewise.
49696         * lib/stdio_.h: Likewise.
49697         * lib/stdlib_.h: Likewise.
49698         * lib/string_.h: Likewise.
49699         * lib/sys_select_.h: Likewise.
49700         * lib/sys_socket_.h: Likewise.
49701         * lib/sys_stat_.h: Likewise.
49702         * lib/sys_time_.h: Likewise.
49703         * lib/sysexits_.h: Likewise.
49704         * lib/time_.h: Likewise.
49705         * lib/unistd_.h: Likewise.
49706         * lib/wchar_.h: Likewise.
49707         * lib/wctype_.h: Likewise.
49708
49709 2007-05-29  Bruno Haible  <bruno@clisp.org>
49710
49711         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
49712         for the moment.
49713
49714 2007-05-29  Bruno Haible  <bruno@clisp.org>
49715
49716         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
49717         invocation.
49718         Reported by Eric Blake.
49719
49720 2007-05-29  Bruno Haible  <bruno@clisp.org>
49721
49722         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
49723         compiling case.
49724
49725 2007-05-29  Eric Blake  <ebb9@byu.net>
49726             Bruno Haible  <bruno@clisp.org>
49727
49728         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
49729         cross compiles.
49730
49731 2007-05-28  Eric Blake  <ebb9@byu.net>
49732
49733         * modules/closein-tests (test_closein_LDADD): Support test on
49734         cygwin with libtool.
49735
49736 2007-05-28  Bruno Haible  <bruno@clisp.org>
49737
49738         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
49739         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
49740         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
49741         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
49742         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
49743         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
49744         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
49745         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
49746         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
49747
49748 2007-05-28  Eric Blake  <ebb9@byu.net>
49749
49750         Unconditionally include <config.h> in unit tests.
49751         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
49752         * tests/test-allocsa.c, tests/test-arcfour.c,
49753         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
49754         tests/test-array_list.c, tests/test-array_oset.c,
49755         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
49756         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
49757         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
49758         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
49759         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
49760         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
49761         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
49762         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
49763         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
49764         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
49765         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
49766         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
49767         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
49768         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
49769         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
49770         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
49771         test-md5.c, test-memmem.c, test-printf-posix.c,
49772         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
49773         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
49774         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
49775         test-strcasestr.c, test-striconv.c, test-striconveh.c,
49776         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
49777         test-vasnprintf-posix2.c, test-vasnprintf.c,
49778         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
49779         test-vfprintf-posix.c, test-vprintf-posix.c,
49780         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
49781         test-xvasprintf.c: Likewise.
49782
49783 2007-05-28  Bruno Haible  <bruno@clisp.org>
49784
49785         * gnulib-tool (func_import): Remember the --with-tests command-line
49786         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
49787         Reported by Eric Blake.
49788
49789 2007-05-28  Bruno Haible  <bruno@clisp.org>
49790
49791         * modules/ftell-tests: New file.
49792         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
49793         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
49794
49795         * lib/ftell.c: New file.
49796         * modules/ftell: New file.
49797         * m4/ftell.m4: New file.
49798         * doc/functions/ftell.texi: Update.
49799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
49800         REPLACE_FTELL.
49801         * lib/stdio_.h (rpl_ftell): New declaration.
49802         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
49803         REPLACE_FTELL.
49804
49805 2007-05-28  Eric Blake  <ebb9@byu.net>
49806
49807         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
49808
49809 2007-05-28  Bruno Haible  <bruno@clisp.org>
49810
49811         * modules/fseek-tests: New file.
49812         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
49813         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
49814
49815         * lib/fseek.c: New file.
49816         * modules/fseek: New file.
49817         * m4/fseek.m4: New file.
49818         * doc/functions/fseek.texi: Update.
49819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
49820         REPLACE_FSEEK.
49821         * lib/stdio_.h (rpl_fseek): New declaration.
49822         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
49823         REPLACE_FSEEK.
49824
49825 2007-05-28  Bruno Haible  <bruno@clisp.org>
49826
49827         * lib/stdio_.h (fflush): More comments.
49828
49829 2007-05-28  Bruno Haible  <bruno@clisp.org>
49830
49831         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
49832         runtime test.
49833
49834 2007-05-28  Eric Blake  <ebb9@byu.net>
49835
49836         Improve lseek module.
49837         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
49838         * lib/unistd_.h (lseek): Scale back link warning message.
49839         * tests/test-lseek.c: Beef up test.
49840         * tests/test-lseek.sh: Exercise more facets of lseek.
49841         Reported by Bruno Haible.
49842
49843 2007-05-28  Bruno Haible  <bruno@clisp.org>
49844
49845         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
49846         to define.
49847
49848 2007-05-27  Bruno Haible  <bruno@clisp.org>
49849
49850         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
49851
49852 2007-05-27  Bruno Haible  <bruno@clisp.org>
49853
49854         * modules/openmp: New file.
49855         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
49856         Noah Misch.
49857
49858 2007-05-26  Bruno Haible  <bruno@clisp.org>
49859
49860         * modules/chdir-long (Depends-on): Add fchdir.
49861         * modules/chdir-safer (Depends-on): Likewise.
49862         * modules/fts (Depends-on): Likewise.
49863         * modules/fts-lgpl (Depends-on): Likewise.
49864         * modules/openat (Depends-on): Likewise.
49865         * modules/savewd (Depends-on): Likewise.
49866
49867 2007-05-24  Eric Blake  <ebb9@byu.net>
49868
49869         Fix lseek on mingw.
49870         * modules/lseek: New module.
49871         * m4/lseek.m4: New file.
49872         * lib/lseek.c: New file.
49873         * modules/lseek-tests: New file.
49874         * tests/test-lseek.c: New file.
49875         * tests/test-lseek.sh: New file.
49876         * MODULES.html.sh: Document lseek module.
49877         * modules/fflush (Depends-on): Add lseek, fseeko.
49878         * modules/fseeko (Depends-on): Likewise.
49879         * modules/ftello (Depends-on): Likewise.
49880         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
49881         broken.
49882         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
49883         broken.
49884         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
49885         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
49886         * lib/ftello.c (rpl_ftello): Likewise.
49887         * tests/test-fseeko.c (main): Test this.
49888         * tests/test-fseeko.sh: Likewise.
49889         * tests/test-ftello.c (main): Likewise.
49890         * tests/test-ftello.sh: Likewise.
49891         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
49892         implies replacing fseek.
49893         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
49894         HAVE_FTELLO.
49895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
49896         * modules/unistd (Makefile.am): Likewise.
49897         * lib/unistd_.h (lseek): Declare a replacement.
49898         * doc/functions/lseek.texi (lseek): Document this fix.
49899         * doc/functions/fseek.texi (fseek): Likewise.
49900         * doc/functions/ftell.texi (ftell): Likewise.
49901
49902 2007-05-24  Bruno Haible  <bruno@clisp.org>
49903
49904         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
49905         in the printed representation of a NaN.
49906         * tests/test-vasprintf-posix.c (test_function): Likewise.
49907         * tests/test-snprintf-posix.h (test_function): Likewise.
49908         * tests/test-sprintf-posix.h (test_function): Likewise.
49909         Reported by Eric Blake.
49910
49911 2007-05-23  Eric Blake  <ebb9@byu.net>
49912
49913         Fix fseeko/ftello on cygwin 1.5.24.
49914         * doc/functions/fseeko.texi (fseeko): Document the fix.
49915         * doc/functions/ftello.texi (ftello): Document the fix.
49916         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
49917         * doc/functions/stdout.text (stdout): New file.
49918         * doc/functions/stderr.text (stderr): New file.
49919         * doc/gnulib.texi (Function Substitutes): Use new files.
49920         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
49921         prior to 1.7.0.
49922         * tests/test-ftello.c (main): Likewise for ftello.
49923         * tests/test-fseeko.sh: New file.
49924         * tests/test-ftello.sh: New file.
49925         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
49926         with seekable stdin.
49927         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
49928         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
49929         (gl_REPLACE_FSEEKO): New macro.
49930         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
49931         * modules/fseeko (Files): Distribute fseeko.c.
49932         * modules/ftello (Files): Distribute ftello.c.
49933         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
49934         mode.
49935         * lib/ftello.c (rpl_ftello): New file.
49936         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
49937         fseeko, ftello.
49938         (gl_STDIN_LARGE_OFFSET): New macro.
49939         * modules/stdio (Makefile.am): Perform the replacement.
49940         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
49941
49942 2007-05-23  Bruno Haible  <bruno@clisp.org>
49943
49944         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
49945         GNULIB_POSIXCHECK is defined.
49946
49947 2007-05-21  Bruno Haible  <bruno@clisp.org>
49948
49949         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
49950         Check also the output for NaN arguments. When cross-compiling, guess
49951         no on IRIX.
49952         * lib/vasnprintf.c: Update comments.
49953         * tests/test-vasnprintf-posix.c (strisnan): New function.
49954         (test_function): Use it.
49955         * tests/test-vasprintf-posix.c (strisnan): New function.
49956         (test_function): Use it.
49957         * tests/test-snprintf-posix.h (strisnan): New function.
49958         (test_function): Use it.
49959         * tests/test-sprintf-posix.h (strisnan): New function.
49960         (test_function): Use it.
49961         Reported by Eric Blake.
49962
49963 2007-05-20  Bruno Haible  <bruno@clisp.org>
49964
49965         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
49966         numbers that fails on BeOS.
49967         * doc/functions/frexpl.texi: Update.
49968
49969 2007-05-20  Jim Meyering  <jim@meyering.net>
49970
49971         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
49972         forced upon us by glibc-2.6.
49973
49974 2007-05-20  Bruno Haible  <bruno@clisp.org>
49975
49976         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
49977         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
49978         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
49979         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
49980         NEED_PRINTF_INFINITE.
49981         (is_infinitel): New function.
49982         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
49983         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
49984         gl_PREREQ_VASNPRINTF_INFINITE.
49985         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
49986         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49987         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
49988         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
49989         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
49990         gl_PREREQ_VASNPRINTF_INFINITE.
49991         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49992         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49993         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49994         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49995         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49996         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49997         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49998         * doc/functions/fprintf.texi: Update.
49999         * doc/functions/printf.texi: Update.
50000         * doc/functions/snprintf.texi: Update.
50001         * doc/functions/sprintf.texi: Update.
50002         * doc/functions/vfprintf.texi: Update.
50003         * doc/functions/vprintf.texi: Update.
50004         * doc/functions/vsnprintf.texi: Update.
50005         * doc/functions/vsprintf.texi: Update.
50006
50007 2007-05-20  Bruno Haible  <bruno@clisp.org>
50008
50009         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
50010         was not found in libc.
50011         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
50012
50013 2007-05-20  Bruno Haible  <bruno@clisp.org>
50014
50015         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50016         printed as "-nan" instead of "nan".
50017         * tests/test-vasprintf-posix.c (test_function): Likewise.
50018         * tests/test-snprintf-posix.h (test_function): Likewise.
50019         * tests/test-sprintf-posix.h (test_function): Likewise.
50020         Needed for HP-UX 11.
50021
50022 2007-05-20  Jim Meyering  <jim@meyering.net>
50023
50024         Fix buggy test for the fchownat-deref bug.
50025         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
50026         symlink required for the run-test.  Without it, this test would
50027         always declare that fchownat doesn't work, and client code would
50028         unnecessarily use the replacement function with fixed libc.
50029         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
50030         Reported by Greg Schafer.
50031
50032 2007-05-19  Bruno Haible  <bruno@clisp.org>
50033
50034         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
50035         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
50036         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
50037         Needed for IRIX 6.5 and Solaris 2.5.1.
50038
50039 2007-05-19  Bruno Haible  <bruno@clisp.org>
50040
50041         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
50042         (test_function): Skip tests involving -0.0 on platforms where
50043         -0.0 = 0.0.
50044         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
50045         (test_function): Skip tests involving -0.0 on platforms where
50046         -0.0 = 0.0.
50047         * tests/test-snprintf-posix.h (have_minus_zero): New function.
50048         (test_function): Skip tests involving -0.0 on platforms where
50049         -0.0 = 0.0.
50050         * tests/test-sprintf-posix.h (have_minus_zero): New function.
50051         (test_function): Skip tests involving -0.0 on platforms where
50052         -0.0 = 0.0.
50053         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
50054         tests.
50055         * tests/test-printf-posix.h (test_function): Likewise.
50056         * tests/test-printf-posix.output: Remove all -0.0 related results.
50057         Needed for IRIX 6.5.
50058
50059 2007-05-19  Bruno Haible  <bruno@clisp.org>
50060
50061         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50062         printed as "nan0x7fffffff" instead of "nan".
50063         * tests/test-vasprintf-posix.c (test_function): Likewise.
50064         * tests/test-snprintf-posix.h (test_function): Likewise.
50065         * tests/test-sprintf-posix.h (test_function): Likewise.
50066         * tests/test-fprintf-posix.h (NaN): Remove macro.
50067         (test_function): Remove all NaN related tests.
50068         * tests/test-printf-posix.h (NaN): Remove macro.
50069         (test_function): Remove all NaN related tests.
50070         * tests/test-printf-posix.output: Remove all NaN related results.
50071         Needed for IRIX 6.5.
50072
50073 2007-05-19  Bruno Haible  <bruno@clisp.org>
50074
50075         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
50076         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
50077
50078 2007-05-19  Bruno Haible  <bruno@clisp.org>
50079
50080         * lib/float_.h: New file.
50081         * m4/float_h.m4: New file.
50082         * modules/float: New file.
50083         * modules/isnanl (Dependencies): Add float.
50084         * modules/isnanl-nolibm (Dependencies): Likewise.
50085         * modules/mathl (Dependencies): Likewise.
50086         * modules/printf-frexpl (Dependencies): Likewise.
50087         * modules/signbit (Dependencies): Likewise.
50088         * modules/vasnprintf (Dependencies): Likewise.
50089         * doc/headers/float.texi: Update.
50090
50091 2007-05-19  Jim Meyering  <jim@meyering.net>
50092
50093         * lib/utimens.c (gl_futimens): Rename from futimens,
50094         now that glibc-2.6 declares futimens.
50095         * lib/utimens.h: Likewise.
50096
50097 2007-05-19  Bruno Haible  <bruno@clisp.org>
50098
50099         Avoid test failures on mingw.
50100         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
50101         * tests/test-printf-posix.sh: Likewise.
50102         * tests/test-vfprintf-posix.sh: Likewise.
50103         * tests/test-vprintf-posix.sh: Likewise.
50104
50105 2007-05-19  Bruno Haible  <bruno@clisp.org>
50106
50107         Fix *printf result for NaN, Inf, -0.0 on mingw.
50108         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
50109         * lib/vasnprintf.c: Include math.h and isnan.h.
50110         (is_infinite_or_zero): New function.
50111         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
50112         values in the %f, %F, %e, %E, %g, %G directives.
50113         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
50114         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50115         gl_PRINTF_INFINITE and test its result. Invoke
50116         gl_PREREQ_VASNPRINTF_INFINITE.
50117         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50118         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50119         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50120         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50121         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50122         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50123         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50124         * doc/functions/fprintf.texi: Update.
50125         * doc/functions/printf.texi: Update.
50126         * doc/functions/snprintf.texi: Update.
50127         * doc/functions/sprintf.texi: Update.
50128         * doc/functions/vfprintf.texi: Update.
50129         * doc/functions/vprintf.texi: Update.
50130         * doc/functions/vsnprintf.texi: Update.
50131         * doc/functions/vsprintf.texi: Update.
50132
50133 2007-05-19  Bruno Haible  <bruno@clisp.org>
50134
50135         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
50136         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
50137         Instead of multiplying with 10^k, set extra_zeroes to k.
50138         (scale10_round_long_double): Remove function.
50139
50140 2007-05-18  Bruno Haible  <bruno@clisp.org>
50141
50142         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
50143         introduced on 2007-05-06.
50144
50145 2007-05-18  Bruno Haible  <bruno@clisp.org>
50146
50147         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
50148         %g directives.
50149         * tests/test-vasprintf-posix.c (test_function): Likewise.
50150         * tests/test-snprintf-posix.h (test_function): Likewise.
50151         * tests/test-sprintf-posix.h (test_function): Likewise.
50152
50153 2007-05-18  Bruno Haible  <bruno@clisp.org>
50154
50155         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
50156         (strmatch): New function.
50157         (test_function): Test the %f directive on numbers of various exponents.
50158         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
50159         (strmatch): New function.
50160         (test_function): Test the %f directive on numbers of various exponents.
50161         * tests/test-snprintf-posix.h (strmatch): New function.
50162         (test_function): Test the %f directive on numbers of various exponents.
50163         * tests/test-sprintf-posix.h (strmatch): New function.
50164         (test_function): Test the %f directive on numbers of various exponents.
50165         * tests/test-snprintf-posix.c (SIZEOF): New macro.
50166         * tests/test-sprintf-posix.c (SIZEOF): New macro.
50167         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
50168         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
50169
50170 2007-05-18  Bruno Haible  <bruno@clisp.org>
50171
50172         Add support for 'long double' number output.
50173         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
50174         * lib/vasnprintf.c: Include math.h and float+.h.
50175         (mp_limb_t): New type.
50176         (GMP_LIMB_BITS): New macro.
50177         (mp_twolimb_t): New type.
50178         (GMP_TWOLIMB_BITS): New macro.
50179         (mpn_t): New type.
50180         (multiply, divide, convert_to_decimal, decode_long_double,
50181         scale10_round_long_double, scale10_round_decimal_long_double,
50182         floorlog10l): New functions.
50183         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
50184         for the %f, %F, %e, %E, %g, %G directives.
50185         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
50186         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50187         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
50188         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
50189         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50190         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50191         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50192         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50193         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50194         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50195         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50196         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
50197         * modules/snprintf-posix (Depends-on): Likewise.
50198         * modules/sprintf-posix (Depends-on): Likewise.
50199         * modules/vasnprintf-posix (Depends-on): Likewise.
50200         * modules/vasprintf-posix (Depends-on): Likewise.
50201         * modules/vfprintf-posix (Depends-on): Likewise.
50202         * modules/vsnprintf-posix (Depends-on): Likewise.
50203         * modules/vsprintf-posix (Depends-on): Likewise.
50204         * modules/vasnprintf (Files): Add lib/float+.h.
50205         * doc/functions/fprintf.texi: Update.
50206         * doc/functions/printf.texi: Update.
50207         * doc/functions/snprintf.texi: Update.
50208         * doc/functions/sprintf.texi: Update.
50209         * doc/functions/vfprintf.texi: Update.
50210         * doc/functions/vprintf.texi: Update.
50211         * doc/functions/vsnprintf.texi: Update.
50212         * doc/functions/vsprintf.texi: Update.
50213
50214 2007-05-18  Bruno Haible  <bruno@clisp.org>
50215
50216         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
50217
50218 2007-05-18  Bruno Haible  <bruno@clisp.org>
50219
50220         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
50221         for printing 64-bit integers. Needed for mingw.
50222
50223 2007-05-18  Bruno Haible  <bruno@clisp.org>
50224
50225         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50226         gl_FUNC_FREXPL_WORKS.
50227         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
50228
50229 2007-05-18  Bruno Haible  <bruno@clisp.org>
50230
50231         * modules/frexpl-nolibm-tests: New file.
50232
50233         * modules/frexpl-nolibm: New file.
50234         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
50235
50236 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50237
50238         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
50239         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50240         GCC 4.2, which otherwise issues a lot of warnings.
50241         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
50242         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
50243         Likewise.
50244         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
50245         * modules/iconv_open (iconv.h): Likewise.
50246         * modules/locale (locale.h): Likewise.
50247         * modules/netinet_in (netinet/in.h): Likewise.
50248         * modules/sys_select (sys_select.h): Likewise.
50249         * modules/sys_socket (sys/socket.h): Likewise.
50250         * modules/sys_stat (sys/stat.h): Likewise.
50251         * modules/sysexits (sysexits.h): Likewise.
50252         * modules/unistd (unistd.h): Likewise.
50253
50254 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50255
50256         * modules/closein-tests (Makefile.am): Distribute
50257         `test-closein.sh'.
50258
50259 2007-05-17  Bruno Haible  <bruno@clisp.org>
50260
50261         * tests/test-printf-posix.output: Renamed from
50262         tests/test-fprintf-posix.out.
50263         * modules/fprintf-posix-tests: Update.
50264         * modules/printf-posix-tests: Update.
50265         * modules/vfprintf-posix-tests: Update.
50266         * modules/vprintf-posix-tests: Update.
50267         * tests/test-fprintf-posix.sh: Update.
50268         * tests/test-printf-posix.sh: Update.
50269         * tests/test-vfprintf-posix.sh: Update.
50270         * tests/test-vprintf-posix.sh: Update.
50271         Reported by Ralf Wildenhues.
50272
50273 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50274
50275         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
50276         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50277         GCC 4.2, which otherwise issues a lot of warnings.
50278         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
50279         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
50280         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
50281         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
50282         it should no longer be needed.
50283         * lib/string_.h: Likewise.
50284         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
50285         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
50286         * modules/inttypes (inttypes.h): Likewise.
50287         * modules/math (math.h): Likewise.
50288         * modules/search (search.h): Likewise.
50289         * modules/signal (signal.h): Likewise.
50290         * modules/stdint (stdint.h): Likewise.
50291         * modules/stdio (stdio.h): Likewise.
50292         * modules/stdlib (stdlib.h): Likewise.
50293         * modules/string (string.h): Likewise.
50294         * modules/sys_time (sys/time.h): Likewise.
50295         * modules/time (time.h): Likewise.
50296         * modules/wchar (wchar.h): Likewise.
50297         * modules/wctype (wtype.h): Likewise.
50298
50299 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50300
50301         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
50302
50303 2007-05-13  Bruno Haible  <bruno@clisp.org>
50304
50305         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
50306         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
50307         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
50308         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
50309         (gl_PREREQ_STRTOK_R): Don't require it here.
50310
50311 2007-05-13  Bruno Haible  <bruno@clisp.org>
50312
50313         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
50314         when used in C++ mode.
50315
50316 2007-05-12  Bruno Haible  <bruno@clisp.org>
50317
50318         * lib/linebuffer.h: Tweak doc.
50319         * lib/linebuffer.c: Likewise.
50320
50321 2007-05-12  James Youngman  <jay@gnu.org>
50322
50323         * lib/linebuffer.c (readlinebuffer_delim): New function,
50324         like readlinebuffer, but use a caller-specified delimiter.
50325         (readlinebuffer): Just call readlinebuffer_delim with '\n'
50326         as the delimiter.
50327         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
50328
50329 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50330
50331         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
50332         * modules/openat (Files): Remove openat-die.c.
50333         (Depends-on): Add openat-die.
50334         * modules/openat-die: New module.
50335
50336 2007-05-06  Bruno Haible  <bruno@clisp.org>
50337
50338         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
50339         Update with info about Cygwin.
50340         * doc/functions/fprintf.texi: Update.
50341         * doc/functions/printf.texi: Update.
50342         * doc/functions/snprintf.texi: Update.
50343         * doc/functions/sprintf.texi: Update.
50344         * doc/functions/vfprintf.texi: Update.
50345         * doc/functions/vprintf.texi: Update.
50346         * doc/functions/vsnprintf.texi: Update.
50347         * doc/functions/vsprintf.texi: Update.
50348         Reported by Eric Blake.
50349
50350 2007-05-06  Bruno Haible  <bruno@clisp.org>
50351
50352         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
50353         padding ourselves for the floating-point directives.
50354         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
50355         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
50356         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50357         gl_PRINTF_FLAG_ZERO and test its result. Invoke
50358         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
50359         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50360         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50361         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50362         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50363         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50364         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50365         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50366         * tests/test-snprintf-posix.h (test_function): Also check the width
50367         and some flags in the %f directive.
50368         * tests/test-sprintf-posix.h (test_function): Likewise.
50369         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50370         * tests/test-vasprintf-posix.c (test_function): Likewise.
50371         * doc/functions/fprintf.texi: Update.
50372         * doc/functions/printf.texi: Update.
50373         * doc/functions/snprintf.texi: Update.
50374         * doc/functions/sprintf.texi: Update.
50375         * doc/functions/vfprintf.texi: Update.
50376         * doc/functions/vprintf.texi: Update.
50377         * doc/functions/vsnprintf.texi: Update.
50378         * doc/functions/vsprintf.texi: Update.
50379
50380 2007-05-06  Bruno Haible  <bruno@clisp.org>
50381
50382         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
50383         pass the ' flag character to sprintf or snprintf.
50384         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
50385         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
50386         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50387         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
50388         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
50389         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50390         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50391         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50392         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50393         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50394         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50395         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50396         * tests/test-snprintf-posix.h (test_function): Also check the grouping
50397         flag.
50398         * tests/test-sprintf-posix.h (test_function): Likewise.
50399         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50400         * tests/test-vasprintf-posix.c (test_function): Likewise.
50401         * doc/functions/fprintf.texi: Update.
50402         * doc/functions/printf.texi: Update.
50403         * doc/functions/snprintf.texi: Update.
50404         * doc/functions/sprintf.texi: Update.
50405         * doc/functions/vfprintf.texi: Update.
50406         * doc/functions/vprintf.texi: Update.
50407         * doc/functions/vsnprintf.texi: Update.
50408         * doc/functions/vsprintf.texi: Update.
50409
50410 2007-05-01  Bruno Haible  <bruno@clisp.org>
50411
50412         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
50413
50414 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
50415
50416         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
50417         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
50418
50419 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50420
50421         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
50422         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
50423         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
50424
50425 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
50426
50427         * lib/argp-help.c (struct hol_entry): New member `ord'.
50428         (HOL_ENTRY_PTRCMP): Use ord for comparison
50429         (hol_sort): Initialize ord.
50430
50431 2007-05-01  Bruno Haible  <bruno@clisp.org>
50432
50433         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
50434         Reported by Eric Blake.
50435         * doc/gnulib.texi (Function Substitutes): Update.
50436
50437 2007-05-01  Bruno Haible  <bruno@clisp.org>
50438
50439         * doc/functions.texi: Remove file, now redundant through
50440         doc/functions/*.texi.
50441
50442 2007-05-01  Bruno Haible  <bruno@clisp.org>
50443
50444         * modules/argp (Depends-on): Add sleep.
50445
50446 2007-05-01  Bruno Haible  <bruno@clisp.org>
50447
50448         * modules/sleep-tests: New file.
50449         * tests/test-sleep.c: New file.
50450
50451         * modules/sleep: New file.
50452         * lib/sleep.c: New file.
50453         * m4/sleep.m4: New file.
50454         * lib/unistd_.h (sleep): New declaration.
50455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
50456         HAVE_SLEEP.
50457         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
50458         * doc/functions/sleep.texi: Document the sleep module.
50459
50460 2007-05-01  Bruno Haible  <bruno@clisp.org>
50461
50462         * lib/sigprocmask.h: Remove file.
50463         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
50464         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
50465         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
50466         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
50467         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50468         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
50469         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
50470         HAVE_SIGSET_T as a shell variable.
50471         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
50472         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
50473         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
50474         (Depends-on): Add signal. Remove verify.
50475         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
50476         (Include): Mention <signal.h> instead of sigprocmask.h.
50477         * NEWS: Mention the change.
50478         * lib/fatal-signal.c: Don't include sigprocmask.h.
50479
50480 2007-05-01  Bruno Haible  <bruno@clisp.org>
50481
50482         * modules/signal: New file.
50483         * lib/signal_.h: New file.
50484         * m4/signal_h.m4: New file.
50485
50486 2007-05-01  Bruno Haible  <bruno@clisp.org>
50487
50488         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
50489         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
50490         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
50491         HAVE_WCTYPE_CTMP_BUG into wctype.h.
50492
50493 2007-05-01  Bruno Haible  <bruno@clisp.org>
50494
50495         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
50496         configure time.
50497         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
50498         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
50499         * modules/sys_stat (Makefile.am): Substitute their values into
50500         sys/stat.h.
50501
50502 2007-05-01  Bruno Haible  <bruno@clisp.org>
50503
50504         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
50505         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
50506         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
50507
50508 2007-05-01  Bruno Haible  <bruno@clisp.org>
50509
50510         * doc/header/assert.texi: Undo last change: don't mention the gnulib
50511         'assert' module here.
50512
50513 2007-05-01  Bruno Haible  <bruno@clisp.org>
50514
50515         * doc/functions/*.texi: New files.
50516         * doc/functions/google-ranking.txt: New file.
50517         * doc/gnulib.texi (Function Substitutes): New chapter.
50518         (ctime, inet_ntoa): Remove sections.
50519         * doc/ctime.texi: Remove file.
50520         * doc/inet_ntoa.texi: Remove file.
50521         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
50522         dependencies.
50523         (%.info): New rule, specifying a --reference-limit.
50524
50525 2007-05-01  Bruno Haible  <bruno@clisp.org>
50526
50527         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
50528
50529 2007-05-01  Bruno Haible  <bruno@clisp.org>
50530
50531         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
50532         the portability of 'mkdir' to mingw systems.
50533
50534 2007-05-01  Bruno Haible  <bruno@clisp.org>
50535
50536         * doc/headers/google-ranking.txt: New file.
50537
50538 2007-04-30  Eric Blake  <ebb9@byu.net>
50539
50540         Prefer fseeko to fseek.
50541         * modules/getpass (Depends-on): Add fseeko.
50542         * lib/getpass.c (getpass): Use fseeko, not fseek.
50543
50544 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
50545
50546         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
50547         assumes the sorting is stable, while most qsort implementations
50548         are not.  Use argument addresses to ensure they never compare as
50549         equal.
50550
50551         * tests/test-argp-2.sh (usage-indent test): Fix output
50552         (func_compare): Restore diff options
50553         * tests/test-argp.c: Restore #include "progname.h"
50554
50555 2007-04-29  Bruno Haible  <bruno@clisp.org>
50556
50557         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
50558         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50559         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
50560         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50561         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
50562         (configure.ac): Define CHECK_SNPRINTF_POSIX.
50563         (TESTS, check_PROGRAMS): Add test-snprintf.
50564         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
50565         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
50566         (TESTS, check_PROGRAMS): Add test-vsnprintf.
50567         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
50568         assertions that fail on HP-UX, OSF/1, or IRIX.
50569         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
50570
50571 2007-04-29  Bruno Haible  <bruno@clisp.org>
50572
50573         * MODULES.html.sh (posix_functions): Remove 'contents'.
50574
50575 2007-04-29  Karl Berry  <karl@gnu.org>
50576
50577         * config/srclist.txt (gendocs_template_min): new entry.
50578
50579 2007-04-29  Bruno Haible  <bruno@clisp.org>
50580
50581         Work around fpurge bug on BSD systems.
50582         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
50583         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
50584         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
50585         fpurge to rpl_fpurge if the system already has this function.
50586         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
50587         the case where the system already has this function. Correct invariants
50588         on BSD systems.
50589         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
50590         BSD systems.
50591
50592 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50593
50594         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
50595         proposed by Sven Verdoolaege.
50596
50597         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
50598         options.
50599         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
50600         (usage and help tests): Update
50601
50602 2007-04-29  Bruno Haible  <bruno@clisp.org>
50603
50604         * tests/test-fflush.c (main): Use a file of size 17, not 10.
50605         Print more information in case of failure. Disable a test on BeOS.
50606
50607 2007-04-29  Bruno Haible  <bruno@clisp.org>
50608
50609         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
50610         This helps debugging on systems on which no gdb is available.
50611
50612 2007-04-29  Bruno Haible  <bruno@clisp.org>
50613
50614         * lib/freading.h: Improve comments.
50615         * lib/fwriting.h: Likewise.
50616         * tests/test-freading.c (main): Don't check freading immediately after
50617         repositioning. Needed for glibc.
50618
50619 2007-04-29  Bruno Haible  <bruno@clisp.org>
50620
50621         * lib/freading.c (freading): Trivial simplification.
50622
50623 2007-04-28  Bruno Haible  <bruno@clisp.org>
50624
50625         * tests/test-fwriting.c (main): Also test the interaction between
50626         fflush and fwriting.
50627         * modules/fwriting-tests (Depends-on): Add fflush.
50628
50629         * tests/test-freading.c (main): Also test the interaction between
50630         fflush and freading.
50631         * modules/freading-tests (Depends-on): Add fflush.
50632
50633 2007-04-28  Bruno Haible  <bruno@clisp.org>
50634
50635         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
50636         fseeko and ftello.
50637         Suggested by Eric Blake.
50638
50639 2007-04-28  Jim Meyering  <jim@meyering.net>
50640
50641         Avoid false-negative in gl_STDINT_H's C99 conformance test.
50642         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
50643         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
50644
50645 2007-04-27  Eric Blake  <ebb9@byu.net>
50646
50647         * doc/headers/assert.texi (assert.h): Document assert module use.
50648
50649 2007-04-27  Bruno Haible  <bruno@clisp.org>
50650
50651         * doc/headers/*.texi: New files.
50652         * doc/gnulib.texi (Header File Substitutes): New chapter.
50653         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
50654         dependencies.
50655         (standards.info ,standards.html, standards.dvi): Update dependencies.
50656         (mostlyclean, clean): New targets.
50657
50658 2007-04-27  Bruno Haible  <bruno@clisp.org>
50659
50660         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
50661         * modules/sysexits (Files, Makefile.am): Update.
50662
50663         * lib/sys_socket_.h: Renamed from lib/socket_.h.
50664         * modules/sys_socket (Files, Makefile.am): Update.
50665
50666         * lib/sys_stat_.h: Renamed from lib/stat_.h.
50667         * modules/sys_stat (Files, Makefile.am): Update.
50668
50669 2007-04-27  Eric Blake  <ebb9@byu.net>
50670
50671         * lib/freading.h: Improve comments.
50672         * lib/fwriting.h: Likewise.
50673         * lib/fflush.c: Likewise.
50674
50675         Fix closein for mingw.
50676         * modules/closein-tests: Add tests for closein.
50677         * tests/test-closein.c: New file.
50678         * tests/test-closein.sh: Likewise.
50679         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
50680         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
50681
50682 2007-04-27  Bruno Haible  <bruno@clisp.org>
50683
50684         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
50685         version is < 6.
50686         * lib/math_.h [__DECC]: Likewise.
50687         * lib/stdio_.h [__DECC]: Likewise.
50688         * lib/stdlib_.h [__DECC]: Likewise.
50689         * lib/string_.h [__DECC]: Likewise.
50690         * lib/time_.h [__DECC]: Likewise.
50691         * lib/wchar_.h [__DECC]: Likewise.
50692         * lib/wctype_.h [__DECC]: Likewise.
50693
50694 2007-04-27  Bruno Haible  <bruno@clisp.org>
50695
50696         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
50697
50698 2007-04-27  Bruno Haible  <bruno@clisp.org>
50699
50700         * lib/fflush.c: Add comments.
50701         * modules/fpurge-tests (Depends-on): Add fflush.
50702         * modules/freadable-tests (Depends-on): Likewise.
50703         * modules/fwritable-tests (Depends-on): Likewise.
50704
50705 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
50706
50707         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
50708         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
50709         Report by Bruno Haible <bruno@clisp.org>.
50710
50711 2007-04-26  Eric Blake  <ebb9@byu.net>
50712
50713         Fix fflush on mingw.
50714         * modules/fflush (Depends-on): Add freading.
50715         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
50716         but unread data.
50717
50718 2007-04-26  Eric Blake  <ebb9@byu.net>
50719         and Bruno Haible  <bruno@clisp.org>
50720
50721         Implement freading and fwriting.
50722         * lib/freading.c: New file.
50723         * lib/freading.h: Likewise.
50724         * m4/freading.m4: Likewise.
50725         * modules/freading: Likewise.
50726         * modules/freading-tests: Likewise.
50727         * tests/test-freading.c: Likewise.
50728         * lib/fwriting.c: New file.
50729         * lib/fwriting.h: Likewise.
50730         * m4/fwriting.m4: Likewise.
50731         * modules/fwriting: Likewise.
50732         * modules/fwriting-tests: Likewise.
50733         * tests/test-fwriting.c: Likewise.
50734         * MODULES.html.sh (File stream based Input/Output): Mention them.
50735
50736 2007-04-26  Bruno Haible  <bruno@clisp.org>
50737
50738         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
50739         'long' when we assume it.
50740         Suggested by Eric Blake.
50741
50742 2007-04-26  Bruno Haible  <bruno@clisp.org>
50743
50744         Ensure fseeko, ftello are declared on glibc systems.
50745         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
50746         * modules/fseeko (configure.ac-early): Likewise.
50747         * modules/ftello (configure.ac-early): Likewise.
50748         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
50749         AC_FUNC_FSEEKO for this.
50750         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
50751         (gl_CHECK_FSEEKO): Remove macro.
50752
50753 2007-04-26  Bruno Haible  <bruno@clisp.org>
50754
50755         * tests/test-fflush.c (main): Also check the ftell result after
50756         fflush and fseek/fseeko.
50757         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
50758         file descriptor position cache in the stream.
50759         * lib/fseeko.c (rpl_fseeko): Likewise.
50760
50761 2007-04-26  Bruno Haible  <bruno@clisp.org>
50762
50763         * modules/fflush-tests (Depends-on): Add fseeko.
50764
50765 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
50766             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50767
50768         * lib/argz_.h: ensure error_t definition is obtained in same
50769         mechanism system argz.h would have.
50770         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
50771         argz facilities are known bad.  Err on the side of caution if
50772         cross-compiling.
50773
50774 2007-04-25  Eric Blake  <ebb9@byu.net>
50775
50776         * lib/fpurge.c (includes): Use stdlib.h for free.
50777         * tests/test-fflush.c (main): Also test fflush-fseeko.
50778
50779 2007-04-25  Bruno Haible  <bruno@clisp.org>
50780
50781         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
50782         * lib/fseeko.c: New file.
50783         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
50784         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
50785         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
50786         gl_FUNC_FSEEKO.
50787         (gl_FUNC_FSEEKO): Invoke it.
50788         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
50789         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
50790         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
50791
50792 2007-04-25  Bruno Haible  <bruno@clisp.org>
50793
50794         * modules/fflush (Depends-on): Add ftello.
50795
50796 2007-04-25  Bruno Haible  <bruno@clisp.org>
50797
50798         * modules/ftello-tests: New file.
50799         * tests/test-ftello.c: New file.
50800
50801         * modules/ftello: New file.
50802         * m4/ftello.m4: New file.
50803         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
50804         HAVE_FTELLO.
50805         * lib/stdio_.h (ftello): New declaration.
50806         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
50807         HAVE_FTELLO.
50808
50809 2007-04-25  Bruno Haible  <bruno@clisp.org>
50810
50811         * modules/fseeko-tests: New file.
50812         * tests/test-fseeko.c: New file.
50813
50814         * modules/fseeko: New file.
50815         * m4/fseeko.m4: New file.
50816         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
50817         HAVE_FSEEKO.
50818         * lib/stdio_.h (fseeko): New declaration.
50819         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
50820         HAVE_FSEEKO.
50821
50822 2007-04-25  Bruno Haible  <bruno@clisp.org>
50823
50824         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
50825
50826 2007-04-25  Bruno Haible  <bruno@clisp.org>
50827
50828         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
50829         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
50830         * tests/test-unistd.c: Likewise.
50831         * tests/test-fcntl.c: Likewise.
50832
50833 2007-04-23  Eric Blake  <ebb9@byu.net>
50834
50835         * lib/fflush.c: Fix missing include.
50836         Reported by Bruno Haible.
50837
50838 2007-04-23  Bruno Haible  <bruno@clisp.org>
50839
50840         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
50841         Reported by Eric Blake.
50842
50843 2007-04-23  Bruno Haible  <bruno@clisp.org>
50844
50845         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
50846
50847 2007-04-23  Bruno Haible  <bruno@clisp.org>
50848
50849         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
50850
50851 2007-04-23  Bruno Haible  <bruno@clisp.org>
50852
50853         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
50854         Needed on HP-UX 11.
50855
50856 2007-04-16  Eric Blake  <ebb9@byu.net>
50857
50858         Make fflush rely on fpurge.
50859         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
50860         open coding all variants.
50861         * modules/fflush (Depends-on): Add fpurge and unistd.
50862         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
50863         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
50864
50865         Fix --with-tests compilation on cygwin.
50866         * modules/argmatch-tests (Makefile.am): List gnulib library first
50867         in LDADD.
50868         * modules/argp-tests (Makefile.am): Likewise.
50869         * modules/array-list-tests (Makefile.am): Likewise.
50870         * modules/array-oset-tests (Makefile.am): Likewise.
50871         * modules/avltree-list-tests (Makefile.am): Likewise.
50872         * modules/avltree-oset-tests (Makefile.am): Likewise.
50873         * modules/avltreehash-list-tests (Makefile.am): Likewise.
50874         * modules/carray-list-tests (Makefile.am): Likewise.
50875         * modules/dirname-tests (Makefile.am): Likewise.
50876         * modules/frexp-tests (Makefile.am): Likewise.
50877         * modules/isnanl-tests (Makefile.am): Likewise.
50878         * modules/linked-list-tests (Makefile.am): Likewise.
50879         * modules/linkedhash-list-tests (Makefile.am): Likewise.
50880         * modules/lock-tests (Makefile.am): Likewise.
50881         * modules/rbtree-list-tests (Makefile.am): Likewise.
50882         * modules/rbtree-oset-tests (Makefile.am): Likewise.
50883         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
50884         * modules/tls-tests (Makefile.am): Likewise.
50885         * modules/tsearch-tests (Makefile.am): Likewise.
50886         * modules/xvasprintf-tests (Makefile.am): Likewise.
50887
50888         Fix fpurge for cygwin.
50889         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
50890         value.
50891         * modules/fpurge-tests (Depends-on): Clean up trash.
50892
50893 2007-04-16  Simon Josefsson  <simon@josefsson.org>
50894
50895         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
50896
50897         * m4/autobuild.m4: Re-indent.
50898
50899 2007-04-13  Bruno Haible  <bruno@clisp.org>
50900
50901         * modules/fpurge-tests: New file.
50902         * tests/test-fpurge.c: New file.
50903
50904         * modules/fpurge: New file.
50905         * lib/fpurge.h: New file.
50906         * lib/fpurge.c: New file.
50907         * m4/fpurge.m4: New file.
50908
50909 2007-04-13  Bruno Haible  <bruno@clisp.org>
50910
50911         * modules/fbufmode-tests: New file.
50912         * tests/test-fbufmode.c: New file.
50913
50914         * modules/fbufmode: New file.
50915         * lib/fbufmode.h: New file.
50916         * lib/fbufmode.c: New file.
50917         * m4/fbufmode.m4: New file.
50918
50919 2007-04-13  Bruno Haible  <bruno@clisp.org>
50920
50921         * modules/fwritable-tests: New file.
50922         * tests/test-fwritable.c: New file.
50923
50924         * modules/fwritable: New file.
50925         * lib/fwritable.h: New file.
50926         * lib/fwritable.c: New file.
50927         * m4/fwritable.m4: New file.
50928
50929 2007-04-13  Bruno Haible  <bruno@clisp.org>
50930
50931         * modules/freadable-tests: New file.
50932         * tests/test-freadable.c: New file.
50933
50934         * modules/freadable: New file.
50935         * lib/freadable.h: New file.
50936         * lib/freadable.c: New file.
50937         * m4/freadable.m4: New file.
50938
50939 2007-04-13  Bruno Haible  <bruno@clisp.org>
50940
50941         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
50942         MOSTLYCLEANFILES.
50943
50944 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50945
50946         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
50947         gzip bootstrap.conf to avoid dragging in i18n machinery.
50948         (gnulib_tool_option): Use it.
50949
50950 2007-04-13  Bruno Haible  <bruno@clisp.org>
50951
50952         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
50953         %F directives.
50954         * tests/test-vasprintf-posix.c (test_function): Likewise.
50955         * tests/test-snprintf-posix.h (test_function): Likewise.
50956         * tests/test-sprintf-posix.h (test_function): Likewise.
50957         * tests/test-fprintf-posix.h (test_function): Likewise.
50958         * tests/test-printf-posix.h (test_function): Likewise.
50959         * tests/test-fprintf-posix.out: Likewise.
50960
50961 2007-04-13  Bruno Haible  <bruno@clisp.org>
50962
50963         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
50964         * modules/tls-tests (configure.ac): Likewise.
50965         Reported by Arto C. Nirkko <anirkko@insel.ch>.
50966
50967 2007-04-13  Bruno Haible  <bruno@clisp.org>
50968
50969         * lib/tls.c (glthread_tls_get): Fix return type.
50970         Patch by Arto C. Nirkko <anirkko@insel.ch>.
50971
50972 2007-04-12  Eric Blake  <ebb9@byu.net>
50973
50974         * modules/gettime (Depends-on): Remove gettime.
50975         Reported by Dmitry V. Levin.
50976
50977 2007-04-12  Bruno Haible  <bruno@clisp.org>
50978
50979         * modules/fflush (Include): Mention <stdio.h>.
50980         * modules/strtoimax (Include): Mention <inttypes.h>.
50981         * modules/strtoumax (Include): Likewise.
50982
50983 2007-04-12  Eric Blake  <ebb9@byu.net>
50984
50985         * .cvsignore: New file.
50986         * .gitignore: Likewise.
50987
50988 2007-04-12  Bruno Haible  <bruno@clisp.org>
50989
50990         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
50991         not before, since $(LDADD) often contains libgnu.a.
50992         * modules/striconv-tests (test_striconv_LDADD): Likewise.
50993         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
50994         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
50995         Needed on Cygwin.
50996
50997 2007-04-12  Eric Blake  <ebb9@byu.net>
50998
50999         Work around glibc's failure to flush stdin on fclose.
51000         * lib/closein.c (close_stdin): Flush stdin before closing.
51001
51002         Work around glibc's failure to reset seekable stdin on exit.
51003         * modules/closein: New module.
51004         * lib/closein.c: New file.
51005         * lib/closein.h: Likewise.
51006         * m4/closein.m4: Likewise.
51007         * MODULES.html.sh (File stream based Input/Output): Document it.
51008
51009 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51010
51011         * gnulib-tool: Rename generated 'autobuild' script to
51012         'do-autobuild' in --create-megatestdir output.
51013
51014         * doc/gnulib.texi (Build robot for gnulib): Fix.
51015
51016 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51017
51018         * modules/sysexits (Depends-on): Add absolute-header.
51019
51020 2007-04-12  Eric Blake  <ebb9@byu.net>
51021
51022         No need to preserve errno on success.
51023         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
51024         Reported by Bruno Haible.
51025
51026 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51027
51028         * MODULES.html.sh (Support for maintaining and releasing
51029         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
51030
51031 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51032
51033         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
51034
51035 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51036
51037         * modules/autobuild: New module.
51038
51039         * m4/autobuild.m4: New file.
51040
51041 2007-04-11  Bruno Haible  <bruno@clisp.org>
51042
51043         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
51044         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
51045         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
51046         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
51047         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51048         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51049         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51050         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51051         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51052         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51053         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
51054         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51055         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51056         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
51057         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51058         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51059         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
51060         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51061         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51062         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
51063         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51064         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51065         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
51066         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51067         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51068         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
51069         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51070         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51071         Reported by Eric Blake.
51072
51073 2007-04-11  Bruno Haible  <bruno@clisp.org>
51074
51075         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
51076
51077 2007-04-10  Bruno Haible  <bruno@clisp.org>
51078
51079         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
51080         for NaN and Infinity. Needed on FreeBSD 6.1.
51081         * tests/test-vasnprintf-posix.c (test_function): Undo last change
51082         regarding results for "%010a" of Infinity and NaN.
51083         * tests/test-vasprintf-posix.c (test_function): Likewise.
51084         * tests/test-snprintf-posix.h (test_function): Likewise.
51085         * tests/test-sprintf-posix.h (test_function): Likewise.
51086         * tests/test-fprintf-posix.h (test_function): Likewise.
51087         * tests/test-printf-posix.h (test_function): Likewise.
51088         * tests/test-fprintf-posix.out: Likewise.
51089
51090 2007-04-10  Bruno Haible  <bruno@clisp.org>
51091
51092         * modules/locale-tests: New file.
51093         * tests/test-locale.c: New file.
51094
51095         * modules/locale: New file.
51096         * lib/locale_.h: New file.
51097         * m4/locale_h.m4: New file.
51098
51099 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
51100             Bruno Haible  <bruno@clisp.org>
51101
51102         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
51103         be determined, test for availability of the copysignf, copysign,
51104         copysignl functions.
51105         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
51106         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
51107         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
51108
51109 2007-04-09  Eric Blake  <ebb9@byu.net>
51110
51111         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
51112         * modules/stdio (Makefile.am): Support fflush.
51113         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51114         * modules/fflush: New file.
51115         * lib/fflush.c: Likewise.
51116         * m4/fflush.m4: Likewise.
51117         * modules/fflush-tests: New test.
51118         * tests/test-fflush.c: Likewise.
51119         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
51120
51121 2007-04-06  Bruno Haible  <bruno@clisp.org>
51122
51123         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
51124         (VASNPRINTF): Use signbit for faster determination whether to print a
51125         minus sign.
51126         * modules/vasnprintf (Files): Remove lib/float+.h.
51127         * modules/fprintf-posix (Depends-on): Add signbit.
51128         * modules/snprintf-posix (Depends-on): Likewise.
51129         * modules/sprintf-posix (Depends-on): Likewise.
51130         * modules/vasnprintf-posix (Depends-on): Likewise.
51131         * modules/vasprintf-posix (Depends-on): Likewise.
51132         * modules/vfprintf-posix (Depends-on): Likewise.
51133         * modules/vsnprintf-posix (Depends-on): Likewise.
51134         * modules/vsprintf-posix (Depends-on): Likewise.
51135
51136 2007-04-06  Bruno Haible  <bruno@clisp.org>
51137
51138         * tests/test-frexp.c (main): Test also the sign bit of zero results.
51139         * tests/test-frexpl.c (main): Likewise.
51140         * tests/test-ldexpl.c (main): Likewise.
51141         * modules/frexp-tests (Depends-on): Add signbit.
51142         * modules/frexpl-tests (Depdends-on): Likewise.
51143         * modules/ldexpl-tests (Depdends-on): Likewise.
51144
51145 2007-04-06  Bruno Haible  <bruno@clisp.org>
51146
51147         * modules/signbit-tests: New file.
51148         * tests/test-signbit.c: New file.
51149
51150         * modules/signbit: New file.
51151         * lib/signbitf.c: New file.
51152         * lib/signbitd.c: New file.
51153         * lib/signbitl.c: New file.
51154         * m4/signbit.m4: New file.
51155         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
51156         (signbit): New macro.
51157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
51158         REPLACE_SIGNBIT.
51159         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
51160         REPLACE_FREXPL into math.h.
51161
51162 2007-04-06  Bruno Haible  <bruno@clisp.org>
51163
51164         * modules/isnanf-nolibm-tests: New file.
51165         * tests/test-isnanf.c: New file.
51166
51167         * modules/isnanf-nolibm: New file.
51168         * lib/isnanf.h: New file.
51169         * lib/isnanf.c: New file.
51170         * lib/isnan.c: Consider the USE_FLOAT macro.
51171         * m4/isnanf.m4: New file.
51172
51173 2007-04-06  Bruno Haible  <bruno@clisp.org>
51174
51175         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
51176         (Link): New section.
51177
51178         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
51179
51180 2007-04-06  Bruno Haible  <bruno@clisp.org>
51181
51182         Assume the 'long double' type.
51183         * m4/longdouble.m4: Remove file.
51184         * config/srclist.txt: Don't mention longdouble.m4.
51185         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
51186         * lib/float+.h: Likewise.
51187         * lib/frexp.c: Likewise.
51188         * lib/printf-args.h: Likewise.
51189         * lib/printf-args.c: Likewise.
51190         * lib/printf-frexp.c: Likewise.
51191         * lib/printf-parse.c: Likewise.
51192         * lib/vasnprintf.c: Likewise.
51193         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
51194         * m4/intl.m4: Likewise.
51195         * m4/isnanl.m4: Likewise.
51196         * m4/printf.m4: Likewise.
51197         * m4/printf-frexpl.m4: Likewise.
51198         * m4/vasnprintf.m4: Likewise.
51199         * modules/allocsa (Files): Remove m4/longdouble.m4.
51200         * modules/gettext (Files): Likewise.
51201         * modules/relocatable-prog-wrapper (Files): Likewise.
51202         * modules/vasnprintf (Files): Likewise.
51203         * modules/isnanl (Files): Likewise.
51204         (Include): Simplify.
51205         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
51206         (Include): Simplify.
51207         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
51208         (Include): Simplify.
51209         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
51210         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51211         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
51212         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51213         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51214         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51215         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
51216         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51217         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51218         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51219         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
51220         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51221         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
51222         * tests/test-isnanl.c: Likewise.
51223         * tests/test-snprintf-posix.h: Likewise.
51224         * tests/test-sprintf-posix.h: Likewise.
51225         * tests/test-vasnprintf-posix.c: Likewise.
51226         * tests/test-vasnprintf-posix2.c: Likewise.
51227         * tests/test-vasprintf-posix.c: Likewise.
51228
51229 2007-04-06  Bruno Haible  <bruno@clisp.org>
51230
51231         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
51232         * lib/math_.h [__DECC]: Include the overridden include file through
51233         #include_next, outside the double-inclusion guard.
51234         * lib/stdio_.h [__DECC]: Likewise.
51235         * lib/stdlib_.h [__DECC]: Likewise.
51236         * lib/string_.h [__DECC]: Likewise.
51237         * lib/time_.h [__DECC]: Likewise.
51238         * lib/wchar_.h [__DECC]: Likewise.
51239         * lib/wctype_.h [__DECC]: Likewise.
51240         * lib/inttypes_.h [__DECC]: Likewise.
51241         Reported by Albert Chin <china@thewrittenword.com> in
51242         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
51243
51244 2007-04-04  Eric Blake  <ebb9@byu.net>
51245
51246         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
51247         1.5.x.
51248
51249 2007-04-04  Bruno Haible  <bruno@clisp.org>
51250
51251         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
51252         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
51253
51254 2007-04-04  Bruno Haible  <bruno@clisp.org>
51255
51256         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
51257         results for "%010a" of Infinity and NaN.
51258         * tests/test-vasprintf-posix.c (test_function): Likewise.
51259         * tests/test-snprintf-posix.h (test_function): Likewise.
51260         * tests/test-sprintf-posix.h (test_function): Likewise.
51261         * tests/test-fprintf-posix.h (test_function): Remove these tests.
51262         * tests/test-printf-posix.h (test_function): Likewise.
51263         * tests/test-fprintf-posix.out: Update.
51264         Needed for FreeBSD 6.1.
51265
51266 2007-04-04  Bruno Haible  <bruno@clisp.org>
51267
51268         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
51269         directly used by the gnulib modules nor by gnulib-tool.
51270
51271 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51272
51273         * DEPENDENCIES: Give overall description of version dependency
51274         desirability.  Use more-typical names for apps.
51275         Add shell, coreutils, diffutils, grep, tar, gzip.
51276
51277 2007-04-04  Simon Josefsson  <simon@josefsson.org>
51278
51279         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
51280
51281 2007-04-04  Karl Berry  <karl@gnu.org>
51282
51283         * MODULES.html.sh (func_module): missing '.
51284
51285 2007-04-03  Bruno Haible  <bruno@clisp.org>
51286
51287         * modules/argmatch-tests (Makefile.am): New variable
51288         test_argmatch_LDADD.
51289         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
51290         * modules/array-list-tests (Makefile.am): New variable
51291         test_array_list_LDADD.
51292         * modules/array-oset-tests (Makefile.am): New variable
51293         test_array_oset_LDADD.
51294         * modules/avltree-list-tests (Makefile.am): New variable
51295         test_avltree_list_LDADD.
51296         * modules/avltree-oset-tests (Makefile.am): New variable
51297         test_avltree_oset_LDADD.
51298         * modules/avltreehash-list-tests (Makefile.am): New variable
51299         test_avltreehash_list_LDADD.
51300         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
51301         test_canonicalize_lgpl_LDADD.
51302         * modules/carray-list-tests (Makefile.am): New variable
51303         test_carray_list_LDADD.
51304         * modules/dirname-tests (Makefile.am): New variable
51305         test_dirname_LDADD.
51306         * modules/linked-list-tests (Makefile.am): New variable
51307         test_linked_list_LDADD.
51308         * modules/linkedhash-list-tests (Makefile.am): New variable
51309         test_linkedhash_list_LDADD.
51310         * modules/rbtree-list-tests (Makefile.am): New variable
51311         test_rbtree_list_LDADD.
51312         * modules/rbtree-oset-tests (Makefile.am): New variable
51313         test_rbtree_oset_LDADD.
51314         * modules/rbtreehash-list-tests (Makefile.am): New variable
51315         test_rbtreehash_list_LDADD.
51316         * modules/xvasprintf-tests (Makefile.am): New variable
51317         test_xvasprintf_LDADD.
51318         Reported by Eric Blake.
51319
51320 2007-04-03  Eric Blake  <ebb9@byu.net>
51321
51322         * DEPENDENCIES: Weaken m4 requirements.
51323
51324 2007-04-03  Bruno Haible  <bruno@clisp.org>
51325
51326         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
51327         * modules/isnanl-tests (configure.ac): Likewise.
51328
51329 2007-04-03  Ben Pfaff  <blp@gnu.org>
51330
51331         * modules/iconv_open: Add $(srcdir)/ to source directory
51332         references in Makefile fragments that call gperf, to fix VPATH
51333         builds.
51334
51335 2007-04-03  Bruno Haible  <bruno@clisp.org>
51336
51337         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
51338         * lib/ldexpl.c: Undo last change.
51339
51340 2007-04-03  Bruno Haible  <bruno@clisp.org>
51341
51342         * modules/printf-frexpl (Depends-on): Undo last change.
51343         (Files): Add m4/ldexpl.m4.
51344
51345 2007-04-03  Bruno Haible  <bruno@clisp.org>
51346
51347         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
51348         * modules/isnanl (Link): New section.
51349
51350         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
51351         * modules/frexp (Link): New section.
51352
51353         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
51354         * modules/frexpl (Link): New section.
51355
51356         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
51357         * modules/ldexpl (Link): New section.
51358
51359 2007-04-03  Bruno Haible  <bruno@clisp.org>
51360
51361         * modules/TEMPLATE-EXTENDED: New file.
51362         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
51363
51364 2007-04-03  Bruno Haible  <bruno@clisp.org>
51365
51366         * DEPENDENCIES: New file.
51367         Suggested by Simon Josefsson.
51368
51369 2007-04-03  Bruno Haible  <bruno@clisp.org>
51370
51371         * doc/gnulib.texi: Escape @.
51372
51373 2007-04-03  James Youngman  <jay@gnu.org>
51374         and Paul Eggert  <eggert@cs.ucla.edu>
51375
51376         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
51377         birthtime on all systems that have birthtime, not just those which
51378         use st_birthtimensec rather than st_birthtim.  Putting zero in
51379         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
51380         that the birth time is not available for files on an NFS mount.
51381
51382 2007-04-03  Simon Josefsson  <simon@josefsson.org>
51383
51384         * modules/memxor: Move back from crypto/, suggested by Bruno.
51385         * modules/crypto/hmac-sha1: Fix memxor dependency.
51386
51387         * modules/crypto/gc: Moved from ../.
51388
51389 2007-04-02  Eric Blake  <ebb9@byu.net>
51390
51391         * lib/ldexpl.c (includes): Avoid libm.
51392
51393         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
51394
51395 2007-04-02  Bruno Haible  <bruno@clisp.org>
51396
51397         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
51398         on IRIX.
51399
51400 2007-04-02  Bruno Haible  <bruno@clisp.org>
51401
51402         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
51403         x86 or x86_64 platforms running MacOS X.
51404         Reported by Ryan Schmidt <@ryandesign.com>.
51405
51406 2007-04-02  Bruno Haible  <bruno@clisp.org>
51407
51408         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
51409         i386.
51410
51411 2007-04-01  Simon Josefsson  <simon@josefsson.org>
51412
51413         * modules/crypto/arcfour: Moved from ../.
51414         * modules/crypto/arcfour-tests: Moved from ../.
51415         * modules/crypto/arctwo: Moved from ../.
51416         * modules/crypto/arctwo-tests: Moved from ../.
51417         * modules/crypto/des: Moved from ../.
51418         * modules/crypto/des-tests: Moved from ../.
51419         * modules/crypto/gc-arcfour: Moved from ../.
51420         * modules/crypto/gc-arcfour-tests: Moved from ../.
51421         * modules/crypto/gc-arctwo: Moved from ../.
51422         * modules/crypto/gc-arctwo-tests: Moved from ../.
51423         * modules/crypto/gc-des: Moved from ../.
51424         * modules/crypto/gc-des-tests: Moved from ../.
51425         * modules/crypto/gc-hmac-md5: Moved from ../.
51426         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
51427         * modules/crypto/gc-hmac-sha1: Moved from ../.
51428         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
51429         * modules/crypto/gc-md2: Moved from ../.
51430         * modules/crypto/gc-md2-tests: Moved from ../.
51431         * modules/crypto/gc-md4: Moved from ../.
51432         * modules/crypto/gc-md4-tests: Moved from ../.
51433         * modules/crypto/gc-md5: Moved from ../.
51434         * modules/crypto/gc-md5-tests: Moved from ../.
51435         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
51436         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
51437         * modules/crypto/gc-random: Moved from ../.
51438         * modules/crypto/gc-rijndael: Moved from ../.
51439         * modules/crypto/gc-rijndael-tests: Moved from ../.
51440         * modules/crypto/gc-sha1: Moved from ../.
51441         * modules/crypto/gc-sha1-tests: Moved from ../.
51442         * modules/crypto/gc-tests: Moved from ../.
51443         * modules/crypto/hmac-md5: Moved from ../.
51444         * modules/crypto/hmac-md5-tests: Moved from ../.
51445         * modules/crypto/hmac-sha1: Moved from ../.
51446         * modules/crypto/hmac-sha1-tests: Moved from ../.
51447         * modules/crypto/md2: Moved from ../.
51448         * modules/crypto/md2-tests: Moved from ../.
51449         * modules/crypto/md4: Moved from ../.
51450         * modules/crypto/md4-tests: Moved from ../.
51451         * modules/crypto/md5: Moved from ../.
51452         * modules/crypto/md5-tests: Moved from ../.
51453         * modules/crypto/memxor: Moved from ../.
51454         * modules/crypto/rijndael: Moved from ../.
51455         * modules/crypto/rijndael-tests: Moved from ../.
51456         * modules/crypto/sha1: Moved from ../.
51457
51458 2007-03-30  James Youngman  <jay@gnu.org>
51459
51460         * tests/test-stat-time.c (prepare_test): use chmod() rather than
51461         rename() to change the ctime of a file (because ctime is unaffected
51462         by rename on jfs2 on AIX 5.1).
51463         (main): Start by doing cleanup, in case a previous run failed leaving
51464         test files behind.
51465
51466 2007-03-31  Bruno Haible  <bruno@clisp.org>
51467
51468         Support old proprietary implementations of iconv.
51469         * modules/iconv_open: New file.
51470         * lib/iconv_.h: New file.
51471         * m4/iconv_h.m4: New file.
51472         * lib/iconv_open.c: New file.
51473         * lib/iconv_open-aix.gperf: New file.
51474         * lib/iconv_open-hpux.gperf: New file.
51475         * lib/iconv_open-irix.gperf: New file.
51476         * lib/iconv_open-osf.gperf: New file.
51477         * m4/iconv_open.m4: New file.
51478         * modules/linebreak (Depends-on): Add iconv_open.
51479         * modules/striconv (Depends-on): Likewise.
51480         * modules/striconveh (Depends-on): Likewise.
51481         * modules/unicodeio (Depends-on): Likewise.
51482         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
51483         (iconv_t)(-1).
51484         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
51485         conversion if cd is (iconv_t)(-1).
51486         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
51487         is not possible.
51488
51489 2007-03-31  Bruno Haible  <bruno@clisp.org>
51490
51491         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51492         work on Solaris either. Protect also second use of "autodetect_jp".
51493
51494 2007-03-31  Bruno Haible  <bruno@clisp.org>
51495
51496         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
51497         the function is not present.
51498
51499 2007-03-31  Bruno Haible  <bruno@clisp.org>
51500
51501         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
51502         the function is not present.
51503
51504 2007-03-31  Bruno Haible  <bruno@clisp.org>
51505
51506         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
51507         a bug in HP-UX iconv_open().
51508
51509 2007-03-31  Bruno Haible  <bruno@clisp.org>
51510
51511         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
51512         (Mathematics <math.h>): New section, add fpieee.
51513         (Input/output <stdio.h>): Add fseterr.
51514         (Mathematics <math.h>): New section, add printf-frexp.
51515         (Container data structures): Add sublist.
51516         (Core language properties): Add fpucw, inline.
51517         (Functions for greatest-width integer types <inttypes.h>): Add
51518         imaxabs, imaxdiv, inttypes.
51519         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
51520         isnanl-nolibm, ldexp.
51521         (Mathematics <math.h>): New section, add printf-frexpl.
51522         (Support for systems lacking POSIX:2001): Add fprintf-posix,
51523         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
51524         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
51525         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
51526         (Unicode string functions): Add unistr/u*-mbtoucr.
51527         (Java): Add javacomp-script, javaexec-script.
51528         (C#): Add csharpcomp-script, csharpexec-script.
51529         (Support for building libraries and executables): Add havelib,
51530         relocatable-*.
51531         (Support for maintaining and releasing projects): Renamed from
51532         'Support for maintaining and release projects'. Add announce-gen.
51533
51534 2007-03-31  Bruno Haible  <bruno@clisp.org>
51535
51536         * README: Talk primarily about git.
51537         (git and CVS): Renamed from CVS.
51538         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
51539         gnulib is available through git.
51540         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
51541
51542 2007-03-30  Bruno Haible  <bruno@clisp.org>
51543
51544         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
51545         * lib/poll_.h: Likewise.
51546         * lib/stat_.h: Likewise.
51547         * lib/sys_time_.h: Likewise.
51548         * lib/sysexit_.h: Likewise.
51549         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
51550         * lib/stdbool_.h: Likewise.
51551         * lib/byteswap_.h: Add double-inclusion guard.
51552
51553 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
51554
51555         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
51556
51557 2007-03-30  Karl Berry  <karl@gnu.org>
51558
51559         * config/srclist-update: double space after USA in the license
51560         substitution, since that's how it's usually (?) written.
51561
51562 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
51563
51564         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
51565         reported by Bruno Haible.
51566
51567 2007-03-29  Bruno Haible  <bruno@clisp.org>
51568
51569         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
51570         a bug in AIX iconv().
51571
51572 2007-03-29  Bruno Haible  <bruno@clisp.org>
51573
51574         * modules/ldexpl-tests: New file.
51575         * tests/test-ldexpl.c: New file.
51576
51577 2007-03-29  Bruno Haible  <bruno@clisp.org>
51578
51579         * lib/ldexpl.c: Include fpucw.h.
51580         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
51581         multiplication.
51582         * modules/ldexpl (Depends-on): Add fpucw.
51583
51584 2007-03-29  Bruno Haible  <bruno@clisp.org>
51585
51586         * modules/ldexpl: New file.
51587         * m4/ldexpl.m4: New file.
51588         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
51589         set.
51590         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
51591         REPLACE_LDEXPL.
51592         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
51593         REPLACE_LDEXPL.
51594         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51595         gl_FUNC_LDEXPL_WORKS.
51596         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
51597         * modules/mathl (Files): Remove lib/ldexpl.c.
51598         (Depends-on): Add ldexpl.
51599
51600 2007-03-29  Bruno Haible  <bruno@clisp.org>
51601
51602         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
51603
51604 2007-03-29  Bruno Haible  <bruno@clisp.org>
51605
51606         * tests/test-striconveh.c (main): Don't assume that a direct conversion
51607         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
51608         and possibly also HP-UX.
51609         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51610         work on AIX, IRIX, HP-UX, OSF/1.
51611         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
51612         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
51613         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
51614         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
51615         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
51616         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
51617
51618 2007-03-29  Bruno Haible  <bruno@clisp.org>
51619
51620         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
51621
51622 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51623
51624         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
51625         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
51626
51627 2007-03-29  Eric Blake  <ebb9@byu.net>
51628
51629         * lib/acl-internal.h: Remove redundant include.
51630         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
51631         Cygwin when a file is locked.
51632
51633 2007-03-29  Bruno Haible  <bruno@clisp.org>
51634
51635         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
51636         file.
51637         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
51638
51639 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51640
51641         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
51642         try to remove a parent directory if the child couldn't be removed
51643         (except for the first rmdir, which could fail because the child
51644         doesn't exist).  Problem reported by Jeff Blaine in
51645         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
51646
51647 2007-03-28  Bruno Haible  <bruno@clisp.org>
51648
51649         * lib/striconveh.c (utf8conv_carefully): New function.
51650         (mem_cd_iconveh_internal): Invoke it.
51651
51652 2007-03-28  Bruno Haible  <bruno@clisp.org>
51653
51654         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
51655         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
51656         input.
51657         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
51658         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
51659         unistr/u8-uctomb.
51660
51661 2007-03-28  Bruno Haible  <bruno@clisp.org>
51662
51663         * modules/unistr/u8-mbtoucr: New file.
51664         * lib/unistr/u8-mbtoucr.c: New file.
51665         * modules/unistr/u16-mbtoucr: New file.
51666         * lib/unistr/u16-mbtoucr.c: New file.
51667         * modules/unistr/u16-mbtoucr: New file.
51668         * lib/unistr/u16-mbtoucr.c: New file.
51669         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
51670
51671 2007-03-27  Simon Josefsson  <simon@josefsson.org>
51672             Bruno Haible  <bruno@clisp.org>
51673
51674         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
51675         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
51676         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
51677
51678         * m4/stdio_h.m4: Add stubs for vasprintf too.
51679
51680         * modules/stdio: Support vasprintf in sed command.
51681
51682         * modules/vasprintf: Depend on stdio for prototypes.  Remove
51683         vasprintf.h.  Add stdio module indicator.
51684
51685         * lib/stdio_.h: Declare asprintf and vasprintf, based on
51686         vasprintf.h.
51687
51688         * lib/vasprintf.h: File removed.
51689
51690         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
51691         * lib/vasprintf.c: Ditto.
51692         * lib/xvasprintf.c: Ditto.
51693         * tests/test-vasprintf-posix.c: Ditto.
51694         * tests/test-vasprintf.c: Ditto.
51695
51696 2007-03-27  Bruno Haible  <bruno@clisp.org>
51697
51698         Make vasnprintf multithread-safe.
51699         * lib/vasnprintf.c (decimal_point_char): New function.
51700         (VASNPRINTF): Use it.
51701         Suggested by Simon Josefsson.
51702
51703 2007-03-27  Eric Blake  <ebb9@byu.net>
51704
51705         Support sub-second birthtime on cygwin.
51706         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
51707         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
51708         (get_stat_birthtime): Also work with st_birthtim.
51709
51710 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
51711
51712         * lib/stat-time.h (USE_BIRTHTIME): Remove.
51713         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
51714         (get_stat_birthtime_ns): Do not try to use "spare" fields.
51715         (get_stat_birthtime_ns): Simplify compile-time tests.
51716         (get_stat_birthtime): Change the API to look like
51717         get_stat_mtime etc., except return a negative tv_nsec on error.
51718         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
51719         Don't check for "spare" fields.
51720         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
51721         or for struct stat.st_birthtime, as these tests aren't used.
51722         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
51723
51724 2007-03-27  Bruno Haible  <bruno@clisp.org>
51725
51726         * lib/stat-time.h: Include <sys/stat.h>.
51727
51728 2007-03-27  James Youngman  <jay@gnu.org>
51729
51730         * lib/stat-time.h (get_stat_birthtime): New function for
51731           retrieving st_birthtime as provided by UFS2 (hence *BSD).
51732         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
51733           and its variants.
51734         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
51735         * modules/stat-time-test: New file.
51736         * tests/test-stat-time.c: New test, devised by Bruno Haible.
51737
51738 2007-03-26  Bruno Haible  <bruno@clisp.org>
51739
51740         Better support of signalling NaNs.
51741         * lib/atanl.c: Include isnanl.h.
51742         (atanl): Perform test for NaN at the beginning of the function and
51743         through a call to isnanl.
51744         * lib/cosl.c: Include isnanl.h.
51745         (cosl): Perform test for NaN at the beginning of the function and
51746         through a call to isnanl.
51747         * lib/ldexpl.c: Include isnanl.h.
51748         (ldexpl): Perform test for NaN through a call to isnanl.
51749         * lib/logl.c: Include isnanl.h.
51750         (logl): Perform test for NaN at the beginning of the function and
51751         through a call to isnanl.
51752         * lib/sinl.c: Include isnanl.h.
51753         (sinl): Perform test for NaN at the beginning of the function and
51754         through a call to isnanl.
51755         * lib/sqrtl.c: Include isnanl.h.
51756         (sqrtl): Perform test for NaN at the beginning of the function and
51757         through a call to isnanl.
51758         * lib/tanl.c: Include isnanl.h.
51759         (tanl): Perform test for NaN at the beginning of the function and
51760         through a call to isnanl.
51761         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
51762         * modules/mathl (Depends-on): Add isnanl.
51763
51764 2007-03-26  Eric Blake  <ebb9@byu.net>
51765
51766         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
51767         regression in logic sense of previous patch.
51768
51769 2007-03-26  Bruno Haible  <bruno@clisp.org>
51770
51771         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
51772         unportable shell command "if ! ...".
51773         Reported by Ralf Wildenhues.
51774
51775 2007-03-25  Bruno Haible  <bruno@clisp.org>
51776
51777         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
51778         <sysexits.h> file, and only add EX_CONFIG.
51779         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
51780         absolute file name and whether it is sufficient. Substitute also
51781         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
51782         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
51783         ABSOLUTE_SYSEXITS_H into sysexits.h.
51784
51785 2007-03-25  Bruno Haible  <bruno@clisp.org>
51786
51787         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
51788         hints is NULL.
51789
51790 2007-03-25  Bruno Haible  <bruno@clisp.org>
51791
51792         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
51793         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
51794
51795 2007-03-25  Bruno Haible  <bruno@clisp.org>
51796
51797         * lib/vasnprintf.c: Include langinfo.h.
51798         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
51799         multithread-safe.
51800         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
51801         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
51802         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51803         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51804         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51805         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51806         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51807         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
51808         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51809         Reported by Simon Josefsson.
51810
51811 2007-03-25  Bruno Haible  <bruno@clisp.org>
51812
51813         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
51814         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
51815         * modules/vasnprintf (Depends-on): Add stdint.
51816
51817 2007-03-25  Bruno Haible  <bruno@clisp.org>
51818
51819         * modules/fpieee: New file.
51820         * m4/fpieee.m4: New file.
51821         * modules/isnan-nolibm (Depends-on): Add fpieee.
51822         * modules/isnanl-nolibm (Depends-on): Add fpieee.
51823         * modules/isnanl (Depends-on): Add fpieee.
51824
51825 2007-03-25  Bruno Haible  <bruno@clisp.org>
51826
51827         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
51828
51829 2007-03-25  Bruno Haible  <bruno@clisp.org>
51830
51831         Avoid test failures on IRIX 6.5.
51832         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
51833         (main): Use it.
51834         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
51835         macros.
51836         (main): Use them.
51837
51838 2007-03-25  Bruno Haible  <bruno@clisp.org>
51839
51840         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
51841         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
51842         exists but doesn't work.
51843         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
51844         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
51845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
51846         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
51847         math.h.
51848
51849 2007-03-25  Bruno Haible  <bruno@clisp.org>
51850
51851         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
51852         returns inf. Needed on IRIX 6.5.
51853
51854 2007-03-25  Bruno Haible  <bruno@clisp.org>
51855
51856         * tests/test-frexpl.c: Include isnanl-nolibm.h.
51857         (main): Use isnanl instead of x != x idiom.
51858         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
51859
51860         * tests/test-frexp.c: Include isnan.h.
51861         (main): Use isnan instead of x != x idiom.
51862         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
51863
51864 2007-03-25  Bruno Haible  <bruno@clisp.org>
51865
51866         * tests/test-frexp.c (NaN): New function/macro.
51867         (main): Use it instead of 0.0 / 0.0.
51868         * tests/test-isnan.c (NaN): New function/macro.
51869         (main): Use it instead of 0.0 / 0.0.
51870         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
51871         (test_function): Use it instead of 0.0 / 0.0.
51872         * tests/test-vasprintf-posix.c (NaN): New function/macro.
51873         (test_function): Use it instead of 0.0 / 0.0.
51874         * tests/test-snprintf-posix.h (NaN): New function/macro.
51875         (test_function): Use it instead of 0.0 / 0.0.
51876         * tests/test-sprintf-posix.h (NaN): New function/macro.
51877         (test_function): Use it instead of 0.0 / 0.0.
51878         * tests/test-fprintf-posix.h (NaN): New function/macro.
51879         (test_function): Use it instead of 0.0 / 0.0.
51880         * tests/test-printf-posix.h (NaN): New function/macro.
51881         (test_function): Use it instead of 0.0 / 0.0.
51882
51883         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
51884
51885 2007-03-25  Bruno Haible  <bruno@clisp.org>
51886
51887         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
51888
51889 2007-03-25  Bruno Haible  <bruno@clisp.org>
51890
51891         * lib/regexec.c (merge_state_with_log): Make static.
51892
51893 2007-03-25  Bruno Haible  <bruno@clisp.org>
51894
51895         * lib/trigl.c (kernel_rem_pio2): Make static.
51896
51897 2007-03-25  Bruno Haible  <bruno@clisp.org>
51898
51899         * lib/sincosl.c (sincosl_table): Make static.
51900
51901 2007-03-25  Bruno Haible  <bruno@clisp.org>
51902
51903         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
51904         if the compiler does not support C99.
51905
51906 2007-03-25  Bruno Haible  <bruno@clisp.org>
51907
51908         * modules/time (Makefile.am): Ensure all rule action lines start with a
51909         tab.
51910
51911 2007-03-24  Bruno Haible  <bruno@clisp.org>
51912
51913         * modules/tsearch-tests: New file.
51914         * tests/test-tsearch.sh: New file.
51915         * tests/test-tsearch.c: New file, mostly copied from glibc.
51916
51917         * modules/search-tests: New file.
51918         * tests/test-search.c: New file.
51919
51920         * modules/search: New file.
51921         * lib/search_.h: New file, incorporating lib/tsearch.h.
51922         * m4/search_h.m4: New file.
51923         * lib/tsearch.h: Remove file.
51924         * lib/tsearch.c: Include search.h instead of tsearch.h.
51925         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
51926         HAVE_TSEARCH.
51927         * modules/tsearch (Files): Remove lib/tsearch.h.
51928         (Depends-on): Add search.
51929         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
51930         (Include): Change tsearch.h into search.h.
51931
51932 2007-03-24  Bruno Haible  <bruno@clisp.org>
51933
51934         * modules/fpucw: New file.
51935         * lib/fpucw.h: New file.
51936         * lib/frexp.c: Include fpucw.h.
51937         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51938         (FUNC): Use them.
51939         * lib/printf-frexp.c: Include fpucw.h.
51940         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51941         (FUNC): Use them.
51942         * lib/vasnprintf.c: Include fpucw.h.
51943         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
51944         'long double' calculations.
51945         * tests/test-frexpl.c: Include fpucw.h.
51946         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51947         * tests/test-printf-frexpl.c: Include fpucw.h.
51948         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51949         * modules/frexpl (Depends-on): Add fpucw.
51950         * modules/printf-frexpl (Depends-on): Likewise.
51951         * modules/fprintf-posix (Depends-on): Likewise.
51952         * modules/snprintf-posix (Depends-on): Likewise.
51953         * modules/sprintf-posix (Depends-on): Likewise.
51954         * modules/vasnprintf-posix (Depends-on): Likewise.
51955         * modules/vasprintf-posix (Depends-on): Likewise.
51956         * modules/vfprintf-posix (Depends-on): Likewise.
51957         * modules/vsnprintf-posix (Depends-on): Likewise.
51958         * modules/vsprintf-posix (Depends-on): Likewise.
51959         * modules/frexpl-tests (Depends-on): Likewise.
51960         * modules/printf-frexpl-tests (Depends-on): Likewise.
51961
51962 2007-03-24  Bruno Haible  <bruno@clisp.org>
51963
51964         * lib/float+.h: New file.
51965         * lib/isnan.c: Include float+.h.
51966         (SIZE): New macro.
51967         (FUNC): Compare only SIZE bytes of the value.
51968         * lib/vasnprintf.c: Include float+.h.
51969         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
51970         SIZEOF_LDBL or SIZEOF_DBL bytes.
51971         * modules/isnan-nolibm (Files): Add lib/float+.h.
51972         * modules/isnanl-nolibm (Files): Add lib/float+.h.
51973         * modules/isnanl (Files): Add lib/float+.h.
51974         * modules/vasnprintf (Files): Add lib/float+.h.
51975
51976 2007-03-24  Bruno Haible  <bruno@clisp.org>
51977
51978         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
51979         include isnanl-nolibm.h.
51980
51981 2007-03-24  Bruno Haible  <bruno@clisp.org>
51982
51983         * tests/test-read-file.c (main): Don't produce spurious output for
51984         expected situations. Make the test fail if it encountered unexpected
51985         results.
51986
51987 2007-03-24  Bruno Haible  <bruno@clisp.org>
51988
51989         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
51990         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
51991
51992 2007-03-24  Bruno Haible  <bruno@clisp.org>
51993
51994         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
51995
51996 2007-03-24  Bruno Haible  <bruno@clisp.org>
51997
51998         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
51999         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
52000
52001         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
52002         * modules/utf8-ucs4: Turn into a symbolic link to module
52003         unistr/u8-mbtouc.
52004
52005         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
52006         utf8-ucs4-unsafe.
52007         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
52008         unistr/u8-mbtouc-unsafe.
52009
52010         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
52011         * modules/utf16-ucs4: Turn into a symbolic link to module
52012         unistr/u16-mbtouc.
52013
52014         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
52015         utf16-ucs4-unsafe.
52016         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
52017         unistr/u16-mbtouc-unsafe.
52018
52019         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
52020         * modules/ucs4-utf8: Turn into a symbolic link to module
52021         unistr/u8-ubtomb.
52022
52023         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
52024         * modules/ucs4-utf16: Turn into a symbolic link to module
52025         unistr/u16-ubtomb.
52026
52027 2007-03-24  Bruno Haible  <bruno@clisp.org>
52028
52029         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
52030         Enable the function only if HAVE_INLINE.
52031         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
52032         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
52033         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
52034         Enable the function only if HAVE_INLINE.
52035         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
52036         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
52037         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
52038         Enable the function only if HAVE_INLINE.
52039         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
52040         Enable the function only if HAVE_INLINE.
52041         * modules/utf8-ucs4: Update.
52042         * modules/utf8-ucs4-unsafe: Update.
52043         * modules/utf16-ucs4: Update.
52044         * modules/utf16-ucs4-unsafe: Update.
52045         * modules/ucs4-utf8: Update.
52046         * modules/ucs4-utf16: Update.
52047
52048 2007-03-24  Bruno Haible  <bruno@clisp.org>
52049
52050         * lib/utf8-ucs4.h: Remove file.
52051         * lib/utf8-ucs4-unsafe.h: Remove file.
52052         * lib/utf16-ucs4.h: Remove file.
52053         * lib/utf16-ucs4-unsafe.h: Remove file.
52054         * lib/ucs4-utf8.h: Remove file.
52055         * lib/ucs4-utf16.h: Remove file.
52056         * lib/unistr.h: Include their previous contents.
52057         * m4/utf-ucs4.m4: Remove file.
52058         * m4/ucs4-utf.m4: Remove file.
52059         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
52060         (Depends-on): Add unistr/base.
52061         (configure.ac): Remove gl_UTF_UCS4.
52062         (Makefile.am): Update.
52063         (Include): Change to unistr.h.
52064         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
52065         (Depends-on): Add unistr/base.
52066         (configure.ac): Remove gl_UTF_UCS4.
52067         (Makefile.am): Update.
52068         (Include): Change to unistr.h.
52069         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
52070         (Depends-on): Add unistr/base.
52071         (configure.ac): Remove gl_UTF_UCS4.
52072         (Makefile.am): Update.
52073         (Include): Change to unistr.h.
52074         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
52075         (Depends-on): Add unistr/base.
52076         (configure.ac): Remove gl_UTF_UCS4.
52077         (Makefile.am): Update.
52078         (Include): Change to unistr.h.
52079         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
52080         (Depends-on): Add unistr/base.
52081         (configure.ac): Remove gl_UCS4_UTF.
52082         (Makefile.am): Update.
52083         (Include): Change to unistr.h.
52084         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
52085         (Depends-on): Add unistr/base.
52086         (configure.ac): Remove gl_UCS4_UTF.
52087         (Makefile.am): Update.
52088         (Include): Change to unistr.h.
52089         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
52090         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
52091         utf8-ucs4-unsafe.h.
52092         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
52093         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
52094         utf16-ucs4-unsafe.h.
52095         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
52096         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
52097         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
52098         * lib/unistr/u8-strchr.c: Likewise.
52099         * lib/unistr/u8-strrchr.c: Likewise.
52100         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
52101         * lib/unistr/u16-strchr.c: Likewise.
52102         * lib/unistr/u16-strrchr.c: Likewise.
52103         * lib/striconveh.c: Update.
52104         * lib/linebreak.c: Update.
52105
52106 2007-03-24  Bruno Haible  <bruno@clisp.org>
52107
52108         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
52109         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
52110
52111 2007-03-22  Bruno Haible  <bruno@clisp.org>
52112
52113         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
52114
52115 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
52116
52117         * MODULES.html.sh (File system functions): New module write-any-file.
52118         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
52119         * m4/write-any-file.m4: New files.
52120
52121 2007-03-23  Eric Blake  <ebb9@byu.net>
52122
52123         * gnulib-tool: Rearrange space-tab sequences, since some editors
52124         like to eat them.
52125
52126 2007-03-23  Eric Blake  <ebb9@byu.net>
52127
52128         * lib/version-etc.c (version_etc_va): Update license wording to
52129         be more concise.  Recommended by Richard Stallman.
52130
52131 2007-03-22  Bruno Haible  <bruno@clisp.org>
52132
52133         * lib/poll.c (MSG_PEEK): New fallback definition.
52134
52135 2007-03-22  Bruno Haible  <bruno@clisp.org>
52136
52137         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
52138         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
52139         (main): Update.
52140         Fixes a compilation error on BeOS.
52141
52142 2007-03-22  Bruno Haible  <bruno@clisp.org>
52143
52144         * modules/frexpl-tests: New file.
52145         * tests/test-frexpl.c: New file.
52146
52147         * modules/frexpl: New file.
52148         * m4/frexpl.m4: New file.
52149         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
52150         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
52151         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
52152         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
52153         (Depends-on): Add frexpl. Remove isnanl-nolibm.
52154         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
52155
52156 2007-03-22  Bruno Haible  <bruno@clisp.org>
52157
52158         * lib/frexpl.c: Share code with lib/frexp.c.
52159         * modules/mathl (Files): Add lib/frexp.c.
52160         (Depends-on): Add isnanl-nolibm.
52161
52162 2007-03-22  Bruno Haible  <bruno@clisp.org>
52163
52164         * modules/printf-frexp (Files): Add m4/frexp.m4.
52165         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
52166         only if the found frexp function actually works.
52167
52168 2007-03-22  Bruno Haible  <bruno@clisp.org>
52169
52170         * lib/frexp.c: Remove older implementation that uses divisions.
52171
52172 2007-03-21  Bruno Haible  <bruno@clisp.org>
52173
52174         * modules/frexp-tests: New file.
52175         * tests/test-frexp.c: New file.
52176
52177         * modules/frexp: New file.
52178         * lib/frexp.c: New file.
52179         * m4/frexp.m4: New file.
52180         * lib/math_.h (frexp): New declaration.
52181         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
52182         REPLACE_FREXP.
52183         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
52184
52185 2007-03-21  Bruno Haible  <bruno@clisp.org>
52186
52187         * modules/isnanl-tests: New file.
52188         * tests/test-isnanl.c: New file.
52189
52190         * modules/isnanl: New file.
52191         * lib/isnanl.h: New file.
52192         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
52193         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
52194         gl_FUNC_ISNANL_WORKS.
52195         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
52196         New macros.
52197
52198 2007-03-21  Bruno Haible  <bruno@clisp.org>
52199
52200         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
52201         lib/isnanl.h.
52202         (Include): Update.
52203         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
52204         * lib/vasnprintf.c: Update.
52205         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
52206         tests/test-isnanl.h, remove tests/test-isnanl.c.
52207         (Makefile.am): Update.
52208         * tests/test-isnanl-nolibm.c: New file.
52209         * tests/test-isnanl.h: New file.
52210         * tests/test-isnanl.c: Remove file.
52211
52212 2007-03-21  Jim Meyering  <jim@meyering.net>
52213
52214         When trying to open ".", treat ESTALE like EACCES.
52215         * lib/savewd.c (savewd_save): Resort to forking not just upon
52216         failure with EACCES, but also when errno is ESTALE.
52217
52218 2007-03-20  Bruno Haible  <bruno@clisp.org>
52219
52220         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
52221         Needed on AIX 5.1. Reported by Matthew Woehlke.
52222
52223 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52224
52225         Suggestions by Bruno Haible:
52226         * lib/acl-internal.h: Include "gettext.h" rather than rolling
52227         our own.
52228         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
52229         * modules/acl (Depends-on): Add gettext.
52230
52231 2007-03-19  Bruno Haible  <bruno@clisp.org>
52232
52233         * modules/iconvme: Remove file.
52234         * lib/iconvme.h: Remove file.
52235         * lib/iconvme.c: Remove file.
52236         * m4/iconvme.m4: Remove file.
52237
52238 2007-03-19  Bruno Haible  <bruno@clisp.org>
52239
52240         * doc/relocatable-maint.texi: Break long shell script line.
52241         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52242
52243 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52244
52245         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
52246         handle file_has_acl.
52247         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
52248         * lib/acl.c: Move header inclusions and related macro defns into
52249         lib/acl-internal.h.
52250         (S_ISLNK): Remove defn, since that's now done for us.
52251         (file_has_acl): Move to lib/file-has-acl.c.
52252         Call acl_trivial if available.  This is the crucial part of the fix.
52253         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
52254         shared within the library.  Rewrite a bit, partly to make it compatible
52255         with the GNU coding style.
52256         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
52257         Remove unnecessary double-quotes.
52258         Don't test for acl_to_text; the build will catch that.
52259         Replace acl_entries if it doesn't exist and it is needed.
52260         Check for -lsec and acl_trivial (as used on Solaris 10).
52261         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
52262         lib/file-has-acl.c.
52263         (Depends-on): Add sys_stat, for S_ISLNK.
52264
52265 2007-03-19  Ben Pfaff  <blp@gnu.org>
52266
52267         * doc/gnulib.texi: Fix typos.
52268         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52269
52270 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52271
52272         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
52273         If size is zero here, buf must be zero.
52274
52275 2007-03-19  Simon Josefsson  <simon@josefsson.org>
52276
52277         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
52278         <bruno@clisp.org>.
52279
52280 2007-03-18  Bruno Haible  <bruno@clisp.org>
52281
52282         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
52283         Suggested by Eric Blake.
52284
52285 2007-03-18  Ben Pfaff  <blp@gnu.org>
52286
52287         * doc/relocatable.texi: Recommend using as prefix a directory
52288         that does not exist and will never be created.  Based on
52289         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
52290         and others.
52291
52292 2007-03-17  Bruno Haible  <bruno@clisp.org>
52293
52294         * lib/fchownat.c: Include lchown.h.
52295
52296 2007-03-17  Bruno Haible  <bruno@clisp.org>
52297
52298         Fix endless loop when the given allocated size was > INT_MAX.
52299         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
52300         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
52301         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
52302         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
52303         * lib/sprintf.c (sprintf): Likewise.
52304
52305 2007-03-17  Bruno Haible  <bruno@clisp.org>
52306
52307         * tests/test-argp-2.sh (func_compare): Output a context diff.
52308
52309 2007-03-17  Bruno Haible  <bruno@clisp.org>
52310
52311         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
52312         locale's decimal-point character.
52313
52314 2007-03-17  Bruno Haible  <bruno@clisp.org>
52315
52316         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
52317         before comparing it. Needed because on some platforms (e.g. x86) a
52318         'long double' occupies less bytes than sizeof (long double).
52319
52320 2007-03-17  Bruno Haible  <bruno@clisp.org>
52321
52322         * tests/test-crc.c (main): Make printf statements 64-bit clean.
52323         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
52324         * tests/test-getaddrinfo.c (simple): Likewise.
52325         * tests/test-read-file.c (main): Likewise.
52326
52327 2007-03-17  Bruno Haible  <bruno@clisp.org>
52328
52329         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
52330
52331 2007-03-17  Bruno Haible  <bruno@clisp.org>
52332
52333         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
52334         unused variable.
52335
52336 2007-03-17  Bruno Haible  <bruno@clisp.org>
52337
52338         * tests/test-c-strcasecmp.c: Include c-strcase.h.
52339         * tests/test-c-strncasecmp.c: Likewise.
52340
52341 2007-03-17  Bruno Haible  <bruno@clisp.org>
52342
52343         * modules/stdlib (Depends-on): Add unistd.
52344         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
52345         Needed for MacOS X 10.3.
52346
52347 2007-03-17  Bruno Haible  <bruno@clisp.org>
52348
52349         * lib/unistr/u-strdup.h: Include <stdlib.h>.
52350
52351 2007-03-17  Bruno Haible  <bruno@clisp.org>
52352
52353         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
52354
52355 2007-03-17  Bruno Haible  <bruno@clisp.org>
52356
52357         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
52358         to reflect files copied from gnulib (with or without modifications).
52359         Suggested by Jim Meyering.
52360
52361 2007-03-17  Eric Blake  <ebb9@byu.net>
52362
52363         * NEWS: Document stdlib change from 2007-02-18.
52364
52365 2007-03-17  Jim Meyering  <jim@meyering.net>
52366
52367         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
52368         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
52369         someone uses a name containing shell meta-characters.
52370         Reported by Alfred M. Szmidt.
52371
52372         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
52373
52374 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52375
52376         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
52377         and copy gettext configuration files only if configure.ac contains
52378         a use of AM_GNU_GETTEXT_VERSION.
52379
52380 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52381
52382         * build-aux/bootstrap (gnulib_name): New variable.
52383         (gnulib_tool_options): Use it.
52384
52385 2007-03-13  Simon Josefsson  <simon@josefsson.org>
52386
52387         * tests/test-des.c: Use new namespace.
52388
52389 2007-03-15  Bruno Haible  <bruno@clisp.org>
52390
52391         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
52392         Reported by James Youngman <jay@gnu.org>.
52393
52394 2007-03-15  Bruno Haible  <bruno@clisp.org>
52395
52396         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
52397         declared prototype. Needed with cc on OSF/1 5.1.
52398
52399 2007-03-15  Bruno Haible  <bruno@clisp.org>
52400
52401         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
52402         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
52403         (struct gl_list_implementation): Add dispose_fn argument to the
52404         'create_empty', 'create' methods.
52405         (struct gl_list_impl_base): Add field 'dispose_fn'.
52406         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
52407         argument.
52408         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
52409         dispose_fn argument.
52410         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
52411         dispose_fn on the dropped values.
52412         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
52413         dispose_fn argument.
52414         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
52415         dropped values.
52416         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
52417         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52418         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
52419         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52420         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
52421         argument.
52422         (gl_tree_list_free): Call dispose_fn on the dropped values.
52423         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
52424         the dropped values.
52425         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
52426         Add dispose_fn argument.
52427         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
52428         Call dispose_fn on the dropped values.
52429         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
52430         Add dispose_fn argument.
52431         (gl_sublist_create): Initialize the 'dispose_fn' field.
52432         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
52433         * tests/test-array_list.c (main): Update.
52434         * tests/test-carray_list.c (main): Update.
52435         * tests/test-avltree_list.c (main): Update.
52436         * tests/test-rbtree_list.c (main): Update.
52437         * tests/test-avltreehash_list.c (main): Update.
52438         * tests/test-rbtreehash_list.c (main): Update.
52439         * tests/test-linked_list.c (main): Update.
52440         * tests/test-linkedhash_list.c (main): Update.
52441         * tests/test-array_oset.c (main): Update.
52442
52443 2007-03-15  Bruno Haible  <bruno@clisp.org>
52444
52445         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
52446         (gl_oset_create_empty): Add dispose_fn argument.
52447         (struct gl_oset_implementation): Add dispose_fn argument to
52448         'create_empty' method.
52449         (struct gl_oset_impl_base): Add dispose_fn field.
52450         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
52451         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
52452         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
52453         values.
52454         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
52455         (gl_tree_oset_free): Call dispose_fn on the dropped values.
52456         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52457         dropped value.
52458         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52459         dropped value.
52460         * tests/test-array_oset.c (main): Update.
52461         * tests/test-avltree_oset.c (main): Update.
52462         * tests/test-rbtree_oset.c (main): Update.
52463         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
52464
52465 2007-03-13  Bruno Haible  <bruno@clisp.org>
52466
52467         * tests/test-stdbool.c (i): Update after last patch.
52468
52469 2007-03-12  Bruno Haible  <bruno@clisp.org>
52470
52471         * lib/quotearg.c: Include <wctype.h> early, before the definition of
52472         the iswprint macro. Needed on Solaris 2.5.1.
52473
52474 2007-03-12  Bruno Haible  <bruno@clisp.org>
52475
52476         * tests/test-printf-frexp.c (main): Declare x as volatile.
52477
52478 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52479
52480         * doc/gnulib.texi (Build robot for gnulib): New section.
52481
52482 2007-03-12  Jim Meyering  <jim@meyering.net>
52483
52484         * build-aux/bootstrap: New file.
52485         * build-aux/bootstrap.conf: New file, from coreutils.
52486
52487 2007-03-11  Bruno Haible  <bruno@clisp.org>
52488
52489         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
52490
52491 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52492
52493         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
52494         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
52495         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
52496
52497 2007-03-11  Bruno Haible  <bruno@clisp.org>
52498
52499         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
52500         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
52501
52502 2007-03-11  Bruno Haible  <bruno@clisp.org>
52503
52504         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
52505         formula. Needed for SunPRO C 5.0.
52506
52507 2007-03-11  Bruno Haible  <bruno@clisp.org>
52508
52509         * modules/long-options (Depends-on): Add getopt.
52510
52511 2007-03-11  Bruno Haible  <bruno@clisp.org>
52512
52513         * modules/modechange (Depends-on): Add stdbool.
52514
52515 2007-03-11  Bruno Haible  <bruno@clisp.org>
52516
52517         * modules/i-ring (Depends-on): Add stdbool.
52518
52519 2007-03-11  Bruno Haible  <bruno@clisp.org>
52520
52521         * modules/gc-des (Depends-on): Add stdbool.
52522
52523 2007-03-11  Bruno Haible  <bruno@clisp.org>
52524
52525         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
52526
52527 2007-03-11  Bruno Haible  <bruno@clisp.org>
52528
52529         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
52530
52531 2007-03-11  Bruno Haible  <bruno@clisp.org>
52532
52533         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
52534
52535 2007-03-11  Bruno Haible  <bruno@clisp.org>
52536
52537         * lib/vasnprintf.c (sprintf): Undefine.
52538
52539 2007-03-11  Bruno Haible  <bruno@clisp.org>
52540
52541         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
52542         initializers in SunPRO C and Compaq C compilers.
52543
52544 2007-03-11  Bruno Haible  <bruno@clisp.org>
52545
52546         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
52547         decrementing code ANSI C compliant.
52548
52549 2007-03-11  Bruno Haible  <bruno@clisp.org>
52550
52551         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
52552         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
52553
52554 2007-03-11  Bruno Haible  <bruno@clisp.org>
52555
52556         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
52557         <stdbool.h> substitute doesn't pass.
52558
52559 2007-03-11  Bruno Haible  <bruno@clisp.org>
52560
52561         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
52562
52563 2007-03-11  Bruno Haible  <bruno@clisp.org>
52564
52565         * gnulib-tool (func_create_megatestdir): Create also an autobuild
52566         script, for submission to autobuild.josefsson.org.
52567
52568 2007-03-10  Bruno Haible  <bruno@clisp.org>
52569
52570         * modules/canonicalize-lgpl-tests: New file.
52571         * tests/test-canonicalize-lgpl.sh: New file.
52572         * tests/test-canonicalize-lgpl.c: New file.
52573
52574         * modules/c-strcase-tests: New file.
52575         * tests/test-c-strcase.sh: New file.
52576         * tests/test-c-strcasecmp.c: New file.
52577         * tests/test-c-strncasecmp.c: New file.
52578
52579         * modules/atexit-tests: New file.
52580         * tests/test-atexit.sh: New file.
52581         * tests/test-atexit.c: New file.
52582
52583 2007-03-10  Bruno Haible  <bruno@clisp.org>
52584
52585         * tests/test-binary-io.sh: Use temporary filenames that are not so
52586         likely to clash with those of other tests (in a parallel make).
52587         * tests/test-binary-io.c: Likewise.
52588
52589 2007-03-10  Bruno Haible  <bruno@clisp.org>
52590
52591         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
52592         fallback; use #error instead.
52593         Suggested by Simon Josefsson.
52594
52595 2007-03-10  Bruno Haible  <bruno@clisp.org>
52596
52597         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
52598         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
52599         first and the last.
52600
52601 2007-03-10  Bruno Haible  <bruno@clisp.org>
52602
52603         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
52604
52605 2007-03-10  Bruno Haible  <bruno@clisp.org>
52606
52607         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
52608         "make distcheck".
52609         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
52610         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
52611         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
52612
52613 2007-03-10  Bruno Haible  <bruno@clisp.org>
52614
52615         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
52616         variable.
52617         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
52618         variable.
52619
52620 2007-03-09  Eric Blake  <ebb9@byu.net>
52621         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
52622
52623         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
52624         types are not being provided by gnulib.
52625         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
52626         types are supported.
52627
52628 2007-03-10  Bruno Haible  <bruno@clisp.org>
52629
52630         * lib/stdio_.h (__attribute__): New macro.
52631         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
52632         vsprintf): Specify __attribute__ __format__ for GCC.
52633         Suggested by Eric Blake.
52634
52635 2007-03-09  Bruno Haible  <bruno@clisp.org>
52636
52637         * modules/printf-posix-tests: New file.
52638         * tests/test-printf-posix.sh: New file.
52639         * tests/test-printf-posix.c: New file.
52640
52641         * modules/printf-posix: New file.
52642         * lib/printf.c: New file.
52643         * m4/printf-posix-rpl.m4: New file.
52644         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
52645         REPLACE_PRINTF.
52646         * lib/stdio_.h (printf): New declaration.
52647         (format, __format__, ____printf____, ____scanf____, ____strftime____,
52648         ____strfmon____): New macros.
52649         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
52650         REPLACE_PRINTF.
52651
52652 2007-03-09  Bruno Haible  <bruno@clisp.org>
52653
52654         * tests/test-vasnprintf-posix2.sh: New file.
52655         * tests/test-vasnprintf-posix2.c: New file.
52656         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
52657         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
52658         (Makefile.am): Activate test-vasnprintf-posix2.sh.
52659
52660         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
52661         a locale dependent decimal point, rather than always '.'.
52662
52663 2007-03-09  Eric Blake  <ebb9@byu.net>
52664
52665         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
52666         spite of platforms like Tandem/NSK that define it to -1.
52667
52668 2007-03-08  Bruno Haible  <bruno@clisp.org>
52669
52670         * modules/vprintf-posix-tests: New file.
52671         * tests/test-vprintf-posix.sh: New file.
52672         * tests/test-vprintf-posix.c: New file.
52673         * tests/test-printf-posix.h: New file.
52674
52675         * modules/vprintf-posix: New file.
52676         * lib/vprintf.c: New file.
52677         * m4/vprintf-posix.m4: New file.
52678         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
52679         REPLACE_VPRINTF.
52680         * lib/stdio_.h (vprintf): New declaration.
52681         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
52682         REPLACE_VPRINTF.
52683
52684 2007-03-08  Bruno Haible  <bruno@clisp.org>
52685
52686         * modules/fprintf-posix-tests: New file.
52687         * tests/test-fprintf-posix.sh: New file.
52688         * tests/test-fprintf-posix.c: New file.
52689
52690         * modules/fprintf-posix: New file.
52691         * lib/fprintf.c: New file.
52692         * m4/fprintf-posix.m4: New file.
52693         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
52694         REPLACE_FPRINTF.
52695         * lib/stdio_.h (fprintf): New declaration.
52696         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
52697         REPLACE_FPRINTF.
52698
52699 2007-03-08  Bruno Haible  <bruno@clisp.org>
52700
52701         * modules/vfprintf-posix-tests: New file.
52702         * tests/test-vfprintf-posix.sh: New file.
52703         * tests/test-vfprintf-posix.c: New file.
52704         * tests/test-fprintf-posix.h: New file.
52705         * tests/test-fprintf-posix.out: New file.
52706
52707         * modules/vfprintf-posix: New file.
52708         * lib/vfprintf.c: New file.
52709         * m4/vfprintf-posix.m4: New file.
52710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
52711         REPLACE_VFPRINTF.
52712         * lib/stdio_.h (vfprintf): New declaration.
52713         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
52714         REPLACE_VFPRINTF.
52715
52716 2007-03-08  Bruno Haible  <bruno@clisp.org>
52717
52718         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
52719
52720 2007-03-08  Bruno Haible  <bruno@clisp.org>
52721
52722         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
52723         instead of 'expr' invocations.
52724         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52725         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52726         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52727         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52728         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52729         Suggested by Paul Eggert.
52730
52731 2007-03-08  Bruno Haible  <bruno@clisp.org>
52732
52733         * modules/fseterr-tests: New file.
52734         * tests/test-fseterr.c: New file.
52735
52736         * modules/fseterr: New file.
52737         * lib/fseterr.h: New file.
52738         * lib/fseterr.c: New file.
52739
52740 2007-03-08  Bruno Haible  <bruno@clisp.org>
52741
52742         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
52743         * lib/getopt_.h: Likewise.
52744         * lib/mbswidth.h: Likewise.
52745         * lib/setenv.h: Likewise.
52746         * lib/vasnprintf.h: Likewise.
52747         * lib/vasprintf.h: Likewise.
52748         * lib/verror.h: Likewise.
52749         * lib/xsetenv.h: Likewise.
52750         * lib/xvasprintf.h: Likewise.
52751
52752 2007-03-08  Jim Meyering  <jim@meyering.net>
52753
52754         * users.txt: Add parted.
52755
52756         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
52757
52758 2007-03-07  Bruno Haible  <bruno@clisp.org>
52759
52760         * m4/printf.m4: Make the shell script snippets copy&pastable.
52761
52762 2007-03-02  Bruno Haible  <bruno@clisp.org>
52763
52764         * lib/netinet_in_.h: New file.
52765         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
52766         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
52767         * modules/netinet_in (Files): Add lib/netinet_in_.h.
52768         (Depends-on): Add absolute-header.
52769         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
52770         into netinet/in.h.
52771
52772 2007-03-03  Bruno Haible  <bruno@clisp.org>
52773
52774         * lib/sys_select_.h: New file.
52775         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
52776         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
52777         * modules/sys_select (Files): Add lib/sys_select_.h.
52778         (Depends-on): Add absolute-header.
52779         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
52780         into sys/select.h.
52781
52782 2007-03-02  Bruno Haible  <bruno@clisp.org>
52783
52784         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
52785         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
52786         values.
52787         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
52788         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
52789         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
52790         * modules/sys_socket (Depends-on): Add absolute-header.
52791         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
52792         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
52793         (Include): Remove requirement of inclusion of <sys/types.h>.
52794
52795 2007-03-02  Bruno Haible  <bruno@clisp.org>
52796
52797         * lib/byteswap_.h (bswap_32): Fix formula.
52798
52799 2007-03-06  Bruno Haible  <bruno@clisp.org>
52800
52801         * modules/sprintf-posix-tests: New file.
52802         * tests/test-sprintf-posix.c: New file.
52803
52804         * modules/sprintf-posix: New file.
52805         * lib/sprintf.c: New file.
52806         * m4/sprintf-posix.m4: New file.
52807         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
52808         REPLACE_SPRINTF.
52809         * lib/stdio_.h (sprintf): New declaration.
52810         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
52811         REPLACE_SPRINTF.
52812
52813 2007-03-06  Bruno Haible  <bruno@clisp.org>
52814
52815         * modules/vsprintf-posix-tests: New file.
52816         * tests/test-vsprintf-posix.c: New file.
52817         * tests/test-sprintf-posix.h: New file.
52818
52819         * modules/vsprintf-posix: New file.
52820         * lib/vsprintf.c: New file.
52821         * m4/vsprintf-posix.m4: New file.
52822         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
52823         REPLACE_VSPRINTF.
52824         * lib/stdio_.h (vsprintf): New declaration.
52825         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
52826         REPLACE_VSPRINTF.
52827
52828 2007-03-06  Bruno Haible  <bruno@clisp.org>
52829
52830         * modules/vsnprintf (Depend-on): Remove minmax.
52831
52832 2007-03-06  Bruno Haible  <bruno@clisp.org>
52833
52834         * modules/snprintf-posix-tests: New file.
52835         * tests/test-snprintf-posix.c: New file.
52836
52837         * modules/snprintf-posix: New file.
52838         * m4/snprintf-posix.m4: New file.
52839         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
52840         gl_FUNC_SNPRINTF.
52841         (gl_FUNC_SNPRINTF): Invoke it.
52842         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
52843         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
52844         is set.
52845         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
52846
52847 2007-03-06  Bruno Haible  <bruno@clisp.org>
52848
52849         * modules/vsnprintf-posix-tests: New file.
52850         * tests/test-vsnprintf-posix.c: New file.
52851         * tests/test-snprintf-posix.h: New file.
52852
52853         * modules/vsnprintf-posix: New file.
52854         * m4/vsnprintf-posix.m4: New file.
52855         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
52856         gl_FUNC_VSNPRINTF.
52857         (gl_FUNC_VSNPRINTF): Invoke it.
52858         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
52859         * lib/stdio_.h (vsnprintf): Define as a replacement if
52860         REPLACE_VSNPRINTF is set.
52861         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
52862
52863 2007-03-06  Bruno Haible  <bruno@clisp.org>
52864
52865         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
52866         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
52867
52868 2007-03-06  Bruno Haible  <bruno@clisp.org>
52869
52870         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
52871         (asinl): Declare also if HAVE_DECL_ASINL is set.
52872         (atanl): Declare also if HAVE_DECL_ATANL is set.
52873         (ceill): Declare also if HAVE_DECL_CEILL is set.
52874         (cosl): Declare also if HAVE_DECL_COSL is set.
52875         (expl): Declare also if HAVE_DECL_EXPL is set.
52876         (floorl): Declare also if HAVE_DECL_FLOORL is set.
52877         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
52878         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
52879         (logl): Declare also if HAVE_DECL_LOGL is set.
52880         (sinl): Declare also if HAVE_DECL_SINL is set.
52881         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
52882         (tanl): Declare also if HAVE_DECL_TANL is set.
52883         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
52884         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
52885         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
52886         declaration of frexpl, ldexpl.
52887         * modules/printf-frexpl (Depends-on): Add math.
52888         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
52889
52890 2007-03-05  Bruno Haible  <bruno@clisp.org>
52891
52892         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
52893         frexpl and ldexpl are declared.
52894         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
52895
52896 2007-03-05  Bruno Haible  <bruno@clisp.org>
52897
52898         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
52899         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
52900
52901 2007-03-05  Bruno Haible  <bruno@clisp.org>
52902
52903         * lib/stdio_.h: Include <stddef.h>.
52904
52905 2007-03-05  Bruno Haible  <bruno@clisp.org>
52906
52907         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
52908
52909 2007-03-05  Bruno Haible  <bruno@clisp.org>
52910
52911         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
52912         NetBSD 4, from Ralf Wildenhues.
52913
52914 2007-03-04  Bruno Haible  <bruno@clisp.org>
52915
52916         * lib/vasprintf.h: Update #if logic for the case when the functions
52917         exist but are overridden.
52918
52919 2007-03-04  Bruno Haible  <bruno@clisp.org>
52920
52921         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
52922         implementations: glibc-2.4 and MacOS X 10.3.
52923         * tests/test-vasnprintf-posix.c (test_function): Test also the case
52924         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
52925         * tests/test-vasprintf-posix.c (test_function): Likewise.
52926
52927 2007-03-04  Bruno Haible  <bruno@clisp.org>
52928
52929         * modules/vasprintf-posix-tests: New file.
52930         * tests/test-vasprintf-posix.c: New file.
52931
52932         * modules/vasprintf-posix: New file.
52933         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
52934         defined.
52935         * m4/vasprintf-posix.m4: New file.
52936         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
52937         gl_FUNC_VASPRINTF.
52938         (gl_FUNC_VASPRINTF): Invoke it.
52939         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
52940         here.
52941         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
52942
52943 2007-03-04  Bruno Haible  <bruno@clisp.org>
52944
52945         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
52946         REPLACE_GETTIMEOFDAY.
52947         * modules/sys_time (Makefile.am): Likewise.
52948         * m4/sys_time_h.m4: Likewise.
52949         * m4/gettimeofday.m4: Likewise.
52950
52951 2007-03-04  Bruno Haible  <bruno@clisp.org>
52952
52953         * modules/vasnprintf-posix-tests: New file.
52954         * tests/test-vasnprintf-posix.c: New file.
52955
52956         * modules/vasnprintf-posix: New file.
52957         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
52958         printf-frexpl.h.
52959         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
52960         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
52961         REPLACE_VASNPRINTF is defined.
52962         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
52963         gl_FUNC_VASNPRINTF.
52964         (gl_FUNC_VASNPRINTF): Invoke it.
52965         * m4/vasnprintf-posix.m4: New file.
52966         * m4/printf.m4: New file.
52967
52968 2007-03-04  Bruno Haible  <bruno@clisp.org>
52969
52970         Compile progreloc.c only if --enable-relocatable is specified.
52971         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
52972         if --enable-relocatable was specified.
52973         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
52974         lib_SOURCES.
52975
52976 2007-03-04  Jim Meyering  <jim@meyering.net>
52977
52978         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
52979         Use it consistently, rather than enumerating errno constants.
52980
52981 2007-03-04  Bruno Haible  <bruno@clisp.org>
52982
52983         * modules/xvasprintf-tests: New file.
52984         * tests/test-xvasprintf.c: New file.
52985
52986         * modules/vasprintf-tests: New file.
52987         * tests/test-vasprintf.c: New file.
52988
52989         * modules/vasnprintf-tests: New file.
52990         * tests/test-vasnprintf.c: New file.
52991
52992         * modules/vsnprintf-tests: New file.
52993         * tests/test-vsnprintf.c: New file.
52994
52995         * modules/snprintf-tests: New file.
52996         * tests/test-snprintf.c: New file.
52997
52998 2007-03-04  Bruno Haible  <bruno@clisp.org>
52999
53000         Compile relocatable.c only if --enable-relocatable is specified.
53001         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
53002         gl_RELOCATABLE_LIBRARY.
53003         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
53004         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
53005         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
53006         gl_RELOCATABLE_LIBRARY.
53007         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
53008         (Makefile.am): Remove lib_SOURCES.
53009         * modules/relocatable-lib-lgpl (configure.ac): Invoke
53010         gl_RELOCATABLE_LIBRARY.
53011         (Makefile.am): Remove lib_SOURCES.
53012         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
53013         always.
53014         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53015         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
53016
53017 2007-03-04  Bruno Haible  <bruno@clisp.org>
53018
53019         * modules/argmatch-tests: New file.
53020         * tests/test-argmatch.c: New file.
53021
53022         * tests/test-allocsa.c (main): Halve the number of loop runs.
53023
53024         * modules/alloca-opt-tests: New file.
53025         * tests/test-alloca-opt.c: New file.
53026
53027 2007-03-04  Jim Meyering  <jim@meyering.net>
53028
53029         Work around difference between Linux ACLs and Solaris 10 ZFS.
53030         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
53031         for EINVAL.
53032
53033 2007-03-03  Bruno Haible  <bruno@clisp.org>
53034
53035         * modules/relocatable-prog (Depends-on): Add back progreloc's
53036         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
53037
53038 2007-03-03  Bruno Haible  <bruno@clisp.org>
53039
53040         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
53041         * modules/relocatable-lib: New file.
53042
53043 2007-03-03  Bruno Haible  <bruno@clisp.org>
53044
53045         * modules/relocatable-prog: Renamed from modules/relocatable.
53046         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
53047
53048 2007-03-03  Bruno Haible  <bruno@clisp.org>
53049
53050         * modules/relocatable-script (Files): Add doc/relocatable.texi,
53051         m4/relocatable-lib.m4.
53052         (Depends-on): Remove 'relocatable'.
53053         (configure.ac): Add gl_RELOCATABLE_NOP.
53054
53055 2007-03-03  Bruno Haible  <bruno@clisp.org>
53056
53057         * modules/relocatable-prog-wrapper: New file.
53058         * modules/relocatable (Depends-on): Add it. Remove all other
53059         dependencies except progname.
53060         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
53061
53062         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
53063         (gl_FUNC_STRERROR): Nop.
53064         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
53065
53066         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
53067         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
53068
53069         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
53070         (gl_FUNC_READLINK): Update.
53071
53072         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
53073
53074 2007-03-03  Bruno Haible  <bruno@clisp.org>
53075
53076         * lib/xreadlink.c: Include <unistd.h> unconditionally.
53077         * modules/xreadlink (Depends-on): Add unistd.
53078         * modules/xreadlink-with-size (Depends-on): Likewise.
53079
53080 2007-03-03  Bruno Haible  <bruno@clisp.org>
53081
53082         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
53083         extracted from gt_FUNC_SETENV.
53084         (gt_FUNC_SETENV): Remove macro.
53085         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
53086         remove gt_FUNC_SETENV.
53087
53088 2007-03-03  Bruno Haible  <bruno@clisp.org>
53089
53090         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
53091         ENABLE_RELOCATABLE here.
53092         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
53093
53094 2007-03-03  Bruno Haible  <bruno@clisp.org>
53095
53096         * modules/rbtreehash-list-tests (Depends-on): Add progname.
53097         * tests/test-rbtreehash_list.c: Include progname.h.
53098         (main): Call set_program_name.
53099
53100         * modules/rbtree-oset-tests (Depends-on): Add progname.
53101         * tests/test-rbtree_oset.c: Include progname.h.
53102         (main): Call set_program_name.
53103
53104         * modules/rbtree-list-tests (Depends-on): Add progname.
53105         * tests/test-rbtree_list.c: Include progname.h.
53106         (main): Call set_program_name.
53107
53108         * modules/linked-list-tests (Depends-on): Add progname.
53109         * tests/test-linked_list.c: Include progname.h.
53110         (main): Call set_program_name.
53111
53112 2007-03-03  Bruno Haible  <bruno@clisp.org>
53113
53114         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
53115         All uses of __restrict changed to _Restrict_.
53116         * lib/glob_.h (__restrict): Remove macro.
53117
53118 2007-03-02  Bruno Haible  <bruno@clisp.org>
53119
53120         * modules/gettext (configure.ac): Require gettext infrastructure
53121         from version 0.16.1.
53122
53123 2007-03-02  Bruno Haible  <bruno@clisp.org>
53124
53125         * modules/linkedhash-list-tests (Depends-on): Add progname.
53126         * tests/test-linkedhash_list.c: Include progname.h.
53127         (main): Call set_program_name.
53128
53129         * modules/carray-list-tests (Depends-on): Add progname.
53130         * tests/test-carray_list.c: Include progname.h.
53131         (main): Call set_program_name.
53132
53133         * modules/avltreehash-list-tests (Depends-on): Add progname.
53134         * tests/test-avltreehash_list.c: Include progname.h.
53135         (main): Call set_program_name.
53136
53137         * modules/avltree-oset-tests (Depends-on): Add progname.
53138         * tests/test-avltree_oset.c: Include progname.h.
53139         (main): Call set_program_name.
53140
53141         * modules/avltree-list-tests (Depends-on): Add progname.
53142         * tests/test-avltree_list.c: Include progname.h.
53143         (main): Call set_program_name.
53144
53145         * modules/array-oset-tests (Depends-on): Add progname.
53146         * tests/test-array_oset.c: Include progname.h.
53147         (main): Call set_program_name.
53148
53149         * modules/array-list-tests (Depends-on): Add progname.
53150         * tests/test-array_list.c: Include progname.h.
53151         (main): Call set_program_name.
53152
53153         * modules/argp-tests (Depends-on): Add progname.
53154         * tests/test-argp.c: Include argp.h first. Include progname.h.
53155         (main): Call set_program_name.
53156
53157 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
53158
53159         * doc/gnulib-tool.texi (Initial import): Reword description of
53160         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
53161         limited effect even if defined after the first system include.
53162
53163 2007-03-01  Bruno Haible  <bruno@clisp.org>
53164
53165         * build-aux/config.libpath: Update to libtool-1.5.22.
53166         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53167
53168 2007-03-01  Bruno Haible  <bruno@clisp.org>
53169
53170         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
53171         foo_CFLAGS.
53172         Reported by Ralf Wildenhues.
53173
53174 2007-03-01  Bruno Haible  <bruno@clisp.org>
53175
53176         * build-aux/install-reloc: Remove object files left over by some
53177         compilers.
53178         Reported by Ralf Wildenhues.
53179
53180 2007-03-01  Bruno Haible  <bruno@clisp.org>
53181
53182         * build-aux/install-reloc: Break long lines.
53183
53184 2007-03-01  Bruno Haible  <bruno@clisp.org>
53185
53186         * doc/relocatable.texi: Document that it may not work on OpenBSD.
53187         Reported by Ralf Wildenhues.
53188
53189 2007-03-01  Bruno Haible  <bruno@clisp.org>
53190
53191         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
53192         include ordering constraints.
53193
53194 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53195
53196         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
53197         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
53198         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
53199         as another example.
53200         * lib/time_.h: Fix misspelling.
53201         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53202         Require gl_HEADER_TIME_H_DEFAULTS.
53203         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
53204         * m4/time_r.m4 (gl_TIME_R): Likewise.
53205         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
53206
53207 2007-03-01  Bruno Haible  <bruno@clisp.org>
53208
53209         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
53210         * m4/utimens.m4 (gl_UTIMENS): Likewise.
53211
53212 2007-03-01  Jim Meyering  <jim@meyering.net>
53213
53214         * modules/xreadlink (Maintainer): Add my name.
53215         * modules/xreadlink-with-size (Depends-on): Alphabetize.
53216
53217 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
53218             Bruno Haible  <bruno@clisp.org>
53219
53220         * build-aux/install-reloc: Compile also c-ctype.c.
53221         * build-aux/relocatable.sh.in: New file.
53222         * doc/relocatable.texi: New file.
53223         * doc/relocatable-maint.texi: New file.
53224         * doc/gnulib.texi: Include relocatable-maint.texi.
53225         * lib/progreloc.c: Include unistd.h unconditionally.
53226         * lib/relocwrapper.c: Include unistd.h unconditionally.
53227         Include c-ctype.h.
53228         (add_dotbin): Use c_tolower.
53229         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
53230         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
53231         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
53232         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
53233         to m4/relocatable-lib.m4.
53234         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
53235         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
53236         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
53237         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
53238         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
53239         * modules/relocatable: New file.
53240         * modules/relocatable-lib: New file.
53241         * modules/relocatable-script: New file.
53242
53243 2007-02-28  Bruno Haible  <bruno@clisp.org>
53244
53245         Import --enable-relocatable infrastructure.
53246         * build-aux/config.libpath: New file, from GNU gettext.
53247         * build-aux/install-reloc: New file, from GNU gettext.
53248         * build-aux/reloc-ldflags: New file, from GNU gettext.
53249         * lib/relocatable.h: New file, from GNU gettext.
53250         * lib/relocatable.c: New file, from GNU gettext.
53251         * lib/relocwrapper.c: New file, from GNU gettext.
53252         * m4/relocatable.m4: New file, from GNU gettext.
53253
53254 2007-02-28  Bruno Haible  <bruno@clisp.org>
53255
53256         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
53257
53258         * modules/xreadlink: New file, from GNU gettext with modifications.
53259         * lib/xreadlink.c: New file, from GNU gettext.
53260         * lib/xreadlink.h: Add comments.
53261         (xreadlink): New declaration.
53262
53263         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
53264         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
53265         lib/xreadlink-with-size.c.
53266         (configure.ac): Remove gl_XREADLINK invocation.
53267         (Makefile.am): Augment lib_SOURCES.
53268         * m4/xreadlink.m4: Remove file.
53269         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
53270         (xreadlink_with_size): Renamed from xreadink.
53271         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
53272         * modules/canonicalize (Depends-on): Replace xreadlink with
53273         xreadlink-with-size.
53274         * lib/canonicalize.c (canonicalize_filename_mode): Update.
53275
53276 2007-02-25  Jim Meyering  <jim@meyering.net>
53277
53278         * build-aux/announce-gen: When complaining about excess arguments,
53279         list them.
53280
53281 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53282
53283         * README: Document signed integer overflow situation more
53284         accurately.
53285
53286 2007-02-25  Bruno Haible  <bruno@clisp.org>
53287
53288         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
53289         'a' or 'A' conversion.
53290
53291 2007-02-25  Bruno Haible  <bruno@clisp.org>
53292
53293         * modules/filename: Renamed from modules/pathname.
53294         (Files): Replace lib/pathname.h with lib/filename.h. Replace
53295         lib/concatpath.c with lib/concat-filename.c.
53296         (Makefile.am): Update.
53297         (Include): Replace pathname.h with filename.h.
53298         * lib/filename.h: Renamed from lib/pathname.h.
53299         (concatenated_filename): Renamed from concatenated_pathname.
53300         * lib/concat-filename.c: Renamed from lib/concatpath.c.
53301         (concatenated_filename): Renamed from concatenated_pathname.
53302         * lib/findprog.c: Include filename.h instead of pathname.h.
53303         (find_in_path): Update.
53304         * lib/javacomp.c: Include filename.h instead of pathname.h.
53305         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53306         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53307         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53308         is_oldgcj_14_13_usable, is_javac_usable): Update.
53309         * lib/javaexec.c: Include filename.h instead of pathname.h.
53310         (execute_java_class): Update.
53311         * modules/findprog: Update.
53312         * modules/javacomp: Update.
53313         * modules/javaexec: Update.
53314         * MODULES.html.sh (File system functions): Add 'filename', remove
53315         'pathname'.
53316
53317 2007-02-25  Bruno Haible  <bruno@clisp.org>
53318
53319         * modules/printf-frexpl-tests: New file.
53320         * tests/test-printf-frexpl.c: New file.
53321
53322         * modules/printf-frexpl: New file.
53323         * lib/printf-frexpl.h: New file.
53324         * lib/printf-frexpl.c: New file.
53325         * m4/printf-frexpl.m4: New file.
53326
53327 2007-02-25  Bruno Haible  <bruno@clisp.org>
53328
53329         * modules/printf-frexp-tests: New file.
53330         * tests/test-printf-frexp.c: New file.
53331
53332         * modules/printf-frexp: New file.
53333         * lib/printf-frexp.h: New file.
53334         * lib/printf-frexp.c: New file.
53335         * m4/printf-frexp.m4: New file.
53336
53337 2007-02-25  Bruno Haible  <bruno@clisp.org>
53338
53339         Assume automake >= 1.10 for the tests.
53340         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
53341         * modules/arctwo-tests: Likewise.
53342         * modules/argp-tests: Likewise.
53343         * modules/avltree-list-tests: Likewise.
53344         * modules/avltree-oset-tests: Likewise.
53345         * modules/avltreehash-list-tests: Likewise.
53346         * modules/carray-list-tests: Likewise.
53347         * modules/crc-tests: Likewise.
53348         * modules/des-tests: Likewise.
53349         * modules/gc-arcfour-tests: Likewise.
53350         * modules/gc-arctwo-tests: Likewise.
53351         * modules/gc-des-tests: Likewise.
53352         * modules/gc-hmac-md5-tests: Likewise.
53353         * modules/gc-hmac-sha1-tests: Likewise.
53354         * modules/gc-md2-tests: Likewise.
53355         * modules/gc-md4-tests: Likewise.
53356         * modules/gc-md5-tests: Likewise.
53357         * modules/gc-pbkdf2-sha1-tests: Likewise.
53358         * modules/gc-rijndael-tests: Likewise.
53359         * modules/gc-sha1-tests: Likewise.
53360         * modules/gc-tests: Likewise.
53361         * modules/getaddrinfo-tests: Likewise.
53362         * modules/hmac-md5-tests: Likewise.
53363         * modules/hmac-sha1-tests: Likewise.
53364         * modules/linked-list-tests: Likewise.
53365         * modules/linkedhash-list-tests: Likewise.
53366         * modules/lock-tests: Likewise.
53367         * modules/md2-tests: Likewise.
53368         * modules/md4-tests: Likewise.
53369         * modules/md5-tests: Likewise.
53370         * modules/rbtree-list-tests: Likewise.
53371         * modules/rbtree-oset-tests: Likewise.
53372         * modules/rbtreehash-list-tests: Likewise.
53373         * modules/read-file-tests: Likewise.
53374         * modules/rijndael-tests: Likewise.
53375         * modules/stdint-tests: Likewise.
53376         * modules/tls-tests: Likewise.
53377
53378 2007-02-24  Bruno Haible  <bruno@clisp.org>
53379
53380         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
53381         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
53382         function; instead check whether isnan with a double argument links.
53383         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
53384         function; instead check whether isnan with a 'long double' argument
53385         links.
53386         Reported by Eric Blake <ebb9@byu.net>.
53387
53388 2007-02-24  Bruno Haible  <bruno@clisp.org>
53389
53390         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
53391         defined.
53392         * lib/isnanl.c: Remove all code. Just include isnan.c.
53393         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
53394
53395 2007-02-25  Jim Meyering  <jim@meyering.net>
53396
53397         Avoid conflicting types for 'unsetenv' on FreeBSD.
53398         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
53399         conflicting with FreeBSD's (5.0 and 6.1) function declaration
53400         in stdlib.h.
53401
53402 2007-02-24  Bruno Haible  <bruno@clisp.org>
53403
53404         * modules/isnanl-nolibm-tests: New file.
53405         * tests/test-isnanl.c: New file.
53406
53407         * modules/isnanl-nolibm: New file.
53408         * lib/isnanl.h: New file.
53409         * lib/isnanl.c: New file.
53410         * m4/isnanl.m4: New file.
53411
53412 2007-02-24  Bruno Haible  <bruno@clisp.org>
53413
53414         * modules/isnan-nolibm-tests: New file.
53415         * tests/test-isnan.c: New file.
53416
53417         * modules/isnan-nolibm: New file.
53418         * lib/isnan.h: New file.
53419         * lib/isnan.c: New file.
53420         * m4/isnan.m4: New file.
53421
53422 2007-02-24  Bruno Haible  <bruno@clisp.org>
53423
53424         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
53425         assume that an exponent fits in 20 bits.
53426
53427 2007-02-24  Jim Meyering  <jim@meyering.net>
53428
53429         * m4/regex.m4: Update the description of the configure-time option,
53430         --without-included-regex, to state accurately what the defaults are,
53431         and perhaps to give people an idea why using this option is risky.
53432
53433 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
53434
53435         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
53436         loops on small arguments.  This attempts to avoid the problem
53437         Bruno Haible reported for AIX 4.3.2 in
53438         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
53439
53440 2007-02-23  Bruno Haible  <bruno@clisp.org>
53441
53442         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
53443         Needed for help2man.
53444
53445 2007-02-23  Karl Berry  <karl@gnu.org>
53446
53447         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
53448         exists, foo.h should be cvs-ignored, not committed.
53449
53450 2007-02-23  Eric Blake  <ebb9@byu.net>
53451
53452         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
53453         * lib/stat-time.h (includes): Likewise.
53454         * lib/utimecmp.c (includes): Likewise.
53455         * lib/utimens.h (includes): Likewise.
53456         * lib/getdate.y (includes): Also include "timespec.h" for use
53457         internal to the module.
53458         * modules/utimens (Depends-on): Revert yesterday's patch.
53459         * modules/nanosleep (Depends-on): Add missing dependency.
53460
53461 2007-02-22  Bruno Haible  <bruno@clisp.org>
53462
53463         * lib/glob.c: Don't include getlogin_r.h.
53464
53465 2007-02-22  Jim Meyering  <jim@meyering.net>
53466
53467         * modules/utimens (Depends-on): Add timespec, required for
53468         utimens.h's inclusion of timespec.h.
53469
53470 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
53471
53472         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
53473         long unreadable paths in GNU/Linux.  Problem reported by Andreas
53474         Schwab in
53475         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
53476         I'll try to think of a better way to fix the Solaris problem.
53477
53478         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
53479         like glibc; on Solaris 10, it fails with errno == EINVAL.
53480         POSIX says the behavior is unspecified if the first argument is NULL,
53481         so play it safe and never pass NULL to the system getcwd.
53482
53483 2007-02-21  Jim Meyering  <jim@meyering.net>
53484
53485         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
53486         of gettimeofday.  It would conflict with the one now always
53487         provided via sys_time_.h.  Reported by Matthew Woehlke, as
53488         an IRIX 6.5 build failure.
53489
53490 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
53491
53492         Minor fixups to port to Solaris 10 with Sun C 5.8.
53493         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
53494         * modules/getcwd (Depends-on): Add dirfd.
53495         * lib/putenv.c (putenv): #undef it.
53496         (rpl_putenv): New decl.
53497         (malloc, free): Include <stdlib.h> rather than prototyping separately.
53498
53499 2007-02-20  Bruno Haible  <bruno@clisp.org>
53500
53501         * modules/stdio-tests: New file.
53502         * tests/test-stdio.c: New file.
53503
53504         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
53505         (Depends-on): Add stdio.
53506         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53507         (Include): Use <stdio.h> instead of vsnprintf.h.
53508         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53509         HAVE_DECL_VSNPRINTF.
53510         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
53511
53512         * modules/snprintf (Files): Remove lib/snprintf.h.
53513         (Depends-on): Add stdio.
53514         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53515         (Include): Use <stdio.h> instead of snprintf.h.
53516         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53517         HAVE_DECL_SNPRINTF.
53518         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
53519         * lib/getaddrinfo.c: Likewise.
53520
53521         * modules/stdio: New file.
53522         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
53523         * lib/snprintf.h: Remove file.
53524         * lib/vsnprintf.h: Remove file.
53525         * lib/.cppi-disable: Remove snprintf.h.
53526         * m4/stdio_h.m4: New file.
53527         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
53528
53529 2007-02-20  Jim Meyering  <jim@meyering.net>
53530
53531         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
53532         used by e.g., mingw.  From Bruno Haible.
53533
53534 2007-02-19  Bruno Haible  <bruno@clisp.org>
53535
53536         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
53537         warnings.
53538         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53539
53540 2007-02-19  Bruno Haible  <bruno@clisp.org>
53541
53542         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
53543         from mingw users.
53544
53545 2007-02-19  Bruno Haible  <bruno@clisp.org>
53546
53547         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
53548         warnings.
53549         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
53550
53551 2007-02-19  Jim Meyering  <jim@meyering.net>
53552
53553         Don't use FD after a successful "fdopendir (fd)".
53554         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
53555         Reset it by calling dirfd on the just-obtained DIR*.
53556
53557         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
53558         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
53559
53560 2007-02-18  Bruno Haible  <bruno@clisp.org>
53561
53562         * lib/readlink.c: Include <unistd.h>.
53563         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
53564         HAVE_READLINK.
53565         * modules/readlink (Depends-on): Add unistd.
53566         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53567         (Include): Add <unistd.h>.
53568
53569         * lib/getlogin_r.h: Remove file.
53570         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
53571         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
53572         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
53573         HAVE_DECL_GETLOGIN_R.
53574         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
53575         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53576         (Include): Use <unistd.h> instead of getlogin_r.h.
53577
53578         * lib/getcwd.h: Remove file.
53579         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
53580         * lib/xgetcwd.c: Likewise.
53581         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
53582         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
53583         * modules/getcwd (Files): Remove lib/getcwd.h.
53584         (Depends-on): Add unistd.
53585         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53586         (Include): Use <unistd.h> instad of getcwd.h.
53587
53588         * lib/ftruncate.c: Include <unistd.h> first.
53589         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
53590         Set HAVE_FTRUNCATE.
53591         * modules/ftruncate (Depends-on): Add unistd.
53592         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53593
53594         * lib/fchdir.c: Include <unistd.h> first.
53595         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
53596         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
53597         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
53598         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53599         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
53600
53601         * lib/dup2.c: Include <unistd.h> first.
53602         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
53603         HAVE_DUP2.
53604         * modules/dup2 (Depends-on): Add unistd.
53605         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53606
53607         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
53608         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
53609         REPLACE_CHOWN. Don't define chown as a macro here.
53610         * modules/chown (Depends-on): Add unistd.
53611         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53612
53613         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
53614         Add definition for GL_LINK_WARNING.
53615         (chown, dup2): New declarations.
53616         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
53617         link warning.
53618         (ftruncate): New declaration.
53619         (getcwd): New declaration, taken from old getcwd.h.
53620         (getlogin_r): New declaration, taken from old getlogin_r.h.
53621         (readlink): New declaration.
53622         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
53623         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
53624         (gl_PREREQ_UNISTD): Remove macro.
53625         (gl_UNISTD_MODULE_INDICATOR): New macro.
53626         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
53627         many new variables. Don't set UNISTD_H.
53628         * modules/unistd (Description): Change.
53629         (Depends-on): Add link-warning.
53630         (configure.ac): Update.
53631         (Makefile.am): Create unistd.h always. Substitute many new variables
53632         into it.
53633
53634 2007-02-18  Bruno Haible  <bruno@clisp.org>
53635
53636         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
53637         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
53638         HAVE_GETSUBOPT.
53639         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
53640         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
53641         * lib/getsubopt.h: Remove file.
53642         * modules/getsubopt (Files): Remove lib/getsubopt.h.
53643         (Depends-on): Add stdlib.
53644         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53645         (Includes): Use <stdlib.h> instead of getsubopt.h.
53646         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
53647         Set HAVE_GETSUBOPT.
53648         * lib/getsubopt.c: Don't include getsubopt.h.
53649
53650 2007-02-18  Bruno Haible  <bruno@clisp.org>
53651
53652         * modules/fchdir (Depends-on): Add dup2.
53653
53654 2007-02-18  Bruno Haible  <bruno@clisp.org>
53655
53656         * lib/stdlib_.h: Handle glibc's special invocation convention
53657         specially.
53658
53659 2007-02-18  Bruno Haible  <bruno@clisp.org>
53660
53661         * modules/stdlib-tests: New file.
53662         * tests/test-stdlib.c: New file.
53663
53664         * modules/mkstemp (Files): Remove lib/mkstemp.h.
53665         (Depends-on): Add stdlib.
53666         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53667         (Includes): Use <stdlib.h> instead of mkstemp.h.
53668         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53669         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
53670         * lib/mkstemp.c: Don't include mkstemp.h.
53671         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
53672         * lib/stdlib--.h: Don't include mkstemp.h.
53673
53674         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
53675         (Depends-on): Add stdlib.
53676         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53677         (Includes): Use <stdlib.h> instead of mkdtemp.h.
53678         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53679         HAVE_MKDTEMP.
53680         * lib/mkdtemp.c: Don't include mkdtemp.h.
53681         * lib/clean-temp.c: Don't include mkdtemp.h.
53682
53683         * modules/exit (Files): Remove lib/exit.h.
53684         (Depends-on): Add stdlib.
53685         (Makefile.am): Remove lib_SOURCES.
53686         (Include): Use <stdlib.h> instead of exit.h.
53687         * lib/argmatch.c: Don't include exit.h.
53688         * lib/execute.c: Likewise.
53689         * lib/pagealign_alloc.c: Likewise.
53690         * lib/pipe.c: Likewise.
53691         * lib/wait-process.c: Likewise.
53692         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
53693         * lib/exitfail.c: Likewise.
53694         * lib/savewd.c: Likewise.
53695         * lib/xsetenv.c: Likewise.
53696
53697         * modules/stdlib: New file.
53698         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
53699         and extra comments about mkstemp().
53700         * lib/exit.h: Remove file.
53701         * lib/mkdtemp.h: Remove file.
53702         * lib/mkstemp.h: Remove file.
53703         * m4/stdlib_h.m4: New file.
53704         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
53705
53706 2007-02-18  Bruno Haible  <bruno@clisp.org>
53707
53708         * modules/math-tests: New file.
53709         * tests/test-math.c: New file.
53710
53711         * modules/math: New file.
53712         * modules/mathl (Files): Remove lib/mathl.h.
53713         (Depends-on): Add math.
53714         (Makefile.am): Don't mention mathl.h.
53715         (Include): Use <math.h> instead of mathl.h.
53716         * lib/math_.h: New file.
53717         * lib/mathl.h: Remove file.
53718         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
53719         mathl.h.
53720         * lib/asinl.c: Likewise.
53721         * lib/atanl.c: Likewise.
53722         * lib/ceill.c: Likewise.
53723         * lib/cosl.c: Likewise.
53724         * lib/expl.c: Likewise.
53725         * lib/floorl.c: Likewise.
53726         * lib/frexpl.c: Likewise.
53727         * lib/ldexpl.c: Likewise.
53728         * lib/logl.c: Likewise.
53729         * lib/sincosl.c: Likewise.
53730         * lib/sinl.c: Likewise.
53731         * lib/sqrtl.c: Likewise.
53732         * lib/tanl.c: Likewise.
53733         * lib/trigl.c: Likewise.
53734         * m4/math_h.m4: New file.
53735         * MODULES.html.sh (Mathematics): Add math.
53736
53737 2007-02-17  Bruno Haible  <bruno@clisp.org>
53738
53739         * modules/wctype-tests: New file.
53740         * tests/test-wctype.c: New file.
53741
53742         * modules/wchar-tests: New file.
53743         * tests/test-wchar.c: New file.
53744
53745         * modules/unistd-tests: New file.
53746         * tests/test-unistd.c: New file.
53747
53748         * modules/time-tests: New file.
53749         * tests/test-time.c: New file.
53750
53751         * modules/sysexits-tests: New file.
53752         * tests/test-sysexits.c: New file.
53753
53754         * modules/sys_time-tests: New file.
53755         * tests/test-sys_time.c: New file.
53756
53757         * modules/sys_stat-tests: New file.
53758         * tests/test-sys_stat.c: New file.
53759
53760         * modules/sys_socket-tests: New file.
53761         * tests/test-sys_socket.c: New file.
53762
53763         * modules/sys_select-tests: New file.
53764         * tests/test-sys_select.c: New file.
53765
53766         * modules/string-tests: New file.
53767         * tests/test-string.c: New file.
53768
53769         * modules/stdbool-tests: New file.
53770         * tests/test-stdbool.c: New file.
53771
53772         * modules/netinet_in-tests: New file.
53773         * tests/test-netinet_in.c: New file.
53774
53775         * modules/inttypes-tests: New file.
53776         * tests/test-inttypes.c: New file.
53777
53778         * modules/fcntl-tests: New file.
53779         * tests/test-fcntl.c: New file.
53780
53781         * modules/byteswap-tests: New file.
53782         * tests/test-byteswap.c: New file.
53783
53784         * modules/arpa_inet-tests: New file.
53785         * tests/test-arpa_inet.c: New file.
53786
53787 2007-02-17  Bruno Haible  <bruno@clisp.org>
53788
53789         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
53790         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
53791         if the corresponding module is not enabled. Emit link warnings if
53792         the function is used nevertheless.
53793         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
53794         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
53795         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
53796         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
53797         * modules/inttypes (Depends-on): Add link-warning.
53798         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53799         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
53800         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
53801         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
53802         * modules/imaxdiv (configure.ac): Likewise.
53803         * modules/strtoimax (configure.ac): Likewise.
53804         * modules/strtoumax (configure.ac): Likewise.
53805
53806 2007-02-17  Bruno Haible  <bruno@clisp.org>
53807
53808         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
53809         gl_STRING_MODULE_INDICATOR_DEFAULTS.
53810         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
53811         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
53812
53813 2007-02-17  Bruno Haible  <bruno@clisp.org>
53814
53815         * modules/link-warning: New file.
53816         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
53817         * lib/string_.h (GL_LINK_WARNING): Remove definition.
53818         * modules/string (Depends-on): Add link-warning.
53819         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53820         string.h.
53821         * MODULES.html.sh (Support for building libraries and executables): Add
53822         link-warning.
53823
53824 2007-02-17  Bruno Haible  <bruno@clisp.org>
53825
53826         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
53827         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
53828         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
53829         long lines.
53830
53831 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
53832             Bruno Haible  <bruno@clisp.org>
53833
53834         * modules/tmpfile: New file.
53835         * lib/tmpfile.c: New file.
53836         * m4/tmpfile.m4: New file.
53837         * MODULES.html.sh (func_all_modules): New section "Input/output".
53838
53839 2007-02-15  Bruno Haible  <bruno@clisp.org>
53840
53841         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
53842         (supports_delete_on_close): New function.
53843         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
53844
53845 2007-02-14  Bruno Haible  <bruno@clisp.org>
53846
53847         * modules/mbspcasecmp-tests: New file.
53848         * tests/test-mbspcasecmp.sh: New file.
53849         * tests/test-mbspcasecmp.c: New file.
53850
53851         New module mbspcasecmp.
53852         * modules/mbspcasecmp: New file.
53853         * lib/mbspcasecmp.c: New file.
53854         * lib/string_.h (strncasecmp): Change warning message.
53855         (mbspcasecmp): New declaration.
53856         * m4/mbspcasecmp.m4: New file.
53857         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53858         GNULIB_MBSPCASECMP.
53859         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
53860         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
53861
53862 2007-02-14  Bruno Haible  <bruno@clisp.org>
53863
53864         * modules/mbsncasecmp-tests: New file.
53865         * tests/test-mbsncasecmp.sh: New file.
53866         * tests/test-mbsncasecmp.c: New file.
53867
53868         New module mbsncasecmp.
53869         * modules/mbsncasecmp: New file.
53870         * lib/mbsncasecmp.c: New file.
53871         * lib/string_.h (mbsncasecmp): New declaration.
53872         * m4/mbsncasecmp.m4: New file.
53873         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53874         GNULIB_MBSNCASECMP.
53875         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
53876         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
53877
53878 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
53879
53880         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
53881         Verify that it doesn't overlap with our flags.
53882         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
53883         do not have the desired effect in multibyte locales; instead, use
53884         mbscasecmp.
53885         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
53886         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
53887         we don't require GNU fnmatch ourselves (if our users require it, they
53888         should do so explicitly).
53889
53890         Fix regex code so it doesn't rely on strcasecmp.
53891         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
53892         Otherwise, include gnulib's langinfo.h.
53893         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
53894         undesirable behavior in non-C locales.  Instead, rely on localecharset.
53895         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
53896         * modules/regex (FILES): Remove m4/codeset.m4.
53897         (Depends-on): Add localcharset.  Remove strcase.
53898
53899 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53900
53901         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
53902         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
53903
53904 2007-02-13  Bruno Haible  <bruno@clisp.org>
53905
53906         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
53907         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53908
53909 2007-02-12  Bruno Haible  <bruno@clisp.org>
53910
53911         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53912         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
53913         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
53914         time warning rather than a link error.
53915
53916 2007-02-12  Bruno Haible  <bruno@clisp.org>
53917
53918         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
53919         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
53920         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53921
53922 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53923
53924         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
53925         args, not 2.
53926
53927 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53928
53929         New module 'time', so that apps can include <time.h> as per
53930         POSIX and GNU instead of separate include files like time_r.h
53931         and timegm.h.  This implementation tries out a simpler approach
53932         for replacing decls in standard include files (as compared to
53933         the string module), somewhat as an experiment.
53934
53935         * config/srclist.txt: Comment out mktime.c for now.
53936         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
53937         since it doesn't apply any more.  Use generic wording instead.
53938         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
53939         'time'.
53940         * lib/time_.h, m4/time_h.m4, modules/time: New files.
53941         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
53942         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
53943         Don't include <sys/types.h>; no longer needed since we assume C89.
53944         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
53945         * lib/strftime.c: Likewise.
53946         * lib/time_r.c: Likewise.
53947         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
53948         * lib/nanosleep.c: Include <time.h> first, to check interface.
53949         * lib/strptime.c: Likewise.
53950         * lib/time_r.c: Likewise.
53951         * lib/timegm.c: Likewise.
53952         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
53953         needed.
53954         * lib/timegm.c: Don't include timegm.h; no longer needed.
53955         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
53956         time.h now handles any problems in that area.
53957         (struct timespec, nanosleep): Remove; time.h now arranges for these.
53958         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
53959         that time.h defines struct timespec.
53960         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
53961         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
53962         handles that.
53963         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
53964         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
53965         needed.  Set REPLACE_LOCALTIME.
53966         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
53967         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
53968         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
53969         nanosleep; time_h.m4 now does that.  Don't require
53970         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
53971         module handles this now.
53972         * modules/getdate (Depends-on): Remove timespec.  Add time.
53973         * modules/nanosleep (Depends-on): Likewise.
53974         * modules/stat-time (Depends-on): Likewise.
53975         * modules/nanosleep (Include): Include time.h, not timespec.h.
53976         * modules/strptime (Files): Remove lib/strptime.h.
53977         (Depends-on): Add extensions, time.
53978         (Include): Include time.h, not strptime.h.
53979         * modules/time_r (Files): Remove lib/time_r.h.
53980         (Depends-on): Add time.
53981         (Include): Include time.h, not time_r.h.
53982         * modules/timegm: Likewise.
53983         * modules/timespec (Description): Now does timespec-related decls
53984         of our own, instead of struct timespec itself.
53985         (Depends-on): Add time; remove extensions.
53986         (Maintainer): Add self.
53987         * modules/utimecmp (Depends-on): Add time; remove timespec.
53988         * modules/utimens (Depends-on): Likewise.
53989         * modules/xnanosleep (Depends-on): Likewise.
53990
53991 2007-02-11  Bruno Haible  <bruno@clisp.org>
53992
53993         * lib/c-strstr.c: Include allocsa.h.
53994         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53995         * lib/c-strcasestr.c: Include allocsa.h.
53996         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53997         * lib/strcasestr.c: Include allocsa.h.
53998         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53999         * lib/mbsstr.c: Include allocsa.h.
54000         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54001         allocsa/freesa instead of malloc/free.
54002         * lib/mbscasestr.c: Include allocsa.h.
54003         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54004         allocsa/freesa instead of malloc/free.
54005         * modules/c-strstr (Depends-on): Add allocsa.
54006         * modules/c-strcasestr (Depends-on): Likewise.
54007         * modules/strcasestr (Depends-on): Likewise.
54008         * modules/mbsstr (Depends-on): Likewise.
54009         * modules/mbscasestr (Depends-on): Likewise.
54010
54011 2007-02-11  Bruno Haible  <bruno@clisp.org>
54012
54013         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
54014
54015         * modules/mbsspn-tests: New file.
54016         * tests/test-mbsspn.sh: New file.
54017         * tests/test-mbsspn.c: New file.
54018
54019 2007-02-11  Bruno Haible  <bruno@clisp.org>
54020
54021         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
54022
54023         * modules/mbspbrk-tests: New file.
54024         * tests/test-mbspbrk.sh: New file.
54025         * tests/test-mbspbrk.c: New file.
54026
54027 2007-02-11  Bruno Haible  <bruno@clisp.org>
54028
54029         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
54030         unneeded cast.
54031
54032         * modules/mbscspn-tests: New file.
54033         * tests/test-mbscspn.sh: New file.
54034         * tests/test-mbscspn.c: New file.
54035
54036 2007-02-11  Bruno Haible  <bruno@clisp.org>
54037
54038         * modules/mbscasecmp-tests: New file.
54039         * tests/test-mbscasecmp.sh: New file.
54040         * tests/test-mbscasecmp.c: New file.
54041
54042 2007-02-11  Bruno Haible  <bruno@clisp.org>
54043
54044         Ensure O(n) worst-case complexity of mbscasestr.
54045         * lib/mbscasestr.c: Include stdbool.h.
54046         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
54047         functions.
54048         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
54049         the bookkeeping indicates that it's worth it.
54050         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
54051
54052         * modules/mbscasestr-tests: New file.
54053         * tests/test-mbscasestr1.c: New file.
54054         * tests/test-mbscasestr2.sh: New file.
54055         * tests/test-mbscasestr2.c: New file.
54056         * tests/test-mbscasestr3.sh: New file.
54057         * tests/test-mbscasestr3.c: New file.
54058         * tests/test-mbscasestr4.sh: New file.
54059         * tests/test-mbscasestr4.c: New file.
54060         * m4/locale-tr.m4: New file.
54061
54062 2007-02-11  Bruno Haible  <bruno@clisp.org>
54063
54064         Ensure O(n) worst-case complexity of mbsstr.
54065         * lib/mbsstr.c: Include stdbool.h.
54066         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
54067         functions.
54068         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
54069         bookkeeping indicates that it's worth it.
54070         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
54071
54072         * modules/mbsstr-tests: New file.
54073         * tests/test-mbsstr1.c: New file.
54074         * tests/test-mbsstr2.sh: New file.
54075         * tests/test-mbsstr2.c: New file.
54076         * tests/test-mbsstr3.sh: New file.
54077         * tests/test-mbsstr3.c: New file.
54078         * m4/locale-fr.m4: New file.
54079
54080 2007-02-11  Bruno Haible  <bruno@clisp.org>
54081
54082         * lib/mbsrchr.c (mbsrchr): Fix bug.
54083
54084         * modules/mbsrchr-tests: New file.
54085         * tests/test-mbsrchr.sh: New file.
54086         * tests/test-mbsrchr.c: New file.
54087
54088 2007-02-11  Bruno Haible  <bruno@clisp.org>
54089
54090         * lib/mbschr.c (mbschr): Fix bug.
54091
54092         * modules/mbschr-tests: New file.
54093         * tests/test-mbschr.sh: New file.
54094         * tests/test-mbschr.c: New file.
54095         * m4/locale-zh.m4: New file.
54096
54097 2007-02-11  Bruno Haible  <bruno@clisp.org>
54098
54099         Support for copying multibyte string iterators.
54100         * lib/mbiter.h: Include <string.h>.
54101         (mbiter_multi_copy): New function.
54102         (mbi_copy): New macro.
54103         * lib/mbuiter.h: Include <string.h>.
54104         (mbuiter_multi_copy): New function.
54105         (mbui_copy): New macro.
54106
54107 2007-02-11  Bruno Haible  <bruno@clisp.org>
54108
54109         New module mbslen.
54110         * modules/mbslen: New file.
54111         * lib/mbslen.c: New file.
54112         * lib/string_.h (mbslen): New declaration.
54113         * m4/mbslen.m4: New file.
54114         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54115         GNULIB_MBSLEN.
54116         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
54117         * MODULES.html.sh (Internationalization functions): Add mbslen.
54118
54119 2007-02-11  Bruno Haible  <bruno@clisp.org>
54120
54121         Ensure O(n) worst-case complexity of strcasestr substitute.
54122         * lib/strcasestr.c: Include stdbool.h.
54123         (knuth_morris_pratt): New function.
54124         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54125         bookkeeping indicates that it's worth it.
54126         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
54127
54128         * modules/strcasestr-tests: New file.
54129         * tests/test-strcasestr.c: New file.
54130
54131 2007-02-11  Bruno Haible  <bruno@clisp.org>
54132
54133         Ensure O(n) worst-case complexity of c_strcasestr.
54134         * lib/c-strcasestr.c: Include stdbool.h, string.h.
54135         (knuth_morris_pratt): New function.
54136         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
54137         the bookkeeping indicates that it's worth it.
54138         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
54139
54140         * modules/c-strcasestr-tests: New file.
54141         * tests/test-c-strcasestr.c: New file.
54142
54143 2007-02-11  Bruno Haible  <bruno@clisp.org>
54144
54145         Ensure O(n) worst-case complexity of c_strstr.
54146         * lib/c-strstr.c: Include stdbool.h, string.h.
54147         (knuth_morris_pratt): New function.
54148         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54149         bookkeeping indicates that it's worth it.
54150         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
54151
54152         * lib/c-strstr.c: Complete rewrite for maintainability.
54153
54154         * modules/c-strstr-tests: New file.
54155         * tests/test-c-strstr.c: New file.
54156
54157 2007-02-11  Bruno Haible  <bruno@clisp.org>
54158
54159         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
54160         5.2.1 and earlier, whereby \055 was treated just like the range
54161         delimiter '-'.
54162         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54163
54164 2007-02-08  Bruno Haible  <bruno@clisp.org>
54165
54166         * modules/regex (Depends-on): Add stdbool.
54167         Reported by Dalibor Topic <robilad@kaffe.org>.
54168
54169 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
54170
54171         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
54172         Prefer returning from main to exiting from it.
54173         Remove unnecessary parens after sizeof.
54174
54175 2007-02-05  Bruno Haible  <bruno@clisp.org>
54176
54177         New module mbssep.
54178         * modules/mbssep: New file.
54179         * lib/mbssep.c: New file.
54180         * lib/string_.h (strsep): Add a conditional link warning.
54181         (mbssep): New declaration.
54182         * m4/mbssep.m4: New file.
54183         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54184         GNULIB_MBSSEP.
54185         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
54186         * MODULES.html.sh (Internationalization functions): Add mbssep.
54187
54188 2007-02-05  Bruno Haible  <bruno@clisp.org>
54189
54190         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
54191         Optimize search in case of 1 delimiter.
54192
54193 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54194
54195         * lib/acl.h: Include sys/types.h before sys/acl.h.
54196
54197 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54198
54199         Merge upstream fix for glibc bugzilla #3957:
54200
54201         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
54202
54203         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
54204         bit for RE_HAT_LISTS_NOT_NEWLINE.
54205         (build_charclass_op): Remove bogus comment.
54206
54207 2007-02-05  Simon Josefsson  <simon@josefsson.org>
54208
54209         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
54210
54211 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54212
54213         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
54214         * lib/memmem.c [!defined _LIBC]: Include config.h.
54215
54216 2007-02-04  Bruno Haible  <bruno@clisp.org>
54217
54218         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
54219         warning message.
54220
54221 2007-02-04  Bruno Haible  <bruno@clisp.org>
54222
54223         New module mbstok_r.
54224         * modules/mbstok_r: New file.
54225         * lib/mbstok_r.c: New file.
54226         * lib/string_.h (strtok_r): Change argument names to match the
54227         comments. Add a conditional link warning.
54228         (mbstok_r): New declaration.
54229         * m4/mbstok_r.m4: New file.
54230         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54231         GNULIB_MBSTOK_R.
54232         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
54233         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
54234
54235 2007-02-04  Bruno Haible  <bruno@clisp.org>
54236
54237         New module mbsspn.
54238         * modules/mbsspn: New file.
54239         * lib/mbsspn.c: New file.
54240         * lib/string_.h (strspn): Add a conditional link warning.
54241         (mbsspn): New declaration.
54242         * m4/mbsspn.m4: New file.
54243         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54244         GNULIB_MBSSPN.
54245         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
54246         * MODULES.html.sh (Internationalization functions): Add mbsspn.
54247
54248 2007-02-04  Bruno Haible  <bruno@clisp.org>
54249
54250         New module mbspbrk.
54251         * modules/mbspbrk: New file.
54252         * lib/mbspbrk.c: New file.
54253         * lib/string_.h (strpbrk): Add a conditional link warning.
54254         (mbspbrk): New declaration.
54255         * m4/mbspbrk.m4: New file.
54256         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54257         GNULIB_MBSPBRK.
54258         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
54259         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
54260
54261 2007-02-04  Bruno Haible  <bruno@clisp.org>
54262
54263         New module mbscspn.
54264         * modules/mbscspn: New file.
54265         * lib/mbscspn.c: New file.
54266         * lib/string_.h (strcspn): Add a conditional link warning.
54267         (mbscspn): New declaration.
54268         * m4/mbscspn.m4: New file.
54269         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54270         GNULIB_MBSCSPN.
54271         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
54272         * MODULES.html.sh (Internationalization functions): Add mbscspn.
54273
54274 2007-02-04  Bruno Haible  <bruno@clisp.org>
54275
54276         New module mbscasestr, reduced goal of strcasestr.
54277         * modules/mbscasestr: New file.
54278         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
54279         (mbscasestr): Renamed from strcasestr.
54280         * lib/strcasestr.c: Don't include mbuiter.h.
54281         (strcasestr): Remove support for multibyte locales.
54282         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
54283         Change the conditional link warning.
54284         (mbscasestr): New declaration.
54285         * m4/mbscasestr.m4: New file.
54286         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
54287         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
54288         REPLACE_STRCASESTR.
54289         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
54290         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54291         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54292         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
54293         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
54294         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54295         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
54296         (Depends-on): Remove mbuiter.
54297         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
54298
54299 2007-02-04  Bruno Haible  <bruno@clisp.org>
54300
54301         Simplify handling of strncasecmp.
54302         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
54303         the conditional link warning.
54304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54305         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
54306         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
54307         * modules/strcase (configure.ac): Don't invoke
54308         gl_STRING_MODULE_INDICATOR.
54309         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
54310
54311 2007-02-04  Bruno Haible  <bruno@clisp.org>
54312
54313         New module mbscasecmp, reduced goal of strcasecmp.
54314         * modules/mbscasecmp: New file.
54315         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
54316         (mbscasecmp): Renamed from strcasecmp.
54317         * lib/strcasecmp.c: Don't include mbuiter.h.
54318         (strcasecmp): Remove support for multibyte locales.
54319         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
54320         Change the conditional link warning.
54321         (mbscasecmp): New declaration.
54322         * m4/mbscasecmp.m4: New file.
54323         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
54324         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
54325         REPLACE_STRCASECMP.
54326         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
54327         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54328         GNULIB_MBSCASECMP.
54329         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
54330         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
54331         * modules/strcase (Files): Remove m4/mbrtowc.m4.
54332         (Depends-on): Remove mbuiter.
54333         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
54334
54335 2007-02-04  Bruno Haible  <bruno@clisp.org>
54336
54337         New module mbsstr. Remove module strstr.
54338         * modules/mbsstr: New file.
54339         * modules/strstr: Remove file.
54340         * lib/mbsstr.c: Renamed from lib/strstr.c.
54341         (mbsstr): Renamed from strstr.
54342         * lib/string_.h (strstr): Remove declaration. Change the conditional
54343         link warning.
54344         (mbsstr): New declaration.
54345         * m4/mbsstr.m4: New file.
54346         * m4/strstr.m4: Remove file.
54347         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
54348         REPLACE_STRSTR.
54349         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
54350         Don't initialize GNULIB_STRSTR.
54351         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
54352         substitute GNULIB_STRSTR and REPLACE_STRSTR.
54353         * MODULES.html.sh (Internationalization functions): Add mbsstr.
54354         (Support for systems lacking ANSI C 89): Remove strstr.
54355
54356 2007-02-04  Bruno Haible  <bruno@clisp.org>
54357
54358         New module mbsrchr.
54359         * modules/mbsrchr: New file.
54360         * lib/mbsrchr.c: New file.
54361         * lib/string_.h (strrchr): Add a conditional link warning.
54362         (mbsrchr): New declaration.
54363         * m4/mbsrchr.m4: New file.
54364         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54365         GNULIB_MBSRCHR.
54366         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
54367         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
54368
54369 2007-02-04  Bruno Haible  <bruno@clisp.org>
54370
54371         New module mbschr.
54372         * modules/mbschr: New file.
54373         * lib/mbschr.c: New file.
54374         * lib/string_.h (strchr): Add a conditional link warning.
54375         (mbschr): New declaration.
54376         * m4/mbschr.m4: New file.
54377         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54378         GNULIB_MBSCHR.
54379         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
54380         * MODULES.html.sh (Internationalization functions): Add mbschr.
54381
54382 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54383
54384         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
54385
54386         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
54387
54388 2007-02-04  Bruno Haible  <bruno@clisp.org>
54389
54390         New module description section 'configure.ac-early'.
54391         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
54392         (func_get_autoconf_early_snippet): New function.
54393         (func_import, func_create_testdir): Use it. Remove special cases for
54394         modules 'extensions' and 'lock'.
54395         * modules/extensions (configure.ac-early): Require
54396         gl_USE_SYSTEM_EXTENSIONS.
54397         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
54398
54399 2007-02-04  Bruno Haible  <bruno@clisp.org>
54400
54401         Make use of gcj-4.3's -fsource and -ftarget option.
54402         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
54403         and if so try the options -fsource and -ftarget.
54404         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
54405         source_version, ftarget_option, target_version arguments.
54406         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
54407         (is_envjavac_oldgcj_14_14_usable): Renamed from
54408         is_envjavac_gcj_14_14_usable.
54409         (is_envjavac_oldgcj_14_13_usable): Renamed from
54410         is_envjavac_gcj_14_13_usable.
54411         (is_gcj_present): Update.
54412         (is_gcj_43, is_gcj43_usable): New functions.
54413         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
54414         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
54415         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
54416         try the options -fsource and -ftarget.
54417
54418 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54419
54420         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
54421         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
54422         larger value.
54423
54424 2007-02-03  Jim Meyering  <jim@meyering.net>
54425
54426         Give tools a better chance to allocate space for very large buffers.
54427         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
54428
54429         Make pwd and readlink work also when run with an unreadable parent dir
54430         on systems with openat support.
54431         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
54432         provided getcwd function, even when we have openat support.
54433         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
54434
54435 2007-02-02  Bruno Haible  <bruno@clisp.org>
54436
54437         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
54438         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
54439         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
54440         portability problems if one of these functions is only used on specific
54441         platforms.
54442         Reported by Paul Eggert.
54443
54444 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
54445
54446         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
54447         is causing more trouble than it's curing.
54448         * lib/regex_internal.h (__mempcpy): Remove.
54449         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
54450         (and make the code a tad smaller to boot).
54451         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
54452
54453 2007-02-02  Jim Meyering  <jim@meyering.net>
54454
54455         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
54456         section, not in the Makefile.am: one.
54457
54458 2007-02-02  Eric Blake  <ebb9@byu.net>
54459
54460         * lib/strchrnul.c: Always include config.h first.
54461
54462         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
54463         gnulib strstr is not necessary here.
54464
54465 2007-02-02  Simon Josefsson  <simon@josefsson.org>
54466
54467         * m4/socklen.m4: Fix typo.
54468
54469 2007-02-02  Eric Blake  <ebb9@byu.net>
54470
54471         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
54472         * modules/netinet_in (Makefile.am): Likewise.
54473
54474 2007-02-01  Bruno Haible  <bruno@clisp.org>
54475
54476         * lib/string_.h (GL_LINK_WARNING): New macro.
54477         (strcasecmp, strstr, strcasestr): If provided by the system,
54478         conditionally define as a macro that leads to a warning instead of to
54479         an error.
54480         (strncasecmp): Conditionally define as a macro that leads to a warning.
54481
54482 2007-02-01  Karl Berry  <karl@gnu.org>
54483
54484         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
54485
54486 2007-02-01  Bruno Haible  <bruno@clisp.org>
54487
54488         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
54489         renamings.
54490
54491 2007-02-01  Eric Blake  <ebb9@byu.net>
54492
54493         * modules/regex (Depends-on): Revert dependence on mempcpy.
54494         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
54495         module's definition of mempcpy.
54496         Reported by Paul Eggert.
54497
54498 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54499
54500         * lib/string_.h: If the gnulib module XYZ is not present, undefine
54501         the symbol XYZ before redefining it.  This fixes a problem with
54502         programs that don't use XYZ, when compiled on systems that define
54503         XYZ to something else.
54504
54505 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
54506
54507         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
54508         occurs when "mkdir -m foo" creates a setgid directory that is (1)
54509         writeable to group or other and (2) is intended to have a special
54510         mode bit that is set or cleared.  In such a case, the directory
54511         should be neither group- nor other-writeable until the special
54512         mode bits are right.
54513
54514 2007-01-31  Eric Blake  <ebb9@byu.net>
54515
54516         * modules/mountlist (Depends-on): Add strstr.
54517
54518         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
54519         bug.
54520         * modules/string (Makefile.am): Remove redundant replacement.
54521         * modules/regex (Depends-on): Add mempcpy.
54522
54523 2007-01-31  Bruno Haible  <bruno@clisp.org>
54524
54525         New module description field 'Link'.
54526         * gnulib-tool (func_usage): Document --extract-link-directive.
54527         (sed_extract_prog): Recognize 'Link' directive.
54528         (func_get_link_directive): New function.
54529         (func_import): Show summary of link directives.
54530         Handle --extract-link-directive option.
54531         * modules/acl (Link): New section.
54532         * modules/clock-time (Link): New section.
54533         * modules/euidaccess (Link): New section.
54534         * modules/gettext (Link): New section.
54535         * modules/iconv (Link): New section.
54536         * modules/lock (Link): New section.
54537         * modules/nanosleep (Link): New section.
54538         * modules/readline (Link): New section.
54539
54540 2007-01-27  Bruno Haible  <bruno@clisp.org>
54541
54542         Enforce the use of gnulib modules for unportable <string.h> functions.
54543         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
54544         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
54545         (gl_HEADER_STRING_H_BODY): Require it.
54546         * lib/string_.h: If the gnulib module XYZ is not present, redefine
54547         the symbol XYZ to one that gives a link error.
54548         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
54549         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
54550         * modules/mempcpy (configure.ac): Likewise.
54551         * modules/memrchr (configure.ac): Likewise.
54552         * modules/stpcpy (configure.ac): Likewise.
54553         * modules/stpncpy (configure.ac): Likewise.
54554         * modules/strcase (configure.ac): Likewise.
54555         * modules/strcasestr (configure.ac): Likewise.
54556         * modules/strchrnul (configure.ac): Likewise.
54557         * modules/strdup (configure.ac): Likewise.
54558         * modules/strndup (configure.ac): Likewise.
54559         * modules/strnlen (configure.ac): Likewise.
54560         * modules/strpbrk (configure.ac): Likewise.
54561         * modules/strsep (configure.ac): Likewise.
54562         * modules/strstr (configure.ac): Likewise.
54563         * modules/strtok_r (configure.ac): Likewise.
54564
54565 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
54566
54567         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
54568
54569 2007-01-30  Jim Meyering  <jim@meyering.net>
54570
54571         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
54572
54573 2007-01-29  Bruno Haible  <bruno@clisp.org>
54574
54575         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
54576         * lib/execute.c: Likewise.
54577         * lib/pipe.c: Likewise.
54578         * lib/printf-args.h: Likewise.
54579         * lib/printf-args.c: Likewise.
54580         * lib/printf-parse.c: Likewise.
54581         * lib/vasnprintf.c: Likewise.
54582
54583 2007-01-29  Eric Blake  <ebb9@byu.net>
54584
54585         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
54586         declaration.
54587
54588 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
54589
54590         * lib/strptime.h (strptime): Use 'restrict' for args where
54591         POSIX requires this.
54592         * lib/strptime.c (strptime): Likewise.
54593         Change license notice from LGPL to GPL, since gnulib-tool will
54594         change this as needed.
54595         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
54596         defined.
54597         Include "strptime.h" first, to check interface.
54598         Do not #undef _LIBC and _NL_CURRENT.
54599         Do not include <stdlib.h>; no longer needed.
54600         Include "time_r.h" and declare ptime_locale_status
54601         only if _LIBC is not defined.
54602         (__P): Remove unused macro.
54603         (match_string): Bring back glibc version, but use it only if _LIBC
54604         is defined.
54605         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
54606         Remove unnecessary assertion and abort() call.
54607         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
54608         * m4/strptime.m4: Fix serial number comment.
54609         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
54610         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
54611         (Depends-on): Add time_r.
54612
54613 2007-01-29  Bruno Haible  <bruno@clisp.org>
54614
54615         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54616         strptime.
54617         * modules/strptime (Depends-on): Add stdbool.
54618         * lib/strptime.h: Include <time.h> always. Add comments.
54619
54620 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54621
54622         * modules/strptime: New file.
54623         * lib/strptime.h: New file.
54624         * lib/strptime.c: New file.
54625         * m4/strptime.m4: New file.
54626
54627 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54628
54629         * MODULES.html.sh: New module mpsort.
54630         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
54631
54632         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
54633         a circularity problem with HP-UX ia64 reported by Bob Proulx in
54634         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
54635         All uses changed.
54636         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
54637         All uses changed.
54638         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
54639         to _Restrict_.
54640         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
54641         the parameter matches the prototype.
54642
54643 2007-01-28  Jim Meyering  <jim@meyering.net>
54644
54645         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
54646         sys/time.h here, reverting that part of the previous patch:
54647         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
54648
54649 2007-01-28  Bruno Haible  <bruno@clisp.org>
54650
54651         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
54652         value of $(SYS_TIME_H).
54653         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
54654         remove it conditionally, too. [added by Jim Meyering]
54655         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
54656         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54657         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
54658         GETTIMEOFDAY_REPLACEMENT to 1.
54659
54660 2007-01-28  Bruno Haible  <bruno@clisp.org>
54661
54662         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
54663         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
54664         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
54665         Set UNISTD_H instead of UNISTD_H2.
54666         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
54667
54668 2007-01-28  Bruno Haible  <bruno@clisp.org>
54669
54670         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
54671         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
54672
54673 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54674
54675         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
54676         (func_create_testdir): Ensure C locale for `grep' and `tr'
54677         character ranges.
54678         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
54679         ACLOCAL_AMFLAGS parsing state machine.
54680
54681 2007-01-27  Bruno Haible  <bruno@clisp.org>
54682
54683         * modules/unistr/base: Update.
54684
54685 2007-01-27  Bruno Haible  <bruno@clisp.org>
54686
54687         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
54688         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
54689         * modules/unistr/u32-mbtouc-unsafe: Renamed from
54690         modules/unistr/u32-mbtouc.
54691         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
54692         * lib/unistr.h: Update.
54693         * lib/linebreak.c: Update.
54694         * modules/unistr/u32-mbtouc: Renamed from
54695         modules/unistr/u32-mbtouc-safe.
54696         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
54697         * lib/unistr.h: Update.
54698         * lib/unistr/u32-to-u8.c: Update.
54699         * lib/unistr/u32-to-u16.c: Update.
54700
54701 2007-01-27  Bruno Haible  <bruno@clisp.org>
54702
54703         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
54704         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
54705         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
54706         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
54707         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
54708         * modules/unistr/u16-mbtouc-unsafe: Renamed from
54709         modules/unistr/u16-mbtouc.
54710         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
54711         * lib/unistr.h: Update.
54712         * lib/linebreak.c: Update.
54713         * modules/linebreak: Update.
54714         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
54715         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
54716         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
54717         * modules/unistr/u16-mbtouc: Renamed from
54718         modules/unistr/u16-mbtouc-safe.
54719         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
54720         * lib/unistr.h: Update.
54721         * lib/unistr/u16-to-u8.c: Update.
54722         * modules/unistr/u16-to-u8: Update.
54723         * lib/unistr/u16-to-u32.c: Update.
54724         * modules/unistr/u16-to-u32: Update.
54725
54726 2007-01-27  Bruno Haible  <bruno@clisp.org>
54727
54728         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
54729         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
54730         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
54731         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
54732         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
54733         * modules/unistr/u8-mbtouc-unsafe: Renamed from
54734         modules/unistr/u8-mbtouc.
54735         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
54736         * lib/unistr.h: Update.
54737         * lib/striconveh.c: Update.
54738         * modules/striconveh: Update.
54739         * lib/linebreak.c: Update.
54740         * modules/linebreak: Update.
54741         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
54742         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
54743         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
54744         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
54745         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
54746         * lib/unistr.h: Update.
54747         * lib/striconveh.c: Update.
54748         * modules/striconveh: Update.
54749         * lib/unistr/u8-to-u16.c: Update.
54750         * modules/unistr/u8-to-u16: Update.
54751         * lib/unistr/u8-to-u32.c: Update.
54752         * modules/unistr/u8-to-u32: Update.
54753
54754 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54755
54756         Sync from Libtool.
54757         * lib/argz.c: Do not include strings.h nor memory.h, include
54758         string.h unconditionally.  Patch by Simon Josefsson.
54759
54760 2007-01-27  Bruno Haible  <bruno@clisp.org>
54761
54762         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
54763         from gl_HEADER_STRING_H_BODY.
54764         (gl_HEADER_STRING_H_BODY): Require it.
54765         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
54766         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
54767         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
54768         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
54769         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54770         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
54771         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54772         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
54773         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
54774         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54775         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
54776         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
54777         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
54778         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54779         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54780
54781 2007-01-27  Bruno Haible  <bruno@clisp.org>
54782
54783         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
54784         check_PROGRAMS into noinst_PROGRAMS.
54785         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
54786         check_PROGRAMS in this case.
54787         (func_import): Set for_test to false.
54788         (func_create_testdir): Set for_test to true.
54789
54790 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
54791             Bruno Haible  <bruno@clisp.org>
54792
54793         * modules/strcasestr (Files): Remove lib/strcasestr.h.
54794         (Depends-on): Add string.
54795         (Includes): Use <string.h> instead of strcasestr.h.
54796         * modules/string (Makefile.am): Also substitute the value of
54797         REPLACE_STRCASESTR.
54798         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
54799         assume strcasestr is declared in <string.h> not <strings.h>. Also
54800         set REPLACE_STRCASESTR.
54801         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
54802         REPLACE_STRCASESTR.
54803         * lib/strcasestr.h: Remove file.
54804         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
54805         * lib/string_.h (strcasestr): New declaration.
54806
54807 2007-01-27  Bruno Haible  <bruno@clisp.org>
54808
54809         * lib/string_.h: Use 'extern'.
54810
54811 2007-01-27  Jim Meyering  <jim@meyering.net>
54812
54813         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
54814         of set-but-not-used local, "q".
54815
54816         * lib/mempcpy.c: Include <config.h> before <string.h>.
54817         This fixes a compilation error on HP-UX, due to the system's
54818         "restrict"-using mempcpy prototype.
54819
54820 2007-01-26  Bruno Haible  <bruno@clisp.org>
54821
54822         Small optimization.
54823         * lib/javacomp.c: Include c-strstr.h.
54824          (is_envjavac_gcj): Use c_strstr instead of strstr.
54825         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
54826
54827 2007-01-26  Bruno Haible  <bruno@clisp.org>
54828
54829         * MODULES.html.sh (Unicode string functions): Add the new modules.
54830
54831         * modules/uniconv/u32-strconv-to-locale: New file.
54832         * lib/uniconv/u32-strconv-to-locale.c: New file.
54833
54834         * modules/uniconv/u16-strconv-to-locale: New file.
54835         * lib/uniconv/u16-strconv-to-locale.c: New file.
54836
54837         * modules/uniconv/u8-strconv-to-locale: New file.
54838         * lib/uniconv/u8-strconv-to-locale.c: New file.
54839
54840         * modules/uniconv/u32-strconv-from-locale: New file.
54841         * lib/uniconv/u32-strconv-from-locale.c: New file.
54842
54843         * modules/uniconv/u16-strconv-from-locale: New file.
54844         * lib/uniconv/u16-strconv-from-locale.c: New file.
54845
54846         * modules/uniconv/u8-strconv-from-locale: New file.
54847         * lib/uniconv/u8-strconv-from-locale.c: New file.
54848
54849         * modules/uniconv/u32-strconv-to-enc: New file.
54850         * lib/uniconv/u32-strconv-to-enc.c: New file.
54851         * modules/uniconv/u32-strconv-to-enc-tests: New file.
54852         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
54853
54854         * modules/uniconv/u16-strconv-to-enc: New file.
54855         * lib/uniconv/u16-strconv-to-enc.c: New file.
54856         * lib/uniconv/u-strconv-to-enc.h: New file.
54857         * modules/uniconv/u16-strconv-to-enc-tests: New file.
54858         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
54859
54860         * modules/uniconv/u8-strconv-to-enc: New file.
54861         * lib/uniconv/u8-strconv-to-enc.c: New file.
54862         * modules/uniconv/u8-strconv-to-enc-tests: New file.
54863         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
54864
54865         * modules/uniconv/u32-strconv-from-enc: New file.
54866         * lib/uniconv/u32-strconv-from-enc.c: New file.
54867         * modules/uniconv/u32-strconv-from-enc-tests: New file.
54868         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
54869
54870         * modules/uniconv/u16-strconv-from-enc: New file.
54871         * lib/uniconv/u16-strconv-from-enc.c: New file.
54872         * modules/uniconv/u16-strconv-from-enc-tests: New file.
54873         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
54874
54875         * modules/uniconv/u8-strconv-from-enc: New file.
54876         * lib/uniconv/u8-strconv-from-enc.c: New file.
54877         * lib/uniconv/u-strconv-from-enc.h: New file.
54878         * modules/uniconv/u8-strconv-from-enc-tests: New file.
54879         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
54880
54881         * modules/uniconv/u32-conv-from-enc: New file.
54882         * lib/uniconv/u32-conv-from-enc.c: New file.
54883         * modules/uniconv/u32-conv-from-enc-tests: New file.
54884         * tests/uniconv/test-u32-conv-from-enc.c: New file.
54885
54886         * modules/uniconv/u16-conv-from-enc: New file.
54887         * lib/uniconv/u16-conv-from-enc.c: New file.
54888         * lib/uniconv/u-conv-from-enc.h: New file.
54889         * modules/uniconv/u16-conv-from-enc-tests: New file.
54890         * tests/uniconv/test-u16-conv-from-enc.c: New file.
54891
54892         * modules/uniconv/u8-conv-from-enc: New file.
54893         * lib/uniconv/u8-conv-from-enc.c: New file.
54894         * modules/uniconv/u8-conv-from-enc-tests: New file.
54895         * tests/uniconv/test-u8-conv-from-enc.c: New file.
54896
54897         * modules/uniconv/base: New file.
54898         * lib/uniconv.h: New file.
54899
54900 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
54901
54902         * doc/gnulib-tool.texi (Initial import): Update to match current
54903         behavior with strdup module.
54904         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
54905         * lib/memmem.h: Remove; all uses removed.  This is now done
54906         by <string.h>.
54907         * lib/mempcpy.h: Likewise.
54908         * lib/memrchr.h: Likewise.
54909         * lib/stpcpy.h: Likewise.
54910         * lib/stpncpy.h: Likewise.
54911         * lib/strcase.h: Likewise.
54912         * lib/strchrnul.h: Likewise.
54913         * lib/strdup.h: Likewise.
54914         * lib/strndup.h: Likewise.
54915         * lib/strnlen.h: Likewise.
54916         * lib/strpbrk.h: Likewise.
54917         * lib/strsep.h: Likewise.
54918         * lib/strstr.h: Likewise.
54919         * lib/strtok_r.h: Likewise.
54920         * lib/string_.h: New file.
54921         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
54922         Rely on <string.h> instead.
54923         * lib/canon-host.c: Likewise.
54924         * lib/chdir-long.c: Likewise.
54925         * lib/concatpath.c: Likewise.
54926         * lib/exclude.c: Likewise.
54927         * lib/fchdir.c: Likewise.
54928         * lib/getaddrinfo.c: Likewise.
54929         * lib/getcwd.c: Likewise.
54930         * lib/getsubopt.c: Likewise.
54931         * lib/glob.c: Likewise.
54932         * lib/hard-locale.c: Likewise.
54933         * lib/iconvme.c: Likewise.
54934         * lib/javacomp.c: Likewise.
54935         * lib/mempcpy.c: Likewise.
54936         * lib/memrchr.c: Likewise.
54937         * lib/regex_internal.h: Likewise.
54938         * lib/stpncpy.c: Likewise.
54939         * lib/strcasecmp.c: Likewise.
54940         * lib/strchrnul.c: Likewise.
54941         * lib/strdup.c: Likewise.
54942         * lib/striconv.c: Likewise.
54943         * lib/striconveh.c: Likewise.
54944         * lib/striconveha.c: Likewise.
54945         * lib/strncasecmp.c: Likewise.
54946         * lib/strndup.c: Likewise.
54947         * lib/strnlen.c: Likewise.
54948         * lib/strsep.c: Likewise.
54949         * lib/strstr.c: Likewise.
54950         * lib/strtok_r.c: Likewise.
54951         * lib/userspec.c: Likewise.
54952         * lib/w32spawn.h: Likewise.
54953         * lib/xstrndup.c: Likewise.
54954         * lib/mountlist.c (strstr): Remove decl.
54955         * m4/string_h.m4: New file.
54956         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
54957         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
54958         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
54959         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
54960         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
54961         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
54962         Set REPLACE_STRCASECMP if necessary.
54963         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
54964         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
54965         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
54966         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
54967         HAVE_DECL_STRDUP if necessary.
54968         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
54969         since gl_FUNC_STRNDUP does that now.
54970         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
54971         Check for decl here...
54972         (gl_PREREQ_STRNLEN): ... not here.
54973         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
54974         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
54975         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
54976         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
54977         necessary.
54978         * modules/string: New file.
54979         * modules/memmem (Files): Remove special-purpose include file.
54980         (Depends-on): Add string.
54981         (Include): Include <string.h>, not the removed file.
54982         * modules/mempcpy: Likewise.
54983         * modules/memrchr: Likewise.
54984         * modules/stpcpy: Likewise.
54985         * modules/stpncpy: Likewise.
54986         * modules/strcase: Likewise.
54987         * modules/strchrnul: Likewise.
54988         * modules/strdup: Likewise.
54989         * modules/strndup: Likewise.
54990         * modules/strnlen: Likewise.
54991         * modules/strpbrk: Likewise.
54992         * modules/strsep: Likewise.
54993         * modules/strstr: Likewise.
54994         * modules/strtok_r: Likewise.
54995         * tests/test-dirname.c: Don't include "strdup.h", since
54996         <string.h> now suffices.
54997         * tests/test-memmem.c: Don't include "memmem.h", since
54998         <string.h> now suffices.
54999
55000 2007-01-25  Bruno Haible  <bruno@clisp.org>
55001
55002         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
55003         *resultp is 0.
55004
55005         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
55006         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
55007         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
55008         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
55009
55010         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
55011         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
55012         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
55013         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
55014         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
55015         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
55016
55017 2007-01-24  Bruno Haible  <bruno@clisp.org>
55018
55019         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
55020         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
55021         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
55022         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
55023         gl_FUNC_FTS_CORE.
55024         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
55025         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
55026         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55027         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
55028         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
55029         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
55030         gl_FUNC_FCHOWNAT.
55031         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
55032         gl_FUNC_STRFTIME.
55033         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
55034         Reported by Ralf Wildenhues.
55035
55036 2007-01-24  Bruno Haible  <bruno@clisp.org>
55037
55038         Drop AC_REQUIRE calls that are redundant with the module dependencies.
55039         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
55040         gl_GETADDRINFO.
55041         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
55042         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
55043         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
55044
55045 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
55046
55047         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
55048         Don't use 'exit'; just return from 'main'.
55049         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
55050
55051         * lib/fnmatch_.h: Readjust white space and comments to match
55052         glibc, to avoid spurious diffs.
55053
55054 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55055
55056         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
55057         2004-12-01 change by Jakub Jelinek, since this code won't compile
55058         if !LIBC.  Problem reported by Bob Proulx.
55059
55060 2007-01-23  Bruno Haible  <bruno@clisp.org>
55061
55062         * lib/striconveh.c: Include c-strcaseeq.h.
55063         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
55064         * modules/striconveh (Depends-on): Add c-strcaseeq.
55065
55066 2007-01-23  Bruno Haible  <bruno@clisp.org>
55067
55068         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
55069
55070         * modules/c-strcaseeq: New file.
55071         * lib/c-strcaseeq.h: New file.
55072
55073         * modules/streq: New file.
55074         * lib/streq.h: New file.
55075
55076 2007-01-23  Bruno Haible  <bruno@clisp.org>
55077
55078         * modules/striconveha-tests: New file.
55079         * tests/test-striconveha.c: New file.
55080
55081         * lib/striconveha.h: Include <stdbool.h>.
55082         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
55083         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
55084         (mem_iconveha_notranslit): Renamed from mem_iconveha.
55085         (mem_iconveha): New function.
55086         (str_iconveha_notranslit): Renamed from str_iconveha.
55087         (str_iconveha): New function.
55088         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
55089         c-strcase.
55090
55091 2007-01-23  Bruno Haible  <bruno@clisp.org>
55092
55093         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
55094         encodings without forgiving before trying any encoding with handler.
55095         (str_iconveha): Try all encodings without forgiving before trying any
55096         encoding with handler.
55097
55098 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55099
55100         Import the following changes from libc.
55101
55102         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
55103
55104         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
55105
55106         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
55107
55108         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
55109         normal_bracket label.
55110
55111         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
55112
55113         [BZ #361]
55114         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
55115         to normal_bracket after fetching the next character.
55116
55117 2007-01-22  Bruno Haible  <bruno@clisp.org>
55118
55119         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
55120         argument.
55121         * lib/striconveh.c (iconv_carefully_1): New function.
55122         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
55123         argument.
55124         (str_cd_iconveh): Update.
55125         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
55126         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
55127         * tests/test-striconveh.c (MAGIC): New macro.
55128         (new_offsets): New function.
55129         (main): Test call with and without offsets.
55130
55131 2007-01-22  Bruno Haible  <bruno@clisp.org>
55132
55133         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
55134         * modules/sys_select (Makefile.am): Likewise.
55135         * modules/sys_socket (Makefile.am): Likewise.
55136         * modules/sys_time (Makefile.am): Likewise.
55137
55138 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
55139
55140         * modules/gettimeofday (License): Change from GPL to LGPL, since
55141         gettimeofday is a library function.
55142
55143 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55144
55145         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
55146
55147 2007-01-21  Bruno Haible  <bruno@clisp.org>
55148
55149         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
55150
55151 2007-01-21  Bruno Haible  <bruno@clisp.org>
55152
55153         * modules/striconveha: New file.
55154         * lib/striconveha.h: New file.
55155         * lib/striconveha.c: New file.
55156         * MODULES.html.sh (Internationalization functions): Add striconveha.
55157         * lib/striconv.c (str_iconv): Optimize the case of an empty input
55158         string.
55159         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
55160
55161 2007-01-21  Bruno Haible  <bruno@clisp.org>
55162
55163         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
55164         * lib/striconveh.c (str_iconveh): Likewise.
55165
55166 2007-01-21  Bruno Haible  <bruno@clisp.org>
55167
55168         * lib/striconveh.h (mem_iconveh): New declaration.
55169         * lib/striconveh.c (mem_iconveh): New function.
55170         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
55171
55172 2007-01-21  Bruno Haible  <bruno@clisp.org>
55173
55174         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
55175
55176         * lib/striconveh.h (mem_cd_iconveh): Change specification.
55177         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
55178         original result buffer.
55179         (str_cd_iconveh): Update.
55180         * tests/test-striconveh.c (main): Update.
55181
55182         * lib/striconv.h (mem_cd_iconv): Change specification.
55183         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
55184         result buffer.
55185         (str_cd_iconv): Update.
55186         * tests/test-striconv.c (main): Update.
55187
55188 2007-01-21  Bruno Haible  <bruno@clisp.org>
55189
55190         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
55191
55192 2007-01-20  Jim Meyering  <jim@meyering.net>
55193
55194         * lib/userspec.c (parse_with_separator): If a user or group string
55195         starts with "+", skip the corresponding name-to-ID look-up, since
55196         such a look-up must fail: user and group names may not include "+".
55197
55198 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
55199
55200         * lib/poll.c: Include sys/time.h and time.h unconditionally,
55201         since we now assume the sys_time module.
55202         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
55203         check for sys/time.h; no longer needed.
55204         * modules/poll (Depends-on): Depend on sys_time.
55205
55206 2007-01-18  Bruno Haible  <bruno@clisp.org>
55207
55208         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
55209         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55210
55211         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
55212         gettimeofday.
55213
55214         * tests/test-gettimeofday.c: Include <time.h>.
55215         (dummy): Remove variable.
55216
55217         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
55218         gl_HEADER_SYS_TIME_H.
55219         (gl_HEADER_SYS_TIME_H): New macro.
55220
55221         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
55222         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55223         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
55224         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
55225         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55226         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
55227         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
55228         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55229         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
55230         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
55231         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55232
55233         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
55234         last change; it caused a compilation error when cross-compiling to
55235         Cygwin.
55236
55237 2007-01-18  Jim Meyering  <jim@meyering.net>
55238
55239         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
55240         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
55241         than the race-prone "test -d sys || mkdir sys".
55242         (configure.ac): Use AC_PROG_MKDIR_P.
55243         * modules/sys_select: Likewise.
55244         * modules/sys_socket: Likewise.
55245         * modules/sys_time: Likewise.
55246
55247 2007-01-18  Eric Blake  <ebb9@byu.net>
55248
55249         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
55250         replace gettimeofday.
55251         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
55252         name, to avoid infinite recursion.
55253
55254 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
55255
55256         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
55257         module sys_time.
55258         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
55259         assume timespec.h defines struct timeval.
55260         * lib/settime.c: Likewise.
55261         * lib/utimens.c: Likewise.
55262         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
55263         since we now assume the gettimeofday module.
55264         * lib/tempname.c (__gen_tempname): Likewise.
55265         * lib/gettimeofday.h: Remove.
55266         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
55267         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
55268         Include <time.h>, for 'time()'.
55269         (localtime_buffer_addr): Also use this workaround if
55270         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
55271         to simplify the uses.  All uses changed.
55272         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
55273         that #undef is inside {}, and 'const' follows type name consistently.
55274         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
55275         (gettimeofday): Do not use the maximum possible value for
55276         tv->tv_usec, since that might break usages other than ls.c.
55277         Instead, we'll leave ls.c alone.  This undoes today's patch
55278         by Bruno.  Add a compile-time warning for 1s-clock resolution;
55279         we've never observed the problem but might as well keep the
55280         canary.
55281         * lib/nanosleep.c: Include timespec.h first, for interface check.
55282         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
55283         now assume the sys_time module.
55284         * lib/tempname.c: Likewise.
55285         * lib/timespec.h: Likewise.
55286         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
55287         needed.
55288         * lib/strftime.c: Likewise.
55289         * lib/timespec.h: Likewise.
55290         * lib/posixtm.c: Include posixtm.h first, for interface check.
55291         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
55292         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
55293         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
55294         * lib/sys_time_.h: New file.
55295         * lib/timespec.h (struct timespec): Use long int, not long.
55296         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
55297         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
55298         Remove obsolescent call to AC_HEADER_TIME.
55299         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
55300         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
55301         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55302         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
55303         Likewise.
55304         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
55305         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
55306         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
55307         into the sys_time module.  Check for gettimeofday just once.
55308         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
55309         for gettimeofday signature to just check the signature.  Merely
55310         compile it, since linking doesn't test signature.  Improve test for
55311         whether gettimeofday.o is actually needed.
55312         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
55313         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
55314         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
55315         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55316         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
55317         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
55318         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
55319         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
55320         than worrying about sys/time.h.
55321         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55322         Don't bother worrying about TIME_WITH_SYS_TIME.
55323         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
55324         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
55325         * m4/sys_time_h.m4: New file.
55326         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
55327         Don't include sys/time.h.  Return from main rather than exiting.
55328         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
55329         all uses changed.
55330         * modules/gethrxtime (Depends-on): Add sys_time.
55331         * modules/gettime (Depends-on): Likewise.
55332         * modules/gettimeofday (Depends-on): Likewise.
55333         * modules/nanosleep (Depends-on): Likewise.
55334         * modules/settime (Depends-on): Likewise.
55335         * modules/tempname (Depends-on): Likewise.
55336         * modules/utimens (Depends-on): Likewise.
55337         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
55338         (Include): Change back to <sys/time.h>.
55339         (Maintainer): Add self.
55340         * modules/sys_time: New file.
55341         * modules/tempname (Depends-on): Add gettimeofday.
55342         * tests/test-gettimeofday.c: Include <sys/time.h>
55343         rather than gettimeofday.h.
55344
55345 2007-01-17  Bruno Haible  <bruno@clisp.org>
55346
55347         * gnulib-tool (func_get_license): Revert last patch. Instead, let
55348         the license default to GPL.
55349         (func_create_testdir): Don't complain if a module is LGPL and its
55350         tests module depends on GPLed modules.
55351
55352 2007-01-17  Bruno Haible  <bruno@clisp.org>
55353
55354         * lib/gettimeofday.c (gettimeofday): Add code for the case
55355         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
55356         maximum possible value for tv->tv_usec, rather than the minimum one.
55357
55358 2005-10-08  Martin Lambers  <marlam@marlam.de>
55359 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55360 2007-01-16  Bruno Haible  <bruno@clisp.org>
55361
55362         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
55363         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
55364         gl_FUNC_GETTIMEOFDAY.
55365         (Include): Add gettimeofday.h.
55366         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
55367         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
55368         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
55369         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
55370         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
55371         * lib/gettimeofday.h: New file.
55372         * lib/gettimeofday.c: Include <sys/timeb.h>.
55373         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
55374         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55375         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
55376         fall back on time().
55377
55378         * tests/test-gettimeofday.c: New file.
55379         * modules/gettimeofday-tests: New file.
55380
55381 2007-01-16  Eric Blake  <ebb9@byu.net>
55382
55383         * modules/fnmatch (Depends-on): Depend on wchar.
55384         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
55385         * m4/fnmatch.m4: Likewise.
55386         * modules/mbchar (Makefile.am): Assume <wchar.h>.
55387         * m4/mbchar.m4: Likewise.
55388         * modules/mbswidth (Depends-on): Depend on wchar.
55389         * lib/mbswidth.c: Assume <wchar.h>.
55390         * m4/mbswidth.m4: Likewise.
55391         * modules/quotearg (Depends-on): Depend on wchar.
55392         * lib/quotearg.c: Assume <wchar.h>.
55393         * m4/quotearg.m4: Likewise.
55394         * modules/regex (Depends-on): Depend on wchar.
55395         * lib/regex_internal.h: Assume <wchar.h>.
55396         * m4/regex.m4: Likewise.
55397         * modules/stdint (Depends-on): Depend on wchar.
55398         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
55399         * m4/stdint.m4: Likewise.
55400         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
55401         * modules/strftime (Depends-on): Depend on wchar.
55402         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
55403         * modules/strtol (Depends-on): Depend on wchar.
55404         * lib/strtol.c: Assume <wchar.h>.
55405         * modules/wcwidth (Depends-on): Depend on wchar.
55406         * lib/wcwidth.h: Assume <wchar.h>.
55407         * m4/wcwidth.m4: Likewise.
55408
55409 2007-01-16  Bruno Haible  <bruno@clisp.org>
55410
55411         * modules/csharpexec-script: New, created from...
55412         * modules/csharpexec: ... this.
55413
55414 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55415
55416         * modules/javaexec-script: New, created from...
55417         * modules/javaexec: ... this.
55418
55419 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55420
55421         * modules/poll (Dependencies): Add sys_select.
55422
55423 2007-01-15  Jim Meyering  <jim@meyering.net>
55424
55425         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
55426         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
55427         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
55428         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
55429
55430 2007-01-15  Bruno Haible  <bruno@clisp.org>
55431
55432         * modules/striconveh: New file.
55433         * lib/striconveh.h: New file.
55434         * lib/striconveh.c: New file.
55435         * MODULES.html.sh (Internationalization functions): Add striconveh.
55436
55437         * modules/striconveh-tests: New file.
55438         * tests/test-striconveh.c: New file.
55439
55440 2007-01-15  Bruno Haible  <bruno@clisp.org>
55441
55442         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
55443         not from GNU libiconv or GNU libc.
55444
55445 2007-01-15  Bruno Haible  <bruno@clisp.org>
55446
55447         * doc/gnulib-intro.texi (Copyright): Explain the different license
55448         terms for module descriptions, autoconf macros, tests, documentation.
55449
55450 2007-01-14  Bruno Haible  <bruno@clisp.org>
55451
55452         * modules/striconv-tests: New file.
55453         * tests/test-striconv.c: New file.
55454
55455 2007-01-14  Bruno Haible  <bruno@clisp.org>
55456
55457         * modules/iconv-tests: New file.
55458         * tests/test-iconv.c: New file.
55459
55460 2007-01-14  Bruno Haible  <bruno@clisp.org>
55461
55462         * gnulib-tool (func_get_license): For test modules, use the license of
55463         the main module.
55464
55465 2007-01-14  Bruno Haible  <bruno@clisp.org>
55466
55467         * modules/iconv (Include): Clarify that <iconv.h> can only be included
55468         if iconv is found to exist.
55469
55470 2007-01-14  Bruno Haible  <bruno@clisp.org>
55471
55472         * modules/c-ctype-tests: New file.
55473         * tests/test-c-ctype.c: New file.
55474
55475 2007-01-14  Bruno Haible  <bruno@clisp.org>
55476
55477         * modules/binary-io-tests: New file.
55478         * tests/test-binary-io.sh: New file.
55479         * tests/test-binary-io.c: New file.
55480
55481 2007-01-14  Bruno Haible  <bruno@clisp.org>
55482
55483         * modules/array-oset-tests: New file.
55484         * tests/test-array_oset.c: New file.
55485
55486 2007-01-14  Bruno Haible  <bruno@clisp.org>
55487
55488         * modules/array-list-tests: New file.
55489         * tests/test-array_list.c: New file.
55490
55491 2007-01-14  Bruno Haible  <bruno@clisp.org>
55492
55493         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
55494         and make.
55495         Reported by Simon Josefsson in
55496         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
55497
55498 2007-01-14  Bruno Haible  <bruno@clisp.org>
55499
55500         * modules/allocsa-tests: New file.
55501         * tests/test-allocsa.c: New file.
55502
55503 2007-01-14  Bruno Haible  <bruno@clisp.org>
55504
55505         * modules/fchdir (Depends-on): Add absolute-header.
55506         * modules/unistd (Depends-on): Likewise.
55507
55508 2006-12-30  Bruno Haible  <bruno@clisp.org>
55509
55510         * modules/fchdir: New file.
55511         * modules/unistd (Files): Add lib/unistd_.h.
55512         (Makefile.am): Generate unistd.h from unistd_.h.
55513         * lib/fchdir.c: New file.
55514         * lib/dirent_.h: New file.
55515         * lib/unistd_.h: New file.
55516         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
55517         * m4/fchdir.m4: New file.
55518         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
55519         (gl_HEADER_UNISTD): Invoke it.
55520         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
55521         function.
55522         * lib/backupfile.c (opendir, closedir): Undefine.
55523         * lib/chown.c (open, close): Undefine.
55524         * lib/clean-temp.c (open, close): Undefine.
55525         * lib/copy-file.c (open, close): Undefine.
55526         * lib/execute.c (open, close): Undefine.
55527         * lib/fsusage.c (open, close): Undefine.
55528         * lib/gc-gnulib.c (open, close): Undefine.
55529         * lib/getcwd.c (opendir, closedir): Undefine.
55530         * lib/glob.c (opendir, closedir): Undefine.
55531         * lib/javacomp.c (open, close): Undefine.
55532         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
55533         * lib/openat-proc.c (open, close): Undefine.
55534         * lib/pagealign_alloc.c (open, close): Undefine.
55535         * lib/pipe.c (open, close): Undefine.
55536         * lib/progreloc.c (open, close): Undefine.
55537         * lib/savedir.c (opendir, closedir): Undefine.
55538         * lib/utime.c (open, close): Undefine.
55539         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
55540
55541 2007-01-10  Bruno Haible  <bruno@clisp.org>
55542
55543         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
55544
55545 2007-01-12  Eric Blake  <ebb9@byu.net>
55546
55547         Provide a robust <wchar.h>.  Further simplifications are now
55548         possible in other modules, but not included here.
55549         * modules/wchar: New module.
55550         * m4/wchar.m4: New file.
55551         * lib/wchar_.h: Likewise.
55552         * modules/mbchar (Depends-on): Depend on wchar, as the first use
55553         of the new module.
55554         * MODULES.html.sh (Extended multibyte and wide character utilities):
55555         New section.
55556
55557 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
55558
55559         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
55560         to a reasonable default for memory allocation.
55561         (xreadlink): Don't allocate a huge buffer, to work around a buggy
55562         file system that reports garbage st_size values for symlinks.
55563         Problem reported by Liyang Hu.
55564
55565 2007-01-11  Simon Josefsson  <simon@josefsson.org>
55566
55567         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
55568         Emacs .#* auto-save files).
55569
55570 2007-01-11  Bruno Haible  <bruno@clisp.org>
55571
55572         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
55573         directory.
55574
55575 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
55576
55577         Use @...@ consistently in lib/wctype_.h.
55578         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
55579         on it being set to 1 or 0.
55580         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
55581         go back to AC_SUBSTing it.
55582         * modules/wctype (Makefile.am): Undo previous change.
55583
55584 2007-01-10  Eric Blake  <ebb9@byu.net>
55585
55586         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
55587         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
55588         * modules/wctype (Makefile.am): Likewise.
55589         Reported by Chris McGuire.
55590
55591 2007-01-10  Jim Meyering  <jim@meyering.net>
55592
55593         fts.c: a small readability/maintainability improvement
55594         * lib/fts.c (fts_read): Make this code slightly more readable and
55595         maintainable by hoisting the "sp->fts_cur = p" assignments to
55596         immediately follow the statements that set P.  Derived from
55597         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
55598
55599 2007-01-10  Eric Blake  <ebb9@byu.net>
55600
55601         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
55602         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
55603         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55604         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
55605         Reported by Chris McGuire.
55606
55607 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55608
55609         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
55610         in sed script.
55611
55612 2007-01-09  Bruno Haible  <bruno@clisp.org>
55613
55614         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
55615         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
55616         variables.
55617         (func_module): Use them.
55618
55619 2007-01-09  Bruno Haible  <bruno@clisp.org>
55620
55621         * modules/unistr/base: New file.
55622         * lib/unistr.h: New file.
55623
55624         * modules/unistr/u8-to-u16: New file.
55625         * lib/unistr/u8-to-u16.c: New file.
55626
55627         * modules/unistr/u8-to-u32: New file.
55628         * lib/unistr/u8-to-u32.c: New file.
55629
55630         * modules/unistr/u16-to-u8: New file.
55631         * lib/unistr/u16-to-u8.c: New file.
55632
55633         * modules/unistr/u16-to-u32: New file.
55634         * lib/unistr/u16-to-u32.c: New file.
55635
55636         * modules/unistr/u32-to-u8: New file.
55637         * lib/unistr/u32-to-u8.c: New file.
55638
55639         * modules/unistr/u32-to-u16: New file.
55640         * lib/unistr/u32-to-u16.c: New file.
55641
55642         * modules/unistr/u8-check: New file.
55643         * modules/unistr/u16-check: New file.
55644         * modules/unistr/u32-check: New file.
55645         * lib/unistr/u8-check.c: New file.
55646         * lib/unistr/u16-check.c: New file.
55647         * lib/unistr/u32-check.c: New file.
55648
55649         * modules/unistr/u8-chr: New file.
55650         * modules/unistr/u16-chr: New file.
55651         * modules/unistr/u32-chr: New file.
55652         * lib/unistr/u8-chr.c: New file.
55653         * lib/unistr/u16-chr.c: New file.
55654         * lib/unistr/u32-chr.c: New file.
55655
55656         * modules/unistr/u8-cmp: New file.
55657         * modules/unistr/u16-cmp: New file.
55658         * modules/unistr/u32-cmp: New file.
55659         * lib/unistr/u8-cmp.c: New file.
55660         * lib/unistr/u16-cmp.c: New file.
55661         * lib/unistr/u32-cmp.c: New file.
55662
55663         * modules/unistr/u8-cpy: New file.
55664         * modules/unistr/u16-cpy: New file.
55665         * modules/unistr/u32-cpy: New file.
55666         * lib/unistr/u8-cpy.c: New file.
55667         * lib/unistr/u16-cpy.c: New file.
55668         * lib/unistr/u32-cpy.c: New file.
55669         * lib/unistr/u-cpy.h: New file.
55670
55671         * modules/unistr/u8-cpy-alloc: New file.
55672         * modules/unistr/u16-cpy-alloc: New file.
55673         * modules/unistr/u32-cpy-alloc: New file.
55674         * lib/unistr/u8-cpy-alloc.c: New file.
55675         * lib/unistr/u16-cpy-alloc.c: New file.
55676         * lib/unistr/u32-cpy-alloc.c: New file.
55677         * lib/unistr/u-cpy-alloc.h: New file.
55678
55679         * modules/unistr/u8-endswith: New file.
55680         * modules/unistr/u16-endswith: New file.
55681         * modules/unistr/u32-endswith: New file.
55682         * lib/unistr/u8-endswith.c: New file.
55683         * lib/unistr/u16-endswith.c: New file.
55684         * lib/unistr/u32-endswith.c: New file.
55685         * lib/unistr/u-endswith.h: New file.
55686
55687         * modules/unistr/u8-mblen: New file.
55688         * modules/unistr/u16-mblen: New file.
55689         * modules/unistr/u32-mblen: New file.
55690         * lib/unistr/u8-mblen.c: New file.
55691         * lib/unistr/u16-mblen.c: New file.
55692         * lib/unistr/u32-mblen.c: New file.
55693
55694         * modules/unistr/u8-mbtouc: New file.
55695         * modules/unistr/u16-mbtouc: New file.
55696         * modules/unistr/u32-mbtouc: New file.
55697         * lib/unistr/u8-mbtouc.c: New file.
55698         * lib/unistr/u16-mbtouc.c: New file.
55699         * lib/unistr/u32-mbtouc.c: New file.
55700
55701         * modules/unistr/u8-mbtouc-safe: New file.
55702         * modules/unistr/u16-mbtouc-safe: New file.
55703         * modules/unistr/u32-mbtouc-safe: New file.
55704         * lib/unistr/u8-mbtouc-safe.c: New file.
55705         * lib/unistr/u16-mbtouc-safe.c: New file.
55706         * lib/unistr/u32-mbtouc-safe.c: New file.
55707
55708         * modules/unistr/u8-move: New file.
55709         * modules/unistr/u16-move: New file.
55710         * modules/unistr/u32-move: New file.
55711         * lib/unistr/u8-move.c: New file.
55712         * lib/unistr/u16-move.c: New file.
55713         * lib/unistr/u32-move.c: New file.
55714         * lib/unistr/u-move.h: New file.
55715
55716         * modules/unistr/u8-next: New file.
55717         * modules/unistr/u16-next: New file.
55718         * modules/unistr/u32-next: New file.
55719         * lib/unistr/u8-next.c: New file.
55720         * lib/unistr/u16-next.c: New file.
55721         * lib/unistr/u32-next.c: New file.
55722
55723         * modules/unistr/u8-prev: New file.
55724         * modules/unistr/u16-prev: New file.
55725         * modules/unistr/u32-prev: New file.
55726         * lib/unistr/u8-prev.c: New file.
55727         * lib/unistr/u16-prev.c: New file.
55728         * lib/unistr/u32-prev.c: New file.
55729
55730         * modules/unistr/u8-set: New file.
55731         * modules/unistr/u16-set: New file.
55732         * modules/unistr/u32-set: New file.
55733         * lib/unistr/u8-set.c: New file.
55734         * lib/unistr/u16-set.c: New file.
55735         * lib/unistr/u32-set.c: New file.
55736         * lib/unistr/u-set.h: New file.
55737
55738         * modules/unistr/u8-startswith: New file.
55739         * modules/unistr/u16-startswith: New file.
55740         * modules/unistr/u32-startswith: New file.
55741         * lib/unistr/u8-startswith.c: New file.
55742         * lib/unistr/u16-startswith.c: New file.
55743         * lib/unistr/u32-startswith.c: New file.
55744         * lib/unistr/u-startswith.h: New file.
55745
55746         * modules/unistr/u8-stpcpy: New file.
55747         * modules/unistr/u16-stpcpy: New file.
55748         * modules/unistr/u32-stpcpy: New file.
55749         * lib/unistr/u8-stpcpy.c: New file.
55750         * lib/unistr/u16-stpcpy.c: New file.
55751         * lib/unistr/u32-stpcpy.c: New file.
55752         * lib/unistr/u-stpcpy.h: New file.
55753
55754         * modules/unistr/u8-stpncpy: New file.
55755         * modules/unistr/u16-stpncpy: New file.
55756         * modules/unistr/u32-stpncpy: New file.
55757         * lib/unistr/u8-stpncpy.c: New file.
55758         * lib/unistr/u16-stpncpy.c: New file.
55759         * lib/unistr/u32-stpncpy.c: New file.
55760         * lib/unistr/u-stpncpy.h: New file.
55761
55762         * modules/unistr/u8-strcat: New file.
55763         * modules/unistr/u16-strcat: New file.
55764         * modules/unistr/u32-strcat: New file.
55765         * lib/unistr/u8-strcat.c: New file.
55766         * lib/unistr/u16-strcat.c: New file.
55767         * lib/unistr/u32-strcat.c: New file.
55768         * lib/unistr/u-strcat.h: New file.
55769
55770         * modules/unistr/u8-strchr: New file.
55771         * modules/unistr/u16-strchr: New file.
55772         * modules/unistr/u32-strchr: New file.
55773         * lib/unistr/u8-strchr.c: New file.
55774         * lib/unistr/u16-strchr.c: New file.
55775         * lib/unistr/u32-strchr.c: New file.
55776
55777         * modules/unistr/u8-strcmp: New file.
55778         * modules/unistr/u16-strcmp: New file.
55779         * modules/unistr/u32-strcmp: New file.
55780         * lib/unistr/u8-strcmp.c: New file.
55781         * lib/unistr/u16-strcmp.c: New file.
55782         * lib/unistr/u32-strcmp.c: New file.
55783
55784         * modules/unistr/u8-strcpy: New file.
55785         * modules/unistr/u16-strcpy: New file.
55786         * modules/unistr/u32-strcpy: New file.
55787         * lib/unistr/u8-strcpy.c: New file.
55788         * lib/unistr/u16-strcpy.c: New file.
55789         * lib/unistr/u32-strcpy.c: New file.
55790         * lib/unistr/u-strcpy.h: New file.
55791
55792         * modules/unistr/u8-strcspn: New file.
55793         * modules/unistr/u16-strcspn: New file.
55794         * modules/unistr/u32-strcspn: New file.
55795         * lib/unistr/u8-strcspn.c: New file.
55796         * lib/unistr/u16-strcspn.c: New file.
55797         * lib/unistr/u32-strcspn.c: New file.
55798         * lib/unistr/u-strcspn.h: New file.
55799
55800         * modules/unistr/u8-strdup: New file.
55801         * modules/unistr/u16-strdup: New file.
55802         * modules/unistr/u32-strdup: New file.
55803         * lib/unistr/u8-strdup.c: New file.
55804         * lib/unistr/u16-strdup.c: New file.
55805         * lib/unistr/u32-strdup.c: New file.
55806         * lib/unistr/u-strdup.h: New file.
55807
55808         * modules/unistr/u8-strlen: New file.
55809         * modules/unistr/u16-strlen: New file.
55810         * modules/unistr/u32-strlen: New file.
55811         * lib/unistr/u8-strlen.c: New file.
55812         * lib/unistr/u16-strlen.c: New file.
55813         * lib/unistr/u32-strlen.c: New file.
55814         * lib/unistr/u-strlen.h: New file.
55815
55816         * modules/unistr/u8-strmblen: New file.
55817         * modules/unistr/u16-strmblen: New file.
55818         * modules/unistr/u32-strmblen: New file.
55819         * lib/unistr/u8-strmblen.c: New file.
55820         * lib/unistr/u16-strmblen.c: New file.
55821         * lib/unistr/u32-strmblen.c: New file.
55822
55823         * modules/unistr/u8-strmbtouc: New file.
55824         * modules/unistr/u16-strmbtouc: New file.
55825         * modules/unistr/u32-strmbtouc: New file.
55826         * lib/unistr/u8-strmbtouc.c: New file.
55827         * lib/unistr/u16-strmbtouc.c: New file.
55828         * lib/unistr/u32-strmbtouc.c: New file.
55829
55830         * modules/unistr/u8-strncat: New file.
55831         * modules/unistr/u16-strncat: New file.
55832         * modules/unistr/u32-strncat: New file.
55833         * lib/unistr/u8-strncat.c: New file.
55834         * lib/unistr/u16-strncat.c: New file.
55835         * lib/unistr/u32-strncat.c: New file.
55836         * lib/unistr/u-strncat.h: New file.
55837
55838         * modules/unistr/u8-strncmp: New file.
55839         * modules/unistr/u16-strncmp: New file.
55840         * modules/unistr/u32-strncmp: New file.
55841         * lib/unistr/u8-strncmp.c: New file.
55842         * lib/unistr/u16-strncmp.c: New file.
55843         * lib/unistr/u32-strncmp.c: New file.
55844
55845         * modules/unistr/u8-strncpy: New file.
55846         * modules/unistr/u16-strncpy: New file.
55847         * modules/unistr/u32-strncpy: New file.
55848         * lib/unistr/u8-strncpy.c: New file.
55849         * lib/unistr/u16-strncpy.c: New file.
55850         * lib/unistr/u32-strncpy.c: New file.
55851         * lib/unistr/u-strncpy.h: New file.
55852
55853         * modules/unistr/u8-strnlen: New file.
55854         * modules/unistr/u16-strnlen: New file.
55855         * modules/unistr/u32-strnlen: New file.
55856         * lib/unistr/u8-strnlen.c: New file.
55857         * lib/unistr/u16-strnlen.c: New file.
55858         * lib/unistr/u32-strnlen.c: New file.
55859         * lib/unistr/u-strnlen.h: New file.
55860
55861         * modules/unistr/u8-strpbrk: New file.
55862         * modules/unistr/u16-strpbrk: New file.
55863         * modules/unistr/u32-strpbrk: New file.
55864         * lib/unistr/u8-strpbrk.c: New file.
55865         * lib/unistr/u16-strpbrk.c: New file.
55866         * lib/unistr/u32-strpbrk.c: New file.
55867         * lib/unistr/u-strpbrk.h: New file.
55868
55869         * modules/unistr/u8-strrchr: New file.
55870         * modules/unistr/u16-strrchr: New file.
55871         * modules/unistr/u32-strrchr: New file.
55872         * lib/unistr/u8-strrchr.c: New file.
55873         * lib/unistr/u16-strrchr.c: New file.
55874         * lib/unistr/u32-strrchr.c: New file.
55875
55876         * modules/unistr/u8-strspn: New file.
55877         * modules/unistr/u16-strspn: New file.
55878         * modules/unistr/u32-strspn: New file.
55879         * lib/unistr/u8-strspn.c: New file.
55880         * lib/unistr/u16-strspn.c: New file.
55881         * lib/unistr/u32-strspn.c: New file.
55882         * lib/unistr/u-strspn.h: New file.
55883
55884         * modules/unistr/u8-strstr: New file.
55885         * modules/unistr/u16-strstr: New file.
55886         * modules/unistr/u32-strstr: New file.
55887         * lib/unistr/u8-strstr.c: New file.
55888         * lib/unistr/u16-strstr.c: New file.
55889         * lib/unistr/u32-strstr.c: New file.
55890         * lib/unistr/u-strstr.h: New file.
55891
55892         * modules/unistr/u8-strtok: New file.
55893         * modules/unistr/u16-strtok: New file.
55894         * modules/unistr/u32-strtok: New file.
55895         * lib/unistr/u8-strtok.c: New file.
55896         * lib/unistr/u16-strtok.c: New file.
55897         * lib/unistr/u32-strtok.c: New file.
55898         * lib/unistr/u-strtok.h: New file.
55899
55900         * modules/unistr/u8-uctomb: New file.
55901         * modules/unistr/u16-uctomb: New file.
55902         * modules/unistr/u32-uctomb: New file.
55903         * lib/unistr/u8-uctomb.c: New file.
55904         * lib/unistr/u16-uctomb.c: New file.
55905         * lib/unistr/u32-uctomb.c: New file.
55906
55907         * MODULES.html.sh (Unicode string functions): Add the new modules.
55908
55909 2007-01-08  Bruno Haible  <bruno@clisp.org>
55910
55911         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
55912         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
55913         subdirectories.
55914
55915 2007-01-08  Karl Berry  <karl@gnu.org>
55916
55917         * doc/error.texi: mention that main() fns must set program_name
55918         when progname is used.
55919
55920 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
55921
55922         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
55923         WCTYPE_H is empty, for the benefit of builds from non-distclean
55924         directories.  Problem reported by Eric Blake in
55925         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
55926
55927 2007-01-08  Bruno Haible  <bruno@clisp.org>
55928
55929         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
55930         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
55931         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
55932         PROVIDE_CANONICALIZE_FILENAME_MODE.
55933         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
55934
55935 2007-01-08  Bruno Haible  <bruno@clisp.org>
55936
55937         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
55938         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
55939         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
55940         * lib/fts.c: Likewise.
55941         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
55942
55943 2006-12-25  Bruno Haible  <bruno@clisp.org>
55944
55945         * modules/utf8-ucs4-safe: New file.
55946         * lib/utf8-ucs4-safe.h: New file.
55947         * lib/unistr/utf8-ucs4-safe.c: New file.
55948
55949         * modules/utf16-ucs4-safe: New file.
55950         * lib/utf16-ucs4-safe.h: New file.
55951         * lib/unistr/utf16-ucs4-safe.c: New file.
55952
55953         * MODULES.html.sh (Unicode string functions): Add the new modules.
55954
55955 2007-01-08  Bruno Haible  <bruno@clisp.org>
55956
55957         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
55958         (Depends-on): Add unitypes.
55959         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55960         (u8_mbtouc_aux): Move out to separate file.
55961         (u8_mbtouc): Use ucs4_t, uint8_t types.
55962         * lib/unistr/utf8-ucs4.c: New file.
55963
55964         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
55965         (Depends-on): Add unitypes.
55966         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55967         (u16_mbtouc_aux): Move out to separate file.
55968         (u16_mbtouc): Use ucs4_t, uint16_t types.
55969         * lib/unistr/utf16-ucs4.c: New file.
55970
55971         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
55972         (Depends-on): Add unitypes.
55973         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
55974         (u8_uctomb_aux): Move out to separate file.
55975         (u8_uctomb): Use ucs4_t, uint8_t types.
55976         * lib/unistr/ucs4-utf8.c: New file.
55977
55978         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
55979         (Depends-on): Add unitypes.
55980         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
55981         (u16_uctomb_aux): Move out to separate file.
55982         (u16_uctomb): Use ucs4_t, uint16_t types.
55983         * lib/unistr/ucs4-utf16.c: New file.
55984
55985 2006-12-25  Bruno Haible  <bruno@clisp.org>
55986
55987         * modules/unitypes: New file.
55988         * lib/unitypes.h: New file.
55989         * MODULES.html.sh (func_all_modules): New section "Unicode string
55990         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
55991         this section. Add unitypes.
55992
55993 2007-01-08  Bruno Haible  <bruno@clisp.org>
55994
55995         Avoid variable names that conflict with those from libtool.
55996         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
55997         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
55998         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
55999         library_names_spec to acl_library_names_spec, hardcode_* to
56000         acl_hardcode_*.
56001         Reported by Ralf Wildenhues.
56002
56003 2007-01-08  Bruno Haible  <bruno@clisp.org>
56004
56005         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
56006         definition.
56007         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
56008         definition.
56009         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
56010         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
56011         definition.
56012         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
56013         definition.
56014         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
56015         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
56016         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
56017         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
56018         definition.
56019         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
56020         definition.
56021         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
56022         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
56023         GC_USE_<algorithm>.
56024         * lib/gc-libgcrypt.c: Likewise.
56025         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
56026         * modules/gc-arctwo (configure.ac): Likewise.
56027         * modules/gc-des (configure.ac): Likewise.
56028         * modules/gc-hmac-md5 (configure.ac): Likewise.
56029         * modules/gc-hmac-sha1 (configure.ac): Likewise.
56030         * modules/gc-md2 (configure.ac): Likewise.
56031         * modules/gc-md4 (configure.ac): Likewise.
56032         * modules/gc-md5 (configure.ac): Likewise.
56033         * modules/gc-random (configure.ac): Likewise.
56034         * modules/gc-rijndael (configure.ac): Likewise.
56035         * modules/gc-sha1 (configure.ac): Likewise.
56036
56037 2007-01-08  Bruno Haible  <bruno@clisp.org>
56038
56039         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
56040         macro definition.
56041         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
56042         definition.
56043         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
56044         definition.
56045         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
56046         * modules/fcntl-safer (configure.ac): Likewise.
56047         * modules/fopen-safer (configure.ac): Likewise.
56048         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
56049         GNULIB_FWRITEERROR macro definition.
56050
56051 2007-01-08  Bruno Haible  <bruno@clisp.org>
56052
56053         * m4/gnulib-common.m4: New file.
56054         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
56055         (func_get_filelist): Add m4/gnulib-common.m4.
56056
56057 2007-01-08  Bruno Haible  <bruno@clisp.org>
56058
56059         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
56060         command.
56061
56062 2007-01-08  Jim Meyering  <jim@meyering.net>
56063
56064         Use a more robust test for a "can't happen" condition.
56065         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
56066         narrowed the st_size value.  Presuming the "can't happen" condition
56067         is true, that narrowing could conceivably convert an invalid st_size
56068         value into a valid one.  Instead, use a change based on Matthew
56069         Woehlke's original patch.
56070
56071         Slight readability improvement: use an assert-like macro
56072         in place of literal "abort ()" uses.
56073         * lib/fts.c (fts_assert): Define.
56074         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
56075         Use this macro instead of a bare 'abort'.
56076
56077 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
56078
56079         Don't worry about using IRIX 5.3's wctype.h broken definitions;
56080         simply work around them.
56081         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
56082         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
56083         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
56084         declaring.
56085         Don't bother to define as macros, since the standard doesn't require it.
56086         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
56087         longer worry about IRIX 5.3.
56088         (HAVE_WCTYPE_CTMP_BUG): Remove.
56089
56090 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56091
56092         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
56093         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
56094         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
56095         Problems reported by Georg Schwarz for IRIX 5.3.
56096
56097         * gnulib-tool (autoconf_minversion): Take the maximum version number
56098         found, not the minimum.  Problem reported by James Youngman.
56099
56100 2007-01-03  Karl Berry  <karl@gnu.org>
56101
56102         * doc/error.texi: new file, explaining interaction with progname.
56103         * doc/gnulib.texi: include it.  Update copyright.
56104
56105 2007-01-03  Simon Josefsson  <simon@josefsson.org>
56106
56107         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
56108         AC_CANONICAL_HOST, to improve autobuild outputs.
56109
56110 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
56111             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
56112
56113         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
56114         sockets, server sockets, and other file descriptors.  Count errors
56115         to compute the return value.  Reorder the code a bit to be easier
56116         to follow.  Don't set event bits that were not requested (except
56117         POLLERR and POLLHUP).
56118
56119 2007-01-01  Bruno Haible  <bruno@clisp.org>
56120
56121         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
56122
56123 2007-01-03  Jim Meyering  <jim@meyering.net>
56124
56125         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
56126
56127 2007-01-02  Bruno Haible  <bruno@clisp.org>
56128
56129         * modules/settime (Include): Require timespec.h.
56130         * modules/nanosleep (Include): Likewise.
56131
56132 2007-01-01  Bruno Haible  <bruno@clisp.org>
56133
56134         * gnulib-tool (func_emit_copyright_notice): Bump year.
56135         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
56136
56137 2007-01-01  Bruno Haible  <bruno@clisp.org>
56138
56139         Improve support for OpenBSD.
56140         * build-aux/config.rpath (libname_spec): Export.
56141         (library_names_spec): New variable. Export.
56142         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
56143         library_names_spec from the config.rpath output. Locate shared library
56144         through the name pattern in library_names_spec.
56145
56146 2007-01-01  Eric Blake  <ebb9@byu.net>
56147
56148         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
56149
56150 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
56151
56152         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
56153         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
56154         assume the C locale, and avoid an "eval" that could cause trouble.
56155         Problem with SORT reported by Bob Proulx.
56156
56157         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
56158         Define.  Trivial patch from Henning Nielsen Lund, originally
56159         sent to bug-grep@gnu.org today.
56160
56161 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56162
56163         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
56164         struct stat.  Problem reported by Henning Nielsen Lund.
56165         * lib/acl.c: Include acl.h first, to check interface.  Don't
56166         bother to include sys/types.h and sys/stat.h again.
56167
56168 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56169
56170         Import the following change from libc; problem reported by
56171         Sven Verdoolaege.
56172
56173         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
56174
56175         [BZ #1373]
56176         * lib/argp.h: Remove __NTH for __argp_usage inline function.
56177
56178 2006-12-28  Jim Meyering  <jim@meyering.net>
56179
56180         * build-aux/announce-gen: Do not assume that the package
56181         builds any of tar.gz, tar.bz2, and .xdelta files.
56182         Suggestion from Simon Josefsson.
56183
56184 2006-12-28  Simon Josefsson  <simon@josefsson.org>
56185
56186         * modules/announce-gen: New file.
56187
56188 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
56189
56190         * lib/mbchar.h: Just include <wctype.h>; the wctype module
56191         handles its gotchas now.
56192         * lib/mbswidth.c: Likewise.
56193         * lib/wcwidth.h: Likewise.
56194         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
56195         and iswcntrl; the wctype module does this stuff now.
56196         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56197         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56198         * modules/mbchar (Depends-on): Add wctype.
56199         * modules/mbswidth (Depends-on): Likewise.
56200         * modules/wcwidth (Depends-on): Likewise.
56201
56202 2006-12-27  Eric Blake  <ebb9@byu.net>
56203
56204         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
56205         module uses more than what <wctype.h> is required to provide.
56206
56207 2006-12-26  Eric Blake  <ebb9@byu.net>
56208
56209         * gnulib-tool (sed_extract_prog): Avoid space-tab.
56210
56211 2006-12-26  Eric Blake  <ebb9@byu.net>
56212
56213         * modules/absolute-header: New module.
56214         * modules/fcntl (Depends-on): Depend on it.
56215         * modules/inttypes (Depends-on): Likewise.
56216         * modules/stdint (Depends-on): Likewise.
56217         * modules/sys_stat (Depends-on): Likewise.
56218         * modules/wctype (Depends-on): Likewise.
56219         * MODULES.html.sh (Support for building libraries and
56220         executables): Document it.
56221
56222 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56223
56224         * gnulib-tool (SED): Remove, undoing previous change.
56225         The problem was that it broke coreutils on Solaris, because
56226         "sed --posix" leaked into a makefile.
56227         (sed): New alias, if 'alias' and GNU sed.
56228
56229 2006-12-24  Jim Meyering  <jim@meyering.net>
56230
56231         Work around an fchownat bug in glibc-2.4:
56232         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
56233         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
56234         in spite of the -P option.
56235         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
56236         New macros.
56237         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
56238         * modules/openat (Files): Add lib/fchownat.c.
56239         * lib/openat.c (fchownat): Don't define here.  Move to...
56240         * lib/fchownat.c: ...this new file.
56241
56242 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56243
56244         Fix bug reported by Bruno Haible in
56245         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
56246         where quotearg.c didn't compile on Mac OS X 10.2 because it
56247         lacks <wchar.h> and wint_t.
56248         * lib/wctype_.h (__wctype_wint_t): New type.
56249         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
56250         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
56251         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
56252         Arg is now of type __wctype_wint_t, not wint_t.
56253         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
56254         substitute HAVE_WINT_T.
56255         * modules/wctype (Files): Add m4/wint_t.m4.
56256         (wctype.h): Substitute HAVE_WINT_T.
56257
56258 2006-12-23  Bruno Haible  <bruno@clisp.org>
56259
56260         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
56261
56262 2006-12-23  Bruno Haible  <bruno@clisp.org>
56263
56264         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
56265         S_ISLNK.
56266         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
56267         mingw.
56268
56269 2006-12-22  Bruno Haible  <bruno@clisp.org>
56270
56271         * lib/copy-file.c: Include acl.h.
56272         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
56273         Close the file descriptors only after being done with copy_acl.
56274         * modules/copy-file (Depends-on): Add acl.
56275
56276 2006-12-22  Bruno Haible  <bruno@clisp.org>
56277
56278         * gnulib-tool (SED): New variable.
56279         Use $SED instead of sed everywhere.
56280
56281 2006-12-22  Bruno Haible  <bruno@clisp.org>
56282
56283         * modules/no-c++: New file.
56284         * m4/no-c++.m4: New file.
56285         * MODULES.html.sh (Support for building libraries and executables):
56286         Add no-c++.
56287
56288 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
56289
56290         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56291         Include <limits.h>, and use its INT_MAX to rewrite the
56292         j loop so that it does not overflow 'int'.  Problem reported by
56293         Ralf Wildenhues in
56294         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
56295         Play it safe by shifting left by 1 rather than multiplying by 2,
56296         as GCC is less likely to optimize this away when the value
56297         is signed (when it assumes overflow leads to undefined behavior).
56298         Also, don't assume time_t uses two's complement.
56299
56300 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
56301
56302         * MODULES.html.sh: New module wctype.
56303         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
56304         * lib/fnmatch.c: Don't bother to include <wchar.h> before
56305         <wctype.h>, since the new wctype module should fix this.
56306         * lib/quotearg.c: Include <wctype.h> unconditionally, since
56307         the wctype module should arrange for it.
56308         * lib/regex_internal.h: Likewise.
56309         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
56310         since the wctype module should handle this now.
56311         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
56312         * modules/fnmatch (Depends-on): Add wctype.
56313         * modules/quotearg (Depends-on): Likewise.
56314         * modules/regex (Depends-on): Likewise.
56315
56316 2006-12-19  Bruno Haible  <bruno@clisp.org>
56317
56318         * lib/strdup.h [C++]: Wrap definitions in extern "C".
56319         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
56320
56321 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56322
56323         * modules/savewd (Depends-on): Fix dependency on fcntl.
56324
56325 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56326
56327         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
56328         conforms to C99, rather than relying on the user's environment
56329         setting of STDINT_H.
56330
56331 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56332         and Eric Blake  <ebb9@byu.net>
56333
56334         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
56335         This is more consistent with the other defines here.
56336         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
56337         Port to z/OS.  Problem reported by Paul Gilmartin.
56338         Change local vars to use gl_ prefix rather than ac_.
56339         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
56340         with other defines.
56341         * modules/double-slash-root: New module.
56342         * modules/dirname (Files): Remove m4/double-slash-root.m4.
56343         (Depends-on): Add double-slash-root.
56344         * MODULES.html.sh (File system functions): Mention new module.
56345
56346 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
56347
56348         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
56349         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
56350         This is for the benefit of gzip, which doesn't do i18n.
56351
56352 2006-12-12  Jim Meyering  <jim@meyering.net>
56353
56354         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
56355         Reported by Andreas Schwab <schwab@suse.de>.
56356
56357 2006-12-12  Bruno Haible  <bruno@clisp.org>
56358
56359         Merge these changes.
56360         2006-09-05  Bruno Haible  <bruno@clisp.org>
56361         * lib/iconvme.c (iconv_string): No need to save and restore errno when
56362         iconv_alloc succeeded.
56363         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
56364         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
56365         test for " && dest " at the end - dest is always != NULL there. Call
56366         iconv with 4xNULL arguments initially, to reset the state. Call iconv
56367         with 2xNULL arguments, also to flush the state storage. Handle the
56368         IRIX iconv behaviour. Realloc the final result, to throw away unused
56369         memory.
56370
56371 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
56372
56373         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
56374         and fchmodat unconditionally, since glibc 2.4 has them.
56375         Problem reported by Arkadiusz Miskiewicz.
56376
56377 2006-12-10  Bruno Haible  <bruno@clisp.org>
56378
56379         * gnulib-tool (func_import): Show the include files only for those
56380         modules that are copied and specified.
56381         Reported by Karl Berry.
56382
56383 2006-12-08  Jim Meyering  <jim@meyering.net>
56384
56385         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
56386         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
56387
56388         * build-aux/announce-gen: Add two new options, both optional:
56389         --bootstrap-tools=TOOL_LIST
56390               a comma-separated list of tools, e.g.,
56391               autoconf,automake,bison,gnulib
56392         --gnulib-snapshot-date=DATE
56393               if gnulib is in the bootstrap tool list,
56394               then report this as the snapshot date.
56395               If not specified, use the current date/time.
56396               If you specify a date here, be sure it's UTC.
56397
56398 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56399
56400         * tests/test-argp-2.sh: Fix test to match actual output.
56401         (func_compare): Fix sed script to be portable.
56402
56403 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
56404
56405         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
56406         workaround for this case.  It is not autoconfigured now; offhand
56407         it's hard to see how to autoconfigure it.
56408
56409 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56410
56411         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
56412         a directory that is about to be chowned.  Such a directory's
56413         initial file permissions should permit the owner only and this
56414         should not be changed until after the chown, since the group and
56415         other bits would be incorrect if they granted permission before
56416         the chown.
56417
56418         Fix porting problem for iswctype reported by Georg Schwarz in:
56419         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
56420         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
56421         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
56422         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
56423         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56424
56425 2006-12-03  Jim Meyering  <jim@meyering.net>
56426
56427         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
56428         p->fts_statp may not yet be defined.
56429         (fts_read): Instead, set it in the caller, once p->fts_statp is
56430         sure to be defined, and corresponds to a top-level directory.
56431         This bug made du -x fail.  Here's the coreutils test case:
56432         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
56433         Reported by Mike Frysinger.
56434
56435 2006-12-01  Jim Meyering  <jim@meyering.net>
56436
56437         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
56438         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
56439         Reported by Simon Josefsson.
56440
56441 2006-11-30  Jim Meyering  <jim@meyering.net>
56442
56443         * m4/warning.m4: Use the all-permissive copyright notice
56444         recommended by RMS (rather than LGPL).
56445         * m4/vararrays.m4: Likewise.
56446         * m4/flexmember.m4: Likewise.
56447
56448 2006-11-29  Bruno Haible  <bruno@clisp.org>
56449
56450         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56451         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
56452         using +=.
56453         Reported by Simon Josefsson <simon@josefsson.org>.
56454
56455 2006-11-28  James Youngman <jay@gnu.org>
56456
56457         * README: Advise users that they might find the bug-gnulib@gnu.org
56458         and autotools-announce@gnu.org mailing lists useful.
56459
56460 2006-11-28  Bruno Haible  <bruno@clisp.org>
56461
56462         * m4/ptrdiff_max.m4: Remove file.
56463
56464 2006-11-21  Bruno Haible  <bruno@clisp.org>
56465
56466         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
56467         _AC_COMPUTE_INT.
56468         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56469         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
56470         _AC_COMPUTE_INT.
56471         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56472         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
56473         _AC_COMPUTE_INT.
56474         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56475
56476 2006-11-28  Jim Meyering  <jim@meyering.net>
56477
56478         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
56479         warning from "gcc -Wshadow" about shadowing the builtin.
56480
56481 2006-11-27  Bruno Haible  <bruno@clisp.org>
56482
56483         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
56484         _AC_COMPUTE_INT.
56485         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56486
56487 2006-11-27  Bruno Haible  <bruno@clisp.org>
56488             Paul Eggert  <eggert@cs.ucla.edu>
56489
56490         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
56491
56492 2006-11-26  Bruno Haible  <bruno@clisp.org>
56493
56494         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56495         noinst_LTLIBRARIES.
56496
56497 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
56498             Bruno Haible  <bruno@clisp.org>
56499
56500         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
56501         if compiling with "gcc -ansi".
56502
56503 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
56504
56505         Fix some incompatibilities with gcc -ansi -pedantic.
56506         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
56507         if compiling pedantically with GCC, unless it's C99 or later.
56508         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
56509         it mishandles gcc -ansi -pedantic as well.
56510         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
56511         if gcc -pedantic.
56512         * lib/regexec.c (check_node_accept_bytes): Don't use auto
56513         initializers for struct if -pedantic, unless it's C99 or later.
56514
56515 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
56516
56517         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
56518         Don't close an fd more than once. Identical atimes indicate
56519         success, not failure.
56520
56521 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
56522
56523         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
56524
56525 2006-11-23  Jim Meyering  <jim@meyering.net>
56526
56527         * build-aux/announce-gen: New file.  From coreutils.
56528
56529 2006-11-22  Jim Meyering  <jim@meyering.net>
56530
56531         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
56532         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
56533         (fts_read): Use a temporary to narrow the overused st_size member
56534         before using it in a switch statement.  Reported by Matthew Woehlke.
56535
56536         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
56537         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
56538
56539 2006-11-20  Bruno Haible  <bruno@clisp.org>
56540
56541         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
56542         changequote instead of pairs of brackets.
56543         Reported by Andreas Schwab <schwab@suse.de>.
56544
56545 2006-11-21  Jim Meyering  <jim@meyering.net>
56546
56547         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
56548         so as to remain compatible with older compilers.
56549         Patch from Michael Deutschmann.
56550
56551 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56552
56553         * MODULES.html.sh (File system functions): Add openat.
56554
56555         * lib/openat.h (rpl_fstatat): New macro, if
56556         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
56557         (fstatat): Define to rpl_fstatat under the same conditions,
56558         unless COMPILING_FSTATAT.
56559         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
56560         seems to have the bug.
56561         * lib/fstatat.c: New file.
56562         * modules/openat (Files): Add it.
56563
56564 2006-11-20  Bruno Haible  <bruno@clisp.org>
56565
56566         * Makefile: New file.
56567
56568 2006-11-20  Jim Meyering  <jim@meyering.net>
56569
56570         The beginnings of syntax-related checks for gnulib.
56571         * lib/Makefile: New file.
56572         * lib/t-idcache: New script.  Ensure that the two halves of
56573         idcache.c stay in sync.
56574
56575         * lib/idcache.c: Adjust comments in user- and group- portions to
56576         be more accurate, and to be consistent with one another.
56577
56578 2006-11-20  Jim Meyering  <jim@meyering.net>
56579
56580         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
56581         continue using the flexible array member (thus, this module performs
56582         half as many malloc calls), with the addition that...
56583         (getgroup, getuser): Consistently record a non-match via an empty
56584         "name" string, and map an empty string match to a NULL return value.
56585         * modules/idcache (Depends-on): Re-add flexmember.
56586
56587         * lib/idcache.c (getuser): Remove all uses of the register keyword.
56588         (getuidbyname, getgroup, getgidbyname): Likewise.
56589
56590         Use cleaner syntax: NULL rather than 0.
56591         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
56592
56593 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56594
56595         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
56596         It mishandled the case where the group was missing.
56597         Problem reported by Greg Schafer.
56598         * modules/idcache: Likewise.
56599
56600 2006-11-18  Jim Meyering  <jim@meyering.net>
56601
56602         * check-module (%exempt_header): Add exception for some
56603         conditionally-included headers.
56604
56605         * modules/i-ring (Depends-on): Add verify.
56606         (License): Change to LGPL.
56607
56608 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56609
56610         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
56611         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
56612         and inttostr.h.  Use snprintf rather than uinttostr, so that
56613         LGPLed code doesn't depend on GPLed.
56614
56615 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56616
56617         * modules/inline (License): Change from GPL to LGPL.
56618
56619 2006-11-17  Jim Meyering  <jim@meyering.net>
56620
56621         * modules/d-type (License): Switch to LGPL.
56622
56623 2006-11-15  Bruno Haible  <bruno@clisp.org>
56624
56625         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
56626
56627 2006-11-15  Eric Blake  <ebb9@byu.net>
56628
56629         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
56630         the module dependency.
56631
56632 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56633             Bruno Haible  <bruno@clisp.org>
56634
56635         * gnulib-tool (func_create_testdir): Add license consistency check.
56636
56637 2006-11-15  Eric Blake  <ebb9@byu.net>
56638
56639         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
56640         random "(cached)" in configure output.
56641
56642 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56643
56644         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
56645         test for conforming inttypes.h is both announced and cached.
56646
56647         * MODULES.html.sh (seen_modules, seen_files): New variables.
56648         (func_module): Rewrite to use a few less gnulib-tool and sed
56649         invocations.  Avoid a couple of quadratic algorithms for ...
56650         (missed_modules, missed_files): ... these, with ...
56651         (func_append, func_tmpdir): ... these new functions, from
56652         gnulib-tool.  Analogously, install traps for cleanup.
56653
56654         * tests/test-gc.c (main): Remove unused variables.
56655         * tests/test-read-file.c: Include stdlib.h, for 'free'.
56656
56657 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
56658
56659         * modules/inttostr (License): Change to LGPL.
56660
56661 2006-11-14  Eric Blake  <ebb9@byu.net>
56662
56663         * modules/tempname (License): Change to LGPL.
56664
56665 2006-11-14  Eric Blake  <ebb9@byu.net>
56666
56667         * doc/functions.texi (Function Portability): *printf functions on
56668         Cygwin now understand all POSIX size specifiers.
56669
56670 2006-11-14  Bruno Haible  <bruno@clisp.org>
56671
56672         * modules/c-ctype (License): Change to LGPL.
56673
56674 2006-11-12  Bruno Haible  <bruno@clisp.org>
56675
56676         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
56677         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
56678         for GNOME libraries, for which the include files are installed in
56679         subdirectories of $prefix/include.
56680
56681 2006-11-12  Bruno Haible  <bruno@clisp.org>
56682
56683         * m4/lib-link.m4: Require at least autoconf-2.54.
56684         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
56685         name to underscores for the --with option.
56686
56687 2006-11-13  Bruno Haible  <bruno@clisp.org>
56688
56689         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
56690         the tests directory.
56691         Reported by Ralf Wildenhues.
56692
56693 2006-11-13  Bruno Haible  <bruno@clisp.org>
56694
56695         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
56696         (func_emit_initmacro_end): Undo the override here.
56697         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
56698         Works around the famous automake error in coreutils.
56699
56700 2006-11-13  Eric Blake  <ebb9@byu.net>
56701
56702         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
56703         element, not its node.
56704
56705 2006-11-12  Bruno Haible  <bruno@clisp.org>
56706
56707         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
56708         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
56709
56710 2006-11-12  Bruno Haible  <bruno@clisp.org>
56711
56712         * gnulib-tool: New option --local-symlink.
56713         (func_usage): Document it.
56714         (lsymbolic): New variable.
56715         (func_import, func_create_testdir): If --symlink was not specified,
56716         test whether --local-symlink was specified and the file comes from
56717         the local_gnulib_dir.
56718
56719 2006-11-12  Bruno Haible  <bruno@clisp.org>
56720
56721         * gnulib-tool (func_ln): New function.
56722         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
56723
56724 2006-11-12  Bruno Haible  <bruno@clisp.org>
56725
56726         Finish support for source files in subdirectories.
56727         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
56728         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
56729         AUTOMAKE_OPTIONS.
56730         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
56731
56732 2006-11-12  Bruno Haible  <bruno@clisp.org>
56733
56734         * gnulib-tool (func_get_automake_snippet): Synthesize also an
56735         EXTRA_lib_SOURCES augmentation.
56736         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
56737
56738 2006-11-12  Jim Meyering  <jim@meyering.net>
56739
56740         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
56741         file descriptors.  This also averts a failure on systems with
56742         native openat support when a traversed directory lacks "x" access.
56743         * lib/fts_.h: Include "i-ring.h"
56744         (struct FTS) [fts_fd_ring]: New member.
56745         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
56746         (FCHDIR): Add parentheses.
56747         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
56748         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
56749         When descending, rather than simply closing the previous
56750         fts_cwd_fd value, push that file descriptor onto the ring.
56751         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
56752         (fts_open): Initialize the new fd_ring member.
56753         (fts_close): Clear the ring.
56754         (fts_safe_changedir): When possible, use our new fd_ring to skip
56755         the diropen and fstat and dev/ino comparison that would normally
56756         accompany a virtual `chdir ("..")'.
56757
56758         * modules/fts (Depends-on): Add i-ring.
56759         * modules/i-ring: New module.
56760         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
56761         * m4/i-ring.m4: New file.
56762
56763 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56764
56765         * gnulib-tool (func_create_testdir): Fix replacement of
56766         `build-aux' in configure.ac.  Run autotools in gltests
56767         subdirectory.
56768         (func_create_testdir, func_create_megatestdir, test): There is
56769         no need for '--force' in most autotool invocations in a new
56770         tree.  Actually fail the whole test if any of the tools, or the
56771         configure or make stages fail.
56772
56773         Sync from Automake.
56774         * build-aux/gnupload: Revert last change.  Add pointer to upload
56775         instructions of the GNU Maintenance Instructions.
56776         Suggestion by Karl Berry.
56777
56778 2006-11-10  Jim Meyering  <jim@meyering.net>
56779
56780         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
56781
56782 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56783
56784         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
56785         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
56786         (bind_textdomain_codeset) [! ENABLE_NLS]:
56787         Evaluate all the arguments.  That way, callers get compatible behavior
56788         if the arguments have side effects.  Also, it avoids some GCC
56789         diagnostics in some cases; Joel E. Denny reported problems when Bison
56790         was configured with --enable-gcc-warnigs.
56791
56792 2006-11-10  Jim Meyering  <jim@meyering.net>
56793
56794         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
56795         relevant options in CFLAGS (like -O, -fno-inline) are taken into
56796         account.
56797
56798 2006-11-10  Jim Meyering  <jim@meyering.net>
56799
56800         * modules/inline: New file/module.
56801         * modules/xalloc (Files): Remove m4/inline.m4.
56802         (Depends-on): Add inline, instead.
56803         * modules/oset: Likewise.
56804         * modules/list: Likewise.
56805
56806 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56807
56808         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
56809         Problem reported by Matthew Woehlke.
56810
56811 2006-11-09  Bruno Haible  <bruno@clisp.org>
56812
56813         * lib/tempname.c (gen_tempname): Remove variant that invokes
56814         __gen_tempname.
56815         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
56816         __gen_tempname.
56817
56818 2006-11-08  Bruno Haible  <bruno@clisp.org>
56819
56820         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
56821         to 'yes' instead of 'cross-compiling'.
56822
56823 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
56824
56825         * lib/quotearg.h (quotearg_free): New decl.
56826         * lib/quotearg.c (quotearg_free): New function.
56827         (slot0, nslots, slotvec0, slotvec):
56828         Now file-scope so that quotearg_free can get at them.
56829
56830 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56831
56832         Sync from Automake.
56833         * build-aux/gnupload: Add missing 'gnu' to example URL.
56834         Report by Karl Berry.
56835
56836 2006-11-08  Bruno Haible  <bruno@clisp.org>
56837
56838         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
56839         Suggested by Paul Eggert.
56840
56841 2006-11-08  Jim Meyering  <jim@meyering.net>
56842
56843         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
56844         It's already included if !_LIBC.
56845         (fts_safe_changedir): Add a comment.
56846
56847 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56848
56849         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
56850         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
56851         Matthew Woehlke.
56852
56853         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
56854         definitions up, to avoid colliding with change below.
56855         (static_inline) [HAVE_INLINE]: New macro.
56856         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
56857         Provide extern decls when !HAVE_INLINE.  Do not define unless
56858         static_inline is defined, either by us or by xmalloc.c.  Use
56859         static_inline rather than static inline.
56860         (XCALLOC): Optimize sizeof(T) = 1 case.
56861         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
56862
56863 2006-11-07  Bruno Haible  <bruno@clisp.org>
56864
56865         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
56866         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
56867         AC_C_INLINE.
56868         * modules/xalloc (Files): Add m4/inline.m4.
56869
56870 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56871
56872         * README: Fix typo.
56873         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
56874         (Miscellanous Notes): ...from this.
56875
56876 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56877
56878         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
56879         Mention that offsetof should be used instead of sizeof.
56880         From Bruno Haible.
56881
56882 2006-11-07  Bruno Haible  <bruno@clisp.org>
56883
56884         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
56885
56886 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56887
56888         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56889         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
56890         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56891         (gl_tree_add_before, gl_tree_add_after):
56892         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
56893         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
56894         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
56895         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
56896         (gl_linked_add_after, gl_linked_add_at): Likewise.
56897         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
56898         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56899         (gl_tree_add_before, gl_tree_add_after): Likewise.
56900         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
56901         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
56902         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
56903
56904 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56905
56906         * lib/gl_oset.h: Use C comment style, not C++ comment style.
56907
56908 2006-11-06  Bruno Haible  <bruno@clisp.org>
56909
56910         * m4/inline.m4: New file.
56911         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
56912         * modules/list (Files): Add m4/inline.m4.
56913         * modules/oset (Files): Likewise.
56914
56915 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56916
56917         * lib/idcache.c: Include <stddef.h>, for offsetof.
56918         (struct userid.name): Change from char * to a flexible array member.
56919         All uses changed.
56920         * modules/idcache (Depends-on): Add flexmember.
56921
56922         * MODULES.html.sh (Core language properties): New module flexmember.
56923         * modules/flexmember, m4/flexmember.m4: New files.
56924
56925         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
56926         inline functions that are identical with the old xnmalloc_inline,
56927         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
56928         that we can avoid some unnecessary integer multiplications and
56929         divisions in the common case where the element size is known at
56930         compile time.
56931         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
56932         needed.
56933         (xnboundedmalloc): Remove.
56934         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
56935         arguments, for consistency with rest of this header.
56936         (xcharalloc): Rewrite using XNMALLOC.
56937         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
56938         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
56939         versions have been moved to lib/xalloc.h and renamed to be the
56940         non-*_inline versions.
56941         (xmalloc, xrealloc): Implement without reference to the xnmalloc
56942         and xnrealloc functions, since those functions are now inline and
56943         now call us.
56944         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
56945         renaming described above.
56946         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
56947         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
56948         captures the dependency in AC_C_INLINE.
56949
56950         New module canonicalize-lgpl, proposed by Charles Wilson in
56951         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
56952         with a few small changes afterwards.
56953         * MODULES.html.sh (File system functions): New module
56954         canonicalize-lgpl.
56955         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
56956         and canonicalize_file_name.
56957         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
56958         * modules/canonicalize-lgpl: New files.
56959
56960 2006-11-05  Bruno Haible  <bruno@clisp.org>
56961
56962         * gnulib-tool (func_import, func_create_testdir): Create directories
56963         also for files in subdirectories of lib/.
56964
56965 2006-11-05  Bruno Haible  <bruno@clisp.org>
56966
56967         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
56968         ANSI C compliant.
56969
56970 2006-11-03  Bruno Haible  <bruno@clisp.org>
56971
56972         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56973         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
56974         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
56975         (xnboundedmalloc): New inline function.
56976         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
56977         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
56978         xmalloc.
56979         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
56980         xmalloc.
56981         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
56982         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
56983         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
56984         xmalloc.
56985         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
56986         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
56987         xmalloc.
56988         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
56989         gl_tree_add_after): Use XMALLOC instead of xmalloc.
56990         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
56991         xmalloc.
56992         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
56993         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
56994         gl_tree_add_after): Use XMALLOC instead of xmalloc.
56995         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
56996         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
56997         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
56998         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
56999
57000 2006-11-03  Bruno Haible  <bruno@clisp.org>
57001
57002         * lib/c-ctype.h [C++]: Define functions without name mangling.
57003         * lib/fwriteerror.h [C++]: Likewise.
57004         * lib/gcd.h [C++]: Likewise.
57005         * lib/linebreak.h [C++]: Likewise.
57006
57007 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57008
57009         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
57010         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
57011         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
57012         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57013         Check for functions and headers just once.
57014         Check for declaration of canonicalize_file_name.
57015         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
57016
57017 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57018
57019         * gnulib-tool (func_import): Fix typo in actioncmd.
57020
57021 2006-11-02  Bruno Haible  <bruno@clisp.org>
57022
57023         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
57024         newline sequence in the Makefile.am snippet as a space, like "make"
57025         does.
57026         Reported by Roger Persson <perrog@gmail.com>.
57027
57028 2006-11-01  Bruno Haible  <bruno@clisp.org>
57029
57030         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
57031         already declared in <string.h>.
57032         * lib/strcase.h (strncasecmp): Don't declare it if yes.
57033
57034 2006-11-01  Bruno Haible  <bruno@clisp.org>
57035
57036         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
57037         * lib/strcase.h: Include <string.h>.
57038         (strcasecmp): Define to rpl_strcasecmp here.
57039
57040 2006-11-01  Bruno Haible  <bruno@clisp.org>
57041
57042         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
57043
57044 2006-11-01  Eric Blake  <ebb9@byu.net>
57045
57046         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
57047
57048         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
57049
57050 2006-10-29  Bruno Haible  <bruno@clisp.org>
57051
57052         Make it compile in C++ mode.
57053         * lib/full-write.c (full_rw): Add a cast.
57054
57055 2006-11-01  Bruno Haible  <bruno@clisp.org>
57056
57057         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
57058         be POSIX compliant.
57059         Reported by Roger Persson <perrog@gmail.com>.
57060
57061 2006-11-01  Eric Blake  <ebb9@byu.net>
57062
57063         * lib/getopt_.h: Fix comments.
57064
57065 2006-10-31  Eric Blake  <ebb9@byu.net>
57066
57067         * modules/tmpdir (Depends-on): Add sys_stat.
57068         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
57069         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
57070         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
57071         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
57072         tempname.
57073
57074 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
57075
57076         Avoid some C++ diagnostics reported by Bruno Haible.
57077         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
57078         xmalloc.
57079         (quotearg_alloc): Use xcharalloc rather than xmalloc.
57080         (struct slotvec): Move to top level.
57081         (quotearg_n_options): Rewrite to avoid xmalloc.
57082         * lib/xalloc.h (xcharalloc): New function.
57083         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
57084         [defined __cplusplus]: Add function template that provides result
57085         type propagation.  This part of the change is from Bruno Haible.
57086
57087 2006-10-29  Bruno Haible  <bruno@clisp.org>
57088
57089         Make it compile in C++ mode.
57090         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
57091         * lib/strnlen1.c (strnlen1): Cast memchr result.
57092         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
57093         * lib/clean-temp.c (string_equals, string_hash): Add casts.
57094         (create_temp_dir): Rename local variable 'template'.
57095         (compile_csharp_using_sscli): Add cast.
57096         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
57097         * lib/findprog.c (find_in_path): Likewise.
57098         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
57099         * lib/wait-process.c (register_slave_subprocess): Likewise.
57100
57101 2006-10-22  Bruno Haible  <bruno@clisp.org>
57102
57103         * modules/tsearch: New file.
57104         * lib/tsearch.h: New file.
57105         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
57106         * m4/tsearch.m4: New file.
57107         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
57108
57109 2006-10-29  Eric Blake  <ebb9@byu.net>
57110
57111         * lib/arcfour.c: Assume config.h.
57112         * lib/arctwo.c: Likewise.
57113         * lib/base64.c: Likewise.
57114         * lib/check-version.c: Likewise.
57115         * lib/crc.c: Likewise.
57116         * lib/des.c: Likewise.
57117         * lib/gc-gnulib.c: Likewise.
57118         * lib/gc-libgcrypt.c: Likewise.
57119         * lib/gc-pbkdf2-sha1.c: Likewise.
57120         * lib/getaddrinfo.c: Likewise.
57121         * lib/getdelim.c: Likewise.
57122         * lib/getline.c: Likewise.
57123         * lib/hmac-md5.c: Likewise.
57124         * lib/hmac-sha1.c: Likewise.
57125         * lib/iconvme.c: Likewise.
57126         * lib/md2.c: Likewise.
57127         * lib/md4.c: Likewise.
57128         * lib/memxor.c: Likewise.
57129         * lib/read-file.c: Likewise.
57130         * lib/readline.c: Likewise.
57131         * lib/rijndael-alg-fst.c: Likewise.
57132         * lib/rijndael-api-fst.c: Likewise.
57133         * lib/xgetdomainname.c: Likewise.
57134
57135 2006-10-28  Eric Blake  <ebb9@byu.net>
57136
57137         * lib/xstrndup.c: Assume config.h.
57138
57139 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
57140
57141         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
57142         stat-macros.h is now for our own macros, whereas stat_h is for
57143         macros in the <sys/stat.h> name space.
57144         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
57145         (STAT_MACROS_H): Remove.
57146         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
57147         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
57148         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
57149         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
57150         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
57151         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
57152         Move these macros to ...
57153         * lib/stat_.h: here.  Don't include stat-macros.h.
57154         * lib/canonicalize.c: Don't include stat-macros.h.
57155         * lib/chown.c: Likewise.
57156         * lib/euidaccess.c: Likewise.
57157         * lib/file-type.c: Likewise.
57158         * lib/filemode.c: Likewise.
57159         * lib/glob.c: Likewise.
57160         * lib/isapipe.c: Likewise.
57161         * lib/lchown.c: Likewise.
57162         * lib/lstat.c: Likewise.
57163         * lib/mkdir-p.c: Likewise.
57164         * lib/rmdir.c: Likewise.
57165         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
57166         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
57167         unless mkdir isn't declared, to speed up 'configure'.
57168         Always create sys/stat.h, since it's unlikely any real sys/stat.h
57169         would define all the S_* symbols.
57170         * modules/canonicalize (Depends-on):
57171         Depend on sys_stat, not stat-macros.
57172         * modules/chown: Likewise.
57173         * modules/euidaccess: Likewise.
57174         * modules/filemode: Likewise.
57175         * modules/file-type: Likewise.
57176         * modules/glob: Likewise.
57177         * modules/isapipe: Likewise.
57178         * modules/lchown: Likewise.
57179         * modules/lstat: Likewise.
57180         * modules/mkancesdirs: Likewise.
57181         * modules/rmdir: Likewise.
57182         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
57183         * modules/modechange: Likewise.
57184         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
57185         (configure.ac): Remove gl_STAT_MACROS.
57186         * modules/sys_stat (Depends-on): Remove stat-macros.
57187
57188 2006-10-27  Bruno Haible  <bruno@clisp.org>
57189
57190         * m4/signed.m4: Remove file.
57191         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
57192         invocation.
57193         * modules/vasnprintf (Files): Remove m4/signed.m4.
57194
57195 2006-10-27  Bruno Haible  <bruno@clisp.org>
57196
57197         Update to GNU gettext 0.16.
57198         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
57199         m4/inttypes-h.m4, m4/signed.m4.
57200         * m4/gettext.m4: Update to GNU gettext 0.16.
57201         * m4/intl.m4: New file, from GNU gettext.
57202         * m4/intldir.m4: New file, from GNU gettext.
57203         * config/srclist.txt: Update
57204
57205 2006-10-27  Eric Blake  <ebb9@byu.net>
57206
57207         * MODULES.html.sh: Document tempname.
57208         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
57209         dependencies.
57210         (Files): Move lib/tempname.c...
57211         * modules/tempname: ...to this new module.
57212         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
57213         (gl_PREREQ_TEMPNAME): Move...
57214         * m4/tempname.m4: ...to this new file.
57215         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
57216         * modules/sys_stat (Depends-on): Add stat-macros.
57217         * lib/stat_.h (includes): Pick up stat macros.
57218         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
57219         if stat macros are broken.
57220         * lib/tempname.c (includes): No need to include "stat-macros.h".
57221         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
57222         (direxists, __path_search) [!_LIBC]: Don't compile these in
57223         gnulib; the tmpdir module covers that.
57224         * lib/tempname.h: New file.
57225
57226 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
57227
57228         * COPYING: Explain how gnulib-tool converts licence headers.
57229         Almost all wording by Eric Blake.
57230
57231 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
57232
57233         * lib/mbchar.h (is_basic_table): Make read-only.
57234         * lib/mbchar.c (is_basic_table): Likewise.
57235         Reported by John Darrington.
57236
57237 2006-10-25  Bruno Haible  <bruno@clisp.org>
57238
57239         * lib/progname.h (set_program_name): Undefine before defining.
57240
57241 2006-10-25  Bruno Haible  <bruno@clisp.org>
57242
57243         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
57244         false for non-gcc C++ compilers.
57245         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57246
57247 2006-10-24  Bruno Haible  <bruno@clisp.org>
57248
57249         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
57250         iconv implementations like Irix iconv.
57251
57252 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57253
57254         * modules/vararrays: New file.
57255         * m4/vararrays.m4: New file, taken from diffutils.
57256         * MODULES.html.sh: New module vararrays.
57257
57258 2006-10-24  Karl Berry  <karl@gnu.org>
57259
57260         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
57261         Don't call GNU Unix.
57262
57263 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57264
57265         * users.txt: Add Libtool.
57266
57267         Sync from Libtool:
57268
57269         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57270
57271         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
57272         to gnulib's policy of including config.h unconditionally.
57273
57274 2006-10-24  Bruno Haible  <bruno@clisp.org>
57275
57276         * modules/wcwidth (Files): Add m4/wint_t.m4.
57277         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
57278         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
57279
57280 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57281
57282         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
57283         to pacify GCC with some -W flags enabled.  Problem reported by
57284         Bruno Haible.
57285
57286 2006-10-24  Jim Meyering  <jim@meyering.net>
57287
57288         * MODULES.html.sh: Remove uinttostr.  It's not a module.
57289         Reported by Karl Berry.
57290
57291 2006-10-23  Bruno Haible  <bruno@clisp.org>
57292
57293         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
57294
57295 2006-10-24  Bruno Haible  <bruno@clisp.org>
57296
57297         * lib/gl_list.h: Use C comment style, not C++ comment style.
57298
57299 2006-10-23  Eric Blake  <ebb9@byu.net>
57300
57301         * lib/getaddrinfo.c (includes): Add missing include.
57302
57303 2006-10-23  Bruno Haible  <bruno@clisp.org>
57304             Paul Eggert  <eggert@cs.ucla.edu>
57305
57306         Ability to rename obstack_free.
57307         * lib/obstack.h (__obstack_free): New macro. Declare instead of
57308         obstack_free.
57309         (obstack_free): Invoke the __obstack_free macro.
57310         * lib/obstack.c (obstack_free): Use __obstack_free macro.
57311
57312 2006-10-23  Bruno Haible  <bruno@clisp.org>
57313             Paul Eggert  <eggert@cs.ucla.edu>
57314
57315         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
57316         __argc, __argv from the declaration. (They are defined as macros on
57317         mingw.)
57318
57319 2006-10-22  Bruno Haible  <bruno@clisp.org>
57320
57321         * doc/gnulib-intro.texi: New file.
57322         * doc/gnulib.texi: Include it.
57323
57324 2006-10-21  Bruno Haible  <bruno@clisp.org>
57325
57326         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
57327         "Introduction", "Miscellanous Notes", "Particular Modules".
57328
57329 2006-10-21  Bruno Haible  <bruno@clisp.org>
57330
57331         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57332         Change mostlyclean-local rule to avoid sh syntax error from bash
57333         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
57334
57335 2006-10-23  Jim Meyering  <jim@meyering.net>
57336
57337         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
57338         in place of snprintf.
57339
57340         * modules/inttostr (Files): Add lib/uinttostr.c.
57341         * lib/uinttostr.c (inttostr): New file/function.
57342         * lib/inttostr.h (uinttostr): Declare.
57343         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
57344         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
57345         Add uinttostr.
57346         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
57347
57348 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57349
57350         * lib/canonicalize.c (ELOOP): Define if not already defined.
57351         Problem reported by Bruno Haible in
57352         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
57353
57354 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57355
57356         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
57357         Problem reported by Perry Smith and Ville Laurikari.
57358
57359         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
57360         uses.
57361
57362 2006-10-19  Bruno Haible  <bruno@clisp.org>
57363
57364         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
57365         for mingw.
57366
57367 2006-10-19  Bruno Haible  <bruno@clisp.org>
57368
57369         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
57370         Needed for mingw.
57371
57372 2006-10-19  Bruno Haible  <bruno@clisp.org>
57373
57374         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
57375
57376 2006-10-19  Bruno Haible  <bruno@clisp.org>
57377
57378         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
57379         it.
57380
57381 2006-10-19  Bruno Haible  <bruno@clisp.org>
57382
57383         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
57384         invocation.
57385
57386 2006-10-19  Bruno Haible  <bruno@clisp.org>
57387
57388         * gnulib-tool (func_create_testdir): Don't include ftruncate and
57389         mountlist by default.
57390
57391 2006-10-16  Bruno Haible  <bruno@clisp.org>
57392
57393         * lib/c-strstr.c: Include c-strstr.h.
57394
57395 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57396
57397         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
57398         in a slash.
57399
57400 2006-10-18  Bruno Haible  <bruno@clisp.org>
57401
57402         * lib/lock.h [C++]: Wrap definitions in extern "C".
57403
57404 2006-10-18  Bruno Haible  <bruno@clisp.org>
57405
57406         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
57407         gl_LIBOBJS list.
57408
57409 2006-10-18  Bruno Haible  <bruno@clisp.org>
57410
57411         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
57412
57413 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
57414
57415         * lib/xstrtol.h: Include gettext.h.
57416         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
57417         Problem reported by Eric Blake.
57418         * modules/xstrtol (Depends-on): Add gettext-h.
57419
57420 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
57421
57422         * lib/strftime.c (advance): New macro.
57423         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
57424         incomplete type, so you can't add 0 to it.  Problem and patch
57425         reported by Eelco Dolstra for dietlibc.
57426
57427 2006-10-18  Jim Meyering  <jim@meyering.net>
57428
57429         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
57430         type for a local, and rename it: s/up/user_proc/.
57431
57432 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57433
57434         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
57435         READ_UTMP_USER_PROCESS.
57436         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
57437
57438 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57439
57440         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
57441         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
57442
57443 2006-10-17  Eric Blake  <ebb9@byu.net>
57444
57445         * lib/sigprocmask.c (sigprocmask): Fix typo.
57446
57447         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
57448
57449         * modules/clean-temp (Makefile.am): Don't add to make output...
57450         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
57451         config.h.
57452
57453 2006-10-17  Bruno Haible  <bruno@clisp.org>
57454
57455         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
57456         differently if DEFAULT_TEXT_DOMAIN is set.
57457
57458 2006-10-16  Bruno Haible  <bruno@clisp.org>
57459
57460         * lib/clean-temp.c: Include fwriteerror.h.
57461
57462 2006-10-16  Bruno Haible  <bruno@clisp.org>
57463
57464         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
57465
57466 2006-10-16  Bruno Haible  <bruno@clisp.org>
57467
57468         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
57469         * lib/sigprocmask.h: Include <sys/types.h>.
57470         (sigset_t): Use the system's definition if present.
57471
57472 2006-10-17  Eric Blake  <ebb9@byu.net>
57473
57474         * lib/xvasprintf.c (includes): Assume config.h.
57475         * lib/xasprintf.c (includes): Likewise.
57476
57477 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57478
57479         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
57480         at least as wide as intmax_t.
57481
57482 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
57483
57484         (Imported from Automake.)
57485         * build-aux/gnupload: Update to version 1.1 of directive file.
57486
57487 2006-10-16  Eric Blake  <ebb9@byu.net>
57488
57489         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
57490         match Automake 1.10a.
57491
57492 2006-10-14  Bruno Haible  <bruno@clisp.org>
57493
57494         * modules/sigprocmask: New file.
57495         * lib/sigprocmask.h: New file.
57496         * lib/sigprocmask.c: New file.
57497         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
57498         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
57499         request sigprocmask.o.
57500         (gl_PREREQ_SIGPROCMASK): New macro.
57501         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
57502         (Depends-on): Add sigprocmask.
57503         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
57504         gt_SIGNALBLOCKING. Test for 'raise' only once.
57505         * lib/fatal-signal.c: Include sigprocmask.h.
57506         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
57507         unblock_fatal_signals): Define always.
57508         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57509         sigprocmask.
57510
57511 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57512
57513         Sync from Automake.
57514         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
57515         which incorrectly sets the mode of an existing destination
57516         directory.  In some cases the unpatched install-sh could do the
57517         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
57518         system.  We hope this is rare in practice, but it's clearly worth
57519         fixing.  Problem reported by Alex Unleashed in
57520         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
57521         Also, don't bother to check for -m bugs unless we're using -m;
57522         suggested by Stepan Kasal.
57523
57524 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57525
57526         Sync from Automake.
57527         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
57528         `-c' flag, so they appear at the same position as in %FASTDEP%
57529         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
57530         which ignores unknown options only after the first non-option.
57531         Bug report against M4 by Nelson H. F. Beebe.
57532
57533 2006-10-13  Jim Meyering  <jim@meyering.net>
57534
57535         Fix a bug in yesterday's change.
57536         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
57537         p->fts_statp->st_dev would be used uninitialized.
57538         Ensures that we always call fts_stat on the very first entry.
57539         Miklos Szeredi reported that find -xdev stopped working.
57540
57541 2006-10-12  Bruno Haible  <bruno@clisp.org>
57542
57543         * gnulib-tool (func_get_automake_snippet): Append an automatically
57544         computed EXTRA_DIST augmentation.
57545         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
57546         * modules/alloca-opt (Makefile.am): Likewise.
57547         * modules/allocsa (Makefile.am): Likewise.
57548         * modules/arcfour (Makefile.am): Likewise.
57549         * modules/arctwo (Makefile.am): Likewise.
57550         * modules/argmatch (Makefile.am): Likewise.
57551         * modules/argz (Makefile.am): Likewise.
57552         * modules/atexit (Makefile.am): Likewise.
57553         * modules/backupfile (Makefile.am): Likewise.
57554         * modules/byteswap (Makefile.am): Likewise.
57555         * modules/c-strtod (Makefile.am): Likewise.
57556         * modules/c-strtold (Makefile.am): Likewise.
57557         * modules/calloc (Makefile.am): Likewise.
57558         * modules/canon-host (Makefile.am): Likewise.
57559         * modules/canonicalize (Makefile.am): Likewise.
57560         * modules/chdir-long (Makefile.am): Likewise.
57561         * modules/chdir-safer (Makefile.am): Likewise.
57562         * modules/check-version (Makefile.am): Likewise.
57563         * modules/chown (Makefile.am): Likewise.
57564         * modules/cloexec (Makefile.am): Likewise.
57565         * modules/close-stream (Makefile.am): Likewise.
57566         * modules/closeout (Makefile.am): Likewise.
57567         * modules/crc (Makefile.am): Likewise.
57568         * modules/csharpexec (Makefile.am): Likewise.
57569         * modules/cycle-check (Makefile.am): Likewise.
57570         * modules/des (Makefile.am): Likewise.
57571         * modules/dev-ino (Makefile.am): Likewise.
57572         * modules/dirfd (Makefile.am): Likewise.
57573         * modules/dirname (Makefile.am): Likewise.
57574         * modules/dup2 (Makefile.am): Likewise.
57575         * modules/eealloc (Makefile.am): Likewise.
57576         * modules/error (Makefile.am): Likewise.
57577         * modules/euidaccess (Makefile.am): Likewise.
57578         * modules/exclude (Makefile.am): Likewise.
57579         * modules/exitfail (Makefile.am): Likewise.
57580         * modules/fcntl-safer (Makefile.am): Likewise.
57581         * modules/fcntl (Makefile.am): Likewise.
57582         * modules/file-type (Makefile.am): Likewise.
57583         * modules/fileblocks (Makefile.am): Likewise.
57584         * modules/filemode (Makefile.am): Likewise.
57585         * modules/filenamecat (Makefile.am): Likewise.
57586         * modules/fnmatch (Makefile.am): Likewise.
57587         * modules/fopen-safer (Makefile.am): Likewise.
57588         * modules/fpending (Makefile.am): Likewise.
57589         * modules/fprintftime (Makefile.am): Likewise.
57590         * modules/free (Makefile.am): Likewise.
57591         * modules/fsusage (Makefile.am): Likewise.
57592         * modules/ftruncate (Makefile.am): Likewise.
57593         * modules/fts (Makefile.am): Likewise.
57594         * modules/gc-arcfour (Makefile.am): Likewise.
57595         * modules/gc-des (Makefile.am): Likewise.
57596         * modules/gc-hmac-md5 (Makefile.am): Likewise.
57597         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
57598         * modules/gc-md4 (Makefile.am): Likewise.
57599         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57600         * modules/gc-sha1 (Makefile.am): Likewise.
57601         * modules/gc (Makefile.am): Likewise.
57602         * modules/getaddrinfo (Makefile.am): Likewise.
57603         * modules/getcwd (Makefile.am): Likewise.
57604         * modules/getdelim (Makefile.am): Likewise.
57605         * modules/getdomainname (Makefile.am): Likewise.
57606         * modules/getgroups (Makefile.am): Likewise.
57607         * modules/gethostname (Makefile.am): Likewise.
57608         * modules/gethrxtime (Makefile.am): Likewise.
57609         * modules/getline (Makefile.am): Likewise.
57610         * modules/getloadavg (Makefile.am): Likewise.
57611         * modules/getlogin_r (Makefile.am): Likewise.
57612         * modules/getndelim2 (Makefile.am): Likewise.
57613         * modules/getopt (Makefile.am): Likewise.
57614         * modules/getpagesize (Makefile.am): Likewise.
57615         * modules/getpass-gnu (Makefile.am): Likewise.
57616         * modules/getpass (Makefile.am): Likewise.
57617         * modules/getsubopt (Makefile.am): Likewise.
57618         * modules/gettime (Makefile.am): Likewise.
57619         * modules/gettimeofday (Makefile.am): Likewise.
57620         * modules/getugroups (Makefile.am): Likewise.
57621         * modules/getusershell (Makefile.am): Likewise.
57622         * modules/glob (Makefile.am): Likewise.
57623         * modules/group-member (Makefile.am): Likewise.
57624         * modules/hard-locale (Makefile.am): Likewise.
57625         * modules/hash (Makefile.am): Likewise.
57626         * modules/hmac-md5 (Makefile.am): Likewise.
57627         * modules/hmac-sha1 (Makefile.am): Likewise.
57628         * modules/human (Makefile.am): Likewise.
57629         * modules/idcache (Makefile.am): Likewise.
57630         * modules/imaxabs (Makefile.am): Likewise.
57631         * modules/imaxdiv (Makefile.am): Likewise.
57632         * modules/inet_ntop (Makefile.am): Likewise.
57633         * modules/inet_pton (Makefile.am): Likewise.
57634         * modules/intprops (Makefile.am): Likewise.
57635         * modules/inttostr (Makefile.am): Likewise.
57636         * modules/inttypes (Makefile.am): Likewise.
57637         * modules/isapipe (Makefile.am): Likewise.
57638         * modules/javaversion (Makefile.am): Likewise.
57639         * modules/lchmod (Makefile.am): Likewise.
57640         * modules/lchown (Makefile.am): Likewise.
57641         * modules/localcharset (Makefile.am): Likewise.
57642         * modules/long-options (Makefile.am): Likewise.
57643         * modules/lstat (Makefile.am): Likewise.
57644         * modules/malloc (Makefile.am): Likewise.
57645         * modules/mathl (Makefile.am): Likewise.
57646         * modules/mbchar (Makefile.am): Likewise.
57647         * modules/md2 (Makefile.am): Likewise.
57648         * modules/md4 (Makefile.am): Likewise.
57649         * modules/md5 (Makefile.am): Likewise.
57650         * modules/memcasecmp (Makefile.am): Likewise.
57651         * modules/memchr (Makefile.am): Likewise.
57652         * modules/memcmp (Makefile.am): Likewise.
57653         * modules/memcoll (Makefile.am): Likewise.
57654         * modules/memcpy (Makefile.am): Likewise.
57655         * modules/memmem (Makefile.am): Likewise.
57656         * modules/memmove (Makefile.am): Likewise.
57657         * modules/mempcpy (Makefile.am): Likewise.
57658         * modules/memrchr (Makefile.am): Likewise.
57659         * modules/memset (Makefile.am): Likewise.
57660         * modules/memxor (Makefile.am): Likewise.
57661         * modules/mkancesdirs (Makefile.am): Likewise.
57662         * modules/mkdir-p (Makefile.am): Likewise.
57663         * modules/mkdir (Makefile.am): Likewise.
57664         * modules/mkdtemp (Makefile.am): Likewise.
57665         * modules/mkstemp (Makefile.am): Likewise.
57666         * modules/mktime (Makefile.am): Likewise.
57667         * modules/modechange (Makefile.am): Likewise.
57668         * modules/mountlist (Makefile.am): Likewise.
57669         * modules/nanosleep (Makefile.am): Likewise.
57670         * modules/obstack (Makefile.am): Likewise.
57671         * modules/openat (Makefile.am): Likewise.
57672         * modules/pagealign_alloc (Makefile.am): Likewise.
57673         * modules/pathmax (Makefile.am): Likewise.
57674         * modules/physmem (Makefile.am): Likewise.
57675         * modules/poll (Makefile.am): Likewise.
57676         * modules/posixtm (Makefile.am): Likewise.
57677         * modules/posixver (Makefile.am): Likewise.
57678         * modules/putenv (Makefile.am): Likewise.
57679         * modules/quote (Makefile.am): Likewise.
57680         * modules/quotearg (Makefile.am): Likewise.
57681         * modules/raise (Makefile.am): Likewise.
57682         * modules/read-file (Makefile.am): Likewise.
57683         * modules/readline (Makefile.am): Likewise.
57684         * modules/readlink (Makefile.am): Likewise.
57685         * modules/readtokens (Makefile.am): Likewise.
57686         * modules/readutmp (Makefile.am): Likewise.
57687         * modules/realloc (Makefile.am): Likewise.
57688         * modules/regex (Makefile.am): Likewise.
57689         * modules/rename-dest-slash (Makefile.am): Likewise.
57690         * modules/rename (Makefile.am): Likewise.
57691         * modules/rijndael (Makefile.am): Likewise.
57692         * modules/rmdir (Makefile.am): Likewise.
57693         * modules/rpmatch (Makefile.am): Likewise.
57694         * modules/safe-read (Makefile.am): Likewise.
57695         * modules/safe-write (Makefile.am): Likewise.
57696         * modules/same-inode (Makefile.am): Likewise.
57697         * modules/same (Makefile.am): Likewise.
57698         * modules/save-cwd (Makefile.am): Likewise.
57699         * modules/savedir (Makefile.am): Likewise.
57700         * modules/setenv (Makefile.am): Likewise.
57701         * modules/settime (Makefile.am): Likewise.
57702         * modules/sha1 (Makefile.am): Likewise.
57703         * modules/sig2str (Makefile.am): Likewise.
57704         * modules/snprintf (Makefile.am): Likewise.
57705         * modules/stat-macros (Makefile.am): Likewise.
57706         * modules/stat-time (Makefile.am): Likewise.
57707         * modules/stdbool (Makefile.am): Likewise.
57708         * modules/stdint (Makefile.am): Likewise.
57709         * modules/stdlib-safer (Makefile.am): Likewise.
57710         * modules/stpcpy (Makefile.am): Likewise.
57711         * modules/stpncpy (Makefile.am): Likewise.
57712         * modules/strcase (Makefile.am): Likewise.
57713         * modules/strcasestr (Makefile.am): Likewise.
57714         * modules/strchrnul (Makefile.am): Likewise.
57715         * modules/strcspn (Makefile.am): Likewise.
57716         * modules/strdup (Makefile.am): Likewise.
57717         * modules/strerror (Makefile.am): Likewise.
57718         * modules/strftime (Makefile.am): Likewise.
57719         * modules/strndup (Makefile.am): Likewise.
57720         * modules/strnlen (Makefile.am): Likewise.
57721         * modules/strpbrk (Makefile.am): Likewise.
57722         * modules/strsep (Makefile.am): Likewise.
57723         * modules/strstr (Makefile.am): Likewise.
57724         * modules/strtod (Makefile.am): Likewise.
57725         * modules/strtoimax (Makefile.am): Likewise.
57726         * modules/strtok_r (Makefile.am): Likewise.
57727         * modules/strtol (Makefile.am): Likewise.
57728         * modules/strtoll (Makefile.am): Likewise.
57729         * modules/strtoul (Makefile.am): Likewise.
57730         * modules/strtoull (Makefile.am): Likewise.
57731         * modules/strtoumax (Makefile.am): Likewise.
57732         * modules/strverscmp (Makefile.am): Likewise.
57733         * modules/sys_socket (Makefile.am): Likewise.
57734         * modules/sys_stat (Makefile.am): Likewise.
57735         * modules/sysexits (Makefile.am): Likewise.
57736         * modules/time_r (Makefile.am): Likewise.
57737         * modules/timegm (Makefile.am): Likewise.
57738         * modules/timespec (Makefile.am): Likewise.
57739         * modules/tmpfile-safer (Makefile.am): Likewise.
57740         * modules/trim (Makefile.am): Likewise.
57741         * modules/unistd-safer (Makefile.am): Likewise.
57742         * modules/unlinkdir (Makefile.am): Likewise.
57743         * modules/unlocked-io (Makefile.am): Likewise.
57744         * modules/userspec (Makefile.am): Likewise.
57745         * modules/utime (Makefile.am): Likewise.
57746         * modules/utimecmp (Makefile.am): Likewise.
57747         * modules/utimens (Makefile.am): Likewise.
57748         * modules/vasnprintf (Makefile.am): Likewise.
57749         * modules/vasprintf (Makefile.am): Likewise.
57750         * modules/vsnprintf (Makefile.am): Likewise.
57751         * modules/xalloc (Makefile.am): Likewise.
57752         * modules/xgetcwd (Makefile.am): Likewise.
57753         * modules/xnanosleep (Makefile.am): Likewise.
57754         * modules/xreadlink (Makefile.am): Likewise.
57755         * modules/xstrtod (Makefile.am): Likewise.
57756         * modules/xstrtol (Makefile.am): Likewise.
57757         * modules/xstrtold (Makefile.am): Likewise.
57758         * modules/yesno (Makefile.am): Likewise.
57759         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
57760
57761 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57762
57763         * modules/error (Makefile.am): Distribute files through
57764         EXTRA_DIST, not lib_SOURCES.
57765
57766 2006-10-12  Eric Blake  <ebb9@byu.net>
57767
57768         * modules/error (Makefile.am): Distribute files in /lib.
57769         * modules/obstack (Makefile.am): Likewise.
57770
57771 2006-10-12  Bruno Haible  <bruno@clisp.org>
57772
57773         * modules/acl (Makefile.am): Distribute all files in lib/ through
57774         EXTRA_DIST.
57775         * modules/arcfour (Makefile.am): Likewise.
57776         * modules/arctwo (Makefile.am): Likewise.
57777         * modules/argmatch (Makefile.am): Likewise.
57778         * modules/argz (Makefile.am): Likewise.
57779         * modules/atexit (Makefile.am): Likewise.
57780         * modules/backupfile (Makefile.am): Likewise.
57781         * modules/c-strtod (Makefile.am): Likewise.
57782         * modules/c-strtold (Makefile.am): Likewise.
57783         * modules/calloc (Makefile.am): Likewise.
57784         * modules/canon-host (Makefile.am): Likewise.
57785         * modules/canonicalize (Makefile.am): Likewise.
57786         * modules/chdir-long (Makefile.am): Likewise.
57787         * modules/chdir-safer (Makefile.am): Likewise.
57788         * modules/check-version (Makefile.am): Likewise.
57789         * modules/chown (Makefile.am): Likewise.
57790         * modules/cloexec (Makefile.am): Likewise.
57791         * modules/close-stream (Makefile.am): Likewise.
57792         * modules/closeout (Makefile.am): Likewise.
57793         * modules/crc (Makefile.am): Likewise.
57794         * modules/cycle-check (Makefile.am): Likewise.
57795         * modules/des (Makefile.am): Likewise.
57796         * modules/dirfd (Makefile.am): Likewise.
57797         * modules/dirname (Makefile.am): Likewise.
57798         * modules/dup2 (Makefile.am): Likewise.
57799         * modules/euidaccess (Makefile.am): Likewise.
57800         * modules/exclude (Makefile.am): Likewise.
57801         * modules/exitfail (Makefile.am): Likewise.
57802         * modules/fcntl-safer (Makefile.am): Likewise.
57803         * modules/file-type (Makefile.am): Likewise.
57804         * modules/fileblocks (Makefile.am): Likewise.
57805         * modules/filemode (Makefile.am): Likewise.
57806         * modules/filenamecat (Makefile.am): Likewise.
57807         * modules/fnmatch (Makefile.am): Likewise.
57808         * modules/fopen-safer (Makefile.am): Likewise.
57809         * modules/fpending (Makefile.am): Likewise.
57810         * modules/fprintftime (Makefile.am): Likewise.
57811         * modules/free (Makefile.am): Likewise.
57812         * modules/fsusage (Makefile.am): Likewise.
57813         * modules/ftruncate (Makefile.am): Likewise.
57814         * modules/fts (Makefile.am): Likewise.
57815         * modules/gc (Makefile.am): Likewise.
57816         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57817         * modules/getaddrinfo (Makefile.am): Likewise.
57818         * modules/getcwd (Makefile.am): Likewise.
57819         * modules/getdelim (Makefile.am): Likewise.
57820         * modules/getdomainname (Makefile.am): Likewise.
57821         * modules/getgroups (Makefile.am): Likewise.
57822         * modules/gethostname (Makefile.am): Likewise.
57823         * modules/gethrxtime (Makefile.am): Likewise.
57824         * modules/getline (Makefile.am): Likewise.
57825         * modules/getloadavg (Makefile.am): Likewise.
57826         * modules/getlogin_r (Makefile.am): Likewise.
57827         * modules/getopt (Makefile.am): Likewise.
57828         * modules/getpass (Makefile.am): Likewise.
57829         * modules/getpass-gnu (Makefile.am): Likewise.
57830         * modules/getsubopt (Makefile.am): Likewise.
57831         * modules/gettime (Makefile.am): Likewise.
57832         * modules/gettimeofday (Makefile.am): Likewise.
57833         * modules/getugroups (Makefile.am): Likewise.
57834         * modules/getusershell (Makefile.am): Likewise.
57835         * modules/glob (Makefile.am): Likewise.
57836         * modules/group-member (Makefile.am): Likewise.
57837         * modules/hard-locale (Makefile.am): Likewise.
57838         * modules/hash (Makefile.am): Likewise.
57839         * modules/hmac-md5 (Makefile.am): Likewise.
57840         * modules/hmac-sha1 (Makefile.am): Likewise.
57841         * modules/human (Makefile.am): Likewise.
57842         * modules/idcache (Makefile.am): Likewise.
57843         * modules/imaxabs (Makefile.am): Likewise.
57844         * modules/imaxdiv (Makefile.am): Likewise.
57845         * modules/inet_ntop (Makefile.am): Likewise.
57846         * modules/inet_pton (Makefile.am): Likewise.
57847         * modules/inttostr (Makefile.am): Likewise.
57848         * modules/isapipe (Makefile.am): Likewise.
57849         * modules/lchown (Makefile.am): Likewise.
57850         * modules/long-options (Makefile.am): Likewise.
57851         * modules/lstat (Makefile.am): Likewise.
57852         * modules/malloc (Makefile.am): Likewise.
57853         * modules/mathl (Makefile.am): Likewise.
57854         * modules/mbchar (Makefile.am): Likewise.
57855         * modules/md2 (Makefile.am): Likewise.
57856         * modules/md4 (Makefile.am): Likewise.
57857         * modules/md5 (Makefile.am): Likewise.
57858         * modules/memcasecmp (Makefile.am): Likewise.
57859         * modules/memchr (Makefile.am): Likewise.
57860         * modules/memcmp (Makefile.am): Likewise.
57861         * modules/memcoll (Makefile.am): Likewise.
57862         * modules/memcpy (Makefile.am): Likewise.
57863         * modules/memmem (Makefile.am): Likewise.
57864         * modules/memmove (Makefile.am): Likewise.
57865         * modules/mempcpy (Makefile.am): Likewise.
57866         * modules/memrchr (Makefile.am): Likewise.
57867         * modules/memset (Makefile.am): Likewise.
57868         * modules/memxor (Makefile.am): Likewise.
57869         * modules/mkancesdirs (Makefile.am): Likewise.
57870         * modules/mkdir (Makefile.am): Likewise.
57871         * modules/mkdir-p (Makefile.am): Likewise.
57872         * modules/mkdtemp (Makefile.am): Likewise.
57873         * modules/mkstemp (Makefile.am): Likewise.
57874         * modules/mktime (Makefile.am): Likewise.
57875         * modules/modechange (Makefile.am): Likewise.
57876         * modules/mountlist (Makefile.am): Likewise.
57877         * modules/nanosleep (Makefile.am): Likewise.
57878         * modules/openat (Makefile.am): Likewise.
57879         * modules/pagealign_alloc (Makefile.am): Likewise.
57880         * modules/physmem (Makefile.am): Likewise.
57881         * modules/poll (Makefile.am): Likewise.
57882         * modules/posixtm (Makefile.am): Likewise.
57883         * modules/posixver (Makefile.am): Likewise.
57884         * modules/putenv (Makefile.am): Likewise.
57885         * modules/quote (Makefile.am): Likewise.
57886         * modules/quotearg (Makefile.am): Likewise.
57887         * modules/raise (Makefile.am): Likewise.
57888         * modules/read-file (Makefile.am): Likewise.
57889         * modules/readline (Makefile.am): Likewise.
57890         * modules/readlink (Makefile.am): Likewise.
57891         * modules/readtokens (Makefile.am): Likewise.
57892         * modules/readutmp (Makefile.am): Likewise.
57893         * modules/realloc (Makefile.am): Likewise.
57894         * modules/regex (Makefile.am): Likewise.
57895         * modules/rename (Makefile.am): Likewise.
57896         * modules/rename-dest-slash (Makefile.am): Likewise.
57897         * modules/rijndael (Makefile.am): Likewise.
57898         * modules/rmdir (Makefile.am): Likewise.
57899         * modules/rpmatch (Makefile.am): Likewise.
57900         * modules/safe-read (Makefile.am): Likewise.
57901         * modules/safe-write (Makefile.am): Likewise.
57902         * modules/same (Makefile.am): Likewise.
57903         * modules/save-cwd (Makefile.am): Likewise.
57904         * modules/savedir (Makefile.am): Likewise.
57905         * modules/setenv (Makefile.am): Likewise.
57906         * modules/settime (Makefile.am): Likewise.
57907         * modules/sha1 (Makefile.am): Likewise.
57908         * modules/sig2str (Makefile.am): Likewise.
57909         * modules/snprintf (Makefile.am): Likewise.
57910         * modules/stdlib-safer (Makefile.am): Likewise.
57911         * modules/stpcpy (Makefile.am): Likewise.
57912         * modules/stpncpy (Makefile.am): Likewise.
57913         * modules/strcase (Makefile.am): Likewise.
57914         * modules/strcasestr (Makefile.am): Likewise.
57915         * modules/strchrnul (Makefile.am): Likewise.
57916         * modules/strcspn (Makefile.am): Likewise.
57917         * modules/strdup (Makefile.am): Likewise.
57918         * modules/strerror (Makefile.am): Likewise.
57919         * modules/strftime (Makefile.am): Likewise.
57920         * modules/strndup (Makefile.am): Likewise.
57921         * modules/strnlen (Makefile.am): Likewise.
57922         * modules/strpbrk (Makefile.am): Likewise.
57923         * modules/strsep (Makefile.am): Likewise.
57924         * modules/strstr (Makefile.am): Likewise.
57925         * modules/strtod (Makefile.am): Likewise.
57926         * modules/strtoimax (Makefile.am): Likewise.
57927         * modules/strtok_r (Makefile.am): Likewise.
57928         * modules/strtol (Makefile.am): Likewise.
57929         * modules/strtoll (Makefile.am): Likewise.
57930         * modules/strtoul (Makefile.am): Likewise.
57931         * modules/strtoull (Makefile.am): Likewise.
57932         * modules/strtoumax (Makefile.am): Likewise.
57933         * modules/strverscmp (Makefile.am): Likewise.
57934         * modules/time_r (Makefile.am): Likewise.
57935         * modules/timegm (Makefile.am): Likewise.
57936         * modules/tmpfile-safer (Makefile.am): Likewise.
57937         * modules/unistd-safer (Makefile.am): Likewise.
57938         * modules/unlinkdir (Makefile.am): Likewise.
57939         * modules/userspec (Makefile.am): Likewise.
57940         * modules/utime (Makefile.am): Likewise.
57941         * modules/utimecmp (Makefile.am): Likewise.
57942         * modules/utimens (Makefile.am): Likewise.
57943         * modules/vasnprintf (Makefile.am): Likewise.
57944         * modules/vasprintf (Makefile.am): Likewise.
57945         * modules/vsnprintf (Makefile.am): Likewise.
57946         * modules/xalloc (Makefile.am): Likewise.
57947         * modules/xgetcwd (Makefile.am): Likewise.
57948         * modules/xnanosleep (Makefile.am): Likewise.
57949         * modules/xreadlink (Makefile.am): Likewise.
57950         * modules/xstrtod (Makefile.am): Likewise.
57951         * modules/xstrtol (Makefile.am): Likewise.
57952         * modules/xstrtold (Makefile.am): Likewise.
57953         * modules/yesno (Makefile.am): Likewise.
57954
57955 2006-10-12  Jim Meyering  <jim@meyering.net>
57956
57957         * m4/getloadavg.m4: Revert the change below.
57958
57959         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
57960         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
57961         fail with a symlink, which is what coreutils' ./bootstrap now
57962         creates by default.
57963
57964 2006-10-12  Bruno Haible  <bruno@clisp.org>
57965
57966         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
57967         mingw.
57968         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
57969         MSVC and mingw explicitly.
57970
57971 2006-10-11  Simon Josefsson  <jas@extundo.com>
57972             Bruno Haible  <bruno@clisp.org>
57973
57974         Add support for multiple gnulib-tool invocations in the scope of a
57975         single configure.ac file.
57976         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
57977         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
57978         with the same contents as the _LIBADD variable.
57979         (func_emit_initmacro_start, func_emit_initmacro_end,
57980         func_emit_initmacro_done): New functions.
57981         (func_import, func_create_testdir): Invoke them. Allow the identifiers
57982         gl_LIBOBJS and gl_LTLIBOBJS.
57983
57984 2006-10-11  Bruno Haible  <bruno@clisp.org>
57985
57986         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
57987         (func_create_testdir): Don't create po/Makefile.am, don't invoke
57988         autoreconf. Instead, invoke autopoint explicitly but move back the
57989         *.m4 files from gnulib.
57990
57991 2006-10-11  Bruno Haible  <bruno@clisp.org>
57992
57993         * gnulib-tool (func_usage): Make module names after --create-testdir
57994         optional.
57995         (func_create_testdir): If no module was specified, use nearly all
57996         modules.
57997
57998 2006-10-12  Jim Meyering  <jim@meyering.net>
57999
58000         Big performance improvement for fts-based tools that use FTS_NOSTAT.
58001         Avoid spurious inode-mismatch problems on non-POSIX file systems.
58002         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
58003         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
58004         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
58005         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
58006         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
58007         (fts_set_stat_required): New function.
58008         (fts_open): Defer the calls to fts_stat, if possible or requested.
58009         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
58010         into fts_stat itself.
58011         (fts_read): Perform any required (deferred) fts_stat call.
58012         (fts_build): Likewise, for the directory we're about to open and read.
58013         In the readdir loop, carefully decide whether each entry will require
58014         an eventual call to fts_stat, using dirent.d_type info if available.
58015         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
58016         a command line argument into this function.  Update all callers.
58017         Map a return value of FTS_DOT to FTS_D for a command line argument.
58018         * modules/fts (Depends-on): Add d-type.  Alphabetize.
58019         Thanks to Miklos Szeredi for his tenacity and for the initial
58020         bug report about "find" failing on a FUSE-based file system.
58021
58022         * lib/fts.c (fts_open): Use consistent indentation.
58023
58024 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58025
58026         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
58027         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
58028         reported by Jim Meyering.  All uses of cache variables renamed
58029         to match Autoconf's.
58030         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
58031         the other one.
58032
58033         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
58034         Fix misspelling in diagnostic.
58035
58036 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58037
58038         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
58039         defined.  Problem reported by Matthew Woehlke.
58040
58041         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
58042         Add support for Tandem NonStop R series.
58043         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
58044         Use new macro.
58045
58046         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
58047         (has_trailing_slash): Omit size arg; all callers changed.
58048         Omit 'inline', since it doesn't help performance and we'd
58049         need to configure it.
58050         Don't count //, ///, etc. as having a trailing slash.
58051         As a side effect, this removes a C99ism reported by Matthew Woehlke.
58052         (rpl_rename_dest_slash): On failure, use rename's errno rather
58053         than (in some cases) an incorrect or junk errno.
58054         Simplify code by removing need to compute length; this does
58055         cause it to make two passes instead of one over the file name,
58056         but it's worth it.
58057
58058         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
58059         change, since Autoconf's version may no longer be appropriate now
58060         that we are using CVS Autoconf's version.  Add support for Tandem.
58061
58062 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58063             Bruno Haible  <bruno@clisp.org>
58064
58065         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
58066         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
58067         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
58068         gl_AC_TYPE_LONG_LONG.
58069
58070         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
58071         instead of HAVE_LONG_LONG.
58072         * lib/printf-args.c (printf_fetchargs): Likewise.
58073         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
58074         * lib/vasnprintf.c (VASNPRINTF): Likewise.
58075         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
58076         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
58077         gl_AC_TYPE_LONG_LONG.
58078
58079 2006-10-11  Bruno Haible  <bruno@clisp.org>
58080
58081         * m4/longlong.m4: Add comments.
58082         * m4/ulonglong.m4: Likewise.
58083
58084 2006-10-10  Bruno Haible  <bruno@clisp.org>
58085
58086         Make it possible to #define stpcpy, strdup to aliases.
58087         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
58088         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
58089
58090 2006-10-10  Bruno Haible  <bruno@clisp.org>
58091
58092         Make it possible to #define gcd to an alias.
58093         * lib/gcd.c: Include config.h.
58094
58095 2006-10-10  Bruno Haible  <bruno@clisp.org>
58096
58097         Make it possible to #define c_isascii to an alias.
58098         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
58099         defined. Undefine the macros before defining them, to avoid gcc
58100         warnings.
58101         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
58102         define NO_C_CTYPE_MACROS early.
58103
58104 2006-10-10  Bruno Haible  <bruno@clisp.org>
58105
58106         Make it possible to #define set_program_name to an alias.
58107         * lib/progname.c: Don't undefine set_program_name; instead, undefine
58108         ENABLE_RELOCATABLE early.
58109
58110 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
58111
58112         Port to Tandem NSK OSS, which has 64-bit signed int but at most
58113         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
58114         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
58115         More generally, don't assume that 64-bit signed int is available
58116         if unsigned int is, and vice versa.
58117         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
58118         unsigned symbols, not on their signed counterparts.
58119         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
58120         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
58121         (UINT64_C, UINTMAX_C):
58122         Likewise.
58123         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
58124         unsigned counterparts.
58125         (Have_long_long, Unsigned): New macros.
58126         (Int): Renamed from INT.
58127         (strtoimax): Use the new macros.
58128         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
58129         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
58130         * modules/inttypes (inttypes.h): Substitute
58131         HAVE_UNSIGNED_LONG_LONG_INT.
58132         * modules/stdint (stdint.h): Likewise.
58133         (Files): Add m4/ulonglong.m4.
58134
58135 2006-10-10  Bruno Haible  <bruno@clisp.org>
58136
58137         Fix a gcc -Wshadow warning.
58138         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
58139         to 'bucket'.
58140         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
58141         gl_linked_indexof_from_to): Likewise.
58142         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
58143         Likewise.
58144         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
58145         Likewise.
58146         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
58147         Reported by Eric Blake.
58148
58149 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
58150
58151         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
58152         for NetBSD.  Problem reported by Bruno Haible.
58153
58154 2006-10-09  Jim Meyering  <jim@meyering.net>
58155
58156         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
58157         Patch from Bruno Haible.
58158
58159 2006-10-09  Jim Meyering  <jim@meyering.net>
58160
58161         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
58162         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
58163         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
58164
58165 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58166
58167         Don't include <config.h> twice; this doesn't work in some cases,
58168         e.g., when config.h has "#define intmax_t long long int" and
58169         we include <config.h>, <inttypes.h>, <config.h> in that order.
58170         Problem reported by Matthew Woehlke in:
58171         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
58172         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
58173         * lib/fts-cycle.c: Don't include config.h.
58174         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
58175         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
58176         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
58177         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
58178         inttypes.h.
58179         * lib/xstrtoumax.c: Likewise.
58180         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
58181         __strtol and the like, so that this module is more like its siblings.
58182         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
58183         Remove; no longer needed now that we assume gnulib inttypes.h.
58184
58185 2006-10-08  Bruno Haible  <bruno@clisp.org>
58186
58187         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
58188         option.
58189
58190 2006-10-07  Jim Meyering  <jim@meyering.net>
58191
58192         * modules/inttypes (inttypes.h): Revert what seems to have been
58193         an inadvertent part of today's change: use "|", not "/" in the
58194         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
58195
58196 2006-10-07  Bruno Haible  <bruno@clisp.org>
58197
58198         * modules/sublist: New file.
58199
58200 2006-10-07  Bruno Haible  <bruno@clisp.org>
58201
58202         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
58203         * modules/argz (argz.h): Likewise.
58204         * modules/arpa_inet (arpa/inet.h): Likewise.
58205         * modules/byteswap (byteswap.h): Likewise.
58206         * modules/configmake (configmake.h): Likewise.
58207         * modules/fcntl (fcntl.h): Likewise.
58208         * modules/fnmatch (fnmatch.h): Likewise.
58209         * modules/getopt (getopt.h): Likewise.
58210         * modules/glob (glob.h): Likewise.
58211         * modules/inttypes (inttypes.h): Likewise.
58212         * modules/netinet_in (netinet/in.h): Likewise.
58213         * modules/poll (poll.h): Likewise.
58214         * modules/stdbool (stdbool.h): Likewise.
58215         * modules/stdint (stdint.h): Likewise.
58216         * modules/sys_select (sys/select.h): Likewise.
58217         * modules/sys_socket (sys/socket.h): Likewise.
58218         * modules/sys_stat (sys/stat.h): Likewise.
58219         * modules/sysexits (sysexits.h): Likewise.
58220         * modules/unistd (unistd.h): Likewise.
58221         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58222         Add a "DO NOT EDIT" comment to the generated file.
58223         (func_import): Likewise for gnulib-comp.m4.
58224
58225 2006-10-07  Bruno Haible  <bruno@clisp.org>
58226
58227         * lib/gl_sublist.h: New file.
58228         * lib/gl_sublist.c: New file.
58229
58230 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58231
58232         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
58233         name (relative to the original working directory) and the file
58234         name component (relative to the temporary working directory).  All
58235         callers changed.
58236         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
58237         * lib/mkdir-p.c (make_dir_parents): Likewise.
58238         * lib/mkdir-p.h (make_dir_parents): Likewise.
58239
58240 2006-10-06  Eric Blake  <ebb9@byu.net>
58241
58242         Define several macros for use by the clean-temp module.
58243         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
58244         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
58245         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
58246
58247         * lib/clean-temp.h (close_stream_temp): New declaration.
58248         * lib/clean-temp.c (includes): Pull in headers according to what
58249         other modules are in use.
58250         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
58251
58252 2006-10-06  Bruno Haible  <bruno@clisp.org>
58253
58254         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
58255         instead of fopen, fwriteerror.
58256
58257 2006-10-06  Bruno Haible  <bruno@clisp.org>
58258
58259         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
58260         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
58261         int.
58262         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
58263         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
58264         Return an error indicator.
58265         Suggested by Eric Blake.
58266
58267 2006-10-06  Bruno Haible  <bruno@clisp.org>
58268
58269         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
58270         Reported by Eric Blake.
58271
58272 2006-10-06  Bruno Haible  <bruno@clisp.org>
58273
58274         * modules/closeout (Description): Mention stderr too.
58275
58276 2006-10-06  Bruno Haible  <bruno@clisp.org>
58277         and Paul Eggert  <eggert@cs.ucla.edu>
58278
58279         * lib/closeout.c (close_stdout): Also close stderr.
58280         * lib/closeout.h: Update comment.
58281
58282 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
58283
58284         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
58285         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
58286         * lib/dirchownmod.c: Include lchown.h.
58287         * lib/lchown.c: Don't include files that lchown.h now includes.
58288         Don't declare chown, since lchown.h now does that.
58289         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
58290         (lchown): Define to rpl_chown if lchown is declared but
58291         does not exist.  Declare using a prototype if lchown is not
58292         declared.  Add a copyright notice.
58293         * lib/mkstemp.h: Include <unistd.h>.
58294         * lib/openat.c: Include lchown.h.
58295
58296         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
58297         we now test for that separately.
58298         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
58299         rather than O_NOFOLLOW, when testing whether it's possible to
58300         avoid a race condition reliably.
58301         * lib/savewd.c (savewd_chdir): Likewise.
58302
58303         Remove macros that are no longer needed now that stdint.h is
58304         reliable.
58305         * lib/fsusage.c (UINTMAX_MAX): Remove.
58306         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
58307         * lib/utimecmp.c (SIZE_MAX): Remove.
58308
58309         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
58310
58311         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
58312         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
58313         O_NOATIME works.
58314
58315 2006-10-05  Bruno Haible  <bruno@clisp.org>
58316
58317         * lib/gl_list.h (gl_sortedlist_search_from_to,
58318         gl_sortedlist_indexof_from_to): New declarations.
58319         (gl_list_implementation): New fields sortedlist_search_from_to,
58320         sortedlist_indexof_from_to.
58321         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
58322         inline functions.
58323         * lib/gl_list.c (gl_sortedlist_search_from_to,
58324         gl_sortedlist_indexof_from_to): New functions.
58325         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
58326         function.
58327         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
58328         (gl_array_sortedlist_search_from_to): New function.
58329         (gl_array_list_implementation): Update.
58330         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
58331         function.
58332         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
58333         (gl_carray_sortedlist_search_from_to): New function.
58334         (gl_carray_list_implementation): Update.
58335         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
58336         gl_linked_sortedlist_indexof_from_to): New functions.
58337         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58338         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58339         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
58340         gl_tree_sortedlist_indexof_from_to): New functions.
58341         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58342         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58343         Update.
58344         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58345         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
58346         Update.
58347
58348 2006-10-05  Bruno Haible  <bruno@clisp.org>
58349
58350         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
58351         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
58352         (struct gl_list_implementation): Add fields search_from_to,
58353         indexof_from_to. Remove fields search, indexof.
58354         (gl_list_search): Use the search_from_to method.
58355         (gl_list_search_from, gl_list_search_from_to): New functions.
58356         (gl_list_indexof): Use the indexof_from_to method.
58357         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58358         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
58359         (gl_list_search_from, gl_list_search_from_to): New functions.
58360         (gl_list_indexof): Use the indexof_from_to method.
58361         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58362         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
58363         gl_array_indexof. Add start_index, end_index arguments.
58364         (gl_array_search_from_to): Renamed from gl_array_search. Add
58365         start_index, end_index arguments.
58366         (gl_array_remove, gl_array_list_implementation): Update.
58367         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
58368         gl_carray_indexof. Add start_index, end_index arguments.
58369         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
58370         start_index, end_index arguments.
58371         (gl_carray_remove, gl_carray_list_implementation): Update.
58372         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
58373         gl_linked_search. Add start_index, end_index arguments.
58374         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
58375         start_index, end_index arguments.
58376         (gl_linked_remove): Update.
58377         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58378         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58379         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
58380         field to 'size_t'.
58381         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
58382         gl_tree_search. Add start_index, end_index arguments.
58383         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58384         start_index, end_index arguments.
58385         (gl_tree_remove): Update.
58386         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58387         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58388         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
58389         function.
58390         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
58391         gl_tree_search. Add start_index, end_index arguments.
58392         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58393         start_index, end_index arguments.
58394         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58395         Update.
58396         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58397
58398 2006-10-05  Bruno Haible  <bruno@clisp.org>
58399
58400         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
58401
58402         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
58403         fwriteerror_temp): New declarations.
58404         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
58405         (descriptors): New variable.
58406         (cleanup): First, close the descriptors.
58407         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
58408         fclose_temp, fwriteerror_temp): New functions.
58409
58410 2006-10-04  Jim Meyering  <jim@meyering.net>
58411
58412         * lib/fts.c (fts_open): Tiny comment change.
58413
58414 2006-10-04  Bruno Haible  <bruno@clisp.org>
58415
58416         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
58417         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
58418         gl_LOCK_BODY.
58419         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
58420         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
58421         gl_LOCK_EARLY_BODY.
58422         (gl_LOCK): Require gl_LOCK_BODY.
58423
58424 2006-10-04  Bruno Haible  <bruno@clisp.org>
58425
58426         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
58427         (gl_oset_search_atleast): New declaration.
58428         (struct gl_oset_implementation): Add field 'search_atleast'.
58429         (gl_oset_search_atleast): New inline function.
58430         * lib/gl_oset.c (gl_oset_search_atleast): New function.
58431         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
58432         (gl_array_oset_implementation): Update.
58433         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
58434         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
58435         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
58436
58437 2006-10-04  Bruno Haible  <bruno@clisp.org>
58438
58439         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
58440
58441 2006-10-03  Bruno Haible  <bruno@clisp.org>
58442
58443         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
58444         from gl_avltreehash_list_implementation.
58445
58446 2006-10-03  Bruno Haible  <bruno@clisp.org>
58447
58448         * lib/gl_oset.c (gl_oset_add): Fix return type.
58449
58450 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
58451
58452         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
58453
58454 2006-10-02  Eric Blake  <ebb9@byu.net>
58455
58456         * modules/strnlen (Depends-on): Add extensions.
58457
58458 2006-10-02  Eric Blake  <ebb9@byu.net>
58459
58460         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
58461         definition in 2.60+.
58462
58463 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
58464
58465         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
58466         checks.
58467
58468 2006-10-02  Bruno Haible  <bruno@clisp.org>
58469
58470         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
58471         to the AUTOMAKE_OPTIONS.
58472         Reported by Jim Meyering.
58473
58474 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
58475
58476         Work around bug in Solaris 10 /proc file system:
58477         /proc/self/fd/NNN/.. isn't the parent directory of
58478         the directory whose file descriptor is NNN.  This needs to
58479         be worked around at run time, not compile time, since a
58480         program might be built on Solaris 8, where things work, and
58481         run on Solaris 10.
58482         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
58483         to use the following interface instead:
58484         (OPENAT_BUFFER_SIZE): New macro.
58485         (openat_proc_name): New function.
58486         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
58487         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
58488         Likewise.
58489         * lib/openat-proc.c: New file.
58490         * modules/openat (Files): Add lib/openat-proc.c.
58491         (Depends-on): Add same-inode, stdbool.
58492         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
58493
58494 2006-09-29  Bruno Haible  <bruno@clisp.org>
58495
58496         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
58497         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
58498         argument. Set stdout_closed before testing for ferror, not after.
58499         (fwriteerror, fwriteerror_no_ebadf): New functions.
58500
58501 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58502
58503         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
58504
58505 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
58506
58507         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
58508         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
58509
58510 2006-09-28  Jim Meyering  <jim@meyering.net>
58511
58512         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
58513         Include <unistd.h>.
58514
58515 2006-09-28  Bruno Haible  <bruno@clisp.org>
58516
58517         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
58518         * modules/linkedhash-list (Depends-on): Likewise.
58519         * modules/rbtreehash-list (Depends-on): Likewise.
58520
58521 2006-09-28  Bruno Haible  <bruno@clisp.org>
58522
58523         * lib/strndup.h: Simplify the redefinition of strndup.
58524         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
58525         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
58526
58527 2006-09-28  Bruno Haible  <bruno@clisp.org>
58528
58529         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
58530         * lib/gl_linkedhash_list.c: Likewise.
58531         * lib/gl_rbtreehash_list.c: Likewise.
58532
58533 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
58534
58535         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
58536         getaddrinfo.
58537
58538         * lib/__fpending.h: Don't include <stdio_ext.h> unless
58539         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
58540         it causes <stdio_ext.h> to cause a compile-time error.
58541         Problem reported by Nelson H. F. Beebe.
58542         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
58543         of HAVE_DECL___PENDING.
58544
58545         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
58546         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
58547         declaration.
58548
58549 2006-09-27  Jim Meyering  <jim@meyering.net>
58550
58551         This file could end up with a definition for a function
58552         named __strndup, rather than rpl_strndup on a system with
58553         incomplete weak_alias support.
58554         * lib/strndup.c (strndup): Rename from __strndup.
58555         Remove #defines that used to map __strndup to strndup.
58556         Don't use K&R prototypes.
58557         Remove LIBC-related code, since this file is not sync'd with glibc.
58558         * lib/strndup.h: Revamp, accordingly.
58559         * m4/strndup.m4: Modernize.
58560
58561 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
58562
58563         * modules/savewd (Depends-on): Add 'raise'.
58564         * lib/savewd.c: Include <signal.h>, for 'raise'.
58565
58566 2006-09-26  Jim Meyering  <jim@meyering.net>
58567
58568         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
58569         when we detect Darwin 8.7.0's acl_get_file bug.
58570         Rearrange to perform the new (below) run-test while $LIBS
58571         contains any acl-related library.  Set USE_ACL at the end.
58572         (gl_ACL_GET_FILE): New function.
58573
58574 2006-09-26  Eric Blake  <ebb9@byu.net>
58575
58576         * lib/verror.c: Include <config.h> unconditionally.
58577
58578 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
58579
58580         * modules/clock-time (Maintainer): Add self.
58581         * modules/getlogin_r (Depends-on): Add extensions.
58582
58583 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58584
58585         * modules/clock-time: New module.
58586         * modules/nanosleep (Depends-on): Add clock-time.
58587         * modules/gethrxtime (Depends-on): Likewise.
58588         * modules/gettime (Depends-on): Likewise.
58589         * modules/settime (Depends-on): Likewise.
58590
58591         * modules/fts-lgpl: Depend on openat.
58592         * modules/mkancesdirs: Depend on savewd.
58593         * modules/mkdir-p: Likewise.
58594
58595 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58596
58597         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
58598
58599         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
58600         `gl_have_arbitrary_file_name_length_limit' to
58601         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
58602         actually works between configure runs.
58603
58604 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58605             Bruno Haible  <bruno@clisp.org>
58606
58607         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
58608
58609 2006-09-25  Jim Meyering  <jim@meyering.net>
58610
58611         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
58612         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
58613
58614 2006-09-25  Eric Blake  <ebb9@byu.net>
58615
58616         * gnulib-tool (func_import, func_create_testdir): Fix typos in
58617         exec's in 2006-09-18 patch when shuffling fds.
58618
58619 2006-09-25  Bruno Haible  <bruno@clisp.org>
58620
58621         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
58622         Reported by Jim Meyering.
58623
58624 2006-09-24  Jim Meyering  <jim@meyering.net>
58625
58626         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
58627         compare a pointer against a literal "0".  That caused failures with
58628         at least HP-UX's hpcc.
58629
58630 2006-09-22  Simon Josefsson  <jas@extundo.com>
58631
58632         * modules/gc-sha1:
58633         * modules/gc-md4:
58634         * modules/gc-hmac-sha1:
58635         * modules/gc-hmac-md5:
58636         * modules/gc-des:
58637         * modules/gc-arcfour: Distribute more files.
58638
58639 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58640
58641         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
58642         (gl_linked_iterator_from_to): Initialize struct completely.
58643         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
58644         (gl_tree_iterator_from_to): Likewise
58645         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
58646         * lib/gl_array_list.c [lint] (gl_array_iterator)
58647         (gl_array_iterator_from_to): Likewise.
58648         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
58649         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
58650         (gl_carray_iterator_from_to): Likewise.
58651
58652         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
58653         * lib/md4.c (md4_process_block): Remove unused variable.
58654         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
58655         parentheses for clarity.
58656
58657 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58658
58659         * modules/bison-i18n (Depends-on): Add gettext.
58660
58661 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58662
58663         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
58664         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
58665         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
58666         also add missing comma that caused broken test.
58667         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
58668         stdlib.h, for `abort'.
58669         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
58670         variables.
58671         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
58672         include unistd.h if present, for `rmdir'.
58673         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
58674         variables.
58675         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
58676         in the process include standard headers for prototypes.
58677         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
58678         gets declared on GNU/Linux.
58679         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
58680         unistd.h, for `rmdir'.
58681         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
58682
58683         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
58684         always true.
58685         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
58686
58687         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
58688
58689 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58690
58691         * gnulib-tool (func_version): Create output all at once.  This
58692         may help avoid triggering unnecessary SIGPIPEs, and at any
58693         rate it doesn't hurt.
58694
58695 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58696             Bruno Haible  <bruno@clisp.org>
58697
58698         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
58699         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
58700         * m4/signed.m4 (bh_C_SIGNED): Likewise.
58701
58702         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
58703         (gl_FUNC_VASPRINTF): Invoke it.
58704
58705 2006-09-22  Bruno Haible  <bruno@clisp.org>
58706
58707         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
58708         getloadavg.c as first argument.
58709
58710 2006-09-22  Bruno Haible  <bruno@clisp.org>
58711
58712         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
58713         at the beginning of the gl_INIT macro.
58714         * modules/getloadavg (configure.ac): Pass $gl_source_base to
58715         gl_GETLOADAVG.
58716
58717 2006-09-22  Bruno Haible  <bruno@clisp.org>
58718
58719         * gnulib-tool (func_create_megatestdir): Don't include the config-h
58720         module.
58721         Suggested by Ralf Wildenhues.
58722
58723 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58724
58725         Import this patch from libc:
58726
58727         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
58728
58729         * lib/regex_internal.c (re_string_reconstruct): Handle
58730         offset < pstr->valid_raw_len && pstr->offsets_needed case.
58731         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
58732         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
58733         re_string_context_at.
58734
58735         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
58736         now requires it.
58737         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
58738         gl_REGEX now does it for us.
58739         (gl_REGEX): Add test taken from
58740         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
58741
58742         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
58743         Check that large offsets work.  Modernize Autoconf usages.
58744         Prefer "yes" to mean a good thing rather than a bad.
58745         Don't put "#define mkstemp" in config.h, as this might interfere
58746         with standard system headers that "#define mkstemp mkstemp64".
58747
58748         * modules/mkstemp (Depends-on): Add extensions, so that
58749         mkstemp is visible on some platforms.
58750         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
58751         (Include): Change to "mkstemp.h" from <stdlib.h>.
58752         (Files): Add mkstemp.h.
58753
58754         * lib/mkstemp.h: New file, since some standard headers
58755         #define mkstemp.
58756         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
58757         Include "mkstemp.h".
58758         Make the _LIBC code resemble glibc original more,
58759         e.g., use K&R style.
58760         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
58761         (mkstemp): Remove, since mkstemp.h does this for us.
58762         * lib/stdlib--.h: Include mkstemp.h.
58763
58764         Import this patch from libc:
58765
58766         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58767
58768         * lib/tempname.c (__gen_tempname): Change attempts_min
58769         into a macro.  Use preprocessor to decide how to initialize
58770         attempts [Coverity CID 67].
58771
58772 2006-09-20  Bruno Haible  <bruno@clisp.org>
58773
58774         * lib/mkdtemp.c: Import from libc.
58775         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58776                 * sysdeps/posix/tempname.c (__gen_tempname): Change
58777                 attempts_min into a macro.  Use preprocessor to decide how to
58778                 initialize attempts [Coverity CID 67].
58779         2001-11-27  Paul Eggert  <eggert@twinsun.com>
58780                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
58781                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
58782
58783 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58784
58785         * gnulib-tool (func_exit): New function, to allow to pass the
58786         exit status portably through the trap.  Use everywhere.
58787         (--help, --version): Signal a write error.
58788         (trap): catch SIGPIPE, for write errors.
58789         Exit at the end of the trap, with the correct exit status.
58790
58791 2006-09-19  Karl Berry  <karl@gnu.org>
58792
58793         * doc/gnulib.texi: note about the license texinfo files.
58794
58795 2006-09-19  Eric Blake  <ebb9@byu.net>
58796
58797         * gnulib-tool: Avoid space-tab.
58798
58799 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58800
58801         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
58802         that prevented coreutils 6.1 from building.  Problem reported
58803         by Petter Reinholdtsen.
58804
58805 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58806
58807         * gnulib-tool (avoidlist): Fix typo that broke options like
58808         --avoid=lock that are used by coreutils bootstrap.
58809
58810 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
58811
58812         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
58813         more systematically.
58814
58815 2006-09-18  Jim Meyering  <jim@meyering.net>
58816
58817         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
58818
58819 2006-09-18  Bruno Haible  <bruno@clisp.org>
58820
58821         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
58822
58823 2006-09-18  Bruno Haible  <bruno@clisp.org>
58824
58825         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
58826         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
58827         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
58828         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
58829         * m4/gettext.m4: Require autoconf >= 2.52.
58830         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
58831         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
58832         of gl_cv_header_inttypes_h.
58833
58834 2006-09-18  Bruno Haible  <bruno@clisp.org>
58835
58836         * lib/javaversion.c: Include configmake.h.
58837
58838 2006-09-18  Bruno Haible  <bruno@clisp.org>
58839
58840         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
58841         avoid that the while loops be executed in a subshell.
58842
58843 2006-09-18  Bruno Haible  <bruno@clisp.org>
58844
58845         * MODULES.html.sh (func_module): Break long lines.
58846         Suggested by Bruce Korb <bkorb@gnu.org>.
58847
58848 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58849
58850         Speed up by a factor of 1.12.
58851         * gnulib-tool (nl): New variable.
58852         (func_import): Rewrite include directive extraction to only read each
58853         directive once.
58854
58855 2006-09-17  Bruno Haible  <bruno@clisp.org>
58856
58857         * modules/javaversion (Makefile.am): Remove DEFS setting.
58858         (Depends-on): Add configmake, for PKGDATADIR definition.
58859
58860 2006-09-17  Bruno Haible  <bruno@clisp.org>
58861
58862         * gnulib-tool (func_create_testdir): Rewrite all files at once.
58863
58864 2006-09-17  Bruno Haible  <bruno@clisp.org>
58865
58866         * gnulib-tool (func_append): New function, stolen from libtool.m4.
58867         (func_modules_transitive_closure, func_modules_add_dummy,
58868         func_modules_to_filelist, func_import, func_create_testdir,
58869         func_create_megatestdir, ...): Use it wherever possible.
58870         Suggested by Ralf Wildenhues.
58871
58872 2006-09-16  Karl Berry  <karl@gnu.org>
58873
58874         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
58875         to avoid sectioning errors.
58876         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
58877         [ifinfo]: blank line after @center-ed titles.
58878         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
58879         Spell FSF address consistently with others.
58880         (These changes approved by rms.)
58881
58882 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58883
58884         Speed up by a factor of 1.61.
58885         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
58886         already checked module names again.
58887
58888 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58889
58890         Speed up by a factor of 1.13.
58891         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
58892         for new_files, and the input to func_add_or_update.
58893
58894 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58895
58896         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
58897         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
58898
58899 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58900
58901         * modules/mkancesdirs (Depends-on): Add fcntl.
58902         * modules/savewd: New file.
58903         * MODULES.html.sh (File system functions): Add savewd.
58904
58905         * modules/configmake (Makefile.am): Add support for the
58906         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
58907
58908 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58909
58910         * m4/savewd.m4: New file.
58911
58912 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58913
58914         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
58915         (dirchownmod): New arg FD.  All callers changed.
58916         Use FD rather than opening the directory ourself, as opening is
58917         now the caller's responsibility.
58918         * lib/dirchownmod.h: Likewise.
58919         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
58920         hosts that require <sys/types.h> before <sys/stat.h>.  Include
58921         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
58922         (test_dir): Remove.
58923         (mkancesdirs): Return length of prefix of FILE that has already
58924         been made, or -2 if there is a child doing the work.  Redo
58925         algorithm so that it is O(N) rather than O(N**2).  Optimize away
58926         ".", and treat ".." specially since it might stray back into
58927         already-created areas.  Use a subprocess if necessary.  New arg
58928         WD; all users changed.  MAKE_DIR function should now return 1
58929         if it creates a directory that is not readable.  Return -2 if
58930         a child process is spun off.
58931         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
58932         Adjust signature to match code.
58933         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
58934         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
58935         all users changed.
58936         * lib/savewd.c, lib/savewd.h: New files.
58937
58938 2006-09-15  Jim Meyering  <jim@meyering.net>
58939
58940         * modules/rename-dest-slash: New module.
58941         * MODULES.html.sh (posix_compat): Add it here.
58942
58943         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
58944
58945 2006-09-15  Jim Meyering  <jim@meyering.net>
58946
58947         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
58948         file.
58949
58950         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
58951
58952 2006-09-15  Jim Meyering  <jim@meyering.net>
58953
58954         * lib/rename-dest-slash.c (has_trailing_slash): Use
58955         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
58956         (rpl_rename_dest_slash): Perform the cheaper trailing slash
58957         test before testing whether SRC is a directory.
58958         Suggestions from Bruno Haible.
58959
58960         Avoid a warning about an unused variable.
58961         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
58962         into the #ifdef block where it's used.
58963
58964         * lib/rename-dest-slash.c: New file.
58965
58966 2006-09-14  Bruno Haible  <bruno@clisp.org>
58967
58968         * lib/allocsa.c: Include <config.h> unconditionally.
58969         * lib/asnprintf.c: Likewise.
58970         * lib/asprintf.c: Likewise.
58971         * lib/c-strcasecmp.c: Likewise.
58972         * lib/c-strcasestr.c: Likewise.
58973         * lib/c-strncasecmp.c: Likewise.
58974         * lib/c-strstr.c: Likewise.
58975         * lib/classpath.c: Likewise.
58976         * lib/clean-temp.c: Likewise.
58977         * lib/concatpath.c: Likewise.
58978         * lib/copy-file.c: Likewise.
58979         * lib/csharpcomp.c: Likewise.
58980         * lib/csharpexec.c: Likewise.
58981         * lib/execute.c: Likewise.
58982         * lib/fatal-signal.c: Likewise.
58983         * lib/findprog.c: Likewise.
58984         * lib/fwriteerror.c: Likewise.
58985         * lib/gl_array_list.c: Likewise.
58986         * lib/gl_array_oset.c: Likewise.
58987         * lib/gl_avltree_list.c: Likewise.
58988         * lib/gl_avltree_oset.c: Likewise.
58989         * lib/gl_avltreehash_list.c: Likewise.
58990         * lib/gl_carray_list.c: Likewise.
58991         * lib/gl_linked_list.c: Likewise.
58992         * lib/gl_linkedhash_list.c: Likewise.
58993         * lib/gl_list.c: Likewise.
58994         * lib/gl_oset.c: Likewise.
58995         * lib/gl_rbtree_list.c: Likewise.
58996         * lib/gl_rbtree_oset.c: Likewise.
58997         * lib/gl_rbtreehash_list.c: Likewise.
58998         * lib/imaxabs.c: Likewise.
58999         * lib/imaxdiv.c: Likewise.
59000         * lib/javacomp.c: Likewise.
59001         * lib/javaexec.c: Likewise.
59002         * lib/javaversion.c: Likewise.
59003         * lib/linebreak.c: Likewise.
59004         * lib/localcharset.c: Likewise.
59005         * lib/lock.c: Likewise.
59006         * lib/mbchar.c: Likewise.
59007         * lib/mbswidth.c: Likewise.
59008         * lib/mkdtemp.c: Likewise.
59009         * lib/pipe.c: Likewise.
59010         * lib/printf-args.c: Likewise.
59011         * lib/printf-parse.c: Likewise.
59012         * lib/progname.c: Likewise.
59013         * lib/progreloc.c: Likewise.
59014         * lib/readlink.c: Likewise.
59015         * lib/sh-quote.c: Likewise.
59016         * lib/stpcpy.c: Likewise.
59017         * lib/stpncpy.c: Likewise.
59018         * lib/strcasecmp.c: Likewise.
59019         * lib/strcasestr.c: Likewise.
59020         * lib/strcspn.c: Likewise.
59021         * lib/striconv.c: Likewise.
59022         * lib/strncasecmp.c: Likewise.
59023         * lib/strnlen1.c: Likewise.
59024         * lib/strstr.c: Likewise.
59025         * lib/strtok_r.c: Likewise.
59026         * lib/tls.c: Likewise.
59027         * lib/tmpdir.c: Likewise.
59028         * lib/unicodeio.c: Likewise.
59029         * lib/unsetenv.c: Likewise.
59030         * lib/vasnprintf.c: Likewise.
59031         * lib/vasprintf.c: Likewise.
59032         * lib/wait-process.c: Likewise.
59033         * lib/xallocsa.c: Likewise.
59034         * lib/xsetenv.c: Likewise.
59035         * lib/xstriconv.c: Likewise.
59036
59037 2006-09-13  Simon Josefsson  <jas@extundo.com>
59038
59039         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
59040         that internally, suggested by Ralf Wildenhues
59041         <Ralf.Wildenhues@gmx.de>.
59042
59043 2006-09-13  Simon Josefsson  <jas@extundo.com>
59044
59045         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
59046         @LIBOBJS@.
59047         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59048
59049 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
59050
59051         * lib/_fpending.c: Include <config.h> unconditionally, since we no
59052         longer worry about uses that don't define HAVE_CONFIG_H.
59053         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
59054         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
59055         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
59056         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
59057         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
59058         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
59059         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
59060         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
59061         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
59062         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
59063         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
59064         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
59065         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
59066         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
59067         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
59068         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
59069         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
59070         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
59071         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
59072         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
59073         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
59074         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
59075         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
59076         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
59077         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
59078         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
59079         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
59080         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
59081         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
59082         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
59083         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
59084         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
59085         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
59086         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
59087         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
59088         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
59089         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
59090         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
59091         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
59092         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
59093         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
59094         Likewise.
59095
59096 2006-09-13  Eric Blake  <ebb9@byu.net>
59097
59098         * lib/getopt.c: Fix typo in last commit.
59099
59100 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59101
59102         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
59103         dgettext.
59104
59105 2006-09-12  Jim Meyering  <jim@meyering.net>
59106
59107         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
59108         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
59109         Reported by Nelson H. F. Beebe.
59110
59111 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59112
59113         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
59114         program_invocation_name and program_invocation_short_name are
59115         initialized.
59116         * lib/argp-namefrob.h: Move declarations of program_invocation_name
59117         and program_invocation_short_name to argp.h, so they are visible
59118         to user programs.
59119         * lib/argp.h: Likewise
59120
59121 2006-09-10  Bruno Haible  <bruno@clisp.org>
59122
59123         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59124         m4/inttypes_h.m4, m4/uintmax_t.m4.
59125
59126 2006-09-10  Bruno Haible  <bruno@clisp.org>
59127
59128         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
59129         gl_AC_TYPE_UINTMAX_T.
59130
59131 2006-09-10  Bruno Haible  <bruno@clisp.org>
59132
59133         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
59134
59135 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59136
59137         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
59138         convention.  Text proposed by Bruno Haible.
59139         (struct argp_option): Document the use of N_() wrappers.
59140
59141         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
59142         '\v', and translate the two parts separately, instead of feeding
59143         the whole string to gettext.  This allows to exclude
59144         '\v' from the strings visible to the translator by writing doc
59145         strings as N_("..") "\v" N_("..").
59146
59147 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
59148
59149         * config/srclist.txt: Undo latest change; the bug was fixed.
59150
59151 2006-09-09  Bruno Haible  <bruno@clisp.org>
59152
59153         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
59154         assignments if building a library without libtool.
59155         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
59156         in func_emit_lib_Makefile_am.
59157         (func_import): When building a static library libfoo.a, arrange to
59158         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
59159         (func_create_testdir): Likewise.
59160         * modules/gc (configure.ac, Makefile.am): If building statically,
59161         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
59162         * modules/iconvme (configure.ac, Makefile.am): Likewise.
59163         * modules/striconv (configure.ac, Makefile.am): Likewise.
59164         Based on a suggestion by Ralf Wildenhues.
59165
59166 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59167
59168         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
59169         Check for unistd.h too, since Autoconf doesn't assume POSIX.
59170         Also:
59171
59172         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59173         Add year_2050_test to catch glibc bug 2821
59174         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59175
59176         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59177         Prefer #ifdef to #if.
59178
59179         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
59180         Return from 'main' instead of calling 'exit'.
59181
59182 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59183
59184         * lib/mktime.c (guess_time_tm): Fix bug where mktime
59185         returned the maximum time_t value rather than (time_t) -1.
59186         Problem originally reported by William Bardwell
59187         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59188
59189         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59190         Moved to here ...
59191         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59192         ... from here.
59193
59194 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59195
59196         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
59197         2821 is fixed.
59198
59199 2006-09-08  Jim Meyering  <jim@meyering.net>
59200
59201         Don't make generated files read-only.  That would bother too many
59202         people.  However, do retain the ability to work when targets are
59203         read-only: remove the destination and temporary files before writing
59204         them (when generated via sed or echo), or by using the -f option for
59205         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
59206         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59207         * modules/byteswap, modules/configmake, modules/fcntl:
59208         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59209         * modules/localcharset, modules/netinet_in, modules/poll:
59210         * modules/stdbool, modules/stdint, modules/sys_select:
59211         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59212
59213 2006-09-08  Jim Meyering  <jim@meyering.net>
59214
59215         Avoid new build failure on FreeBSD 6.0.
59216         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
59217         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
59218         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
59219
59220 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59221
59222         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
59223
59224 2006-09-07  Jim Meyering  <jim@meyering.net>
59225
59226         Fix global typo in last change: use chmod u-w, not chmod u-x.
59227         Spotted by Paul Eggert and Bruce Korb.
59228         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59229         * modules/byteswap, modules/configmake, modules/fcntl:
59230         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59231         * modules/localcharset, modules/netinet_in, modules/poll:
59232         * modules/stdbool, modules/stdint, modules/sys_select:
59233         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59234
59235 2006-09-06  Jim Meyering  <jim@meyering.net>
59236
59237         Make generated files be read-only.
59238         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
59239         Ensure that each generated file is now read-only.
59240         * modules/argz: Likewise.
59241         * modules/arpa_inet: Likewise.
59242         * modules/byteswap: Likewise.
59243         * modules/configmake: Likewise.
59244         * modules/fcntl: Likewise.
59245         * modules/fnmatch: Likewise.
59246         * modules/getopt: Likewise.
59247         * modules/glob: Likewise.
59248         * modules/inttypes: Likewise.
59249         * modules/netinet_in: Likewise.
59250         * modules/poll: Likewise.
59251         * modules/stdbool: Likewise.
59252         * modules/stdint: Likewise.
59253         * modules/sys_select: Likewise.
59254         * modules/sys_socket: Likewise.
59255         * modules/sys_stat: Likewise.
59256         * modules/sysexits: Likewise.
59257         * modules/localcharset: Same as above, but continue using temporary
59258         file named "t-$@" (why different?) rather than the "$@-t" used
59259         everywhere else.
59260
59261         * modules/sysexits (Makefile.am): Replace literal occurrences
59262         of "sysexit.h" more readable, and more consistent, "$@".
59263
59264 2006-09-06  Bruno Haible  <bruno@clisp.org>
59265
59266         * modules/striconv: New file.
59267         * modules/xstriconv: New file.
59268         * MODULES.html.sh (Internationalization functions): Add striconv,
59269         xstriconv.
59270
59271 2006-09-06  Bruno Haible  <bruno@clisp.org>
59272
59273         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
59274         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
59275         not using libtool correctly.
59276
59277 2006-09-06  Bruno Haible  <bruno@clisp.org>
59278
59279         * lib/striconv.h: New file.
59280         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
59281         iconvstring.c.
59282         * lib/xstriconv.h: New file.
59283         * lib/xstriconv.c: New file.
59284
59285 2006-09-06  Bruno Haible  <bruno@clisp.org>
59286
59287         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59288         lib_..._LDFLAGS.
59289
59290 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59291
59292         * lib/argz_.h: Sync from Libtool.
59293
59294         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
59295                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59296
59297         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
59298
59299 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59300
59301         * modules/trim: New file.
59302
59303 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59304
59305         * lib/trim.h: New file.
59306         * lib/trim.c: New file.
59307
59308 2006-09-05  Bruno Haible  <bruno@clisp.org>
59309
59310         * MODULES.html.sh (String handling): Add trim.
59311
59312 2006-09-04  Karl Berry  <karl@gnu.org>
59313
59314         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
59315         until next release.
59316
59317 2006-09-03  Bruno Haible  <bruno@clisp.org>
59318
59319         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
59320         correctly.
59321
59322 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59323
59324         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
59325         not gl_GETLOADAVG.  Omit unneeded semicolons.
59326         Problems reported by Ralf Wildenhues in
59327         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59328         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
59329         at the end, which is the usual gnulib style.
59330
59331         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
59332         of doing all the work ourselves.
59333         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
59334         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
59335
59336 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59337
59338         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
59339         Problem reported by Ralf Wildenhues in
59340         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59341
59342         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
59343         HAVE_STRUCT_STATFS_F_FSTYPENAME.
59344
59345 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59346
59347         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
59348         yesterday's patch by changing test -n to test -z.
59349
59350 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59351
59352         * modules/getloadavg (Files): Add m4/getloadavg.m4.
59353         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
59354         the former is now obsolescent.
59355
59356         * modules/chdir-long (Depends-on): Add fcntl.
59357
59358 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59359
59360         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
59361         obsolescent, and programs should use gnulib instead.
59362         * m4/getloadavg.m4: New file, with contents taken from Autoconf
59363         but with prefixes changed.
59364
59365 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59366
59367         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
59368         or stdbool.h, because they might not exist while configuring.
59369
59370         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
59371         Don't include unistd.h or limits.h; not needed, since chdir-long.h
59372         does that for us.
59373         (O_DIRECTORY): Remove.
59374
59375 2006-08-31  Eric Blake  <ebb9@byu.net>
59376
59377         * gnulib-tool: Don't let emacs change spaces to TAB.
59378
59379 2006-08-31  Bruno Haible  <bruno@clisp.org>
59380
59381         * gnulib-tool: When calling func_import more than once, do it in a
59382         subshell.
59383         Reported by Eric Blake <ebb9@byu.net>.
59384
59385 2006-08-31  Bruno Haible  <bruno@clisp.org>
59386
59387         * gnulib-tool (nl): Remove variable.
59388         (sed_transform_lib_file): Use more robust test for config-h module.
59389         (func_import): Fix typo in 2006-08-25 patch.
59390
59391 2006-08-31  Bruno Haible  <bruno@clisp.org>
59392
59393         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
59394         specified, augment Makefile.am variables instead of assigning them.
59395
59396 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59397
59398         Work around a bug in both the Linux and SunOS 64-bit kernels:
59399         nanosleep mishandles sleeps for longer than 2**31 seconds.
59400         Problem reported by Frank v Waveren in
59401         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59402         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
59403         Check for nanosleep bug.
59404         (LIB_NANOSLEEP): Append clock_gettime library if needed.
59405
59406 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59407
59408         Work around a bug in both the Linux and SunOS 64-bit kernels:
59409         nanosleep mishandles sleeps for longer than 2**31 seconds.
59410         Problem reported by Frank v Waveren in
59411         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59412         * lib/nanosleep.c (BILLION): New constant.
59413         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
59414         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
59415         implementation.
59416
59417 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59418
59419         * modules/nanosleep (Depends-on): Add gettime.
59420
59421 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59422         and Simon Josefsson  <jas@extundo.com>
59423         and Oskar Liljeblad  <oskar@osk.mine.nu>
59424
59425         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
59426         * gnulib-tool (func_import): New license type 'unmodifiable license
59427         text'.
59428         * modules/fdl: Use it.  Longer description.
59429         * module/gpl, module/lgpl: New files.
59430
59431 2006-08-30  Jim Meyering  <jim@meyering.net>
59432
59433         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
59434         shadowing the parameter.
59435
59436 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59437
59438         Sync from Libtool:
59439
59440         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59441
59442         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
59443         sharing with gnulib.  Report by Eric Blake.
59444
59445 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59446
59447         * modules/isapipe: New file.
59448         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
59449
59450 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59451
59452         * modules/configmake (Makefile.am): Add a comment, and omit
59453         the CONFIGMAKE_ prefix from generated macro names.  Suggested
59454         by Bruno Haible.
59455
59456 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59457
59458         * m4/isapipe.m4: New file.
59459
59460 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59461
59462         * lib/isapipe.c, lib/isapipe.h: New files.
59463
59464 2006-08-29  Jim Meyering  <jim@meyering.net>
59465
59466         * modules/configmake (Makefile.am): Make configmake.h depend on
59467         Makefile.  Otherwise, a stale configmake.h could hang around.
59468
59469 2006-08-29  Eric Blake  <ebb9@byu.net>
59470
59471         * lib/error.c (error_at_line, print_errno_message): Match libc, after
59472         resolution of upstream bug 3044.
59473
59474 2006-08-29  Bruno Haible  <bruno@clisp.org>
59475
59476         * modules/localcharset (Depends-on): Add configmake.
59477         (Makefile.am): Remove setting of LIBDIR through DEFS.
59478
59479 2006-08-29  Bruno Haible  <bruno@clisp.org>
59480
59481         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
59482         defined.
59483
59484 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59485
59486         * modules/fcntl: New file.
59487         * modules/chdir-safer (Depends-on): Add fcntl.
59488         * modules/fts: Likewise.
59489         * modules/mkdir-p: Likewise.
59490
59491         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
59492         This undoes the most recent change, since we're now addressing the
59493         problem in a different way.
59494
59495         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
59496         into output, since the output might be called Makefile.am even
59497         if $makefile_name is something different.
59498         (func_import): Use $makefile_am rather than
59499         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
59500         empty.
59501
59502         * modules/inttypes (Files): Add m4/inttypes-h.m4.
59503
59504 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59505
59506         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
59507         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
59508         recent change to stdint.m4, since we're now addressing the problem in a
59509         different way.
59510
59511 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59512
59513         * m4/fcntl_h.m4: New file.
59514
59515 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59516
59517         * lib/fcntl_.h: New file.
59518         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
59519         the fcntl module.
59520         * lib/dirchownmod.c: Likewise.
59521         * lib/fts.c: Likewise.
59522
59523         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
59524         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
59525         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
59526         just before including <inttypes.h>, to avoid circular inclusion.
59527
59528 2006-08-28  Jim Meyering  <jim@meyering.net>
59529
59530         * doc/visibility.texi: Actually read and correct the grammar of the
59531         sentence affected by yesterday's change.
59532
59533 2006-08-28  Eric Blake  <ebb9@byu.net>
59534
59535         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
59536         needs wrapper.
59537
59538 2006-08-28  Eric Blake  <ebb9@byu.net>
59539
59540         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
59541
59542 2006-08-28  Eric Blake  <ebb9@byu.net>
59543
59544         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
59545
59546 2006-08-28  Bruno Haible  <bruno@clisp.org>
59547
59548         * modules/c-strstr: New file, from GNU gettext.
59549         * MODULES.html.sh (String handling): Add c-strstr.
59550
59551 2006-08-28  Bruno Haible  <bruno@clisp.org>
59552
59553         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
59554         macros.
59555         Reported by Eric Blake.
59556
59557 2006-08-28  Bruno Haible  <bruno@clisp.org>
59558
59559         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
59560         (VASNPRINTF): Return a string of length > INT_MAX without failing.
59561         * lib/vasprintf.c: Include errno.h, limits.h.
59562         (EOVERFLOW): New fallback definition.
59563         (vasprintf): Test here whether the string length is > INT_MAX.
59564         * lib/vsnprintf.c: Include errno.h, limits.h.
59565         (EOVERFLOW): New fallback definition.
59566         (vsnprintf): Fix bug when generated string was too long for the buffer.
59567         Test here whether the string length is > INT_MAX.
59568
59569 2006-08-28  Bruno Haible  <bruno@clisp.org>
59570
59571         * lib/inttypes_.h (SCNX*): Remove definitions.
59572         Reported by Eric Blake.
59573
59574 2006-08-28  Bruno Haible  <bruno@clisp.org>
59575
59576         * lib/c-strstr.h: New file, from GNU gettext.
59577         * lib/c-strstr.c: New file, from GNU gettext.
59578
59579 2006-08-28  Bruno Haible  <bruno@clisp.org>
59580
59581         * gnulib-tool: Reorder some statements.
59582
59583 2006-08-28  Bruno Haible  <bruno@clisp.org>
59584
59585         * gnulib-tool: New option --makefile-name.
59586         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
59587         $makefile_name.
59588         (func_import): Write $makefile_name to the cache file, and read it from
59589         there unless explicitly specified. Use $makefile_name as file name
59590         instead of Makefile.am. Adjust the recommendations accordingly.
59591
59592 2006-08-28  Bruno Haible  <bruno@clisp.org>
59593
59594         * gnulib-tool (func_verify_module): Check against misapplying patch.
59595
59596 2006-08-28  Bruno Haible  <bruno@clisp.org>
59597
59598         * gnulib-tool (func_relativize, func_relconcat): New functions.
59599         Give an error if --local-dir is given with --update.
59600         Remove trailing slashes from $local_gnulib_dir.
59601         (func_import): Store the relativized $local_gnulib_dir in
59602         gnulib-cache.m4, and read it from there if not specified explicitly.
59603
59604 2006-08-28  Bruno Haible  <bruno@clisp.org>
59605
59606         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
59607         is the current directory. Respect also $local_gnulib_dir.
59608
59609 2006-08-28  Bruno Haible  <bruno@clisp.org>
59610             Simon Josefsson  <jas@extundo.com>
59611
59612         BeOS portability.
59613         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
59614
59615 2006-08-27  Jim Meyering  <jim@meyering.net>
59616
59617         * doc/visibility.texi: Remove duplicate word: "pointer".
59618
59619 2006-08-26  Bruno Haible  <bruno@clisp.org>
59620
59621         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
59622         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
59623         (Makefile.am): Create inttypes.h from inttypes_.h.
59624         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
59625
59626         * modules/imaxabs: New file.
59627
59628         * modules/imaxdiv: New file.
59629
59630 2006-08-26  Bruno Haible  <bruno@clisp.org>
59631
59632         * m4/inttypes.m4: New file.
59633         * m4/_inttypes_h.m4: Remove file.
59634         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
59635         PRI_MACROS_BROKEN.
59636         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
59637
59638         * m4/imaxabs.m4: New file.
59639
59640         * m4/imaxdiv.m4: New file.
59641
59642 2006-08-26  Bruno Haible  <bruno@clisp.org>
59643
59644         * lib/inttypes_.h: New file.
59645         * lib/inttypes.h: Remove file.
59646         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
59647
59648         * lib/imaxabs.c: New file.
59649
59650         * lib/imaxdiv.c: New file.
59651
59652 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59653
59654         New config-h module, so that "make" output needn't be cluttered
59655         by -DHAVE_CONFIG_H.
59656         * MODULES.html.sh (Support for building libraries and executables):
59657         Add config-h.
59658         * modules/config-h: New file.
59659         * gnulib-tool (nl, sed_transform_lib_file): New vars.
59660         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
59661         the config-h module is used.
59662
59663         New configmake module, so that "make" output needn't be cluttered
59664         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
59665         * MODULES.html.sh (Support for building libraries and executables):
59666         Add configmake.
59667         * modules/configmake: New file.
59668
59669 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59670
59671         * m4/config-h.m4: New file.
59672
59673 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59674
59675         * config/srclist.txt: Add elisp-comp.
59676
59677 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59678
59679         * MODULES.html.sh (Support for building libraries and executables):
59680         Add elisp-comp.
59681         * build-aux/elisp-comp: New file.
59682         * modules/elisp-comp: New file.
59683
59684 2006-08-24  Bruno Haible  <bruno@clisp.org>
59685
59686         * gnulib-tool (func_create_testdir): Use non-default values of
59687         sourcebase and m4base.
59688
59689 2006-08-24  Bruno Haible  <bruno@clisp.org>
59690
59691         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
59692         HTML structure.
59693
59694 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59695
59696         * modules/openat (Depends-on): Add lchown.
59697
59698 2006-08-23  Bruno Haible  <bruno@clisp.org>
59699
59700         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
59701         of gl_LOCK_EARLY instead of gl_LOCK.
59702
59703 2006-08-23  Bruno Haible  <bruno@clisp.org>
59704
59705         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
59706         on OSF/1 to no.
59707         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
59708
59709 2006-08-23  Bruno Haible  <bruno@clisp.org>
59710
59711         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
59712         as unusable.
59713
59714         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
59715         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
59716         (gl_LOCK): New macro.
59717
59718 2006-08-22  Simon Josefsson  <jas@extundo.com>
59719
59720         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
59721         to md5 module.
59722
59723 2006-08-22  Simon Josefsson  <jas@extundo.com>
59724
59725         * MODULES.html.sh: Add "Support for maintaining and release
59726         projects".
59727
59728         * build-aux/gnupload: New file, from coreutils.
59729
59730 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59731
59732         Avoid the need for AC_LIBSOURCES in m4 macros.
59733         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
59734         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
59735         * modules/check-version (EXTRA_DIST): Add check-version.h.
59736         * modules/crc (EXTRA_DIST): Add crc.h.
59737         * modules/des (EXTRA_DIST): Add des.h.
59738         * modules/gc (EXTRA_DIST): Add gc.h.
59739         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
59740         * modules/getline (EXTRA_DIST): Add getline.h.
59741         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
59742         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
59743         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
59744         * modules/md2 (EXTRA_DIST): Add md2.h.
59745         * modules/md4 (EXTRA_DIST): Add md4.h.
59746         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
59747         * modules/read-file (EXTRA_DIST): Add read-file.h.
59748         * modules/readline (EXTRA_DIST): Add readline.h.
59749         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
59750         rijndael-api-fst.h.
59751
59752 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59753
59754         * m4/rijndael.m4 (gl_ARCFOUR):
59755         * m4/arctwo.m4 (gl_ARCTWO):
59756         * m4/check-version.m4 (gl_CHECK_VERSION):
59757         * m4/crc.m4 (gl_CRC):
59758         * m4/des.m4 (gl_DES):
59759         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
59760         * m4/gc.m4 (gl_GC):
59761         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
59762         * m4/getline.m4 (gl_FUNC_GETLINE):
59763         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
59764         * m4/hmac-md5.m4 (gl_HMAC_MD5):
59765         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
59766         * m4/md2.m4 (gl_MD2):
59767         * m4/md4.m4 (gl_MD4):
59768         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
59769         * m4/read-file.m4 (gl_FUNC_READ_FILE):
59770         * m4/readline.m4 (gl_FUNC_READLINE):
59771         * m4/rijndael.m4 (gl_RIJNDAEL):
59772         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
59773         to get the necessary .h files and whatnot.
59774
59775 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59776
59777         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
59778         gnulib rather than the other way around.
59779         * config/srclistvars.sh (COREUTILS): Remove.
59780
59781 2006-08-22  Jim Meyering  <jim@meyering.net>
59782
59783         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
59784
59785         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
59786
59787 2006-08-22  Eric Blake  <ebb9@byu.net>
59788
59789         * modules/regexprops-generic: New file.
59790         * MODULES.html.sh (Support for building documentation): List it.
59791
59792 2006-08-22  Eric Blake  <ebb9@byu.net>
59793
59794         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
59795         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
59796         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
59797         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
59798
59799 2006-08-22  Bruno Haible  <bruno@clisp.org>
59800
59801         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
59802         and lib_LTLIBRARIES like the other lib_* variables.
59803
59804 2006-08-22  Bruno Haible  <bruno@clisp.org>
59805
59806         * build-aux/x-to-1.in: New file, from GNU gettext.
59807
59808 2006-08-22  Bruno Haible  <bruno@clisp.org>
59809
59810         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
59811         <utmpx.h> exists.
59812
59813 2006-08-22  Bruno Haible  <bruno@clisp.org>
59814
59815         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
59816         <utmpx.h> exists.
59817
59818 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59819
59820         BeOS portability.
59821         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
59822         exist.
59823         Problem reported by Bruno Haible.
59824
59825 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59826
59827         Avoid the need for AC_LIBSOURCES in m4 macros.
59828         * modules/acl (EXTRA_DIST): Add acl.h.
59829         * modules/argmatch (Files): Add m4/argmatch.m4.
59830         (configure.ac): Add gl_ARGMATCH.
59831         (EXTRA_DIST): Renamed from lib_SOURCES, for
59832         consistency with the other modules.  Remove argmatch.c.
59833         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
59834         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
59835         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
59836         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
59837         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
59838         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
59839         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
59840         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
59841         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
59842         * modules/closeout (EXTRA_DIST): Add closeout.h.
59843         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
59844         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
59845         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
59846         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
59847         dirname.h; remove basename.c and stripslash.c.
59848         * modules/exclude (EXTRA_DIST): Add exclude.h.
59849         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
59850         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
59851         * modules/file-type (EXTRA_DIST): Add file-type.h.
59852         * modules/filemode (EXTRA_DIST): Add filemode.h.
59853         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
59854         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59855         * modules/fpending (EXTRA_DIST): Add __fpending.h.
59856         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
59857         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
59858         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
59859         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
59860         * modules/getdate (EXTRA_DIST): Add getdate.c.
59861         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
59862         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
59863         * modules/getpass (EXTRA_DIST): Add getpass.h.
59864         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
59865         * modules/group-member (EXTRA_DIST): Add group-member.h.
59866         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
59867         * modules/hash (EXTRA_DIST): Add hash.h.
59868         * modules/human (EXTRA_DIST): Add human.h.
59869         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
59870         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
59871         * modules/lchown (EXTRA_DIST): Add lchown.h.
59872         * modules/long-options (EXTRA_DIST): Add long-options.h.
59873         * modules/lstat (EXTRA_DIST): Add lstat.h.
59874         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
59875         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
59876         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
59877         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
59878         * modules/memxor (EXTRA_DIST): Add memxor.h.
59879         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
59880         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
59881         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
59882         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
59883         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
59884         * modules/physmem (EXTRA_DIST): Add physmem.h.
59885         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
59886         * modules/posixver (EXTRA_DIST): Add posixver.h.
59887         * modules/quote (EXTRA_DIST): Add quote.h.
59888         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
59889         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
59890         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
59891         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
59892         regex_internal.h regexec.c.
59893         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
59894         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
59895         * modules/same (EXTRA_DIST): Add same.h.
59896         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
59897         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
59898         * modules/savedir (EXTRA_DIST): Add savedir.h.
59899         * modules/sha1 (EXTRA_DIST): Add sha1.h.
59900         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
59901         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
59902         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
59903         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
59904         * modules/strdup (EXTRA_DIST): Add strdup.h.
59905         * modules/strftime (EXTRA_DIST): Add strftime.h.
59906         * modules/strndup (EXTRA_DIST): Add strndup.h.
59907         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
59908         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
59909         * modules/time_r (EXTRA_DIST): Add time_r.h.
59910         * modules/timespec (EXTRA_DIST): Add timespec.h.
59911         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59912         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
59913         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
59914         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
59915         * modules/userspec (EXTRA_DIST): Add userspec.h.
59916         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
59917         * modules/utimens (EXTRA_DIST): Add utimens.h.
59918         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
59919         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
59920         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
59921         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
59922         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
59923         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
59924         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
59925         * modules/yesno (EXTRA_DIST): Add yesno.h.
59926
59927 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59928
59929         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
59930
59931         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
59932         * m4/dev-ino.m4, same-inode.m4: Remove.
59933
59934         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
59935         * m4/acl.m4 (AC_FUNC_ACL):
59936         * m4/backupfile.m4 (gl_BACKUPFILE):
59937         * m4/c-strtod.m4 (gl_C99_STRTOLD):
59938         * m4/canon-host.m4 (gl_CANON_HOST):
59939         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
59940         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
59941         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
59942         * m4/cloexec.m4 (gl_CLOEXEC):
59943         * m4/close-stream.m4 (gl_CLOSE_STREAM):
59944         * m4/closeout.m4 (gl_CLOSEOUT):
59945         * m4/dirfd.m4 (gl_FUNC_DIRFD):
59946         * m4/dirname.m4 (gl_DIRNAME):
59947         * m4/exclude.m4 (gl_EXCLUDE):
59948         * m4/exitfail.m4 (gl_EXITFAIL):
59949         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
59950         * m4/file-type.m4 (gl_FILE_TYPE):
59951         * m4/filemode.m4 (gl_FILEMODE):
59952         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
59953         * m4/fpending.m4 (gl_FUNC_FPENDING):
59954         * m4/fprintftime.m4 (gl_FPRINTFTIME):
59955         * m4/fts.m4 (gl_FUNC_FTS):
59956         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
59957         * m4/getdate.m4 (gl_GETDATE):
59958         * m4/gethrxtime.m4 (gl_GETHRXTIME):
59959         * m4/getpagesize.m4 (gl_GETPAGESIZE):
59960         * m4/getpass.m4 (gl_FUNC_GETPASS):
59961         * m4/gettime.m4 (gl_GETTIME):
59962         * m4/getugroups.m4 (gl_GETUGROUPS):
59963         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
59964         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
59965         * m4/hard-locale.m4 (gl_HARD_LOCALE):
59966         * m4/hash.m4 (gl_HASH):
59967         * m4/idcache.m4 (gl_IDCACHE):
59968         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
59969         * m4/lchown.m4 (gl_FUNC_LCHOWN):
59970         * m4/long-options.m4 (gl_LONG_OPTIONS):
59971         * m4/lstat.m4 (gl_FUNC_LSTAT):
59972         * m4/md5.m4 (gl_MD5):
59973         * m4/memcasecmp.m4 (gl_MEMCASECMP):
59974         * m4/memcoll.m4 (gl_MEMCOLL):
59975         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
59976         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
59977         * m4/memxor.m4 (gl_MEMXOR):
59978         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
59979         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
59980         * m4/modechange.m4 (gl_MODECHANGE):
59981         * m4/mountlist.m4 (gl_MOUNTLIST):
59982         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59983         * m4/openat.m4 (gl_FUNC_OPENAT):
59984         * m4/pathmax.m4 (gl_PATHMAX):
59985         * m4/physmem.m4 (gl_PHYSMEM):
59986         * m4/posixtm.m4 (gl_POSIXTM):
59987         * m4/posixver.m4 (gl_POSIXVER):
59988         * m4/quote.m4 (gl_QUOTE):
59989         * m4/quotearg.m4 (gl_QUOTEARG):
59990         * m4/readtokens.m4 (gl_READTOKENS):
59991         * m4/readutmp.m4 (gl_READUTMP):
59992         * m4/regex.m4 (gl_REGEX):
59993         * m4/safe-read.m4 (gl_SAFE_READ):
59994         * m4/safe-write.m4 (gl_SAFE_WRITE):
59995         * m4/same.m4 (gl_SAME):
59996         * m4/save-cwd.m4 (gl_SAVE_CWD):
59997         * m4/savedir.m4 (gl_SAVEDIR):
59998         * m4/settime.m4 (gl_SETTIME):
59999         * m4/sha1.m4 (gl_SHA1):
60000         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
60001         * m4/stat-macros.m4 (gl_STAT_MACROS):
60002         * m4/stat-time.m4 (gl_STAT_TIME):
60003         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
60004         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
60005         * m4/strdup.m4 (gl_FUNC_STRDUP):
60006         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
60007         * m4/strndup.m4 (gl_FUNC_STRNDUP):
60008         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
60009         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
60010         * m4/time_r.m4 (gl_TIME_R):
60011         * m4/timespec.m4 (gl_TIMESPEC):
60012         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
60013         * m4/unlinkdir.m4 (gl_UNLINKDIR):
60014         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
60015         * m4/userspec.m4 (gl_USERSPEC):
60016         * m4/utimecmp.m4 (gl_UTIMECMP):
60017         * m4/utimens.m4 (gl_UTIMENS):
60018         * m4/xalloc.m4 (gl_XALLOC):
60019         * m4/xgetcwd.m4 (gl_XGETCWD):
60020         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
60021         * m4/xreadlink.m4 (gl_XREADLINK):
60022         * m4/xstrtod.m4 (gl_XSTRTOD):
60023         * m4/yesno.m4 (gl_YESNO):
60024         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
60025         to get the necessary .h files and whatnot.
60026
60027 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
60028             Bruno Haible  <bruno@clisp.org>
60029
60030         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
60031         /bin/sh understanding of '!' conditional negation.
60032
60033 2006-08-21  Jim Meyering  <jim@meyering.net>
60034
60035         * modules/openat (Depends-on): Really alphabetize.
60036
60037         * modules/acl (Depends-on): Add error and quote.
60038
60039         * check-module (find_included_lib_files): Add at-func.c to the
60040         ok-to-include-more-than-once white list.
60041
60042         * modules/openat (Depends-on): Add lstat.  Alphabetize.
60043
60044 2006-08-21  Bruno Haible  <bruno@clisp.org>
60045
60046         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60047         Emit a pkgdata_DATA variable only if some snippets add contents to it.
60048         Reported by Martin Lambers <marlam@marlam.de>.
60049
60050 2006-08-21  Bruno Haible  <bruno@clisp.org>
60051
60052         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
60053         specify an installation location, don't emit a noinst_LIBRARIES or
60054         noinst_LTLIBRARIES assignment.
60055
60056 2006-08-21  Bruno Haible  <bruno@clisp.org>
60057
60058         BeOS portability.
60059         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
60060         BeOS has mbrtowc() but no <wctype.h>.
60061
60062 2006-08-21  Bruno Haible  <bruno@clisp.org>
60063
60064         BeOS portability.
60065         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
60066         exist.
60067
60068 2006-08-21  Bruno Haible  <bruno@clisp.org>
60069
60070         BeOS portability.
60071         * lib/mbchar.h: Include <wctype.h> only if it exists.
60072
60073 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60074
60075         Remove files that are no longer needed by their respective modules.
60076         * m4/obstack.m4: Remove.
60077         * m4/strerror_r.m4: Remove.
60078         * m4/uint32_t.m4: Remove.
60079         * m4/uintptr_t.m4: Remove.
60080         * m4/ullong_max.m4: Remove.
60081         * m4/xstrtoimax.m4: Remove.
60082         * m4/xstrtoumax.m4: Remove.
60083
60084         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
60085         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
60086         dependencies now capture this.
60087
60088         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
60089         Do not use AC_LIBSOURCES, since gnulib modules now do this.
60090         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
60091         * m4/human.m4 (gl_HUMAN): Likewise.
60092         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
60093         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
60094
60095         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
60096
60097         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
60098         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
60099         stdint.
60100         * m4/human.m4 (gl_HUMAN): Likewise.
60101         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
60102         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
60103         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
60104         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60105         * m4/xstrtol (gl_XSTRTOL): Likewise.
60106
60107         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
60108         AC_TYPE_LONG_LONG_INT.
60109         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
60110         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
60111         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
60112         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60113
60114         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
60115         on stdbool.
60116
60117         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
60118         (gl_PREREQ_XSTRTOUL): Remove.
60119
60120         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
60121
60122         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
60123         mode.
60124
60125 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60126
60127         Add and change modules to make it easier for coreutils to use
60128         gnulib-tool.
60129         * modules/backupfile (Files): Remove m4/d-ino.m4.
60130         (Depends-on): Add d-ino.
60131         * modules/cycle-check (Depends-on): Add stdint.
60132         (lib_SOURCES): Add cycle-check.h.
60133         * modules/d-ino: New module.
60134         * modules/d-type: New module.
60135         * modules/error (Files): Remove m4/strerror_r.m4.
60136         * modules/filemode (Files): Add m4/st_dm_mode.m4.
60137         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
60138         m4/inttypes_h.m4, m4/uintmax_t.m4.
60139         (Depends-on): Add stdint.
60140         (lib_SOURCES): Add fsusage.h.
60141         * modules/getcwd (Files): Remove d-ino.m4.
60142         (Depends-on): Add d-ino.
60143         * modules/getndelim2 (Depends-on): Add stdint.
60144         * modules/glob (Files): Remove m4/d-type.m4.
60145         (Depends-on): Add d-type.
60146         * modules/host-os: New module.
60147         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
60148         m4/inttypes_h.m4, m4/uintmax_t.m4.
60149         * Depends-on: Add stdint.
60150         (lib_SOURCES): Add human.h.
60151         * modules/inttostr (Files): Remove m4/intmax_t.m4,
60152         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
60153         m4/uintmax_t.m4, m4/ulonglong.m4.
60154         (Depends-on): Add stdint.
60155         (EXTRA_DIST): Add inttostr.h.
60156         * modules/lchmod: New module.
60157         * modules/link-follow: New module.
60158         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
60159         (Depends-on): Add lchmod.
60160         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
60161         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
60162         (Depends-on): Add stdint.
60163         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
60164         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
60165         (Depends-on): Add stdint.
60166         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
60167         * modules/perl: New module.
60168         * modules/regex (Depends-on): Add stdint.
60169         * modules/rmdir-errno: New module.
60170         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60171         m4/intmax_t.m4.
60172         (Depends-on): Add stdint.
60173         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60174         m4/uintmax_t.m4.
60175         (Depends-on): Add stdint.
60176         * modules/unlink-busy: New module.
60177         * modules/utimecmp (Depends-on): Add stdint.
60178         * modules/uptime: New module.
60179         * modules/winsz-ioctl: New module.
60180         * modules/winsz-termios: New module.
60181         * modules/xnanosleep (Depends-on): Add nanosleep.
60182         * modules/ullong_max: Remove.
60183         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
60184         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
60185         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
60186         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
60187         (Depends-on): Add inttypes.
60188         (lib_SOURCES): Add xstrtol.h.
60189         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
60190         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
60191         * MODULES.html.sh: Move 'assert' into the assert section.
60192         Move 'dummy' into the linking section.
60193         Remove ullong_max.
60194         Add section for compatibility checks for POSIX:2001 functions,
60195         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
60196         winsz-ioctl, and winsz-termios into it.
60197         Add lchmod.
60198         Add top-level Misc section and put host-os, perl, and uptime
60199         into it.
60200
60201 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60202
60203         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
60204         now assume the stdint module.  Do not include inttypes.h.
60205         * lib/fsusage.h: Likewise.
60206         * lib/getndelim2.c: Likewise.
60207         * lib/human.h: Likewise.
60208         * lib/inttostr.h: Likewise.
60209         * lib/obstack.c: Likewise.
60210         * lib/regex_internal.h: Likewise.
60211         * lib/tempname.c: Likewise.
60212         * lib/utimecmp.c: Likewise.
60213         * lib/xstrtol.h: Likewise.
60214
60215         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
60216
60217         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
60218         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
60219         * lib/xtime.h: Likewise.
60220
60221 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60222
60223         * modules/openat (Files): Add lib/fchmodat.c.
60224         Fixes problem reported by Jay Youngman.
60225
60226 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60227
60228         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
60229         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
60230
60231 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
60232             Bruno Haible  <bruno@clisp.org>
60233
60234         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
60235         and is a script that invokes bison. Tighten the code. Add comments.
60236
60237 2006-08-18  Jim Meyering  <jim@meyering.net>
60238
60239         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
60240         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
60241         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
60242         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
60243
60244 2006-08-18  Bruno Haible  <bruno@clisp.org>
60245
60246         * modules/bison-i18n: New file.
60247         * MODULES.html.sh (Internationalization functions): Add it.
60248
60249 2006-08-18  Bruno Haible  <bruno@clisp.org>
60250
60251         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
60252         sys/statvfs.h. When getmntinfo was found, check its declaration and
60253         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
60254
60255 2006-08-18  Bruno Haible  <bruno@clisp.org>
60256
60257         * m4/bison-i18n.m4: New file, from bison.
60258
60259 2006-08-18  Bruno Haible  <bruno@clisp.org>
60260
60261         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
60262         (ME_DUMMY): Treat "kernfs" as a dummy.
60263         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
60264
60265 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60266
60267         Update from coreutils.
60268
60269         2006-08-15  Jim Meyering  <jim@meyering.net>
60270
60271         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
60272
60273         2006-01-17  Jim Meyering  <jim@meyering.net>
60274
60275         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
60276
60277         2006-01-11  Jim Meyering  <jim@meyering.net>
60278
60279         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
60280         Check for the lchmod function.
60281
60282 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60283
60284         Update from coreutils.
60285
60286         * lib/__fpending.h: Add copyright notice.
60287         * lib/fprintftime.h: Likewise.
60288         * lib/savedir.c: Use (C) in copyright notice.
60289         * lib/savedir.h: Likewise.
60290
60291         2006-08-15  Jim Meyering  <jim@meyering.net>
60292
60293         * lib/at-func.c: New file, with the logic of all emulated at-functions.
60294         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
60295         in support of the EXPECTED_ERRNO macro.
60296         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
60297         definitions.  Instead, define the appropriate symbols and include
60298         "at-func.c".
60299         * lib/mkdirat.c (mkdirat): Likewise.
60300         * lib/fchmodat.c (fchmodat): Likewise.
60301         (ENOSYS): Remove definition.
60302         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
60303         it.  Don't include "unistd--.h" -- it wasn't ever used.
60304
60305         2006-01-17  Jim Meyering  <jim@meyering.net>
60306
60307         Rewrite fts.c not to change the current working directory,
60308         by using openat, fstatat, fdopendir, etc..
60309
60310         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
60311         (HAVE_OPENAT_SUPPORT): Define.
60312         [_LIBC] (fchdir): Don't undef or define; no longer used.
60313         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
60314         Now, this `function' always succeeds, and consumes its file descriptor
60315         parameter -- so callers must not close such FDs.  Update callers.
60316         (diropen_fd, opendirat, cwd_advance_fd): New functions.
60317         (diropen): Add parameter, SP.  Adjust all callers.
60318         Implement using diropen_fd, rather than open.
60319         (fts_open): Initialize new member, fts_cwd_fd.
60320         Remove fts_rft-setting code.
60321         (fts_close): Close fts_cwd_fd, if necessary.
60322         (__opendir2): Define in terms of opendir or opendirat,
60323         depending on whether the FST_NOCHDIR flag is set.
60324         (fts_build): Since fts_safe_changedir consumes its FD, and since
60325         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
60326         and close the dup'd file descriptor upon failure.
60327         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
60328         (fts_safe_changedir): Tweak semantics to reflect that this function
60329         now calls cwd_advance_fd and hence consumes its FD argument.
60330         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
60331         [struct FTS] (fts_rft): Remove now-unused member.
60332         [struct FTS] (fts_cycle.state): Improve comment.
60333
60334         * lib/openat.c (openat_needs_fchdir): New function.
60335         * lib/openat.h (openat_needs_fchdir): Declare it.
60336
60337 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
60338
60339         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
60340         Problem and fix reported by Pádraig Brady in
60341         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
60342
60343 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60344
60345         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
60346
60347 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60348
60349         * lib/memcoll.c (memcoll): Optimize for the common case where the
60350         arguments are bytewise equal.
60351
60352 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60353
60354         * doc/regexprops-generic.texi: Add a copyright notice.
60355
60356 2006-08-15  Bruno Haible  <bruno@clisp.org>
60357
60358         * modules/tmpdir (License): Change to LGPL.
60359
60360 2006-08-15  Bruno Haible  <bruno@clisp.org>
60361
60362         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
60363         module.
60364
60365 2006-08-14  Simon Josefsson  <jas@extundo.com>
60366
60367         * config/srclist.txt: Add gnupload.
60368
60369 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60370
60371         Change copyright notice from LGPL 2 to GPL 2, since that's the
60372         standard form used in the gnulib repository.
60373         * tests/test-lock.c: Likewise.
60374         * tests/test-stdint.c: Likewise.
60375         * tests/test-tls.c: Likewise.
60376
60377         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
60378         prelude-manager.  User shorter URLs for GNU projects, without '?'.
60379         Add copyright notice.
60380
60381         * check-module: Add copyright notice.  Output a copyright
60382         notice if "--version" is specified.
60383         * modules/COPYING: New file.
60384         * tests/test-getaddrinfo.c: Add copyright notice.
60385         * tests/test-verify.c: Likewise.
60386
60387 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60388
60389         Change copyright notice from LGPL 2 to GPL 2, since that's the
60390         standard form used in the gnulib repository.
60391         * lib/lock.c: LGPL -> GPL.
60392         * lib/lock.h: Likewise.
60393         * lib/strnlen1.c: Likewise.
60394         * lib/strnlen1.h: Likewise.
60395         * lib/tls.c: Likewise.
60396         * lib/tls.h: Likewise.
60397         * lib/tmpdir.c: Likewise.
60398
60399         * lib/TODO: Remove; this belongs only in coreutils.
60400
60401 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60402
60403         Add copyright notices to long-enough files that lack them, since
60404         otherwise the files aren't clearly free.  Use the same notice that
60405         getdate.texi already uses.
60406         * doc/alloca-opt.texi: Add copyright notice.
60407         * doc/alloca.texi: Likewise.
60408         * doc/ctime.texi: Likewise.
60409         * doc/functions.texi: Likewise.
60410         * doc/gcd.texi: Likewise.
60411         * doc/gnulib-tool.texi: Likewise.
60412         * doc/inet_ntoa.texi: Likewise.
60413         * doc/visibility.texi: Likewise.
60414
60415         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
60416         * doc/quote.texi: Add copyright notice.
60417
60418         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
60419         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
60420         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
60421         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
60422         is now obsolete, and give a pointer to the Sun list.
60423         Add copyright notice.
60424
60425 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60426
60427         * config/srclistvars.sh: Add copyright notice.
60428
60429 2006-08-14  Eric Blake  <ebb9@byu.net>
60430
60431         Import the following change from libc:
60432
60433         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
60434
60435         Upstream bug 2997.
60436         * lib/misc/error.c: Add space between program name and message if file
60437         name is missing.
60438
60439 2006-08-12  Karl Berry  <karl@gnu.org>
60440
60441         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
60442         remove, these originate in gnulib now.
60443
60444 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60445
60446         * doc/Makefile (standards.info standards.html standards.dvi):
60447         Also depend on make-stds.texi.
60448
60449 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60450
60451         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
60452         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
60453
60454         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
60455         in wchar_t.  Problem reported by Eric Blake.
60456
60457         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
60458         LEN is smaller than SIZE.  Suggested by Bruno Haible.
60459         Also, help the compiler to keep LEN in a register.
60460
60461 2006-08-11  Eric Blake  <ebb9@byu.net>
60462
60463         * users.txt: Sort.  Add tar.
60464
60465 2006-08-11  Bruno Haible  <bruno@clisp.org>
60466
60467         * users.txt: New file.
60468
60469 2006-08-11  Bruno Haible  <bruno@clisp.org>
60470
60471         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
60472         before <wchar.h>. Needed for OSF/1 and BSD/OS.
60473
60474 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60475
60476         * modules/snprintf (Depends-on): Remove minmax.
60477         (Maintainer): Add self and Bruno.
60478
60479 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60480
60481         * lib/.cppi-disable: Add snprintf.h, socket_.h.
60482         * lib/snprintf.c: Include <errno.h> and <limits.h>.
60483         (EOVERFLOW): Define if the system does not.
60484         Do not include "minmax.h"; it wasn't used.
60485         (snprintf): Don't assume size_t promotes to an unsigned type.
60486         Fix bug when generated string was too long for the buffer: the
60487         buffer's contents are supposed to be the initial prefix of the
60488         output.  Don't assume vasnprintf returns EOVERFLOW if the size
60489         exceeds INT_MAX; do the check ourselves.
60490
60491         Import the following changes from libc:
60492
60493         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
60494
60495         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
60496         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
60497         set wc to the byte which couldn't be converted.
60498         (re_string_reconstruct): Don't clear valid_raw_len before calling
60499         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
60500         tip_context using re_string_context_at.
60501
60502         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
60503
60504         * lib/posix/regex.h: g++ still cannot handled [restrict].
60505
60506         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
60507
60508         * lib/posix/regex.h: Remove special handling for VMS.
60509
60510 2006-08-10  Jim Meyering  <jim@meyering.net>
60511
60512         * modules/same-inode: New module.
60513         * modules/dev-ino: New module.
60514         * modules/cycle-check: Depend on these modules, rather than simply
60515         including their .h files.
60516         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
60517         required via m4/cycle-check.m4.
60518         * modules/same: Depend on new same-inode module, rather than
60519         including same-inode.h.
60520         * modules/chdir-safer: New file.
60521
60522         * modules/chown (Depends-on): Add stat-macros.
60523
60524 2006-08-10  Jim Meyering  <jim@meyering.net>
60525
60526         * m4/cycle-check.m4: New file.
60527         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
60528         * m4/dev-ino.m4, m4/same-inode.m4: New files.
60529
60530 2006-08-10  Eric Blake  <ebb9@byu.net>
60531
60532         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
60533         in from original proposal.
60534
60535 2006-08-10  Eric Blake  <ebb9@byu.net>
60536         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
60537
60538         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
60539         namespace.
60540
60541 2006-08-10  Bruno Haible  <bruno@clisp.org>
60542
60543         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
60544         as well.
60545
60546 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60547
60548         Sync from coreutils.
60549
60550         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
60551
60552         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
60553         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
60554
60555 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60556
60557         * modules/restrict: Remove; no longer needed now that we assume
60558         Autoconf 2.59 or later.
60559         * MODULES.html.sh: Remove 'restrict'.
60560         * modules/argp (Depends-on): Remove 'restrict'.
60561         * modules/base64 (Depends-on): Likewise.
60562         * modules/gc (Depends-on): Likewise.
60563         * modules/getaddrinfo (Depends-on): Likewise.
60564         * modules/glob (Depends-on): Likewise.
60565         * modules/inet_ntop (Depends-on): Likewise.
60566         * modules/inet_pton (Depends-on): Likewise.
60567         * modules/memxor (Depends-on): Likewise.
60568         * modules/regex (Depends-on): Likewise.
60569         * modules/strtok_r (Depends-on): Likewise.
60570         * modules/time_r (Depends-on): Likewise.
60571
60572 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60573
60574         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
60575         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
60576         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60577         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
60578         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
60579         * m4/memxor.m4 (gl_MEMXOR): Likewise.
60580         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
60581         gl_C_RESTRICT replaced by AC_C_RESTRICT.
60582
60583         Merge from coreutils.
60584         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
60585         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
60586         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60587         * m4/time_r.m4 (gl_TIME_R): Likewise.
60588
60589 2006-08-09  Karl Berry  <karl@gnu.org>
60590
60591         * config/srclist.txt: no more gettext-tools, per Bruno.
60592
60593 2006-08-08  Eric Blake  <ebb9@byu.net>
60594
60595         * modules/verror: New module.
60596         * MODULES.html.sh: Document it.
60597
60598 2006-08-08  Eric Blake  <ebb9@byu.net>
60599
60600         * lib/verror.h, lib/verror.c: New files.
60601
60602 2006-08-08  Eric Blake  <ebb9@byu.net>
60603
60604         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
60605         verror_at_line output complies with GNU Coding Standards even when
60606         file is NULL.
60607
60608 2006-08-07  Bruno Haible  <bruno@clisp.org>
60609
60610         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
60611         versions of AIX.
60612         Reported by Ralf Wildenhues.
60613
60614 2006-08-07  Bruno Haible  <bruno@clisp.org>
60615
60616         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
60617         in an AC_DEFUN. Needed so that the autoconf snippets can use
60618         AC_REQUIRE.
60619
60620 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60621
60622         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60623         Initialize pkgdata_DATA.
60624         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
60625         overriding it.
60626
60627 2006-08-06  Eric Blake  <ebb9@byu.net>
60628
60629         * lib/error.h: Fold in some upstream changes from glibc.
60630         * lib/error.c: Likewise.
60631
60632 2006-08-04  Bruno Haible  <bruno@clisp.org>
60633
60634         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60635         Make the mostlyclean-local rule depend on mostlyclean-generic.
60636         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
60637
60638 2006-07-31  Bruno Haible  <bruno@clisp.org>
60639
60640         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
60641         <stdlib.h>, <string.h>.
60642
60643 2006-07-30  Bruno Haible  <bruno@clisp.org>
60644
60645         * modules/readlink (License): Change to LGPL.
60646
60647 2006-07-30  Bruno Haible  <bruno@clisp.org>
60648
60649         * modules/javaversion (Makefile.am): Distribute javaversion.java and
60650         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
60651         set PKGDATADIR to point to it.
60652
60653 2006-07-30  Bruno Haible  <bruno@clisp.org>
60654
60655         * modules/csharpexec (configure.ac): Comment out macro invocation.
60656         * modules/javaexec (configure.ac): Likewise.
60657         * modules/javacomp-script (configure.ac): Likewise.
60658
60659         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
60660
60661 2006-07-30  Bruno Haible  <bruno@clisp.org>
60662
60663         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
60664         linked-list.
60665
60666 2006-07-30  Bruno Haible  <bruno@clisp.org>
60667
60668         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
60669
60670 2006-07-30  Bruno Haible  <bruno@clisp.org>
60671
60672         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60673         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
60674         get removed.
60675
60676 2006-07-29  Bruno Haible  <bruno@clisp.org>
60677
60678         Make it possible for gnulib-tool to work with locally modified or
60679         augmented gnulib repositories.
60680         * gnulib-tool (func_usage): Document --local-dir option.
60681         (local_gnulib_dir): New variable.
60682         Handle --local-dir option.
60683         (func_lookup_file): New function.
60684         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
60685         (func_get_description, func_get_filelist, func_get_description,
60686         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
60687         func_get_automake_snippet, func_get_include_directive,
60688         func_get_license, func_get_maintainer): Use func_lookup_file.
60689         (func_import, func_create_testdir): Use func_lookup_file.
60690
60691 2006-07-29  Bruno Haible  <bruno@clisp.org>
60692
60693         * modules/setenv (Depends-on): Add unistd.
60694
60695 2006-07-29  Bruno Haible  <bruno@clisp.org>
60696
60697         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
60698
60699 2006-07-29  Bruno Haible  <bruno@clisp.org>
60700
60701         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
60702
60703 2006-07-29  Bruno Haible  <bruno@clisp.org>
60704
60705         * gnulib-tool (import, update): If there is no Makefile.am, look at
60706         aclocal.m4, instead of bailing out.
60707
60708 2006-07-29  Bruno Haible  <bruno@clisp.org>
60709
60710         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
60711         Categorize the options by when they are useful.
60712
60713 2006-07-29  Bruno Haible  <bruno@clisp.org>
60714
60715         * gnulib-tool (func_usage): Document option --no-libtool.
60716         Handle option --no-libtool.
60717         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
60718         for changed semantics of $libtool variable.
60719         (func_import): Likewise. If libtool is not used, show this through
60720         an option --no-libtool.
60721         (func_create_testdir): Update.
60722
60723 2006-07-29  Bruno Haible  <bruno@clisp.org>
60724
60725         * gnulib-tool (func_import): Extend error message about missing
60726         --doc-base.
60727
60728 2006-07-29  Bruno Haible  <bruno@clisp.org>
60729
60730         * gnulib-tool (func_import): Don't create the $docbase directory if
60731         there is no file to store there.
60732
60733 2006-07-29  Bruno Haible  <bruno@clisp.org>
60734
60735         * gnulib-tool (autoconf_minversion): If a --dir option is given and
60736         relevant, look for configure.ac there, not in the current directory.
60737         Also use a simple search for AC_PREREQ, not "autoconf --trace".
60738
60739 2006-07-29  Bruno Haible  <bruno@clisp.org>
60740
60741         * gnulib-tool (SORT): New variable.
60742         (func_usage): Undocument --assume-autoconf option.
60743         Remove --assume-autoconf option handling.
60744         (autoconf_minversion): Determine from the contents of configure.ac.
60745         (func_import): Remove autoconf_minversion handling.
60746         Suggested by Eric Blake.
60747
60748 2006-07-29  Bruno Haible  <bruno@clisp.org>
60749
60750         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
60751
60752 2006-07-29  Bruno Haible  <bruno@clisp.org>
60753
60754         * config/srclist.txt (*setenv.[ch]): Remove rules.
60755
60756 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60757
60758         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
60759
60760 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60761
60762         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
60763         arpa/inet.h.
60764
60765 2006-07-28  Simon Josefsson  <jas@extundo.com>
60766
60767         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
60768         * modules/inet_pton (Depends-on): Likewise.
60769
60770 2006-07-28  Simon Josefsson  <jas@extundo.com>
60771
60772         * m4/netinet_in_h.m4: New file.
60773
60774 2006-07-28  Simon Josefsson  <jas@extundo.com>
60775
60776         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
60777         #include's.
60778
60779 2006-07-28  Simon Josefsson  <jas@extundo.com>
60780
60781         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
60782         #include's.
60783
60784 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
60785
60786         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
60787         setgid on directories only if they set these bits.
60788         * lib/modechange.h: Remove obsolete comment about masks.
60789
60790 2006-07-28  Eric Blake  <ebb9@byu.net>
60791
60792         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
60793         macro expansion.
60794
60795 2006-07-28  Bruno Haible  <bruno@clisp.org>
60796
60797         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
60798
60799 2006-07-28  Bruno Haible  <bruno@clisp.org>
60800
60801         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
60802
60803 2006-07-28  Bruno Haible  <bruno@clisp.org>
60804
60805         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60806         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60807         Define fallbacks.
60808         Avoids link error on FreeBSD 4.x.
60809         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60810
60811         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
60812         encoding.
60813         * lib/mbswidth.c (iswcntrl): Likewise.
60814
60815 2006-07-27  Bruno Haible  <bruno@clisp.org>
60816
60817         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
60818         test.
60819
60820 2006-07-27  Bruno Haible  <bruno@clisp.org>
60821
60822         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
60823         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
60824         defined.
60825
60826 2006-07-26  Eric Blake  <ebb9@byu.net>
60827
60828         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
60829
60830 2006-07-26  Eric Blake  <ebb9@byu.net>
60831
60832         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
60833         like mingw that lack mkstemp.
60834         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
60835         avoid compilation warning on mingw.
60836
60837 2006-07-26  Bruno Haible  <bruno@clisp.org>
60838
60839         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
60840         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
60841         INT_FAST*_MIN, INTPTR_MIN.
60842
60843 2006-07-25  Bruno Haible  <bruno@clisp.org>
60844
60845         * modules/version-etc (Depends-on): Add stdarg.
60846
60847 2006-07-25  Bruno Haible  <bruno@clisp.org>
60848
60849         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
60850         complex commands.
60851
60852 2006-07-25  Bruno Haible  <bruno@clisp.org>
60853
60854         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
60855         defined in <stdarg.h> or config.h.
60856
60857 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60858
60859         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
60860         (gl_STDIO_SAFER): Remove.
60861
60862 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60863
60864         * MODULES.html.sh (File stream based Input/Output):
60865         Add fopen-safer, tmpfile-safer; remove stdio-safer.
60866         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
60867         * modules/fopen-safer, modules/tmpfile-safer: New files.
60868         * modules/stdio-safer: Remove.
60869
60870 2006-07-24  Bruno Haible  <bruno@clisp.org>
60871
60872         * modules/tmpdir: New file.
60873         * MODULES.html.sh (File system functions): Add it.
60874
60875 2006-07-24  Bruno Haible  <bruno@clisp.org>
60876
60877         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
60878         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
60879
60880 2006-07-24  Bruno Haible  <bruno@clisp.org>
60881
60882         * modules/clean-temp: New file.
60883
60884 2006-07-24  Bruno Haible  <bruno@clisp.org>
60885
60886         * m4/tmpdir.m4: New file, from GNU gettext.
60887
60888 2006-07-24  Bruno Haible  <bruno@clisp.org>
60889
60890         * lib/tmpdir.h: New file, from GNU gettext.
60891         * lib/tmpdir.c: New file, from GNU gettext.
60892
60893 2006-07-24  Bruno Haible  <bruno@clisp.org>
60894
60895         * lib/clean-temp.h: New file, from GNU gettext.
60896         * lib/clean-temp.c: New file, from GNU gettext.
60897
60898 2006-07-23  Eric Blake  <ebb9@byu.net>
60899
60900         * modules/stdio-safer (Files): Add tmpfile-safer.c.
60901         (Depends-on): Add binary-io.
60902
60903 2006-07-23  Eric Blake  <ebb9@byu.net>
60904
60905         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
60906
60907 2006-07-23  Eric Blake  <ebb9@byu.net>
60908
60909         * lib/tmpfile-safer.c: New file.
60910         * lib/stdio-safer.h (fopen_safer): Add prototype.
60911         * lib/stdio--.h (tmpfile): Make safer.
60912
60913 2006-07-23  Bruno Haible  <bruno@clisp.org>
60914
60915         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
60916         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
60917         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
60918         gl_linked_remove_at): Use it.
60919
60920 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60921         and Simon Josefsson <jas@extundo.com>
60922
60923         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
60924
60925         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
60926
60927 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60928
60929         * modules/close-stream: New file.
60930         * modules/closeout (Description): Make it clear that it exits
60931         with a diagnostic on error.
60932         (Depends-on): Add close-stream.  Remove fpending, stdbool.
60933         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
60934
60935 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60936
60937         * m4/close-stream.m4: New file.
60938
60939 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60940
60941         * lib/close-stream.c, lib/close-stream.h: New files.
60942
60943 2006-07-22  Bruno Haible  <bruno@clisp.org>
60944
60945         Merge from GNU gettext 0.15.
60946
60947         2006-05-01  Bruno Haible  <bruno@clisp.org>
60948
60949                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
60950
60951         2006-07-22  Bruno Haible  <bruno@clisp.org>
60952
60953                 * modules/javaversion: New file.
60954                 * MODULES.html.sh (Java): Add javaversion.
60955
60956         2006-03-12  Bruno Haible  <bruno@clisp.org>
60957
60958                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
60959
60960         2005-12-04  Bruno Haible  <bruno@clisp.org>
60961
60962                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
60963                 (untested).
60964
60965         2006-06-21  Bruno Haible  <bruno@clisp.org>
60966
60967                 Avoid warnings from recent versions of mcs.
60968                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
60969                 -o, -L, -r any more. Use options documented since mcs-1.0
60970                 instead. Similarly for -g.
60971
60972         2005-12-04  Bruno Haible  <bruno@clisp.org>
60973
60974                 * build-aux/csharpcomp.sh.in: Suffix for resources is
60975                 .resources, not .resource.
60976
60977         2005-07-09  Bruno Haible  <bruno@clisp.org>
60978
60979                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
60980                 add a .dll suffix.
60981                 Reported by Mark Junker <mjscod@gmx.de>.
60982
60983         2006-07-22  Bruno Haible  <bruno@clisp.org>
60984
60985                 * modules/gettext: Upgrade to gettext-0.15.
60986                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
60987                 m4/visibility.m4.
60988                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
60989
60990 2006-07-22  Bruno Haible  <bruno@clisp.org>
60991
60992         Merge from GNU gettext 0.15.
60993
60994         2006-03-25  Bruno Haible  <bruno@clisp.org>
60995
60996                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
60997
60998         2006-07-21  Bruno Haible  <bruno@clisp.org>
60999
61000                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
61001                 "1.1".
61002
61003         2006-05-09  Bruno Haible  <bruno@clisp.org>
61004
61005                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
61006                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
61007                 for the conftestver execution.
61008
61009         2006-05-01  Bruno Haible  <bruno@clisp.org>
61010
61011                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
61012                 optional target-version argument. Verify that the compiler
61013                 groks source of the specified source-version, or add -source
61014                 option as necessary. Verify that the compiler produces
61015                 bytecode in the specified target-version, or add -target and
61016                 -source options as necessary. Make the result of the test
61017                 available as variable CONF_JAVAC. Also log error output in
61018                 config.log.
61019
61020         2006-03-11  Bruno Haible  <bruno@clisp.org>
61021
61022                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
61023
61024         2006-05-09  Bruno Haible  <bruno@clisp.org>
61025
61026                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
61027                 CLASSPATH_SEPARATOR to a semicolon.
61028
61029         2006-03-12  Bruno Haible  <bruno@clisp.org>
61030
61031                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
61032                 available as variable CONF_JAVA, for subsequent autoconf
61033                 tests. Also log error output in config.log.
61034
61035         2006-07-19  Bruno Haible  <bruno@clisp.org>
61036
61037                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
61038                 that getline works on glibc2 systems. Needed to avoid trouble
61039                 in relocatable.c.
61040                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
61041
61042         2005-12-04  Bruno Haible  <bruno@clisp.org>
61043
61044                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
61045                 launcher (untested).
61046
61047         2005-12-04  Bruno Haible  <bruno@clisp.org>
61048
61049                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
61050
61051         2006-07-22  Bruno Haible  <bruno@clisp.org>
61052
61053                 * gettext.m4: Update from GNU gettext-0.15.
61054                 * nls.m4: Likewise.
61055                 * po.m4: Likewise.
61056                 * inttypes-pri.m4: Likewise.
61057                 * inttypes-h.m4: Renamed from inttypes.m4.
61058                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
61059
61060 2006-07-22  Bruno Haible  <bruno@clisp.org>
61061
61062         Merge from GNU gettext 0.15.
61063
61064         2005-07-05  Bruno Haible  <bruno@clisp.org>
61065
61066                 * printf-args.c (printf_fetchargs): Work around broken
61067                 definition of wint_t on mingw.
61068
61069         2005-02-12  Bruno Haible  <bruno@clisp.org>
61070
61071                 * xallocsa.h: Add extern "C" for C++.
61072
61073         2006-05-17  Bruno Haible  <bruno@clisp.org>
61074
61075                 Cygwin portability.
61076                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
61077
61078         2006-04-30  Bruno Haible  <bruno@clisp.org>
61079
61080                 * progreloc.c: Include <mach-o/dyld.h> if available.
61081                 (find_executable): Use _NSGetExecutablePath when possible.
61082
61083         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61084
61085                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
61086                 function.
61087
61088         2005-12-29  Bruno Haible  <bruno@clisp.org>
61089
61090                 * progreloc.c (set_program_name_and_installdir): Fix
61091                 compilation error.
61092
61093         2005-12-04  Bruno Haible  <bruno@clisp.org>
61094
61095                 Cygwin portability.
61096                 * progreloc.c: Include <windows.h> also on Cygwin.
61097                 (find_executable): Add support for Cygwin.
61098                 (set_program_name_and_installdir): Handle also platforms with
61099                 nonempty EXEEXT.
61100
61101         2006-07-11  Bruno Haible  <bruno@clisp.org>
61102
61103                 * javacomp.c: Fix a comment.
61104                 Reported by Jim Meyering.
61105
61106         2006-04-30  Bruno Haible  <bruno@clisp.org>
61107
61108                 * javacomp.h (compile_java_class): Add source_version,
61109                 target_version arguments.
61110                 * javacomp.c: Rewritten to choose only a compiler that
61111                 respects the specified source_version and target_version.
61112
61113         2006-06-27  Bruno Haible  <bruno@clisp.org>
61114
61115                 Assume correct S_ISDIR macro.
61116                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
61117
61118         2006-07-22  Bruno Haible  <bruno@clisp.org>
61119
61120                 * javaversion.h: New file, from GNU gettext.
61121                 * javaversion.c: New file, from GNU gettext.
61122                 * javaversion.java: New file, from GNU gettext.
61123                 * javaversion.class: New file, from GNU gettext.
61124
61125         2006-05-17  Bruno Haible  <bruno@clisp.org>
61126
61127                 Cygwin portability.
61128                 * javaexec.c (execute_java_class): Test for jview program
61129                 also on Cygwin.
61130
61131         2006-04-09  Bruno Haible  <bruno@clisp.org>
61132
61133                 * fatal-signal.c: Don't include string.h.
61134                 (at_fatal_signal): Use a copying loop instead of memcpy.
61135
61136         2005-12-04  Bruno Haible  <bruno@clisp.org>
61137
61138                 * csharpexec.c: Add support for 'clix' launcher (untested).
61139                 (execute_csharp_using_sscli): New function.
61140                 (execute_csharp_program): Call it.
61141
61142         2006-06-21  Bruno Haible  <bruno@clisp.org>
61143
61144                 Avoid warnings from recent versions of mcs.
61145                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
61146                 -o, -L, -r any more. Use options documented since mcs-1.0
61147                 instead. Similarly for -g.
61148
61149         2005-07-09  Bruno Haible  <bruno@clisp.org>
61150
61151                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
61152                 add a .dll suffix.
61153                 Reported by Mark Junker <mjscod@gmx.de>.
61154
61155         2006-06-17  Bruno Haible  <bruno@clisp.org>
61156
61157                 * config.charset: Update for NetBSD 3.0.
61158
61159         2006-05-17  Bruno Haible  <bruno@clisp.org>
61160
61161                 Cygwin portability.
61162                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
61163
61164         2006-05-16  Bruno Haible  <bruno@clisp.org>
61165
61166                 * localcharset.c [CYGWIN]: Include <windows.h>.
61167                 (get_charset_aliases): For Cygwin, return the same CPxxx
61168                 aliases list as under WIN32.
61169                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
61170                 the environment variables. Fall back to GetACP().
61171
61172         2006-04-05  Bruno Haible  <bruno@clisp.org>
61173
61174                 * config.charset: Update Juan Manuel Guerrero's address.
61175
61176         2005-02-12  Bruno Haible  <bruno@clisp.org>
61177
61178                 * allocsa.h: Add extern "C" for C++.
61179
61180         2005-02-10  Bruno Haible  <bruno@clisp.org>
61181
61182                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
61183                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
61184
61185         2006-07-22  Bruno Haible  <bruno@clisp.org>
61186
61187                 * gettext.h: Update to GNU gettext-0.15.
61188
61189 2006-07-22  Bruno Haible  <bruno@clisp.org>
61190
61191         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
61192         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
61193         lib-prefix.m4, longdouble.m4, ssize_t.m4.
61194
61195 2006-07-21  Eric Blake  <ebb9@byu.net>
61196
61197         * modules/stdlib-safer: New file.
61198         * MODULES.html.sh (File stream based Input/Output): Add
61199         stdlib-safer.
61200
61201 2006-07-21  Eric Blake  <ebb9@byu.net>
61202
61203         * lib/stdlib-safer.h: New file from coreutils, required by
61204         stdlib--.h.
61205
61206 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
61207
61208         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
61209
61210 2006-07-20  Bruno Haible  <bruno@clisp.org>
61211
61212         * gnulib-tool: Recognize new option --assume-autoconf.
61213         (autoconf_minversion): New variable.
61214         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
61215
61216 2006-07-20  Bruno Haible  <bruno@clisp.org>
61217
61218         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
61219
61220 2006-07-19  Derek R. Price  <derek@ximbiot.com>
61221
61222         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
61223         Reindent and repaginate.
61224
61225 2006-07-19  Derek Price  <derek@ximbiot.com>
61226
61227         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
61228         Correct grammar.
61229
61230 2006-07-17  Bruno Haible  <bruno@clisp.org>
61231
61232         * modules/list: New file.
61233         * modules/array-list: New file.
61234         * modules/carray-list, modules/carray-list-tests: New files.
61235         * modules/linked-list, modules/linked-list-tests: New files.
61236         * modules/avltree-list, modules/avltree-list-tests: New files.
61237         * modules/rbtree-list, modules/rbtree-list-tests: New files.
61238         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
61239         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
61240         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
61241         * modules/oset: New file.
61242         * modules/array-oset: New file.
61243         * modules/avltree-oset, modules/avltree-oset-tests: New files.
61244         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
61245         * tests/test-carray_list.c: New file.
61246         * tests/test-linked_list.c: New file.
61247         * tests/test-avltree_list.c: New file.
61248         * tests/test-rbtree_list.c: New file.
61249         * tests/test-linkedhash_list.c: New file.
61250         * tests/test-avltreehash_list.c: New file.
61251         * tests/test-rbtreehash_list.c: New file.
61252         * tests/test-avltree_oset.c: New file.
61253         * tests/test-rbtree_oset.c: New file.
61254         * MODULES.html.sh (Container data structures): New section.
61255
61256 2006-07-17  Bruno Haible  <bruno@clisp.org>
61257
61258         * m4/gl_list.m4: New file.
61259
61260 2006-07-17  Bruno Haible  <bruno@clisp.org>
61261
61262         * lib/gl_list.h: New file.
61263         * lib/gl_list.c: New file.
61264         * lib/gl_array_list.h: New file.
61265         * lib/gl_array_list.c: New file.
61266         * lib/gl_carray_list.h: New file.
61267         * lib/gl_carray_list.c: New file.
61268         * lib/gl_linked_list.h: New file.
61269         * lib/gl_linked_list.c: New file.
61270         * lib/gl_anylinked_list1.h: New file.
61271         * lib/gl_anylinked_list2.h: New file.
61272         * lib/gl_avltree_list.h: New file.
61273         * lib/gl_avltree_list.c: New file.
61274         * lib/gl_anyavltree_list1.h: New file.
61275         * lib/gl_anyavltree_list2.h: New file.
61276         * lib/gl_rbtree_list.h: New file.
61277         * lib/gl_rbtree_list.c: New file.
61278         * lib/gl_anyrbtree_list1.h: New file.
61279         * lib/gl_anyrbtree_list2.h: New file.
61280         * lib/gl_anytree_list1.h: New file.
61281         * lib/gl_anytree_list2.h: New file.
61282         * lib/gl_linkedhash_list.h: New file.
61283         * lib/gl_linkedhash_list.c: New file.
61284         * lib/gl_anyhash_list1.h: New file.
61285         * lib/gl_anyhash_list2.h: New file.
61286         * lib/gl_avltreehash_list.h: New file.
61287         * lib/gl_avltreehash_list.c: New file.
61288         * lib/gl_rbtreehash_list.h: New file.
61289         * lib/gl_rbtreehash_list.c: New file.
61290         * lib/gl_anytreehash_list1.h: New file.
61291         * lib/gl_anytreehash_list2.h: New file.
61292
61293         * lib/gl_oset.h: New file.
61294         * lib/gl_oset.c: New file.
61295         * lib/gl_array_oset.h: New file.
61296         * lib/gl_array_oset.c: New file.
61297         * lib/gl_avltree_oset.h: New file.
61298         * lib/gl_avltree_oset.c: New file.
61299         * lib/gl_rbtree_oset.h: New file.
61300         * lib/gl_rbtree_oset.c: New file.
61301         * lib/gl_anytree_oset.h: New file.
61302
61303 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61304
61305         * m4/mkancesdirs.m4: New file.
61306         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
61307         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
61308         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
61309         it.
61310
61311 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61312
61313         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
61314         * lib/mkancesdirs.h: New files.
61315         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
61316         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
61317         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
61318         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
61319         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
61320         callers changed.  Revamp internals significantly, by not
61321         attempting to create directories that are temporarily more
61322         permissive than the final results.  Do not attempt to use
61323         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
61324         This removes some race conditions, fixes some bugs, and simplifies
61325         things.  Use new dirchownmod function to do owner and mode changes.
61326         * lib/mkdir-p.h: Likewise.
61327         * lib/modechange.c (octal_to_mode): New function.
61328         (struct mode_change): New member mentioned.
61329         (make_node_op_equals): New arg mentioned.  All callers changed.
61330         (mode_compile): Keep track of which mode bits the user has explicitly
61331         mentioned.
61332         (mode_adjust): New arg DIR, so that we implement the X op correctly.
61333         New arg PMODE_BITS, to keep track of which mode bits the user
61334         mentioned; it treats S_ISUID and S_ISGID speciall.
61335         All callers changed.
61336         * lib/modechange.h: Likewise.
61337
61338 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61339
61340         * MODULES.html.sh: Add mkancestors.
61341         * modules/mkancesdirs: New module.
61342         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
61343         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
61344         The chdir-safer and afs files are now orphans; I'll remove them
61345         unless someone speaks up.
61346         Add lib/dirchownmod.c, lib/dirchownmod.h.
61347         (Depends-on): Remove alloca, chown, save-cwd, dirname.
61348         Add lchown, mkancesdirs.
61349         (Maintainer): Add self.
61350
61351 2006-07-15  Karl Berry  <karl@gnu.org>
61352
61353         * gnulib-tool: help message wording/arrangement.
61354
61355 2006-07-14  Simon Josefsson  <jas@extundo.com>
61356
61357         * doc/gnulib.texi (Libtool and Windows): New section.
61358
61359 2006-07-12  Simon Josefsson  <jas@extundo.com>
61360
61361         * modules/gendocs (License): Fix license, approved by Karl.
61362
61363 2006-07-12  Eric Blake  <ebb9@byu.net>
61364
61365         * MODULES.html.sh: Add gendocs.
61366
61367 2006-07-11  Eric Blake  <ebb9@byu.net>
61368
61369         * modules/fdl: New module, to install doc/fdl.texi.
61370         * MODULES.html.sh: Add new section for documentation modules.
61371         * gnulib-tool: Avoid space-tab.
61372         (--doc-base): New option, to manage files from doc.
61373
61374 2006-07-11  Eric Blake  <ebb9@byu.net>
61375
61376         * m4/absolute-header.m4: Fix comments to match recent change.
61377
61378 2006-07-11  Eric Blake  <ebb9@byu.net>
61379
61380         * gnulib-tool: List --doc-base before --tests-base.
61381
61382 2006-07-11  Derek R. Price  <derek@ximbiot.com>
61383
61384         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
61385
61386 2006-07-11  Bruno Haible  <bruno@clisp.org>
61387
61388         * README: Mention where to put documentation.
61389
61390 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61391
61392         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
61393
61394 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61395
61396         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
61397         to stdint.m4.
61398
61399 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61400
61401         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
61402         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
61403         "no/such/file/stdint.h" when there is no such file, so that
61404         the resulting C code can be parsed by dodgy compilers.
61405         Problems reported by Bob Proulx.
61406
61407 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61408
61409         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
61410         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61411         macros into the GNU _D_EXACT_NAMLEN.
61412         * lib/savedir.c:  Likewise.
61413         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
61414
61415 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61416         and Paul Eggert  <eggert@cs.ucla.edu>
61417
61418         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
61419         * m4/savedir.m4:
61420         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61421         macros into the GNU _D_EXACT_NAMLEN.
61422
61423 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61424
61425         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
61426         around the absolute name, to work around a problem with the HP-UX
61427         11.23 native C compiler, reported by Bob Proulx.
61428
61429 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61430
61431         * doc/maintain.texi, make-stds.texi: Sync from
61432         <http://savannah.gnu.org/projects/gnustandards>.
61433
61434 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61435
61436         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
61437
61438 2006-07-09  Jim Meyering  <jim@meyering.net>
61439
61440         * m4/glob.m4: Remove a doubled word in a comment.
61441
61442 2006-07-09  Jim Meyering  <jim@meyering.net>
61443
61444         * lib/argp-pv.c: Remove a doubled word in a comment.
61445         * lib/check-version.c (check_version): Likewise.
61446         * lib/javacomp.c (compile_java_class): Likewise.
61447
61448 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
61449
61450         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
61451         for the benefit of people using Autoconf 2.60.  If you want to
61452         support older Autoconf versions you can copy m4/onceonly_2_57.m4
61453         (or m4/onceonly.m4, if pre-2.57) manually.
61454
61455 2006-07-08  Jim Meyering  <jim@meyering.net>
61456
61457         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
61458         comment.
61459         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
61460         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
61461         comment.
61462
61463 2006-07-08  Jim Meyering  <jim@meyering.net>
61464
61465         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
61466
61467 2006-07-07  Simon Josefsson  <jas@extundo.com>
61468
61469         * tests/test-crc.c: Change expected crc value, the test vector
61470         were probably computed using the old broken crc.c?
61471
61472 2006-07-06  Simon Josefsson  <jas@extundo.com>
61473
61474         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
61475         now the canonical place for the M4 file).
61476
61477         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
61478         from the sys_socket dependency now.
61479
61480         * modules/inet_pton (Files): Ditto.
61481
61482         * modules/inet_ntop (Files): Ditto.
61483
61484 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61485
61486         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
61487         not gl_PREREQ_GETUSERSHELL.
61488
61489 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61490
61491         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
61492         with only one argument, for Autoconf 2.60.
61493         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
61494         expand to nothing, so add a shell command to avoid syntax error.
61495         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61496
61497 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61498
61499         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
61500
61501 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61502
61503         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
61504         no longer needed.  Check for isblank decl.
61505         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
61506         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
61507         of existence.
61508
61509 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61510
61511         * lib/getloadavg.c: Use __VMS, not VMS.
61512         * lib/getopt.c: Likewise.
61513         * lib/getpagesize.h: Likewise.
61514         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
61515         and probably does not work.
61516
61517 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61518
61519         * lib/.cppi-disable: Add wcwidth.
61520         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
61521         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
61522         (ISGRAPH): Remove.  All uses changed to isgraph.
61523         (FOLD) [!defined _LIBC]: Remove special case.
61524         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
61525         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
61526         HAVE_ISBLANK.
61527         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
61528         case.
61529
61530 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
61531
61532         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
61533         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
61534         brackets.  Other minor changes to suppress some compiler
61535         warnings.
61536
61537 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61538         and Paul Eggert  <eggert@cs.ucla.edu>
61539
61540         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
61541         of invoking obsolescent AC_HEADER_DIRENT macro.
61542         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
61543         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
61544         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
61545         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
61546         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
61547         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61548         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
61549         * m4/readdir.m4: Remove; no longer needed.
61550
61551 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61552         and Paul Eggert  <eggert@cs.ucla.edu>
61553
61554         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
61555         Don't worry about this obsolete case any more.
61556         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
61557         directories.
61558         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
61559         worry about this obsolete case any more.
61560         * lib/fts.c: Likewise.
61561         * lib/getcwd.c: Likewise.
61562         * lib/glob.h: Likewise.
61563         * lib/savedir.c: Likewise.
61564
61565 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61566
61567         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
61568         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
61569         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
61570         needed.
61571         All uses removed.
61572         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61573         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61574         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
61575         needed.
61576         * m4/getdate.m4 (gl_GETDATE): Likewise.
61577         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61578         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61579         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61580         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61581         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61582         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61583         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
61584         needed.
61585
61586 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61587
61588         * lib/memcasecmp.c: Include <limits.h>.
61589         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
61590         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
61591         Don't assume isdigit succeeds only on '0' through '9'.
61592
61593 2006-07-05  Eric Blake  <ebb9@byu.net>
61594
61595         * modules/getaddrinfo (Depends-on): Add snprintf.
61596
61597 2006-07-05  Eric Blake  <ebb9@byu.net>
61598
61599         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
61600         to avoid 'header present but could not be compiled' on cygwin.
61601
61602 2006-07-05  Eric Blake  <ebb9@byu.net>
61603
61604         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
61605         missing from netdb.h.
61606         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
61607
61608 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61609
61610         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
61611         no longer needed.
61612         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
61613         * m4/getdate.m4 (gl_GETDATE): Likewise.
61614         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61615         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61616         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61617         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61618         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61619
61620 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61621
61622         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
61623         All uses of is_space replaced by isspace.
61624         * lib/exit.h: Don't talk about STDC_HEADERS.
61625         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
61626         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
61627         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
61628         replaced by isprint etc.
61629         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
61630         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61631         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
61632         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
61633         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
61634         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61635
61636 2006-07-05  Bruno Haible  <bruno@clisp.org>
61637
61638         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
61639         the function exists, before testing against AIX.
61640         Reported by Martin Lambers <marlam@marlam.de>.
61641
61642 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61643
61644         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
61645         From Mark D. Baushke.
61646
61647 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61648
61649         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
61650         to the absolute name, not just one, to bypass Sun C 5.8's
61651         "warning: #include of /usr/include/... may be non-portable".
61652
61653 2006-07-04  Eric Blake  <ebb9@byu.net>
61654
61655         * modules/dirname-tests: New test module.
61656         * tests/test-dirname.c: New file, replacing dirname.c
61657         TEST_DIRNAME section that was recently deleted.
61658
61659 2006-07-04  Bruno Haible  <bruno@clisp.org>
61660
61661         Assume ANSI C header files and <ctype.h> functions.
61662         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
61663         (mbsnwidth): Use isprint, iscntrl instead.
61664
61665 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61666
61667         Merge from coreutils.
61668         * MODULES.html.sh: Add xstrtold.
61669         * modules/xstrtold: New file.
61670         * modules/cycle-check (Files): Add lib/same-inode.h.
61671         * modules/dirname (Files): Add m4/double-slash-root.m4.
61672         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
61673         * modules/mkdir-p (Files): Add lib/same-inode.h.
61674         * modules/same (Files): Add lib/same-inode.h.
61675
61676 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61677
61678         * m4/absolute-header.m4: Renamed from full-header-path.m4.
61679         This is to keep the terminology clean; POSIX talks about
61680         "absolute pathnames", not "full pathnames", but the GNU
61681         Coding Standards say to use "path" for something else;
61682         so use "absolute" to keep both sides happy.
61683         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
61684         Set gl_absolute_header, not gl_full_header_path.
61685         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
61686         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
61687         All uses changed.
61688
61689         Merge from coreutils.
61690
61691         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61692
61693         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
61694         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
61695         want to require the building of c-strtod.o.
61696         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
61697         needs -lm directly.
61698         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
61699
61700         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61701
61702         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
61703         --as-needed option if available.  Problem reported by Albert Chin in
61704         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
61705         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
61706         cc merely issues a bunch of annoying warnings for --as-needed
61707         (this problem was reported by Bob Proulx).  Also, try linking with
61708         -lm to detect a bug in binutils 2.16 (this problem was reported
61709         by Ralf Wildenhues).
61710
61711         2006-06-18  Jim Meyering  <jim@meyering.net>
61712
61713         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
61714         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
61715         macro.
61716         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
61717         also check for glibc-2.4's abort-inducing bug.
61718
61719         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
61720         Low-probability clean-up should be to use rmdir to get rid of
61721         the just-created directory, not unlink.
61722
61723         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
61724         configure fail, and request a bug report to inform us about it.
61725         Add a comment that, barring reports to the contrary, in 2007 we'll
61726         assume ftruncate is universally available.
61727
61728         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61729
61730         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
61731
61732         2006-03-12  Jim Meyering  <jim@meyering.net>
61733
61734         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
61735         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
61736         * m4/same.m4 (gl_SAME): Likewise.
61737         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
61738
61739         2006-03-11  Eric Blake  <ebb9@byu.net>
61740
61741         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
61742         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
61743         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
61744         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
61745
61746 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61747
61748         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
61749         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
61750         reported by Mark D. Baushke, one in
61751         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
61752
61753         Merge from coreutils.
61754
61755         * lib/.cppi-disable: Add stdint_.h.
61756         * lib/.cvsignore: Add stdint.h.
61757
61758         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61759
61760         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
61761         both double and long double versions.
61762         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
61763         * lib/xstrtold.c: New file.
61764         * lib/xstrtod.h (xstrtold): New decl.
61765
61766         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
61767
61768         * lib/filemode.c (setst): Remove.
61769         (strmode): Rewrite to avoid setst.  This makes the code shorter,
61770         (arguably) clearer, and the generated code is a bit smaller on my
61771         Debian GNU/Linux stable x86 host.
61772
61773         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61774
61775         * lib/filemode.c: Include "filemode.h" first, to test the interface.
61776         Assume that filemode.h includes sys/types.h and sys/stat.h.
61777         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
61778         (ftypelet): Reorder to put common cases first, for efficiency.
61779         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
61780         to do 'M'.
61781         (strmode): Renamed from mode_string, and now stores 12 bytes instead
61782         of 10, for compatibility with FreeBSD.  All callers changed.
61783         (filemodestring): Now stores 12 bytes instead of 10, and sets file
61784         types that can't be deduced solely from st_mode.  First arg is now a
61785         const pointer.
61786         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
61787         (strmode): Renamed from mode_string.
61788         (filemodestring): New decl.
61789         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
61790         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
61791         needed.
61792         (S_ISPORT, S_ISWHT): New macros, if not already defined.
61793
61794         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
61795
61796         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
61797         fsusage.h now does that.  Include fsusage.h first, to test interface.
61798         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
61799         at most one method (the old code could have generated decls that
61800         didn't conform to C89, not that this was ever exercised).
61801         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
61802
61803         2006-03-19  Jim Meyering  <jim@meyering.net>
61804
61805         Work even in a chroot where d_ino values for entries in "/"
61806         don't match the stat.st_ino values for the same names.
61807         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
61808         number, iterate through all entries again, using lstat instead.
61809         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
61810         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
61811
61812         * lib/getcwd.c (__getcwd): Clarify a comment.
61813         Use memcpy in place of a call to strcpy.
61814
61815         2006-03-12  Jim Meyering  <jim@meyering.net>
61816
61817         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
61818         matches that of the current directory (which we're about to chdir ".."
61819         out of), then save the dev-ino of the parent, instead.
61820
61821         * lib/same-inode.h (SAME_INODE): New file/macro.
61822         * lib/chdir-safer.c (SAME_INODE): Remove definition.
61823         Include "same-inode.h", instead.
61824         * lib/same.c: Likewise.
61825         * lib/cycle-check.h: Include "same-inode.h".
61826         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
61827         * lib/cycle-check.c (SAME_INODE): Remove definition.
61828         * lib/root-dev-ino.h: Include "same-inode.h".
61829
61830         2006-03-11  Eric Blake  <ebb9@byu.net>
61831
61832         * lib/same.c (same_name): s/base_name/last_component/
61833         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
61834         * lib/filenamecat.c (file_name_concat): Likewise.
61835
61836         2006-03-11  Eric Blake  <ebb9@byu.net>,
61837                     Paul Eggert  <eggert@cs.ucla.edu>
61838
61839         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
61840         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
61841         drive prefix.
61842         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
61843         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
61844         (last_component): New method.
61845         * lib/dirname.c (dir_len): Determine when drive letters need a
61846         subsequent slash.  Preserve // when it is special.
61847         (dir_name): Don't append dot when drive letter is absolute.
61848         [TEST_DIRNAME]: Move into a full-blown gnulib test.
61849         * lib/basename.c (base_name): New semantics - malloc the result.
61850         Preserve // when it is special.  Preserve relative files that look
61851         like drive letters.
61852         (base_len): Preserve // when it is special.
61853         (last_component): New method, similar to old base_name semantics.
61854         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
61855         base_name.  Strip redundant slashes from ///.
61856
61857 2006-07-03  Jim Meyering  <jim@meyering.net>
61858
61859         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
61860         macro is used before the first cycle_check call.
61861
61862 2006-07-03  Eric Blake  <ebb9@byu.net>
61863
61864         * modules/dirname (Depends-on): Add xstrndup.
61865
61866 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61867
61868         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
61869         test cases, so that config.log is a bit easier to follow.
61870
61871 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61872
61873         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
61874         both are 64 bits, since this seems to be the tradition, and this
61875         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
61876         we ever run into a host that prefers long long to long in this
61877         case, we'll need another configure-time test.  Problem reported by
61878         Jim Meyering.
61879
61880 2006-07-02  Eric Blake  <ebb9@byu.net>
61881
61882         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
61883
61884 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61885
61886         * modules/inttypes (Depends-on): No longer depends on stdint.
61887         * modules/stdint (Description): Say more about assumptions.
61888         Say that the fast types might differ.  Say macros are used.
61889         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
61890         (Makefile.am): Revise list of substituted symbols to match
61891         new stdint.m4.
61892         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
61893         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
61894         * tests/test-stdint.c (verify_same_types)
61895         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
61896         the code conforms to C99/C89.
61897         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
61898         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
61899
61900 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61901
61902         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
61903         but fix a bug, by requiring at least 64 bits.
61904         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61905         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
61906         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
61907         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
61908
61909         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
61910         changes.  Make 2.59 a prerequisite.  Check and substitute for
61911         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
61912         inttypes.h.  Do not use special include files; just use the
61913         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
61914         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
61915         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
61916         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
61917         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
61918         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
61919         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
61920         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
61921         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
61922         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
61923         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
61924         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
61925         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
61926         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
61927         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
61928         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
61929         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
61930         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
61931         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
61932         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
61933         WINT_MAX.  Check for C99 conformance more strictly, by detecting
61934         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
61935         not check for things that C99 does not require, e.g., int8_t.  If
61936         a test isn't needed unless <stdint.h> isn't working, and is
61937         unlikely to be needed for any other reason, then don't do it
61938         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
61939         size_t, since we assume C89 freestanding at least.  Do not check
61940         for sig_atomic_t, wchar_t, or wint_t, since the code now does
61941         the right thing even if the types are not defined.  Instead use:
61942         (gl_STDINT_TYPE_PROPERTIES): New macro.
61943         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
61944         testing whether <sys/types.h> clashes, as Autoconf does this for
61945         us now.  All uses removed.
61946         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
61947         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
61948         (gl_CHECK_TYPE_SAME):
61949         Remove; no longer needed.
61950         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
61951         exists, since we'll return 0 anyway in that case.
61952         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
61953
61954 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61955
61956         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
61957         possible collision with system files.
61958         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
61959         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
61960         WCHAR_MIN and WCHAR_MAX in this case.
61961         (<stddef.h>): Do not include; no longer needed.
61962         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
61963         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
61964         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
61965         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
61966         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
61967         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
61968         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
61969         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
61970         !defined(__c99))]: Include in this case too, since it's harmless
61971         now.
61972         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
61973         dangerous to do so.
61974         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
61975         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
61976         (_STDINT_MIN, _STDINT_MAX): New macros.
61977         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
61978         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
61979         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
61980         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
61981         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
61982         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
61983         macros, not typedefs; this simplifies things quite a bit.
61984         Use long int for all types narrower than int64_t.
61985         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
61986         Define in terms of long long int or int64_t or long int,
61987         not int64_t or int32_t.  This saves some compile-time testing.
61988         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
61989         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
61990         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
61991         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
61992         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
61993         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
61994         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
61995         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
61996         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
61997         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
61998         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
61999         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62000         undef any previous version and define our own version, for
62001         simplicity and consistency with the new macros for types.
62002         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62003         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62004         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
62005         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
62006         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
62007         @WINT_T_SUFFIX@ to keep things simple here.
62008         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
62009         Simplify by assuming typical 8/16/32/64 host, since we're
62010         already doing that elsewhere anyway.
62011         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
62012         and assume long long int is 64 bits if available.  This
62013         speeds up 'configure'.
62014
62015 2006-07-01  Eric Blake  <ebb9@byu.net>
62016
62017         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
62018         Reported by Andreas Buening.
62019
62020 2006-07-01  Eric Blake  <ebb9@byu.net>
62021
62022         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
62023
62024 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
62025
62026         * lib/getaddrinfo.c: fixed typo
62027
62028 2006-06-29  Jim Meyering  <jim@meyering.net>
62029
62030         * modules/strftime (Maintainer): Add my name, since with the
62031         FPRINTFTIME changes strftime.c has forked from glibc.
62032
62033 2006-06-29  Eric Blake  <ebb9@byu.net>
62034
62035         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
62036
62037 2006-06-29  Eric Blake  <ebb9@byu.net>
62038
62039         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
62040
62041 2006-06-29  Eric Blake  <ebb9@byu.net>
62042
62043         * lib/stat_.h: New file.
62044
62045 2006-06-29  Eric Blake  <ebb9@byu.net>
62046
62047         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
62048         unused static function.
62049
62050 2006-06-29  Eric Blake  <ebb9@byu.net>
62051
62052         * doc/functions.texi (Function Portability): Document missing lstat
62053         on mingw.
62054
62055 2006-06-29  Eric Blake  <ebb9@byu.net>
62056
62057         * MODULES.html.sh: Add sys_stat.
62058         * modules/sys_stat: New module.
62059         * modules/mkstemp (Depends-on): Add sys_stat.
62060
62061 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62062
62063         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
62064
62065 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62066
62067         * m4/c-bs-a.m4: Removed.
62068
62069 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62070
62071         * lib/strftime.c: Assume strftime() exists.
62072
62073 2006-06-29  Derek Price  <derek@ximbiot.com>
62074
62075         * modules/c-bs-a: Removed - \a is C89.
62076         * MODULES.html.sh: Remove c-bs-a.
62077
62078 2006-06-29  Bruno Haible  <bruno@clisp.org>
62079
62080         * modules/wcwidth (License): Change to LGPL.
62081
62082 2006-06-28  Simon Josefsson  <jas@extundo.com>
62083
62084         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
62085         on _WIN32.
62086
62087         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
62088         getnameinfo.
62089
62090 2006-06-28  Simon Josefsson  <jas@extundo.com>
62091
62092         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
62093
62094 2006-06-28  Simon Josefsson  <jas@extundo.com>
62095
62096         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
62097         functions there.  It will succeed on Windows XP, but on Windows
62098         2000 and (presumably) earlier, it will fail, and use the internal
62099         re-implementation.
62100         (use_win32_p): New function.
62101         (getaddrinfo): Use strtoul on servname, to support numeric ports.
62102         Support AI_NUMERICSERV to disable getservbyname.
62103         (getnameinfo): New function, only supports
62104         NI_NUMERICHOST|NI_NUMERICSERV for now.
62105
62106         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
62107         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
62108         getnameinfo.
62109
62110 2006-06-28  Eric Blake  <ebb9@byu.net>
62111
62112         * modules/wcwidth: New file.
62113         * modules/mbchar (Depends-on): Add wcwidth.
62114         * modules/mbswidth (Depends-on): Add wcwidth.
62115         * MODULES.html.sh: Add wcwidth.
62116
62117 2006-06-28  Eric Blake  <ebb9@byu.net>
62118
62119         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
62120         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
62121
62122 2006-06-28  Eric Blake  <ebb9@byu.net>
62123
62124         * lib/xvasprintf.h: Fix comments.
62125
62126 2006-06-28  Eric Blake  <ebb9@byu.net>
62127
62128         * lib/mbchar.h (wcwidth): Include wcwidth.h.
62129         * lib/mbswidth.c (wcwidth): Move from here...
62130         * lib/wcwidth.h: ...to this new file.
62131
62132 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62133
62134         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
62135
62136         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
62137         it's obsolete.
62138         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
62139
62140 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62141
62142         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
62143         Autoconf 2.60 says this stuff was obsolete.
62144
62145 2006-06-28  Bruno Haible  <bruno@clisp.org>
62146
62147         * modules/wcwidth (Files): Add m4/wchar_t.m4.
62148
62149 2006-06-28  Bruno Haible  <bruno@clisp.org>
62150
62151         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
62152         gt_TYPE_WCHAR_T.
62153
62154 2006-06-28  Bruno Haible  <bruno@clisp.org>
62155
62156         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
62157         declaration for wcwidth.
62158         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
62159
62160 2006-06-28  Bruno Haible  <bruno@clisp.org>
62161
62162         * lib/mkdtemp.c [MINGW]: Include <io.h>.
62163         (mkdir): Define using _mkdir.
62164
62165 2006-06-28  Bruno Haible  <bruno@clisp.org>
62166
62167         * lib/getaddrinfo.h: Fix POSIX URL.
62168         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
62169         _WIN32.
62170         (use_win32_p): Make static.
62171         (getaddrinfo): Reject service name if it is empty or does not consist
62172         solely of decimal digits, or if its value is > 65535.
62173         (getnameinfo): Remove useless casts.
62174
62175 2006-06-27  Simon Josefsson  <jas@extundo.com>
62176
62177         * modules/sys_select: New file, suggested by Bruno Haible, Paul
62178         Eggert and Martin Lambers.
62179
62180 2006-06-27  Simon Josefsson  <jas@extundo.com>
62181
62182         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
62183         Eggert and Martin Lambers.
62184
62185 2006-06-27  Bruno Haible  <bruno@clisp.org>
62186
62187         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
62188         result to 0, not to empty.
62189         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
62190
62191 2006-06-27  Bruno Haible  <bruno@clisp.org>
62192
62193         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
62194
62195 2006-06-26  Simon Josefsson  <jas@extundo.com>
62196
62197         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
62198         present.
62199
62200 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
62201
62202         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
62203         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
62204         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
62205
62206 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
62207
62208         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
62209
62210 2006-06-26  Bruno Haible  <bruno@clisp.org>
62211
62212         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
62213
62214 2006-06-26  Bruno Haible  <bruno@clisp.org>
62215
62216         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
62217
62218 2006-06-26  Bruno Haible  <bruno@clisp.org>
62219
62220         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
62221         SGI C compiler in pre-C99 mode.
62222         Suggested by Mark D. Baushke and Larry Jones.
62223
62224 2006-06-26  Bruno Haible  <bruno@clisp.org>
62225
62226         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
62227         WCHAR_MAX.
62228         Reported by Mark D. Baushke and Larry Jones.
62229
62230 2006-06-26  Bruno Haible  <bruno@clisp.org>
62231
62232         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
62233         in pre-C99 mode.
62234         Suggested by Mark D. Baushke and Larry Jones.
62235
62236 2006-06-23  Simon Josefsson  <jas@extundo.com>
62237             Bruno Haible  <bruno@clisp.org>
62238
62239         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
62240         Emit mostlyclean-local rule.
62241         (func_emit_tests_Makefile_am): Likewise.
62242         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
62243
62244 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
62245
62246         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
62247
62248 2006-06-23  Bruno Haible  <bruno@clisp.org>
62249
62250         * tests/test-stdint.c: Update to match ISO C 99 Technical
62251         Corrigendum 1.
62252
62253 2006-06-23  Bruno Haible  <bruno@clisp.org>
62254
62255         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
62256
62257 2006-06-23  Bruno Haible  <bruno@clisp.org>
62258
62259         * lib/stdint_.h: Treat IRIX like OpenBSD.
62260
62261 2006-06-23  Bruno Haible  <bruno@clisp.org>
62262
62263         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
62264         ISO C 99 Technical Corrigendum 1.
62265
62266 2006-06-22  Simon Josefsson  <jas@extundo.com>
62267
62268         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
62269         MinGW.
62270
62271 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
62272
62273         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
62274         needed.  Some compiler complained about some of them.  Problem reported
62275         by Larry Jones in
62276         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
62277
62278 2006-06-21  Simon Josefsson  <jas@extundo.com>
62279
62280         * tests/test-getaddrinfo.c: New file.
62281
62282         * modules/getaddrinfo-tests: New file.
62283
62284         * MODULES.html.sh: Add inet_pton.
62285
62286         * modules/inet_pton: New file.
62287
62288 2006-06-21  Simon Josefsson  <jas@extundo.com>
62289
62290         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
62291         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
62292         of using the (limited) gnulib implementation on Windows XP.
62293
62294         * m4/inet_pton.m4: New file.
62295
62296 2006-06-21  Simon Josefsson  <jas@extundo.com>
62297
62298         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
62299         variable.
62300
62301         * lib/socket_.h: Don't define WINVER.
62302
62303         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
62304         slightly modified to work in gnulib.
62305
62306 2006-06-21  Simon Josefsson  <jas@extundo.com>
62307
62308         * doc/gnulib.texi (Windows sockets): Add.
62309
62310 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62311
62312         * lib/read-file.c (fread_file): Start with buffer allocation of
62313         0 bytes rather than 1 byte; this simplifies the code.
62314         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
62315         code to free buffer and save/restore errno.
62316         (internal_read_file): Remove unused local.
62317
62318 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62319
62320         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
62321         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
62322         Problem reported by Denis Excoffier in
62323         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
62324
62325 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62326
62327         * modules/sys_socket, modules/socklen: Include sys/types since
62328         FreeBSD 4.x's sys/socket.h needs it.
62329
62330 2006-06-19  Simon Josefsson  <jas@extundo.com>
62331
62332         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
62333
62334 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
62335
62336         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
62337
62338 2006-06-19  Bruno Haible  <bruno@clisp.org>
62339
62340         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
62341         and FULL_PATH_INTTYPES_H in angle brackets.
62342         Reported by Mark D. Baushke <mdb@gnu.org>.
62343
62344 2006-06-17  Eric Blake  <ebb9@byu.net>
62345
62346         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
62347         errno.
62348
62349 2006-06-17  Bruno Haible  <bruno@clisp.org>
62350
62351         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
62352         <sys/inttypes.h>.
62353
62354 2006-06-17  Bruno Haible  <bruno@clisp.org>
62355
62356         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
62357         whether errno is declared. Assume <errno.h> declares errno.
62358
62359 2006-06-17  Bruno Haible  <bruno@clisp.org>
62360
62361         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
62362
62363 2006-06-17  Bruno Haible  <bruno@clisp.org>
62364
62365         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
62366         problem on Solaris 2.5.1.
62367
62368 2006-06-16  Eric Blake  <ebb9@byu.net>
62369
62370         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
62371         * lib/unicodeio.c [!defined errno]: Likewise.
62372         * lib/strtol.c [!defined errno]: Likewise.
62373         * lib/strtod.c [!defined errno]: Likewise.
62374
62375 2006-06-15  Eric Blake  <ebb9@byu.net>
62376
62377         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
62378
62379 2006-06-15  Eric Blake  <ebb9@byu.net>
62380
62381         * config/srclist.txt (ssize_t.m4): Lose sync.
62382
62383 2006-06-15  Bruno Haible  <bruno@clisp.org>
62384
62385         * modules/stdint (Files): Include m4/full-header-path.m4,
62386         m4/size_max.m4, m4/wchar_t.m4.
62387         (Makefile.am): Many more substitutions.
62388         * modules/stdint-tests: New file.
62389         * tests/test-stdint.c: New file.
62390
62391 2006-06-15  Bruno Haible  <bruno@clisp.org>
62392
62393         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
62394         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
62395         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
62396         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
62397         gl_CHECK_TYPE_SAME): New macros.
62398
62399 2006-06-15  Bruno Haible  <bruno@clisp.org>
62400
62401         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
62402
62403 2006-06-15  Bruno Haible  <bruno@clisp.org>
62404
62405         * lib/stdint_.h: Rewritten to be fully auto-configured.
62406         Fixes bug on HP-UX/IA64.
62407
62408 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
62409
62410         * lib/getdate.y (__attribute__): Don't define if already defined.
62411         Problem reported by Larry Jones.
62412         * lib/utimens.c (__attribute__): Likewise.
62413
62414 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
62415
62416         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
62417         reported by Andreas Schwab.
62418
62419 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62420             Bruno Haible  <bruno@clisp.org>
62421
62422         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
62423         check for the declaration of strnlen and a run test that exposes the
62424         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
62425         rpl_strndup.
62426
62427 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62428             Bruno Haible  <bruno@clisp.org>
62429
62430         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
62431
62432 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62433
62434         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
62435         compile test, for Tru64 4.0D.
62436
62437 2006-05-28  Karl Berry  <karl@gnu.org>
62438
62439         * config/srclist.txt (printf-args.c): lose sync.
62440
62441 2006-05-26  Martin Lambers  <marlam@marlam.de>
62442
62443         * lib/getpass.c: Updates the test for the native W32 API, and adds
62444         missing includes, thus fixing compilation warnings.
62445
62446 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62447
62448         * lib/exclude.c (exclude_fnmatch): New function.
62449         (excluded_file_name): Call exclude_fnmatch.
62450         * lib/exclude.h (excluded_file_name): New prototype
62451
62452 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
62453
62454         * lib/tempname.c (small_open, large_open): New macros.
62455         (__open, __open64) [!_LIBC]: Remove.
62456         (__gen_tempname): Use small_open and large_open instead of __open
62457         and __open64.  This fixes a portability bug on HP-UX 11.11i
62458         reported by Simon Wing-Tang in
62459         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
62460
62461 2006-05-24  Bruno Haible  <bruno@clisp.org>
62462
62463         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
62464         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
62465         Reported by Thorsten Maerz <torte@netztorte.de> via
62466         Aaron Stone <aaron@serendipity.cx>.
62467
62468 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62469
62470         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
62471         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
62472         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
62473         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
62474         not really conditional on the cache.
62475         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
62476
62477 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62478
62479         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
62480         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
62481         (my_usleep): Don't mishandle maximum value.
62482
62483 2006-05-19  Jim Meyering  <jim@meyering.net>
62484
62485         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
62486
62487 2006-05-17  Bruno Haible  <bruno@clisp.org>
62488
62489         Cygwin portability.
62490         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
62491
62492 2006-05-17  Bruno Haible  <bruno@clisp.org>
62493
62494         * lib/stdint_.h: Fix recognition of Cygwin.
62495
62496 2006-05-15  Bruno Haible  <bruno@clisp.org>
62497
62498         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
62499         on libtool patch by Ralf Wildenhues.
62500
62501 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
62502
62503         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
62504         test for C99 conformance; (bool) 0.5 is an integer constant
62505         expression, but (bool) -0.5 is not.  Problem reported by Fedor
62506         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
62507
62508 2006-05-11  Simon Josefsson  <jas@extundo.com>
62509
62510         * m4/xvasprintf.m4: Fix obvious typo.
62511
62512 2006-05-11  Jim Meyering  <jim@meyering.net>
62513
62514         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
62515         James Lemley.
62516
62517 2006-05-10  Simon Josefsson  <jas@extundo.com>
62518
62519         * lib/md4.c: Typo fix, update copyright years.
62520         (K1, K2): Don't use L because it turn computations into 64-bit on
62521         64-bit platforms.
62522
62523 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
62524
62525         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
62526         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
62527         unwanted sign propagation, e.g., on hosts with 64-bit int.
62528         There still are some problems with reeelly weird theoretical hosts
62529         (e.g., 33-bit int) but it's not worth worrying about now.
62530         * lib/sha1.c (rol): Likewise.
62531         (K1, K2, K3, K4): Remove unnecessary L suffix.
62532
62533 2006-05-10  Bruno Haible  <bruno@clisp.org>
62534
62535         * lib/des.c: Cast to avoid warnings.
62536
62537 2006-05-09  Bruno Haible  <bruno@clisp.org>
62538
62539         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
62540         (Depends-on): Depend also on xsize, stdarg.
62541         (configure.ac): Add gl_XVASPRINTF.
62542
62543 2006-05-09  Bruno Haible  <bruno@clisp.org>
62544
62545         * m4/xvasprintf.m4: New file.
62546
62547 2006-05-09  Bruno Haible  <bruno@clisp.org>
62548
62549         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
62550         (EOVERFLOW): Define fallback value.
62551         (xstrcat): New function.
62552         (xvasprintf): Recognize the special case of a string concatenation.
62553
62554 2006-05-08  Eric Blake  <ebb9@byu.net>
62555
62556         * gnulib-tool (func_version): Base copyright year on CVS date.
62557         (func_emit_copyright_notice): New function.
62558         (func_emit_lib_Makefile_am): Use it.
62559         (func_emit_tests_Makefile_am): Likewise.
62560         (func_import): Likewise.
62561
62562 2006-05-08  Bruno Haible  <bruno@clisp.org>
62563
62564         * modules/stdarg: New file.
62565         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
62566
62567 2006-05-08  Bruno Haible  <bruno@clisp.org>
62568
62569         * m4/stdarg.m4: New file, from GNU gettext.
62570
62571 2006-05-08  Bruno Haible  <bruno@clisp.org>
62572
62573         * config/srclist.txt (build-aux/config.rpath): different from latest
62574         release.
62575
62576 2006-05-08  Bruno Haible  <bruno@clisp.org>
62577
62578         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
62579
62580 2006-05-05  Jim Meyering  <jim@meyering.net>
62581
62582         * m4/warning.m4: New file, derived from bison's file by the same name.
62583
62584 2006-05-03  Bruno Haible  <bruno@clisp.org>
62585
62586         * lib/stdint_.h: Shorter URL.
62587         * lib/inttypes.h: Likewise.
62588
62589 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62590
62591         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
62592
62593 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62594
62595         * lib/verify.h: Document the internals better.  Most of this change
62596         was written by Bruno Haible.
62597
62598 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62599
62600         * doc/verify.texi: New file, partly based on a proposal by
62601         Bruno Haible.
62602
62603 2006-05-02  Bruno Haible  <bruno@clisp.org>
62604
62605         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
62606         test from here...
62607         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
62608
62609 2006-04-29  Bruno Haible  <bruno@clisp.org>
62610
62611         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
62612         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
62613
62614 2006-04-29  Bruno Haible  <bruno@clisp.org>
62615
62616         * gnulib-tool: Make --update option actually work.
62617
62618 2006-04-29  Bruno Haible  <bruno@clisp.org>
62619
62620         * doc/gcd.texi: New file.
62621         * doc/gnulib.texi: Include it.
62622
62623 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
62624
62625         * lib/getdate.y (get_date): When adding relative date, start with the
62626         initial time, not with the result of the first mktime call.
62627
62628 2006-04-25  Bruno Haible  <bruno@clisp.org>
62629
62630         * gnulib-tool (func_import): Output the include directives in three
62631         blocks, sorted separately.
62632         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62633
62634 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62635
62636         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
62637         to define main with arguments, for C++.  Reported by Eric Blake.
62638         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
62639         Prefer 'int main ()' to 'int main (void)', for C++.
62640         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62641         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
62642         for 'main', for C99 and C++.
62643
62644 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62645
62646         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
62647         Don't assume that exit status -1 is valid.
62648         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62649         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62650         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
62651         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
62652         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
62653         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
62654         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
62655         functions can be used without declaring them, or that you can
62656         exit with status -1.
62657         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
62658
62659 2006-04-24  Karl Berry  <karl@gnu.org>
62660
62661         * config/srclist.txt (longdouble.m4): sync lost.
62662
62663 2006-04-24  Eric Blake  <ebb9@byu.net>
62664
62665         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
62666
62667 2006-04-24  Bruno Haible  <bruno@clisp.org>
62668
62669         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
62670         poll() implementation in AIX.
62671         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62672
62673 2006-04-24  Bruno Haible  <bruno@clisp.org>
62674
62675         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
62676         assigned exactly once.
62677
62678 2006-04-23  Claudio Fontana  <claudio@gnu.org>
62679             Bruno Haible  <bruno@clisp.org>
62680
62681         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
62682         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
62683         for AM_CPPFLAGS.
62684
62685 2006-04-23  Bruno Haible  <bruno@clisp.org>
62686
62687         * modules/copy-file: Depend on unistd.
62688         * modules/execute: Likewise.
62689         * modules/fatal-signal: Likewise.
62690         * modules/findprog: Likewise.
62691         * modules/mkdtemp : Likewise.
62692         * modules/pipe: Likewise.
62693         * modules/wait-process: Likewise.
62694
62695 2006-04-23  Bruno Haible  <bruno@clisp.org>
62696
62697         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
62698         condition was already detected.
62699         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62700
62701 2006-04-23  Bruno Haible  <bruno@clisp.org>
62702
62703         * lib/copy-file.c: Include <unistd.h> unconditionally.
62704         * lib/execute.c: Likewise.
62705         * lib/fatal-signal.c: Likewise.
62706         * lib/findprog.c: Likewise.
62707         * lib/mkdtemp.c: Likewise.
62708         * lib/pipe.h: Likewise.
62709         * lib/pipe.c: Likewise.
62710         * lib/wait-process.h: Likewise.
62711
62712 2006-04-23  Bruno Haible  <bruno@clisp.org>
62713
62714         * gnulib-tool (func_usage): Fix --import description. Document
62715         --update.
62716         (func_import): Create temporary file in a temporary directory, if
62717         --dry-run is specified. Silence errors from 'grep' when there are no
62718         m4 files in $m4dir.
62719         (func_create_testdir): Silence errors from 'grep' when there are no
62720         m4 files in $m4dir.
62721         Reported by Karl Berry <karl@freefriends.org>.
62722
62723 2006-04-20  Bruno Haible  <bruno@clisp.org>
62724
62725         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
62726         one argument, so that the code will be portable to Autoconf 2.60.
62727         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
62728         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
62729         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
62730
62731 2006-04-19  Derek Price  <derek@ximbiot.com>
62732             Eric Blake  <ebb9@byu.net>
62733
62734         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
62735         rather than "/full/path.h".  Update comment to match.  Shorten &
62736         generalize m4_translit call via AS_TR_CPP.
62737
62738 2006-04-19  Derek Price  <derek@ximbiot.com>
62739             Eric Blake  <ebb9@byu.net>
62740
62741         * lib/inttypes.h: Correct grammar in comment.
62742
62743 2006-04-18  Derek Price  <derek@ximbiot.com>
62744             Paul Eggert  <eggert@cs.ucla.edu>
62745
62746         * modules/inttypes: New file.
62747         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
62748
62749 2006-04-18  Derek Price  <derek@ximbiot.com>
62750             Paul Eggert  <eggert@cs.ucla.edu>
62751
62752         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
62753         New files.
62754
62755 2006-04-18  Derek Price  <derek@ximbiot.com>
62756             Paul Eggert  <eggert@cs.ucla.edu>
62757
62758         * lib/inttypes.h: New file.
62759         * lib/strtoimax.c: Assume <inttypes.h>.
62760
62761 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
62762
62763         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
62764         isn't mounted.  Problem reported by Kir Kolyshkin.
62765
62766 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62767
62768         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
62769         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
62770         Derek R. Price.
62771         * lib/regex.h (RE_DUP_MAX): Update comment to match current
62772         implementation.
62773
62774 2006-04-12  Eric Blake  <ebb9@byu.net>
62775
62776         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
62777         is now done automatically by the corresponding Autoconf macro.
62778
62779 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
62780
62781         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
62782         time_r.h.
62783
62784 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62785
62786         Merge regex changes from libc, removing some of our
62787         POSIX-conformance changes that were rejected and redoing them in a
62788         less-intrusive way.
62789
62790         * lib/regcomp.c (re_compile_internal, init_dfa):
62791         Length arg is now size_t, not Idx.  All uses changed.
62792         (peek_token): Forward decl now says internal_function.
62793         (__re_error_msgid, __re_error_msgid_idx):
62794         Now static rather than extern with attribute_hidden.
62795         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
62796         For some reason libc prefers K&R style defns for external functions.
62797         (regerror) [!defined _LIBC]: Likewise.
62798         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
62799         (seek_collating_symbol_entry, lookup_collation_sequence_value):
62800         (build_range_exp, build_collating_symbol):
62801         Use K&R-style defn.
62802         (re_compile_fastmap): Use '\0' to memset, not 0.
62803         (utf8_sb_map): Make the calculations more obvious.
62804         (init_dfa, parse_bracket_exp, build_charclass_op):
62805         Call calloc and cast result, as glibc does.
62806         (init_word_char, fetch_token, peek_token, peek_token_bracket):
62807         (build_range_exp, build_collating_symbol):
62808         Now internal functions.
62809
62810         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
62811
62812         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
62813         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
62814         Don't depend on VMS; depend on __VMS instead, for POSIX
62815         namespace cleanness.
62816         (regoff_t): Define to ssize_t, not long int.
62817
62818         Remove the REG_ macros named below.  Instead, make the old names
62819         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
62820         __USE_GNU_REGEX.
62821         (REG_BACKSLASH_ESCAPE_IN_LISTS):
62822         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
62823         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
62824         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
62825         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
62826         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
62827         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
62828         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
62829         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
62830         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
62831         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
62832         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
62833         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
62834         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
62835         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
62836         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
62837         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
62838         (REG_NREGS):
62839         Remove.  All uses replaced by the old RE_* names.
62840         (RE_BACKSLASH_ESCAPE_IN_LISTS):
62841         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
62842         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
62843         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
62844         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
62845         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
62846         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
62847         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
62848         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
62849         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
62850         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
62851         Don't bother having these macros be independent of each others'
62852         values, since they no longer exist in the POSIX name space.
62853
62854         Rename the following member names back to their old names,
62855         unless !__USE_GNU_REGEX.  All uses changed back.
62856         (buffer): Renamed from re_buffer.
62857         (allocated): Renamed from re_allocated.
62858         (used): Renamed from re_used.
62859         (syntax): Renamed from re_syntax.
62860         (fastmap): Renamed from re_fastmap.
62861         (translate): Renamed from re_translate.
62862         (can_be_null): Renamed from re_can_be_null.
62863         (regs_allocated): Renamed from re_regs_allocated.
62864         (fastmap_accurate): Renamed from re_fastmap_accurate.
62865         (no_sub): Renamed from re_no_sub.
62866         (not_bol): Renamed from re_not_bol.
62867         (not_eol): Renamed from re_not_eol.
62868         (newline_anchor): Renamed from re_newline_anchor.
62869         (num_regs): Renamed from rm_num_regs.
62870         (start): Renamed from rm_start.
62871         (end): Renamed from rm_end.
62872
62873         (free_state): Move up a bit.
62874
62875         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
62876         #define to be empty.
62877         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
62878         when that is what is intended.
62879         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
62880         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
62881         (MAX): New macro.
62882         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
62883         All uses changed back to re_malloc, etc.  It's now the caller's
62884         responsibility to check for overflow; all callers changed.
62885         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
62886         (re_x2nrealloc): Remove.
62887         (free_state): Remove decl.
62888
62889         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
62890         (re_set_registers, re_exec):
62891         Use K&R-style defn.
62892
62893         2006-01-31  Roland McGrath  <roland@redhat.com>
62894
62895         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
62896         Reported by Mike Frysinger <vapier@gentoo.org>.
62897
62898         2006-01-15  Andreas Jaeger  <aj@suse.de>
62899
62900         [BZ #1950]
62901         * lib/regex_internal.c (re_string_reconstruct): Adjust for
62902         build_wcs_upper_buffer change.
62903         (build_wcs_upper_buffer): Change return type.
62904
62905         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
62906
62907         * lib/regex_internal.h: Include <stdint.h> if available.
62908
62909         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
62910
62911         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
62912
62913         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
62914
62915         * lib/regcomp.c: Adjust for changed secondary hash function.
62916
62917         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
62918
62919         * lib/regex.h: Pretty printing.
62920         Clean up namespace a bit.
62921
62922         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
62923
62924         * lib/regexec.c (update_cur_sifted_state, check_arrival,
62925         check_arrival_add_next_nodes): Avoid using uninitialized variable.
62926
62927         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62928                     Ulrich Drepper  <drepper@redhat.com>
62929
62930         [BZ #1302]
62931         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
62932         changed.
62933         (bitset_word_t): Renamed from bitset_word.  All uses changed.
62934
62935         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
62936
62937         [BZ #281]
62938         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
62939         * lib/regcomp.c: Remove unnecessary uses of
62940         unsigned RE_TRANSLATE_TYPE.
62941         * lib/regex_internal.h: Likewise.
62942         * lib/regex_internal.c: Likewise.
62943         * lib/regexec.c: Likewise.
62944         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
62945
62946         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
62947
62948         * lib/regexec.c (find_recover_state): Remove unnecessary
62949         initialization.
62950         (transit_state_bkref): Make DFA a const pointer.
62951         (get_subexp): Likewise.
62952         (check_arrival): Likewise.
62953         (update_cur_sifted_state): Likewise.
62954         (re_search_internal): Likewise.
62955         (prune_impossible_nodes): Likewise.
62956         (acquire_init_state_context): Likewise.
62957         (proceed_next_node): Likewise.
62958         (set_regs): Likewise.
62959         (free_fail_stack_return): Likewise.
62960         (check_arrival_expand_ecl): Mark DFA parameter as const.
62961         (check_arrival_expand_ecl_sub): Likewise.
62962         (check_subexp_limits): Likewise.
62963         (sub_epsilon_src_nodes):  Likewise.
62964         (add_epsilon_src_nodes):  Likewise.
62965         (merge_state_array): Likewise.
62966         (update_regs): Likewise.
62967         (build_trtable): Likewise.
62968         (sift_states_backward): Mark MCTX parameter as const.
62969         (build_sifted_states): Likewise.
62970         (update_cur_sifted_state): Likewise.
62971         (sift_states_mkref): Likewise.
62972         (check_arrival_expand_ecl): Mark eclosure as const.
62973         (check_dst_limits_calc_pos_1): Likewise.
62974         * lib/regex_internal.h (re_match_context_t): Make dfa a const
62975         pointer.
62976
62977         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
62978
62979         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
62980         (transit_state_sb): Likewise.
62981         (transit_state_mb): Likewise.
62982         (sift_states_iter_mb): Likewise.
62983         (check_arrival_add_next_nodes): Likewise.
62984         (check_node_accept_bytes): Change first parameter to pointer-to-const.
62985         [_LIBC] (re_search_2_stub): Use mempcpy.
62986
62987         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
62988         mbrtowc for very simple UTF-8 case.
62989
62990         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
62991         a pointer-to-const.
62992         (re_acquire_state_context): Likewise.
62993         * lib/regex_internal.h: Adjust prototypes.
62994
62995         * lib/regex.c: Prevent using C++ compilers.
62996
62997         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
62998         (re_acquire_state_context): Likewise.
62999
63000 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63001
63002         * modules/regex (Depends-on): Add ssize_t.
63003
63004 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63005
63006         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
63007         translation table.
63008
63009 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63010
63011         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
63012
63013 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
63014             Bruno Haible  <bruno@clisp.org>
63015
63016         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
63017         <sys/types.h> and <inttypes.h>.
63018
63019 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63020
63021         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
63022         `__error_t_defined', so argp.h will not typedef the former.
63023
63024 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
63025
63026         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
63027         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
63028         glibc names.  Even if glibc is changed to conform to POSIX, the
63029         traditional names will be available anyway, since regex depends on
63030         the extensions module.  Also, fix a longstanding typo in the
63031         implementation of Spencer ERE test #75 from grep 2.3.  Problems
63032         reported by Emanuele Giaquinta.  Also, change sense of cached
63033         variable, so that the message makes sense.
63034
63035 2006-03-24  Simon Josefsson  <jas@extundo.com>
63036
63037         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
63038         including some doc fixes.
63039         (base64_encode_alloc): Fix +1 bug on allocation failures.
63040
63041 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63042
63043         * lib/base64.c (base64_encode): Do not read past end of array with
63044         unsanitized input on systems with CHAR_BIT > 8.
63045
63046 2006-03-24  Eric Blake  <ebb9@byu.net>
63047
63048         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
63049
63050 2006-03-22  Karl Berry  <karl@gnu.org>
63051
63052         * config/srclist.txt (*setenv.[ch]): get from coreutils.
63053         * config/srclistvars.sh (COREUTILS): new var.
63054
63055 2006-03-17  Jim Meyering  <jim@meyering.net>
63056
63057         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
63058         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
63059
63060 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
63061
63062         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
63063         no longer needs it.  Instead, check that regoff_t is as least
63064         as wide as ptrdiff_t.
63065
63066         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
63067         so that our regex.h stays compatible with the installed regex.
63068         This is helpful for installers who configure --without-included-regex.
63069         Problem reported by Emanuele Giaquinta.
63070
63071 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
63072
63073         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
63074         Typedef to long int, not to off_, as POSIX will likely change
63075         in that direction.
63076
63077 2006-03-15  Eric Blake  <ebb9@byu.net>
63078
63079         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
63080
63081 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63082
63083         * lib/argp-help.c (validate_uparams): Fix typo
63084         * lib/argp-parse.c (argp_default_options): Consistently begin help
63085         messages with a lowercase letter.
63086
63087 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
63088
63089         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
63090         overrun buffers and shouldn't be used (much as gets shouldn't be
63091         used).
63092         * lib/time_r.c (asctime_r, ctime_r): Likewise.
63093
63094 2006-03-08  Simon Josefsson  <jas@extundo.com>
63095
63096         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
63097         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63098
63099 2006-03-08  Simon Josefsson  <jas@extundo.com>
63100
63101         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
63102         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63103
63104 2006-03-08  Simon Josefsson  <jas@extundo.com>
63105
63106         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
63107         signal that configure disabled the device.
63108
63109 2006-03-08  Simon Josefsson  <jas@extundo.com>
63110
63111         * build-aux/maint.mk: Fix refresh-po, to handle no translated
63112         languages.
63113
63114 2006-03-07  Simon Josefsson  <jas@extundo.com>
63115
63116         * modules/getopt (Depends-on): Add unistd.
63117
63118         * modules/unistd: New file.
63119
63120 2006-03-07  Simon Josefsson  <jas@extundo.com>
63121
63122         * modules/gc-random: New file.
63123
63124 2006-03-07  Simon Josefsson  <jas@extundo.com>
63125
63126         * m4/unistd_h.m4: New file.
63127
63128 2006-03-07  Simon Josefsson  <jas@extundo.com>
63129
63130         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
63131         test to be side-effect free by storing the result in the cache
63132         variable gl_cv_lib_readline, and moving the assignment of
63133         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
63134         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63135
63136 2006-03-07  Simon Josefsson  <jas@extundo.com>
63137
63138         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
63139         error on missing devices (the functions will return an error).
63140
63141         * m4/gc.m4: Move random stuff to gc-random.m4
63142
63143 2006-03-07  Simon Josefsson  <jas@extundo.com>
63144
63145         * lib/unistd_.h: New file.
63146
63147 2006-03-07  Simon Josefsson  <jas@extundo.com>
63148
63149         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
63150
63151 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63152
63153         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
63154         Problem reported by Juan Manuel Guerrero.
63155
63156 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63157
63158         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
63159         the unistd module.
63160         * lib/getlogin_r.c: Likewise.
63161         * lib/getlogin_r.h: Likewise.
63162         * lib/glob.c: Likewise.
63163         * lib/pagealign_alloc.c: Likewise.
63164         * lib/unistd_.h: Remove; no longer needed.
63165
63166 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63167
63168         * MODULES.html.sh (Support for systems lacking POSIX:2001):
63169         Add unistd.
63170         * modules/c-stack (Depends-on): Add unistd.
63171         * modules/getlogin_r: Likewise.
63172         * modules/glob: Likewise.
63173         * modules/pagealign_alloc: Likewise.
63174         * modules/unistd (Files): Remove lib/unistd_.h.
63175         (EXTRA_DIST): Remove.
63176         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
63177         need unistd_.h.
63178         (MOSTLYCLEANFILES): Remove unistd.h-t.
63179
63180 2006-03-03  Simon Josefsson  <jas@extundo.com>
63181
63182         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
63183
63184 2006-03-03  Simon Josefsson  <jas@extundo.com>
63185
63186         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
63187         libidn and bison.
63188
63189 2006-03-03  Simon Josefsson  <jas@extundo.com>
63190
63191         * build-aux/maint.mk: Add indent target.
63192
63193 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
63194
63195         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
63196         our replacement poll.h in any case, to avoid a differing
63197         declaration from a system header.  Seen on AIX.
63198
63199 2006-03-01  Simon Josefsson  <jas@extundo.com>
63200
63201         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
63202         <kasal@ucw.cz>.
63203
63204 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63205
63206         * modules/gettime (Depends-on): Add extensions module.
63207         * modules/nanosleep (Depends-on): Likewise.
63208         * modules/settime (Depends-on): Likewise.
63209
63210 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63211
63212         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
63213         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
63214         pedantically.
63215         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63216         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
63217
63218         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
63219         not "==".  Reported by Ralf Wildenhues.
63220
63221 2006-03-01  Karl Berry  <karl@gnu.org>
63222
63223         * doc/Copyright/request-*: new files, synced from gnuorg.
63224
63225 2006-03-01  Karl Berry  <karl@gnu.org>
63226
63227         * config/srclist.txt (Copyright/*): new entries.
63228
63229 2006-02-28  Simon Josefsson  <jas@extundo.com>
63230
63231         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
63232
63233 2006-02-27  Simon Josefsson  <jas@extundo.com>
63234
63235         * lib/base64.h: Indent #define's.  From Jim Meyering
63236         <jim@meyering.net>.
63237
63238 2006-02-27  Jim Meyering  <jim@meyering.net>
63239
63240         Revert the change of 2006-02-24, so these files can continue
63241         to be sync'd from gettext.
63242         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
63243         of `config.h'.
63244
63245 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
63246
63247         * modules/intprops: New file.
63248         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
63249         Add intprops.
63250         * modules/getloadavg (Files): Remove lib/intprops.h.
63251         (Depends-on): Add intprops.
63252         * modules/human: Likewise.
63253         * modules/inttostr: Likewise.
63254         * modules/openat: Likewise.
63255         * modules/sig2str: Likewise.
63256         * modules/userspec: Likewise.
63257         * modules/utimecmp: Likewise.
63258         * modules/xnanosleep: Likewise.
63259         * modules/xstrtol: Likewise.
63260
63261 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
63262
63263         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
63264         * modules/lock-tests (TESTS): Use $(EXEEXT).
63265         * modules/tls-tests: Likewise.
63266         * modules/argp-tests: Likewise.
63267         (check_PROGRAMS): New var, replacing...
63268         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
63269
63270 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63271
63272         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
63273         `config.h'.
63274
63275 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
63276
63277         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
63278
63279 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63280
63281         Sync from coreutils.
63282         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
63283         gl_CHDIR_SAFER.
63284
63285 2006-02-22  Jim Meyering  <jim@meyering.net>
63286
63287         Sync from coreutils.
63288         * m4/chdir-safer.m4: New file.
63289
63290 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
63291
63292         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
63293         AT_FDCWD exceeds INT_MAX.
63294         * lib/openat.h (AT_FDCWD): Likewise.
63295
63296 2006-02-17  Eric Blake  <address@hidden>
63297
63298         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
63299
63300 2006-02-16  Simon Josefsson  <jas@extundo.com>
63301
63302         * modules/getaddrinfo (Depends-on): Add sys_socket.
63303
63304 2006-02-15  Simon Josefsson  <jas@extundo.com>
63305
63306         * build-aux/maint.mk: Add dsyntax-check rule.
63307
63308 2006-02-15  Eric Blake  <ebb9@byu.net>
63309
63310         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
63311         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
63312         'present but cannot compile' warnings on cygwin.
63313         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
63314         use ws2tcpip.h if sys/socket.h works.
63315         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
63316         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
63317
63318 2006-02-14  Simon Josefsson  <jas@extundo.com>
63319
63320         * modules/maintainer-makefile (Files): Rename.
63321
63322         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
63323         and (the local) Makefile.cfg to maint-cfg.mk.
63324
63325         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
63326         to the latter.
63327
63328         * modules/maintainer-makefile: New module.
63329
63330         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
63331         severaly stripped to make it possible to build it up from scratch
63332         with reliable tests.
63333
63334         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
63335         fixes to permit overriding the default actions when configure and
63336         makefile are not available.
63337
63338 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
63339
63340         Sync from coreutils.
63341         * modules/lstat (Depends-on): Don't depend on xalloc.
63342         (License): Change from GPL to LGPL, since this is now simply a
63343         replacement for a libc function.
63344
63345 2006-02-14  Jim Meyering  <jim@meyering.net>
63346
63347         Sync from coreutils.
63348
63349         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
63350         failure on deficient systems, and simplify gnulib lgpl dependencies.
63351         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
63352         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
63353
63354         * lib/xalloc-die.c: Remove unused definition of N_.
63355
63356 2006-02-14  Jim Meyering  <jim@meyering.net>
63357
63358         Sync from coreutils.
63359         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
63360         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
63361         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
63362         double-quote uses of that variable, to accommodate the rare case in
63363         which getmntent is available in none of the libraries checked.  This
63364         happens at least on FreeBSD 5.0.
63365
63366 2006-02-13  Simon Josefsson  <jas@extundo.com>
63367
63368         * gnulib-tool (Usage): Fix --import, from
63369         karl@freefriends.org (Karl Berry).
63370
63371 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63372
63373         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
63374
63375 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
63376
63377         * lib/argp-namefrob.h: Restore changes accidentally lost during the
63378         "autoupdate" on 2005-12-12.
63379
63380 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63381
63382         * modules/closeout (Depends-on): Remove atexit.
63383
63384 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63385
63386         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
63387         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
63388
63389 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63390
63391         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
63392         __EXTENSIONS__ if this causes compilation to fail.  Problem
63393         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
63394         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
63395
63396 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
63397
63398         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
63399         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
63400         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
63401         All uses changed.
63402
63403 2006-01-26  Simon Josefsson  <jas@extundo.com>
63404
63405         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
63406         prototype is visible on mingw32.
63407
63408         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
63409         for mingw32.
63410
63411         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
63412         mingw32).
63413
63414 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63415
63416         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
63417         attempt to open for write; this always fails, at least on POSIX
63418         hosts.  This reinstates the 2006-01-09 change, which was
63419         inadvertently removed.
63420
63421 2006-01-26  Bruno Haible  <bruno@clisp.org>
63422
63423         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
63424         Reported by Paul Eggert.
63425
63426 2006-01-26  Bruno Haible  <bruno@clisp.org>
63427             Paul Eggert  <eggert@cs.ucla.edu>
63428
63429         * lib/stdbool_.h (_Bool)
63430         [(! (defined __cplusplus || defined __BEOS__)
63431           && !defined __GNUC__
63432           && !(defined __HP_cc || defined __xlc__
63433                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
63434                || defined __sgi))]:
63435         #define to signed char in these cases too; this simplifies
63436         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
63437         etc., separately) and makes it more conservative.
63438
63439 2006-01-25  Simon Josefsson  <jas@extundo.com>
63440
63441         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
63442         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
63443         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
63444
63445 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
63446
63447         * lib/argp-namefrob.h: Bugfix. Remove stray #
63448
63449 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
63450
63451         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
63452         so that we test the test.
63453         Check for yet another HP-UX cc bug involving *bool |= bool.
63454
63455 2006-01-25  Karl Berry  <karl@gnu.org>
63456
63457         * config/srclist.txt (vasnprintf.c): sync lost.
63458
63459 2006-01-25  Jim Meyering  <jim@meyering.net>
63460
63461         Sync from the stable (b5) branch of coreutils:
63462
63463         * lib/fts.c (fts_children): Don't let close() clobber errno from
63464         failed fchdir().
63465
63466         * lib/fts.c (fts_stat): When following a symlink-to-directory,
63467         don't necessarily interpret stat-fails+lstat-succeeds as indicating
63468         a dangling symlink.  That can also happen at least for ELOOP.
63469         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
63470         FYI, this bug predates the inclusion of fts.c in coreutils.
63471
63472         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
63473         in their own block, so pre-c99 compilers don't object.
63474
63475         Avoid the double-free (first in fts_read, second in fts_close) that
63476         would occur when an `active' directory is made inaccessible (e.g.,
63477         via chmod a-x) during a traversal.
63478         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63479         before returning.  Reproduce this failure by
63480         mkdir -p a/b; cd a; chmod a-x . b
63481         Reported by Stavros Passas.
63482
63483 2006-01-25  Jim Meyering  <jim@meyering.net>
63484
63485         * lib/fileblocks.c: Remove more useless parentheses.
63486         * lib/readutmp.h: Likewise.
63487
63488 2006-01-25  Bruno Haible  <bruno@clisp.org>
63489
63490         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
63491         warnings.
63492         Reported by Paul Eggert.
63493
63494 2006-01-25  Bruno Haible  <bruno@clisp.org>
63495
63496         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
63497         rid of a trap command. For Solaris sh.
63498         Reported by Mark D. Baushke <mdb@gnu.org>.
63499
63500 2006-01-24  Simon Josefsson  <jas@extundo.com>
63501
63502         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
63503         Bruno.
63504
63505 2006-01-24  Karl Berry  <karl@gnu.org>
63506
63507         * config/srclist.txt (argp-namefrob.h): sync lost.
63508
63509 2006-01-24  Jim Meyering  <jim@meyering.net>
63510
63511         * modules/openat (Files): Add lib/intprops.h.
63512         From Mark D. Baushke.
63513
63514 2006-01-24  Jim Meyering  <jim@meyering.net>
63515
63516         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
63517         Reported by Mark D. Baushke.
63518
63519 2006-01-24  Jim Meyering  <jim@meyering.net>
63520
63521         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
63522
63523 2006-01-24  Bruno Haible  <bruno@clisp.org>
63524
63525         * modules/strnlen (Maintainer): Change from glibc to all.
63526
63527 2006-01-24  Bruno Haible  <bruno@clisp.org>
63528
63529         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
63530         Patch by Paul Eggert.
63531
63532 2006-01-24  Bruno Haible  <bruno@clisp.org>
63533
63534         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
63535         already has it.
63536         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
63537         2005-11-26.
63538
63539         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
63540         'signed char' to avoid problems with the built-in _Bool type.
63541         Reported by Paul Eggert on 2005-11-26.
63542
63543 2006-01-24  Bruno Haible  <bruno@clisp.org>
63544
63545         * gnulib-tool (func_import): Avoid constructing complicated sed
63546         expressions inside backquote.
63547         Report and solution by Mark D. Baushke <mdb@gnu.org>.
63548
63549 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
63550
63551         These changes imported from libc.
63552         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
63553         test and two separate function calls.
63554         * lib/strndup.c (__strndup): Add libc_hidden_def.
63555
63556 2006-01-23  Simon Josefsson  <jas@extundo.com>
63557
63558         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
63559         Remove the test_*_SOURCES variable: automake infers it by default.
63560         * modules/tls-tests: Likewise.
63561
63562 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63563
63564         Work around porting bugs reported by Dieter in
63565         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
63566         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
63567         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
63568         Include "getopt.h" first, to check interface.
63569         (getenv): Declare only if defined HAVE_DECL_GETENV &&
63570         !HAVE_DECL_GETENV.
63571         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
63572         (__strndup): Revert to K&R-style function dfns, the glibc style.
63573         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
63574         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
63575         Include strnlen.h first, to get prototype properly.
63576         (strnlen): Renamed from __strnlen.
63577         Remove weak alias.
63578
63579 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63580
63581         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
63582
63583 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63584
63585         * config/srclist.txt: Adjust to reflect glibc reorganization.
63586         This affects only comments.
63587
63588 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63589
63590          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
63591          Reported by Bruce Korb <bkorb@gnu.org>.
63592
63593 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63594
63595         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
63596         to pacify gcc -Wswitch-default.
63597
63598 2006-01-22  Bruno Haible  <bruno@clisp.org>
63599
63600         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
63601         temporary buffer for sprintf, take into account the precision also
63602         for 'd', 'i', 'u', 'o', 'x', 'X'.
63603
63604 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63605
63606         * modules/argp-tests: New module
63607         * tests/test-argp.c: New file
63608         * tests/test-argp-2.sh: New file
63609
63610 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63611
63612         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
63613         (__argp_base_name): Removed
63614         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
63615         typo.
63616         (__argp_base_name): Provide macro definition or extern declaration
63617         depending on the configuration
63618
63619 2006-01-20  Simon Josefsson  <jas@extundo.com>
63620
63621         * modules/inet_ntop (Depends-on): Depend on sys_socket.
63622
63623 2006-01-20  Simon Josefsson  <jas@extundo.com>
63624
63625         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
63626
63627 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
63628
63629         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
63630         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
63631         Suggested by Bruno Haible.
63632
63633 2006-01-20  Karl Berry  <karl@gnu.org>
63634
63635         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
63636         until changes propagate, I guess.
63637
63638 2006-01-19  Simon Josefsson  <jas@extundo.com>
63639
63640         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
63641
63642 2006-01-19  Simon Josefsson  <jas@extundo.com>
63643
63644         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
63645
63646 2006-01-19  Simon Josefsson  <jas@extundo.com>
63647
63648         * gnulib-tool: Set check_PROGRAMS.
63649
63650         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63651         modules/des-tests, modules/gc-arcfour-tests,
63652         modules/gc-arctwo-tests, modules/gc-des-tests,
63653         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63654         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63655         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63656         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63657         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63658         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
63659         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
63660         test_*_SOURCES.
63661
63662 2006-01-18  Simon Josefsson  <jas@extundo.com>
63663
63664         * modules/socklen (Depends-on): Depend on sys_socket.
63665
63666 2006-01-18  Simon Josefsson  <jas@extundo.com>
63667
63668         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63669         modules/des-tests, modules/gc-arcfour-tests,
63670         modules/gc-arctwo-tests, modules/gc-des-tests,
63671         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63672         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63673         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63674         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63675         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63676         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
63677         $(EXEEXT) to automake TESTS variable, for mingw32.
63678
63679 2006-01-17  Simon Josefsson  <jas@extundo.com>
63680
63681         * modules/socklen (Include): Need sys/socket.h.
63682
63683 2006-01-17  Bruno Haible  <bruno@clisp.org>
63684
63685         * modules/ssize_t (Include): Add <sys/types.h>.
63686
63687 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
63688
63689         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
63690         it's not portable and it doesn't work with cross-compiles.
63691         Problem reported by Bruno Haible.  Fix missing-$ typo in
63692         'test "gl_cv_ignore_unused_libraries" ...' that prevented
63693         -zignore from being used with Sun's C compiler.
63694
63695 2006-01-12  Simon Josefsson  <jas@extundo.com>
63696
63697         * lib/base64.c: Fix warning, reported by Bruno Haible
63698         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
63699
63700 2006-01-12  Bruno Haible  <bruno@clisp.org>
63701
63702         * modules/ldd: New file.
63703         * build-aux/ldd.sh.in: New file.
63704         * MODULES.html.sh (Support for building libraries and executables): Add
63705         ldd.
63706
63707 2006-01-12  Bruno Haible  <bruno@clisp.org>
63708
63709         * m4/ldd.m4: New file.
63710
63711 2006-01-12  Bruno Haible  <bruno@clisp.org>
63712
63713         * gnulib-tool (func_import, func_create_testdir): Don't go into an
63714         endless loop while replacing $auxdir with build-aux.
63715
63716 2006-01-11  Simon Josefsson  <jas@extundo.com>
63717
63718         * lib/stdint_.h (SIZE_MAX): Add missing (.
63719
63720 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
63721
63722         Sync from coreutils.
63723         * lib/md5.c: Fix commentary typos.
63724         (alignof, UNALIGNED_P): No need for a GCC-specific version.
63725         * lib/md5.h (__attribute__): Remove; unused.
63726         * lib/sha1.c: Fix commentary to match md5 better.
63727         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
63728         so that we don't need to worry about alignment.  All uses changed.
63729         This merges the 2005-10-28 md5 change into sha1.
63730
63731 2006-01-11  Jim Meyering  <jim@meyering.net>
63732
63733         Sync from coreutils.
63734         * lib/md5.c (OP): Fix spacing.
63735
63736 2006-01-11  Bruno Haible  <bruno@clisp.org>
63737
63738         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63739         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
63740         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
63741
63742 2006-01-11  Bruno Haible  <bruno@clisp.org>
63743
63744         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63745         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
63746         the "early" section as well.
63747
63748 2006-01-11  Bruno Haible  <bruno@clisp.org>
63749
63750         Avoid "ar: no archive members specified" error on MacOS X.
63751         * gnulib-tool (func_modules_add_dummy): New function.
63752         (func_import, func_create_testdir): Invoke it.
63753
63754 2006-01-11  Bruno Haible  <bruno@clisp.org>
63755
63756         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
63757         with $auxdir in AC_CONFIG_FILES statements.
63758
63759 2006-01-11  Bruno Haible  <bruno@clisp.org>
63760
63761         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63762         Initialize also noinst_HEADERS to empty.
63763
63764 2006-01-11  Bruno Haible  <bruno@clisp.org>
63765
63766         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
63767         variables.
63768         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
63769         autoreconf.
63770
63771 2006-01-11  Bruno Haible  <bruno@clisp.org>
63772
63773         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
63774         overridable by the user.
63775         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63776
63777 2006-01-10  Simon Josefsson  <jas@extundo.com>
63778
63779         * modules/sys_socket: New file.
63780
63781 2006-01-10  Simon Josefsson  <jas@extundo.com>
63782
63783         * m4/sys_socket_h.m4: New file.
63784
63785 2006-01-10  Simon Josefsson  <jas@extundo.com>
63786
63787         * lib/socket_.h: New file.
63788
63789 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63790
63791         * modules/readutmp (Maintainer): Add myself.
63792
63793 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63794
63795         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
63796         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
63797         People who are still concerned with buggy memcmp implementations
63798         can invoke gl_FUNC_MEMCMP themselves.
63799
63800 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63801
63802         * lib/regex_internal.h (BITSET_WORD_BITS):
63803         Work around a bug in 64-bit PGC (before version 6.1-2), where the
63804         preprocessor mishandles large unsigned values as if they were signed.
63805         Problem reported by Claudio Fontana in
63806         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
63807
63808 2006-01-10  Jim Meyering  <jim@meyering.net>
63809
63810         Avoid the double-free (first in fts_read, second in fts_close) that
63811         would occur when an `active' directory is made inaccessible (e.g.,
63812         via chmod a-x) during a traversal.
63813         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63814         before returning.  Reproduce this failure by
63815         mkdir -p a/b; cd a; chmod a-x . b
63816         Reported by Stavros Passas.
63817
63818         Sync from coreutils.
63819         * lib/sha1.c: Tweak grammar in a comment.
63820
63821 2006-01-10  Jim Meyering  <jim@meyering.net>
63822
63823         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
63824         Patch by Joerg Sonnenberger.
63825
63826 2006-01-10  Bruno Haible  <bruno@clisp.org>
63827
63828         * modules/readutmp: Depend on module free.
63829         * modules/strtok_r: Depend on module restrict.
63830
63831 2006-01-10  Bruno Haible  <bruno@clisp.org>
63832
63833         * modules/gettext (configure.ac): Add an invocation of
63834         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
63835
63836 2006-01-10  Bruno Haible  <bruno@clisp.org>
63837
63838         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
63839         Reported by Werner Lemberg <wl@gnu.org>.
63840
63841 2006-01-10  Bruno Haible  <bruno@clisp.org>
63842
63843         * lib/localcharset.c: Update from GNU gettext.
63844
63845 2006-01-10  Bruno Haible  <bruno@clisp.org>
63846
63847         * lib/argp.h (__const): Remove macro. Use const instead.
63848         * lib/argp-fmtstream.h (__const): Likewise.
63849         * lib/glob_.h (__const): Remove macro.
63850         * lib/glob-libc.h: Use const instead of __const.
63851
63852 2006-01-10  Bruno Haible  <bruno@clisp.org>
63853
63854         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
63855         variable.
63856         Needed to avoid an automake error regarding the 'gettext' module.
63857
63858 2006-01-09  Simon Josefsson  <jas@extundo.com>
63859
63860         * modules/inet_ntop (Depends-on): Add restrict.
63861
63862 2006-01-09  Simon Josefsson  <jas@extundo.com>
63863
63864         * modules/gc-rijndael-tests (License): Put under LGPL.
63865
63866         * modules/gc-des-tests (License): Likewise.
63867
63868         * modules/gc-arcfour-tests (License): Likewise.
63869
63870         * modules/gc-arctwo-tests (License): Likewise.
63871
63872         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
63873
63874         * modules/gc-hmac-sha1-tests (Files): Likewise.
63875
63876         * modules/gc-hmac-md5-tests (License): Likewise.
63877
63878         * modules/gc-sha1-tests (License): Likewise.
63879
63880         * modules/gc-md5-tests (License): Likewise.
63881
63882         * modules/gc-md4-tests (License): Likewise.
63883
63884         * modules/gc-md2-tests (License): Likewise.
63885
63886         * modules/gc-tests (License): Likewise.
63887
63888         * modules/des-tests (License): Likewise.
63889
63890         * modules/md4-tests (License): Likewise.
63891
63892         * modules/md2-tests (License): Likewise.
63893
63894 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63895
63896         Sync from coreutils:
63897
63898         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
63899         * modules/lib-ignore: New file.
63900         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
63901         chdir-safer.m4, lchmod.m4.
63902         * modules/openat: Add mkdirat.c, openat-priv.h.
63903
63904 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63905
63906         Sync from coreutils.
63907         * m4/lib-ignore.m4: New file.
63908         * m4/lchmod.m4: New file.
63909
63910 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63911
63912         Sync from coreutils.
63913         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
63914         for write access: POSIX says that must fail.
63915         * lib/fts.c (diropen): Likewise.
63916         * lib/save-cwd.c (save_cwd): Likewise.
63917         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
63918         well, for minor improvements on hosts that lack O_DIRECTORY.
63919         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
63920         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
63921         Fall back on chown if open failed with EACCES.
63922
63923         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
63924         Report an error at compile-time if only a 1-second nominal clock
63925         resolution is found.
63926
63927         * lib/lchmod.h: New file.
63928         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
63929         (make_dir_parents): Use lchown rather than chown, and
63930         lchmod rather than chmod.
63931
63932         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
63933         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
63934         "proc" reported by n0dalus.
63935
63936         * lib/mountlist.c: Include <limits.h>.
63937         (dev_from_mount_options)
63938         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
63939         New function.  It no longer assumes "dev=" has the System V meaning
63940         on Linux (since it doesn't).  It also parses "dev=" more carefully.
63941         (read_file_system_list)
63942         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
63943         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
63944         dev= in that case.
63945
63946         * lib/posixtm.h (PDS_PRE_2000): New macro.
63947         * lib/posixtm.c (year): Arg is now syntax_bits rather than
63948         allow_century.  All usages changed.  Reject dates outside the range
63949         1969-1999 if PDS_PRE_2000 is used.
63950
63951 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63952
63953         Sync from coreutils.
63954         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
63955         (Time of day items): Mention the possibility of leap seconds.
63956         Problem reported by Dr. David Alan Gilbert.
63957
63958 2006-01-09  Jim Meyering  <jim@meyering.net>
63959
63960         Sync from coreutils.
63961
63962         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
63963
63964         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
63965
63966         * lib/modechange.c (mode_compile): Reject an invalid mode string
63967         that starts with an octal digit.  From Andreas Gruenbacher.
63968
63969         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
63970         and dup to open_safer and dup_safer, respectively.
63971         (openat_permissive): Fix typo in comment.
63972
63973         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
63974         "gettext.h"; either no longer needed or are guaranteed by openat.h.
63975         (_): Remove; no longer needed.
63976         (openat): Renamed from rpl_openat; no need for rpl_openat
63977         since openat.h renames openat for us.
63978         Replace most of the body with a call to openat_permissive,
63979         to avoid duplicate code.
63980         Port to (probably hypothetical) environments were mode_t is
63981         wider than int.
63982         (openat_permissive): Require mode arg, so that we can check
63983         types better.  Put it just after flags.  Change cwd failure
63984         indicator from pointer-to-bool to pointer-to-errno-value.
63985         All callers changed.
63986         Invoke openat_save_fail and/or openat_restore_fail if
63987         cwd_errno is null, so that openat can call us.
63988         (openat_permissive, fdopendir, fstatat, unlinkat):
63989         Simplify errno handling to avoid some duplicate code,
63990         as it's OK to set errno on success.
63991         * lib/openat.h: Revamp code so that function macros depend on
63992         __OPENAT_PREFIX only, not also on AT_FDCWD.
63993         (openat_ro): Remove.  Caller changed to use openat_permissive.
63994         (openat_permissive): Now a macro, if not a function.
63995         (openat_restore_fail, openat_save_fail): Now always functions,
63996         since mkdirat needs them even if __OPENAT_PREFIX is defined.
63997
63998         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
63999         and openat.c.
64000         * lib/mkdirat.c: Include openat-priv.h.
64001         Remove definitions of macros defined therein.
64002         * lib/openat.c: Likewise.
64003
64004         * lib/mkdirat.c (mkdirat): New file and function.
64005         * lib/openat.h (mkdirat): Declare.
64006
64007         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
64008
64009         * lib/openat.h (openat_permissive): Declare.
64010         (openat_ro): Define.
64011
64012         * lib/openat.c (EXPECTED_ERRNO): New macro.
64013         (openat_permissive): New function -- used in remove.c rewrite.
64014         (all functions): Set errno just before returning, only if there
64015         was an actual failure.
64016         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
64017
64018         Emulate openat-family functions using Linux's procfs, if possible.
64019         Idea and some code based on Ulrich Drepper's glibc changes.
64020
64021         * lib/openat.c: (BUILD_PROC_NAME): New macro.
64022         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
64023         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
64024         before falling back on save_cwd and restore_cwd.
64025         (fdopendir, fstatat, unlinkat): Likewise.
64026
64027         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
64028         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
64029
64030         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
64031         as second argument to va_arg.  Otherwise, some versions of gcc
64032         warn that `if this code is reached, the program will abort'.
64033
64034 2006-01-09  Jim Meyering  <jim@meyering.net>
64035
64036         Sync from coreutils.
64037         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
64038         Require openat-priv.h.
64039
64040 2006-01-09  Bruno Haible  <bruno@clisp.org>
64041
64042         * modules/strnlen (Include): Use strnlen.h.
64043
64044 2006-01-09  Bruno Haible  <bruno@clisp.org>
64045
64046         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
64047
64048 2006-01-09  Bruno Haible  <bruno@clisp.org>
64049
64050         * lib/sysexit_.h (EX_OK): New macro.
64051         Suggested by Martin Lambers <marlam@marlam.de>.
64052
64053 2006-01-09  Bruno Haible  <bruno@clisp.org>
64054
64055         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
64056         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
64057
64058 2006-01-09  Bruno Haible  <bruno@clisp.org>
64059
64060         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
64061         numbers.
64062
64063 2006-01-09  Bruno Haible  <bruno@clisp.org>
64064
64065         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
64066         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
64067         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
64068         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
64069
64070 2006-01-09  Bruno Haible  <bruno@clisp.org>
64071
64072         * build-aux/javacomp.sh.in: New file, moved from lib/.
64073         * modules/javacomp-script (Files): Update.
64074         (configure.ac): Add AC_CONFIG_FILES invocation.
64075         (EXTRA_DIST): Remove variable.
64076
64077         * build-aux/javaexec.sh.in: New file, moved from lib/.
64078         * modules/javaexec (Files): Update.
64079         (configure.ac): Add AC_CONFIG_FILES invocation.
64080         (EXTRA_DIST): Remove javaexec.sh.in.
64081
64082         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
64083         * modules/csharpcomp-script (Files): Update.
64084         (configure.ac): Add AC_CONFIG_FILES invocation.
64085         (EXTRA_DIST): Remove variable.
64086
64087         * build-aux/csharpexec.sh.in: New file, moved from lib/.
64088         * modules/csharpexec (Files): Update.
64089         (configure.ac): Add AC_CONFIG_FILES invocation.
64090         (EXTRA_DIST): Remove csharpexec.sh.in.
64091
64092 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64093
64094         Sync from coreutils.
64095
64096         Add POSIX ACL support
64097         * lib/acl.h (copy_acl, set_acl): Add declarations.
64098         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
64099         systems other than Linux.
64100         (chmod_or_fchmod): New function: use fchmod when possible,
64101         and chmod otherwise.
64102         (file_has_acl): Add a POSIX ACL implementation, with a
64103         Linux-specific subcase.
64104         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
64105         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
64106         acls are unsupported.
64107         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
64108         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
64109         are unsupported.
64110
64111 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64112
64113         Sync from coreutils.
64114         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
64115
64116 2006-01-07  Bruno Haible  <bruno@clisp.org>
64117
64118         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
64119         gl_EARLY.
64120
64121 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64122
64123         * lib/strftime.c (tzname): Don't declare if it is already #defined.
64124         Problem reported for Mingw by Mark Junker.
64125
64126 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64127
64128         * README: Gnulib normally doesn't generate a tarball.
64129
64130 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
64131
64132         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
64133         long int, not int, for nanosecond counts, so that people who are
64134         used to POSIX struct timespec won't be surprised.  Reported by Jim
64135         Meyering.
64136
64137 2005-12-28  Bruno Haible  <bruno@clisp.org>
64138
64139         * build-aux/config.rpath: Update from GNU gettext.
64140
64141 2005-12-16  Jim Meyering  <jim@meyering.net>
64142
64143         * modules/fprintftime: New module.
64144         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
64145
64146 2005-12-16  Jim Meyering  <jim@meyering.net>
64147
64148         * m4/fprintftime.m4: New file.
64149
64150 2005-12-16  Jim Meyering  <jim@meyering.net>
64151
64152         * lib/fprintftime.c, lib/fprintftime.h: New files.
64153
64154 2005-12-15  Simon Josefsson  <jas@extundo.com>
64155
64156         * modules/socklen (configure.ac): Fix M4 macro name, to align with
64157         new m4/socklen.m4.
64158
64159 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64160
64161         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
64162         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
64163
64164 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64165
64166         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
64167         * lib/argp-help.c (fill_in_uparams): Check if the constructed
64168         struct uparams is valid. Fall back to the default values if it is
64169         not.
64170
64171 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64172
64173         * modules/argp (Files): Add argp-pin.c
64174         (Depends-on): dirname
64175         (lib_SOURCES): Add argp-pin.c
64176
64177 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64178
64179         * m4/argp.m4:  Check if program_invocation_name and
64180         program_invocation_short_name are declared and define appropriate
64181         macros if they are not.
64182
64183 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64184
64185         * lib/argp-help.c (__argp_base_name): New function
64186         (__argp_short_program_name): Rewrite using __argp_base_name
64187         * lib/argp-namefrob.h: Define program_invocation_name and
64188         program_invocation_short_name if requested
64189         (__argp_base_name): Add prototype
64190         * lib/argp-parse.c (argp_def): Use gettext wrappers
64191         (argp_default_parser): Use __argp_base_name
64192         * lib/argp-pin.c: New file. Defines program_invocation_name and
64193         program_invocation_short_name on systems that lack them.
64194
64195 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64196
64197         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
64198         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64199         porting problem reported by Georg Schwarz in
64200         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64201
64202 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64203
64204         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
64205         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64206         porting problem reported by Georg Schwarz in
64207         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64208
64209 2005-12-05  Bruno Haible  <bruno@clisp.org>
64210
64211         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
64212         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
64213         Reported by Mark Junker <mjscod@gmx.de>.
64214
64215 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
64216
64217         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
64218         Use implementation from Albert Chin, with some
64219         comments/corrections by Stepan Kasal and myself.
64220
64221 2005-12-02  Bruno Haible  <bruno@clisp.org>
64222
64223         * gnulib-tool (func_import): Accept GPLed build tool modules when
64224         --lgpl is given.
64225         * modules/csharpcomp-script: New file.
64226         * modules/csharpcomp: Depend on it.
64227         * modules/javacomp-script: New file.
64228         * modules/javacomp: Depend on it.
64229         Suggested by Simon Josefsson.
64230
64231 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
64232
64233         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
64234         statement, to work around an HP-UX 10.20 compiler bug reported by
64235         Peter O'Gorman.
64236
64237 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64238
64239         * modules/savedir (Depends-on): Add openat.
64240
64241 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64242
64243         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
64244         (uintmax_t) [defined uintmax_t]: Do not declare.
64245         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
64246         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
64247         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
64248         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
64249         sake of portability to weird hosts that C allows (though we don't
64250         know of any practical examples).
64251
64252         * lib/savedir.h (fdsavedir): New decl.
64253         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
64254         contains most of the former guts of savedir.
64255         (savedir): Use savedirstream.
64256         Include "openat.h".
64257
64258 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64259
64260         * modules/obstack (Files): Add m4/ulonglong.m4.
64261         Problem reported by Davide Angelocola.
64262
64263 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64264
64265         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
64266         coreutils no longer futzes with rounding modes.
64267
64268 2005-11-14  Jim Meyering  <jim@meyering.net>
64269
64270         * lib/mkstemp-safer.c: Include <config.h>, required for possible
64271         replacement of mkstemp.
64272
64273 2005-11-10  Simon Josefsson  <jas@extundo.com>
64274
64275         * lib/readline.c: Remove EOL.
64276
64277 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64278
64279         * modules/gethrxtime (Depends-on): Add gettime.
64280
64281 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64282
64283         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
64284         or gettimeofday; no longer needed.
64285
64286 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64287
64288         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
64289         time business.
64290         (gethrxtime) [! (HAVE_NANOUPTIME
64291         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
64292         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
64293         our own approximation.
64294
64295 2005-11-08  Eric Blake  <ebb9@byu.net>
64296
64297         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64298
64299 2005-11-08  Eric Blake  <ebb9@byu.net>
64300
64301         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64302
64303 2005-11-04  Bruno Haible  <bruno@clisp.org>
64304
64305         * gnulib-tool: Implement --update mode.
64306
64307 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64308
64309         Fix porting problem reported by Theodoros V. Kalamatianos.
64310         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
64311         Don't assume that futimes failing means we must fail.
64312
64313 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64314
64315         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
64316         variables to suggest the intended function of the PATH_MAX check.
64317
64318 2005-10-30  Kean Johnston  <jkj@sco.com>
64319
64320         Trivial changes to support SCO systems.
64321         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
64322         as PATH_MAX.
64323         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
64324         where __ptr is null when no I/O is pending.
64325
64326 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
64327
64328         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
64329         leave errno alone.  Problem reported by Dmitry V. Levin.
64330
64331 2005-10-28  Simon Josefsson  <jas@extundo.com>
64332
64333         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
64334         Test more.
64335
64336         * tests/test-gc-md2.c, tests/test-md2.c: New files.
64337
64338         * modules/md2, modules/md2-tests: New files.
64339
64340 2005-10-28  Simon Josefsson  <jas@extundo.com>
64341
64342         * m4/inet_ntop.m4: More tests.
64343
64344         * m4/gc-md2.m4, md2.m4: New file.
64345
64346 2005-10-28  Simon Josefsson  <jas@extundo.com>
64347
64348         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
64349         "restrict" keywords, as per POSIX.  Protect the function
64350         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
64351         Don't use K&R prototypes.  Check the sprintf return values.
64352         Re-define EAFNOSUPPORT if not present.  Indent.
64353
64354         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
64355         suggested by Bruno Haible <bruno@clisp.org>.
64356
64357         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
64358
64359         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
64360
64361         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
64362         libgcrypt).
64363
64364         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
64365
64366         * lib/md2.h, lib/md2.c: New files.
64367
64368 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
64369
64370         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
64371         errno alone.  Problem reported by Frederic Jolliton.
64372
64373 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
64374
64375         * modules/verify (License): Change from GPL to LGPL.  This is a
64376         tiny module and there are apparently near-equivalents that are
64377         under the BSD license.
64378
64379 2005-10-24  Simon Josefsson  <jas@extundo.com>
64380
64381         * modules/sha1: Relicense to LGPL.
64382
64383 2005-10-24  Simon Josefsson  <jas@extundo.com>
64384
64385         * lib/md4.h: Shrink buffer size, now that we changed the type.
64386
64387 2005-10-23  Simon Josefsson  <jas@extundo.com>
64388
64389         * gnulib-tool (func_import): Fix --tests-base.
64390
64391 2005-10-22  Simon Josefsson  <jas@extundo.com>
64392
64393         * modules/arcfour (Depends-on): Need stdint.
64394
64395 2005-10-22  Simon Josefsson  <jas@extundo.com>
64396
64397         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
64398         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
64399
64400 2005-10-22  Simon Josefsson  <jas@extundo.com>
64401
64402         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
64403         suggested by Bruno Haible <bruno@clisp.org>.
64404
64405 2005-10-22  Simon Josefsson  <jas@extundo.com>
64406
64407         * lib/crc.h: Include stddef.h, for size_t.
64408
64409 2005-10-22  Simon Josefsson  <jas@extundo.com>
64410
64411         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
64412         arcfour_context struct (simplify test vector testing in GNU
64413         Shishi).
64414
64415 2005-10-21  Simon Josefsson  <jas@extundo.com>
64416
64417         * modules/des, modules/des-tests: New files.
64418
64419         * modules/gc-des, modules/gc-des-tests: New files.
64420
64421         * tests/test-des.c, tests/test-gc-des.c: New file.
64422
64423 2005-10-21  Simon Josefsson  <jas@extundo.com>
64424
64425         * modules/arctwo, modules/arctwo-tests: New files.
64426
64427         * tests/test-arctwo.c: New file.
64428
64429         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
64430
64431         * tests/test-gc-arctwo.c: New file.
64432
64433 2005-10-21  Simon Josefsson  <jas@extundo.com>
64434
64435         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
64436         Bruno Haible <bruno@clisp.org>.
64437
64438         * m4/gc-des.m4: New file.
64439
64440 2005-10-21  Simon Josefsson  <jas@extundo.com>
64441
64442         * m4/arctwo.m4: New file.
64443
64444         * m4/gc-arctwo.m4: New file.
64445
64446 2005-10-21  Simon Josefsson  <jas@extundo.com>
64447
64448         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
64449         block.
64450
64451 2005-10-21  Simon Josefsson  <jas@extundo.com>
64452
64453         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
64454         <bruno@clisp.org>.
64455
64456         * lib/hmac-sha1.c (hmac_sha1): Likewise.
64457
64458         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
64459         Bruno Haible <bruno@clisp.org>.
64460
64461         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
64462         <bruno@clisp.org>.
64463
64464 2005-10-21  Simon Josefsson  <jas@extundo.com>
64465
64466         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
64467
64468 2005-10-21  Simon Josefsson  <jas@extundo.com>
64469
64470         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
64471
64472 2005-10-21  Simon Josefsson  <jas@extundo.com>
64473
64474         * lib/des.h, lib/des.c: New files.
64475
64476         * lib/gc-gnulib.c: Support DES.c
64477
64478 2005-10-21  Simon Josefsson  <jas@extundo.com>
64479
64480         * lib/arctwo.h, lib/arctwo.c: New files.
64481
64482         * lib/gc-gnulib.c: Support ARCTWO.
64483
64484 2005-10-21  Simon Josefsson  <jas@extundo.com>
64485
64486         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
64487         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64488
64489 2005-10-21  Simon Josefsson  <jas@extundo.com>
64490
64491         * gnulib-tool (func_import, func_create_testdir): Define automake
64492         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
64493         Makefile.am snippet),
64494         suggested by Bruno Haible <bruno@clisp.org>.
64495
64496         * modules/gc (Makefile.am): Use it.
64497
64498 2005-10-21  Bruno Haible  <bruno@clisp.org>
64499
64500         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
64501         patch.
64502
64503 2005-10-19  Simon Josefsson  <jas@extundo.com>
64504
64505         * tests/test-gc-rijndael.c: New file.
64506
64507         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
64508
64509 2005-10-19  Simon Josefsson  <jas@extundo.com>
64510
64511         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
64512         interface too.
64513
64514 2005-10-19  Simon Josefsson  <jas@extundo.com>
64515
64516         * tests/test-gc-arcfour.c: New file.
64517
64518         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
64519
64520 2005-10-19  Simon Josefsson  <jas@extundo.com>
64521
64522         * modules/gc-md4, modules/gc-md4-tests: New file.
64523
64524         * tests/test-gc-md4.c: New file.
64525
64526 2005-10-19  Simon Josefsson  <jas@extundo.com>
64527
64528         * m4/gc-md4.m4: New file.
64529
64530 2005-10-19  Simon Josefsson  <jas@extundo.com>
64531
64532         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
64533         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
64534         <kasal@ucw.cz>.
64535
64536 2005-10-19  Simon Josefsson  <jas@extundo.com>
64537
64538         * m4/gc-arcfour.m4: New file.
64539
64540         * m4/gc-rijndael.m4: New file.
64541
64542 2005-10-19  Simon Josefsson  <jas@extundo.com>
64543
64544         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
64545
64546 2005-10-19  Simon Josefsson  <jas@extundo.com>
64547
64548         * lib/gc-gnulib.c: Support ARCFOUR.
64549
64550 2005-10-19  Simon Josefsson  <jas@extundo.com>
64551
64552         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
64553         support.
64554
64555         * lib/gc.h: Add ECB enum type.
64556
64557         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
64558
64559 2005-10-18  Simon Josefsson  <jas@extundo.com>
64560
64561         * tests/test-md5.c: New file.
64562
64563         * modules/md5-tests: New file.
64564
64565 2005-10-18  Simon Josefsson  <jas@extundo.com>
64566
64567         * tests/test-md4.c: New file.
64568
64569         * modules/md4, modules/md4-tests: New files.
64570
64571 2005-10-18  Simon Josefsson  <jas@extundo.com>
64572
64573         * m4/md4.m4: New file.
64574
64575 2005-10-18  Simon Josefsson  <jas@extundo.com>
64576
64577         * lib/md4.h, lib/md4.c: New files, based on md5.?.
64578
64579 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
64580
64581         * gnulib-tool (func_create_testdir): Omit the second check whether
64582         BUILT_SOURCES in nonempty.
64583
64584 2005-10-17  Simon Josefsson  <jas@extundo.com>
64585
64586         * tests/test-rijndael.c: New file.
64587
64588 2005-10-17  Simon Josefsson  <jas@extundo.com>
64589
64590         * modules/sha1: Depend on stdint instead of md5.
64591
64592         * modules/md5: Depend on stdint, remove uint32_t.
64593
64594 2005-10-17  Simon Josefsson  <jas@extundo.com>
64595
64596         * modules/gc-sha1-tests: New file.
64597
64598         * tests/test-gc-sha1.c: New file.
64599
64600 2005-10-17  Simon Josefsson  <jas@extundo.com>
64601
64602         * m4/md5.m4: Remove call to uint32_t.m4.
64603
64604 2005-10-17  Simon Josefsson  <jas@extundo.com>
64605
64606         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
64607
64608         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
64609         md5.h.
64610
64611         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
64612
64613         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
64614
64615 2005-10-17  Simon Josefsson  <jas@extundo.com>
64616
64617         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
64618
64619 2005-10-17  Simon Josefsson  <jas@extundo.com>
64620
64621         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
64622
64623 2005-10-17  Simon Josefsson  <jas@extundo.com>
64624
64625         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
64626
64627         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
64628
64629 2005-10-17  Bruno Haible  <bruno@clisp.org>
64630
64631         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
64632         that it can also be used in a test.
64633
64634 2005-10-16  Bruno Haible  <bruno@clisp.org>
64635
64636         * gnulib-tool (func_emit_tests_Makefile_am): Also define
64637         TESTS_ENVIRONMENT, so that individual tests can augment it.
64638
64639         * gnulib-tool (func_create_testdir): Use an intermediate target for
64640         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
64641         macros, like $(ALLOCA_H), which cannot be passed through the command
64642         line.
64643
64644 2005-10-15  Simon Josefsson  <jas@extundo.com>
64645
64646         * modules/rijndael-tests: New file.
64647
64648         * modules/rijndael: New file.
64649
64650 2005-10-15  Simon Josefsson  <jas@extundo.com>
64651
64652         * m4/rijndael.m4: New file.
64653
64654 2005-10-15  Simon Josefsson  <jas@extundo.com>
64655
64656         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
64657
64658         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
64659
64660 2005-10-14  Simon Josefsson  <jas@extundo.com>
64661
64662         * tests/test-arcfour.c: New file.
64663
64664         * modules/arcfour, modules/arcfour-tests: New files.
64665
64666 2005-10-14  Simon Josefsson  <jas@extundo.com>
64667
64668         * m4/arcfour.m4: New file.
64669
64670 2005-10-14  Simon Josefsson  <jas@extundo.com>
64671
64672         * lib/arcfour.h, lib/arcfour.c: New files.
64673
64674 2005-10-14  Roland McGrath  <roland@redhat.com>
64675
64676         Import from libc.  [BZ #1331]
64677         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
64678         macro argument.
64679         Reported by Matej Vela <vela@debian.org>.
64680
64681 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64682
64683         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
64684         include <wchar.h>; no longer needed.
64685
64686 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64687
64688         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
64689
64690 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
64691         and  Ulrich Drepper  <drepper@redhat.com>
64692
64693         Import from libc.
64694         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
64695         instead of inline stream orientation test and two separate
64696         function calls.  Pay no attention to USE_IN_LIBIO.
64697
64698 2005-10-13  Simon Josefsson  <jas@extundo.com>
64699
64700         * modules/gc-hmac-md5-tests: New file.
64701
64702         * tests/test-gc-hmac-sha1.c: New file.
64703
64704         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
64705
64706         * modules/gc-hmac-md5-tests: New file.
64707
64708         * tests/test-gc-md5.c: New file.
64709
64710         * modules/gc-md5-tests: New file.
64711
64712 2005-10-13  Simon Josefsson  <jas@extundo.com>
64713
64714         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
64715         Move memory allocation outside of loop.
64716
64717 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64718
64719         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
64720         intermediate directory is in a read-only file system.  Problem
64721         reported by Eric Blake.
64722
64723 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
64724
64725         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
64726
64727 2005-10-12  Simon Josefsson  <jas@extundo.com>
64728
64729         * tests/test-hmac-sha1.c: New file.
64730
64731         * modules/hmac-sha1-tests: New file.
64732
64733         * modules/hmac-sha1: New file.
64734
64735 2005-10-12  Simon Josefsson  <jas@extundo.com>
64736
64737         * modules/gc-sha1: New file.
64738
64739 2005-10-12  Simon Josefsson  <jas@extundo.com>
64740
64741         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
64742
64743         * tests/test-gc-pbkdf2-sha1.c: New file.
64744
64745 2005-10-12  Simon Josefsson  <jas@extundo.com>
64746
64747         * modules/gc-md5, modules/gc-hmac-md5: New files.
64748
64749         * modules/gc (Files): Remove md5, memxor and hmac files.
64750
64751 2005-10-12  Simon Josefsson  <jas@extundo.com>
64752
64753         * m4/gc-pbkdf2-sha1.m4: New file.
64754
64755         * m4/gc-hmac-sha1.m4: New file.
64756
64757         * m4/gc-sha1: New file.
64758
64759         * m4/hmac-sha1.m4: New file.
64760
64761 2005-10-12  Simon Josefsson  <jas@extundo.com>
64762
64763         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
64764
64765         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
64766
64767 2005-10-12  Simon Josefsson  <jas@extundo.com>
64768
64769         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
64770         suggested by Bruno Haible <bruno@clisp.org>.
64771
64772 2005-10-12  Simon Josefsson  <jas@extundo.com>
64773
64774         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
64775
64776 2005-10-12  Simon Josefsson  <jas@extundo.com>
64777
64778         * lib/gc-pbkdf2-sha1.c: New file.
64779
64780         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
64781
64782 2005-10-12  Simon Josefsson  <jas@extundo.com>
64783
64784         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
64785
64786         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
64787
64788 2005-10-12  Simon Josefsson  <jas@extundo.com>
64789
64790         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
64791         GC_USE_HMAC_MD5, respectively.
64792
64793         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
64794         (gc_md5): Fix typo.
64795
64796         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
64797
64798         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
64799
64800         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
64801
64802 2005-10-12  Bruno Haible  <bruno@clisp.org>
64803
64804         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
64805         Reported by Stepan Kasal <kasal@ucw.cz>.
64806
64807 2005-10-11  Simon Josefsson  <jas@extundo.com>
64808
64809         * tests/test-crc.c: New file.
64810
64811         * modules/crc, modules/crc-tests: New files.
64812
64813 2005-10-11  Simon Josefsson  <jas@extundo.com>
64814
64815         * m4/crc.m4: New file.
64816
64817 2005-10-11  Simon Josefsson  <jas@extundo.com>
64818
64819         * lib/gc.h: Add gc_hash and gc_hash_buffer.
64820
64821         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
64822
64823         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
64824
64825 2005-10-11  Simon Josefsson  <jas@extundo.com>
64826
64827         * lib/crc.h, lib/crc.c: New files.
64828
64829         * lib/gc.h (gc_hash_buffer): Add doc.
64830
64831 2005-10-11  Bruno Haible  <bruno@clisp.org>
64832
64833         * modules/c-strcasestr: New file.
64834         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
64835
64836 2005-10-11  Bruno Haible  <bruno@clisp.org>
64837
64838         * modules/c-strcase: New file.
64839         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
64840
64841 2005-10-11  Bruno Haible  <bruno@clisp.org>
64842
64843         * lib/strcasecmp.c: Include limits.h.
64844         (strcasecmp): Avoid integer overflow on exotic platforms.
64845         * lib/strncasecmp.c: Include limits.h.
64846         (strncasecmp): Avoid integer overflow on exotic platforms.
64847         Reported by Paul Eggert.
64848
64849 2005-10-11  Bruno Haible  <bruno@clisp.org>
64850
64851         * lib/c-strcasestr.h: New file, from GNU gettext.
64852         * lib/c-strcasestr.c: New file, from GNU gettext.
64853
64854 2005-10-11  Bruno Haible  <bruno@clisp.org>
64855
64856         * lib/c-strcase.h: New file, from GNU gettext.
64857         * lib/c-strcasecmp.c: New file, from GNU gettext.
64858         * lib/c-strncasecmp.c: New file, from GNU gettext.
64859
64860 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64861
64862         * modules/mempcpy (License): GPL -> LGPL.
64863         * modules/strchrnul (License): Likewise.
64864         * modules/sysexits (License): Likewise.
64865
64866 2005-10-08  Simon Josefsson  <jas@extundo.com>
64867
64868         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
64869
64870 2005-10-07  Simon Josefsson  <jas@extundo.com>
64871
64872         * m4/memxor.m4: Remove gl_C_RESTRICT call.
64873
64874 2005-10-06  Simon Josefsson  <jas@extundo.com>
64875
64876         * tests/test-hmac-md5.c: New file.
64877
64878         * modules/hmac-md5-tests: New file.
64879
64880         * modules/hmac-md5: New file.
64881
64882 2005-10-06  Simon Josefsson  <jas@extundo.com>
64883
64884         * m4/hmac-md5.m4: New file.
64885
64886         * m4/memxor.m4: Require gl_C_RESTRICT.
64887
64888 2005-10-06  Simon Josefsson  <jas@extundo.com>
64889
64890         * lib/memxor.c (memxor): Avoid casts and warnings.
64891
64892 2005-10-06  Simon Josefsson  <jas@extundo.com>
64893
64894         * lib/hmac-md5.c: New file.
64895
64896         * lib/hmac.h: New file.
64897
64898 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
64899
64900         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
64901         promotes to int, not unsigned int, to catch the AIX 5.3
64902         compiler bug.
64903
64904 2005-10-05  Simon Josefsson  <jas@extundo.com>
64905
64906         * modules/memxor: New file.
64907
64908         * modules/iconv (Files): Move config.rpath to havelib, it is used
64909         there.
64910
64911         * modules/havelib (Files): Add config.rpath.
64912
64913 2005-10-05  Simon Josefsson  <jas@extundo.com>
64914
64915         * m4/memxor.m4: New file.
64916
64917 2005-10-05  Simon Josefsson  <jas@extundo.com>
64918
64919         * lib/memxor.c (memxor): Fix compiler error.
64920
64921         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
64922         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
64923
64924         * lib/memxor.h, lib/memxor.c: New files.
64925
64926         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
64927         we assume all systems have it, suggested by Jim Meyering
64928         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
64929         any systems lack sys/socket.h; mingw32 is known to lack it, but we
64930         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
64931         same reasons.
64932
64933 2005-10-05  Simon Josefsson  <jas@extundo.com>
64934
64935         * config/srclist.txt: Add glibc bug 1423 for md5.h.
64936
64937 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64938
64939         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
64940         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
64941         needed, since the source code now assumes these .h files.
64942
64943 2005-10-05  Derek Price  <derek@ximbiot.com>
64944
64945         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
64946
64947 2005-10-05  Bruno Haible  <bruno@clisp.org>
64948
64949         * modules/stdint (License): Change to LGPL.
64950
64951 2005-10-04  Simon Josefsson  <jas@extundo.com>
64952
64953         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
64954         D. Baushke" <mdb@gnu.org>.
64955
64956 2005-10-04  Bruno Haible  <bruno@clisp.org>
64957
64958         * lib/verify.h (verify_true): Provide alternative definition for C++.
64959
64960 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64961
64962         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
64963         (SSIZE_MAX): New macro, if not already defined.
64964         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
64965         than 2 GiB.
64966
64967 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64968
64969         Sync from coreutils.
64970         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
64971         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
64972         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
64973         ULLONG_MAX doesn't work with 2.7.2.1.
64974
64975 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64976
64977         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
64978         From Ben Pfaff.
64979
64980         * modules/exclude (Depends-on): Depend on verify.
64981         * modules/strtoimax (Depends-on): Likewise.
64982         * modules/utimecmp (Depends-on): Likewise.
64983
64984 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64985
64986         * lib/exclude.c: Include verify.h.
64987         (verify): Remove.  All callers changed to use verify.h's version.
64988         * lib/strtoimax.c: Likewise.
64989         * lib/utimecmp.c: Likewis.e
64990
64991         Sync from coreutils.
64992         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
64993         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
64994         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
64995         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
64996         bother returning ENOSYS if settimeofday or stime fails; just let
64997         them return whatever errno they want to return.
64998         * lib/utimens.c: Include unistd.h, for dup2.
64999         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
65000         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
65001
65002 2005-10-02  Jim Meyering  <jim@meyering.net>
65003
65004         Sync from coreutils.
65005         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
65006         from glibc-2.2.5 that fails for read-only files.
65007
65008 2005-10-02  Jim Meyering  <jim@meyering.net>
65009
65010         Sync from coreutils.
65011         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
65012         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
65013         `#if HAVE_CONFIG_H'.
65014         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
65015         Remove AT_FDCWD test.
65016         Do not consume the fd unless successful.
65017         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
65018         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
65019         block, so that we don't even try to compile it if settimeofday is
65020         available.  This works around a compilation failure on OSF1 V5.1,
65021         due to stime requiring a `long int*' while tv_sec is `int'.
65022
65023 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
65024
65025         Sync from coreutils.
65026         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
65027         against `yes', rather than just testing for nonempty.
65028
65029 2005-10-01  Simon Josefsson  <jas@extundo.com>
65030
65031         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
65032         and Darwin.
65033
65034         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
65035         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
65036         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
65037         freeaddrinfo and gai_strerror are declared by the POSIX headers.
65038         Check if struct addrinfo is declared.
65039
65040 2005-10-01  Simon Josefsson  <jas@extundo.com>
65041
65042         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
65043         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
65044         AI_* and EAI_* definitions.  Protect function declarations.
65045
65046 2005-10-01  Jim Meyering  <jim@meyering.net>
65047
65048         Sync from coreutils.
65049
65050         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
65051         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
65052         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
65053         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
65054         in the inet and nsl libraries.  Required on Solaris 5.7.
65055
65056 2005-10-01  Jim Meyering  <jim@meyering.net>
65057
65058         Sync from coreutils.
65059         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
65060         in the inet and nsl libraries.  Required on Solaris 5.7.
65061
65062 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
65063
65064         * lib/getdelim.c (getdelim): Remove unused variables.
65065
65066 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
65067
65068         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
65069         so that the code works even with ancient cpp.  Portability problem
65070         with GCC 2.7.2.1 reported by Thomas M.Ott.
65071
65072 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
65073
65074         * modules/regex (Depends-on): Add strcase.
65075
65076         * modules/gethostname (Licence): Change from GPL to LGPL, since
65077         gethostname.c is a trivial implementation of a standard library
65078         function.
65079         * modules/poll (License): Change from GPL to LGPL, since it's
65080         derived from LGPL code.
65081
65082 2005-09-27  Jim Meyering  <jim@meyering.net>
65083
65084         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
65085         HAVE_CONFIG_H.
65086
65087         * lib/intprops.h (signed_type_or_expr__): Define.
65088         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
65089         for unsigned types.
65090
65091 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
65092
65093         * lib/verify.h (verify_expr): Remove, replacing with:
65094         (verify_true): New macro that returns true instead of void.
65095         (verify_type__): Remove.
65096         (verify): Use verify_true rather than verify_type__.
65097
65098 2005-09-26  Bruno Haible  <bruno@clisp.org>
65099
65100         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
65101         is necessary.
65102         (lib_SOURCES): Remove mbchar.c.
65103         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
65104         (Files): Add m4/mbrtowc.m4.
65105         * modules/mbiter: Likewise.
65106         * modules/mbuiter: Likewise.
65107
65108 2005-09-26  Bruno Haible  <bruno@clisp.org>
65109
65110         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
65111         compile mbchar.c if they are not both present.
65112         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
65113         * m4/mbiter.m4 (gl_MBITER): Likewise.
65114         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
65115         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
65116         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
65117
65118 2005-09-25  Jim Meyering  <jim@meyering.net>
65119
65120         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
65121         also uses socklen_t.
65122
65123 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
65124
65125         * lib/utimens.c (ENOSYS): Define if not already defined.
65126         (futimens): Support having a null PATH if the file descriptor
65127         is nonnegative.
65128
65129         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
65130         Remove.
65131         (__attribute): Define to empty unless GCC 3.1 or later.
65132         This works around a core dump on OpenBSD 3.4, which has GCC
65133         2.95.3, which dumps core when given __attribute__(()).  It also
65134         simplifies other tests, since we really don't want to bother with
65135         worrying about which ancient version of GCC supported what.
65136         Original problem reported by Yoann Vandoorselaere, with part of
65137         the fix suggested by Derek Price.
65138
65139 2005-09-24  Jim Meyering  <jim@meyering.net>
65140
65141         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
65142         so we can once again use a positive bitfield width of 1 -- now we
65143         don't have to explain why we were using a bitfield width of 2.
65144
65145 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65146
65147         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
65148         and similarly for the other external symbols.  Problem reported
65149         by James Gallager.
65150
65151         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
65152         bug reported by Jim Meyering.
65153
65154         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
65155         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
65156         not needed, since socklen is a prerequisite module.
65157
65158 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65159
65160         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
65161         Problem reported by Eric Blake.
65162         (getaddrinfo): Initialize se so that it's not garbage.
65163         Redo internal storage allocation so that it doesn't make unportable
65164         assumptions about alignment.
65165         Fix a memory leak.
65166
65167         * lib/utimens.c (futimens): Use futimesat if available.
65168         Prefer it to futimes since it doesn't have the futimes bug.
65169
65170         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
65171         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
65172         Instead, declare a function that returns a pointer to an array,
65173         and use verify_type__ to declare the size of the array.
65174         Problem and germ of a solution reported by Bruno Haible.
65175         (verify_type__): Use 2, not 1, for bitfield size, to avoid
65176         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
65177
65178 2005-09-23  Jim Meyering  <jim@meyering.net>
65179
65180         Sync from coreutils.
65181         Correct build failure (socklen_t not defined) on at least
65182         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
65183         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
65184
65185 2005-09-23  Jim Meyering  <jim@meyering.net>
65186
65187         * modules/getaddrinfo (Depends-on): Add socklen.
65188
65189 2005-09-23  Bruno Haible  <bruno@clisp.org>
65190
65191         * tests/test-verify.c: New file.
65192
65193 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65194
65195         Sync from coreutils.
65196
65197         * modules/argmatch (Depends-on): Add verify.
65198         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
65199         unistd-safer.
65200         * modules/save-cwd (Depends-on): Likewise.
65201
65202         * modules/openat (Files): Add lib/openat-die.c.
65203         (Depends-on): Remove error, exitfail.
65204         Add dirname.
65205
65206         * modules/verify: New file.
65207         * MODULES.html.sh (Diagnostics <assert.h>): New section,
65208         with "verify" module.
65209
65210 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65211
65212         Sync from coreutils.
65213
65214         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
65215         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
65216         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
65217         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
65218         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
65219         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
65220         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
65221         Don't bother checking for string.h, stdlib.h, unistd.h.
65222         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
65223         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
65224         module's job.
65225         * m4/jm-macros.m4 (gl_MACROS): Likewise.
65226         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
65227
65228         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
65229         (gl_GETDATE): Use it.
65230
65231         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
65232
65233 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65234
65235         Sync from coreutils.
65236
65237         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
65238         stat-time.h.
65239         * lib/argmatch.h: Include verify.h
65240         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
65241         (ARGMATCH_ASSERT): Remove; unused.
65242         * lib/canonicalize.c: Assume STDC_HEADERS.
65243         * lib/exclude.c: Include "strcase.h".
65244         * lib/regex_internal.h [!defined _LIBC]: Likewise.
65245         * lib/getusershell.c: Include stdio--.h rather than stdio.h
65246         and stdio-safer.h.
65247         (getusershell): Call fopen, not fopen_safer.
65248         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
65249         Do not include unistd-safer.h.
65250         (save_cwd): Don't call fd_safer; no longer needed
65251         now that we include fcntl--.h.
65252
65253         * lib/getdate.y (relative_time): New type.
65254         (RELATIVE_TIME_0): New constant.
65255         (parser_control): Use relative_time instead of doing it ourselves.
65256         (%union): Add new relative_time rel member.
65257         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
65258         Now typeless.
65259         (relunit, relunit_snumber): Now of type rel.
65260         (zone, rel, relunit, get_date): Adjust to above changes.
65261
65262         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
65263         Do not include unistd-safer.h.
65264         (getloadavg): Don't call fd_safer; no longer needed
65265         now that we include fcntl--.h.
65266
65267         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
65268         (make_dir_parents): Treat ENOSYS like EEXIST.
65269
65270         Improve quality of diagnostics on restore_cwd failure.
65271         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
65272         (make_dir_parents): Last arg is now int * (for errno), not bool *.
65273         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
65274         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
65275         each time through the loop.  Do not diagnose restore_cwd failure;
65276         that is the caller's job (and perhaps the caller does not care).
65277
65278         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
65279         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
65280         If the file already exists but is not a directory, don't bother
65281         to try to make its parents.
65282         Close potential file descriptor leak if we can't chdir("/") (!).
65283         Don't always return true if chdir($PWD) fails; return true only
65284         if the requested action was done successfully (except for the
65285         chdir($PWD)).
65286         Don't log final directory unless we actually made it.
65287         Refactor to avoid duplicate code to fix up permissions.
65288         Don't attempt to fix up parent permissions if chdir($PWD) fails.
65289
65290         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
65291         to make it a bit faster and (I hope) clearer.
65292         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
65293         Fix bug in formats like %2N.
65294
65295         * lib/verify.h: New file.
65296
65297 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65298
65299         Sync from coreutils.
65300         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
65301
65302 2005-09-22  Jim Meyering  <jim@meyering.net>
65303
65304         Sync from coreutils.
65305
65306         * m4/lstat.m4 (gl_FUNC_LSTAT):
65307         Use AC_LIBSOURCES to require lstat.c and lstat.h.
65308         Remove obsolete comment.
65309         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
65310         * m4/xstrtod.m4: Likewise.
65311
65312         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
65313
65314 2005-09-22  Jim Meyering  <jim@meyering.net>
65315
65316         Sync from coreutils.
65317
65318         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
65319
65320         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
65321         the .tm_year member, since otherwise gcc-4.0 would now warn about
65322         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
65323
65324         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
65325         order to avoid an unsuppressible warning from gcc on 64-bit systems.
65326
65327         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
65328         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
65329         when run in a time zone for which daylight savings time is in effect
65330         for the starting date.
65331
65332         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
65333         stop us from restricting permissions of just-created absolute-named
65334         directories.
65335         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
65336         to restore initial working directory.
65337         * lib/mkdir-p.c (make_dir_parents): New parameter:
65338         different_working_dir, to tell caller if/when we change the working
65339         directory and are unable to return to the initial one.
65340         * lib/mkdir-p.h (make_dir_parents): Update prototype.
65341         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
65342         `return false'.  This fixes a bug introduced on 2004-07-30.
65343
65344         * lib/openat.c (fdopendir): Be sure to close the supplied
65345         file descriptor before returning.  This makes our replacement
65346         implementation a little closer to Solaris's, where fdopendir
65347         ties the file descriptor to the returned DIR* pointer.
65348         * lib/openat.c (unlinkat): New function.
65349         * lib/openat.h (unlinkat): Add prototype.
65350         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
65351         (openat_restore_fail): Rename from openat_restore_die.
65352         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
65353
65354         Provide an alternative to exiting immediately upon save_cwd or
65355         restore_cwd failure.  Now, an application can arrange e.g.,
65356         to perform a longjump in that case.
65357         * lib/openat.c: Include dirname.h.
65358         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
65359         (rpl_openat, fdopendir, fstatat): Call openat_save_die
65360         and openat_restore_die rather than calling error directly.
65361         Don't include "error.h" or "exitfail.h"; they're no longer needed.
65362
65363         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
65364         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
65365         define.
65366
65367         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
65368         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
65369                             int utc, int nanoseconds);
65370         Background:
65371         date should not have to allocate a megabyte of virtual memory to
65372         handle a format argument like +%1048575T.  When implemented with
65373         strftime, it must allocate such a buffer, use strftime to fill it
65374         in, print it, then free it.
65375         With fprintftime, it simply prints everything and exits.
65376         With no need for memory allocation, that's one fewer way to fail.
65377         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
65378         optional field width, not before, so we accept %9:z, not %:9z.
65379         (my_strftime): Be sure to use L_('x') for literals.
65380
65381         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
65382         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
65383         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
65384         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
65385         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
65386         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
65387         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
65388         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
65389         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
65390         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
65391         * lib/xgethostname.c, lib/xreadlink.c:
65392         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
65393
65394         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
65395         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
65396         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
65397         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65398         and don't include <sys/file.h>).
65399
65400 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
65401
65402         Sync from coreutils.
65403
65404         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
65405         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
65406         [!LDAV_DONE]: Avoid unused variable warning.
65407
65408 2005-09-21  Bruno Haible  <bruno@clisp.org>
65409
65410         * lib/unicodeio.h (unicode_to_mb): New declaration.
65411
65412 2005-09-20  Derek Price  <derek@ximbiot.com>
65413
65414         * lib/getaddrinfo.c: Don't include <netdb.h> included from
65415         getaddrinfo.h.
65416
65417 2005-09-20  Bruno Haible  <bruno@clisp.org>
65418
65419         * gnulib-tool: Remove trailing slashes from the values specified for
65420         --source-base, --m4-base, --tests-base, --aux-dir.
65421         Suggested by Simon Josefsson <jas@extundo.com>.
65422
65423 2005-09-20  Bruno Haible  <bruno@clisp.org>
65424
65425         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
65426         func_modules_to_filelist, func_import, func_create_testdir): Make all
65427         sorting results locale-independent, so that gnulib-cache.m4 doesn't
65428         change when gnulib-tool is invoked in a different locale.
65429
65430 2005-09-19  Simon Josefsson  <jas@extundo.com>
65431
65432         * m4/socklen.m4: Fix typo.
65433
65434 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65435
65436         Use a consistent style for including <config.h>.
65437         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
65438         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
65439         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
65440         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
65441         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
65442         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
65443         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
65444         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
65445         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
65446         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
65447         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
65448         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
65449         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
65450         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
65451         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
65452         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
65453         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
65454         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
65455         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
65456         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
65457         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
65458         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
65459         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
65460         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
65461         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
65462         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
65463         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
65464         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
65465         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
65466         lib/xstrtoumax.c, lib/yesno.c:
65467         Standardize inclusion of config.h.
65468         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
65469         lib/inttostr.h:  Removed inclusion of config.h from header files.
65470         * lib/inttostr.c:  Adjusted in-tree users.
65471         * lib/timespec.h: Remove superfluous warning to include config.h.
65472         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
65473         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
65474         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
65475         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
65476         config.h with HAVE_CONFIG_H.
65477
65478 2005-09-19  Jim Meyering  <jim@meyering.net>
65479
65480         * modules/pathmax (License): Change to LGPL.
65481
65482 2005-09-19  Derek Price  <derek@ximbiot.com>
65483
65484         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
65485
65486 2005-09-19  Bruno Haible  <bruno@clisp.org>
65487
65488         * gnulib-tool (import): Provide default for --tests-base.
65489
65490 2005-09-19  Bruno Haible  <bruno@clisp.org>
65491
65492         * doc/quote.texi: New file, extracted from gnulib.texi.
65493         * doc/ctime.texi: New file, extracted from gnulib.texi.
65494         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
65495         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
65496         * doc/gnulib.texi: Include them.
65497
65498 2005-09-18  Bruno Haible  <bruno@clisp.org>
65499
65500         Portability fix.
65501         * gnulib-tool (func_readlink): New function.
65502         (func_ln_if_changed): Use it.
65503
65504 2005-09-18  Bruno Haible  <bruno@clisp.org>
65505
65506         * gnulib-tool: Support --with-tests also with --import.
65507         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
65508         (func_import): Use variables $testsbase and $inctests. Emit a
65509         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
65510         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
65511         SUBDIRS += $testsdir.
65512         (func_create_testdir): Update.
65513
65514 2005-09-18  Bruno Haible  <bruno@clisp.org>
65515
65516         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
65517         instead of $dry_run.
65518         (func_cp_if_changed, func_mv_if_changed): Remove functions.
65519         (func_ln_if_changed): Don't handle dry-run here.
65520         (func_import): In dry-run mode, detect more precisely which actions
65521         would be performed, and don't use "...ing" verbs.
65522
65523 2005-09-18  Bruno Haible  <bruno@clisp.org>
65524
65525         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
65526         (func_import): Use join on two temporary files instead of three nested
65527         loops, in order to determine which files are new or old.
65528
65529 2005-09-18  Bruno Haible  <bruno@clisp.org>
65530
65531         * gnulib-tool (func_import): Comment out code that spits out the
65532         new files with --dry-run.
65533
65534 2005-09-18  Bruno Haible  <bruno@clisp.org>
65535
65536         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
65537
65538 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65539
65540         * lib/stat-time.h: New file.
65541         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
65542         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
65543         in a different way.
65544         (timespec_cmp): New function.
65545         * lib/utimecmp.c: Include stat-time.h.
65546         (SYSCALL_RESOLUTION): Depend on whether various struct stat
65547         members exist, not on the obsolescent ST_MTIM_NSEC.
65548         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
65549
65550 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65551
65552         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
65553
65554 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65555
65556         * MODULES.html.sh (File system functions): Add stat-time.
65557         * modules/stat-time: New file.
65558         * modules/timespec (Files): Remove m4/st_mtim.m4; this
65559         is now done in a different way, by the stat-time module.
65560         * modules/utimecmp (Depends-on): Add stat-time.
65561
65562 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65563
65564         * m4/st_mtim.m4: Remove.  Superseded by...
65565         * m4/stat-time.m4: New file.
65566         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
65567         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
65568
65569 2005-09-15  Derek Price  <derek@ximbiot.com>
65570
65571         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
65572
65573 2005-09-15  Derek Price  <derek@ximbiot.com>
65574
65575         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
65576         * lib/regex_internal.c: Ditto, using this...
65577         (__GNUC_PREREQ): ...new macro.
65578         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
65579         using...
65580         (__GNUC_PREREQ): ...this new macro.
65581
65582         * lib/strstr.h: Include string.h. Define strstr as a macro here.
65583
65584 2005-09-15  Derek Price  <derek@ximbiot.com>
65585             Paul Eggert  <eggert@cs.ucla.edu>
65586
65587         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
65588         changes, consolidating in...
65589         * lib/regex_internal.h: ...this file.
65590
65591 2005-09-13  Jim Meyering  <jim@meyering.net>
65592
65593         * lib/canon-host.c: Filter through gnu indent and reword comments
65594         slightly.
65595         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
65596
65597 2005-09-13  Derek Price  <derek@ximbiot.com>
65598
65599         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
65600         failure.
65601         Reported by Jim Meyering  <jim@meyering.net>.
65602
65603 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65604
65605         * lib/base64.c: Typo.
65606         (base64_encode): Put b64str in initialized data section.
65607
65608 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65609
65610         Merge glibc and coreutils changes into gnulib, plus a few
65611         extra fixes.
65612         * lib/md5.c: Use #error rather than a string.
65613         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
65614         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
65615         (__attribute__): Define to empty for non recent-GCC.
65616         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
65617         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
65618         Renamed from their non-__ counterparts, with new macros replacing
65619         them if not _LIBC.  Add __THROW attribute.
65620         (rol): Remove.
65621         (struct md5_ctx): Align buffer if using GCC.
65622         * lib/sha1.h (struct sha1_ctx): Likewise.
65623         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
65624         The old name was backwards.
65625         (NOTSWAP): Remove; not used.
65626         (rol): New macro, moved here from md5.h.
65627         (sha1_process_block): Remove a FIXME that doesn't make sense.
65628
65629 2005-09-12  Derek Price  <derek@ximbiot.com>
65630
65631         Return usable errors from canon-host.
65632         * lib/canon-host.h: New file.
65633         * lib/canon-host.c (canon_host): Wrap...
65634         (canon_host_r): ...this new function, which now relies exclusively on
65635         getaddrinfo.
65636         (ch_strerror): New function.
65637         (last_cherror): New global.
65638         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
65639         interface.
65640         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
65641         void *.
65642         (freeaddrinfo): Free ai->ai_canonname when set.
65643
65644 2005-09-12  Derek Price  <derek@ximbiot.com>
65645
65646         Make canon-host require getaddrinfo.
65647         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
65648         AC_LIBSOURCE canon-host.h.  Call...
65649         (gl_PREREQ_CANON_HOST): ...this new function, which requires
65650         gl_GETADDRINFO.
65651         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
65652
65653 2005-09-12  Derek Price  <derek@ximbiot.com>
65654
65655         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
65656         LGPL.
65657         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
65658
65659 2005-09-12  Derek Price  <derek@ximbiot.com>
65660
65661         * lib/gai_strerror.c: Include config.h when available.  Include
65662         getaddrinfo.h before other headers to test interface.
65663         Reported by Larry Jones <lawrence.jones@ugs.com>.
65664
65665 2005-09-12  Derek Price  <derek@ximbiot.com>
65666             Paul Eggert  <eggert@cs.ucla.edu>
65667
65668         * modules/glob (Files): Add glob-libc.h.
65669
65670 2005-09-12  Derek Price  <derek@ximbiot.com>
65671             Paul Eggert  <eggert@cs.ucla.edu>
65672
65673         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
65674         glob_.h, glob-libc.h.
65675         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
65676
65677 2005-09-12  Derek Price  <derek@ximbiot.com>
65678             Paul Eggert  <eggert@cs.ucla.edu>
65679
65680         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
65681         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
65682         protecting things that should be done only in gnulib contexts.
65683         * lib/glob_.h: New file, containing only the glob things needed for
65684         gnulib.
65685         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
65686         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
65687         (glob, globfree, glob_pattern_p): Now defined simply in terms of
65688         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
65689         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
65690         and to respect the namespace rules better.
65691
65692 2005-09-08  Simon Josefsson  <jas@extundo.com>
65693
65694         * modules/socklen: New file.
65695
65696 2005-09-08  Simon Josefsson  <jas@extundo.com>
65697
65698         * m4/socklen.m4: New file.
65699
65700 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65701
65702         * modules/utimens (Files): Add m4/utimbuf.m4, since
65703         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
65704         Reported by Sergey Poznyakoff.
65705
65706 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65707
65708         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
65709         definitions, since that's the preferred style in glibc.
65710         Fix a minor spacing issue, and update copyright notice to match
65711         glibc's.
65712
65713 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65714
65715         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
65716
65717 2005-09-06  Simon Josefsson  <jas@extundo.com>
65718
65719         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
65720         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
65721
65722 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65723
65724         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
65725         warning.
65726
65727 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65728
65729         * config/srclist.txt: Add glibc bug 1302.
65730
65731 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
65732
65733         Change bitset word type from unsigned int to unsigned long int,
65734         as this has better performance on typical 64-bit hosts.
65735         Port bitset code to hosts with unusual word sizes.
65736         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
65737         (build_collating_symbol):
65738         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
65739         argument is a bitset.  This is merely a style issue, but it makes
65740         it clearer that an entire array is expected.
65741         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
65742         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
65743         Port to the case where bitset_word is not the same as unsigned int.
65744         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
65745         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
65746         Likewise.
65747         * lib/regexec.c (check_dst_limits_calc_pos_1,
65748         check_subexp_matching_top):
65749         (build_trtable, group_nodes_into_DFAstates):
65750         Likewise.
65751         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
65752         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
65753         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
65754         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
65755         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
65756         * lib/regcomp.c (optimize_subexps, lower_subexp):
65757         Work even if bitset_word has holes in its bitwise representation.
65758         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
65759         * lib/regexec.c (check_dst_limits_calc_pos_1,
65760         check_subexp_matching_top):
65761         Likewise.
65762         * lib/regex_internal.c (re_string_reconstruct):
65763         Don't assume UCHAR_MAX == 255.
65764         * lib/regex_internal.h (bitset_set_all): Likewise.
65765         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
65766         All uses changed.
65767         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
65768         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
65769         All uses changed.
65770         (BITSET_WORD_MAX): New macro.
65771         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
65772         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
65773         (bitset_empty, bitset_copy):
65774         Prefer sizeof (bitset) to multiplying it out ourselves.
65775         (bitset_not_merge): Remove; unused.
65776         (bitset_contain): Return bool, not unsigned int with one bit on.
65777         All callers changed.
65778         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
65779         alignment than re_node_set; do this by defining a new internal
65780         type struct dests_alloc and using it to allocate memory.
65781
65782 2005-09-05  Bruno Haible  <bruno@clisp.org>
65783
65784         * gnulib-tool (func_import): Fix comparison in handling of symbolic
65785         links.
65786
65787 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
65788
65789         * modules/size_max (Makefile.am): Add size_max.h
65790
65791 2005-09-04  Derek Price  <derek@ximbiot.com>
65792
65793         * gnulib-tool (func_import): Fix reversed $symbolic logic.
65794
65795 2005-09-03  Simon Josefsson  <jas@extundo.com>
65796
65797         * gnulib-tool: Fix typo.
65798
65799 2005-09-03  Simon Josefsson  <jas@extundo.com>
65800
65801         * config/srclist.txt: Add glibc bug 1293.
65802
65803 2005-09-03  Derek Price  <derek@ximbiot.com>
65804
65805         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
65806         From Larry Jones <lawrence.jones@ugs.com>.
65807
65808 2005-09-02  Simon Josefsson  <jas@extundo.com>
65809
65810         * modules/socklen: New file.
65811
65812 2005-09-02  Simon Josefsson  <jas@extundo.com>
65813
65814         * modules/havelib: New module.
65815
65816         * modules/gettext, modules/iconv, modules/lock, modules/readline:
65817         Use havelib.
65818
65819 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65820
65821         Check for arithmetic overflow when calculating sizes, to prevent
65822         some buffer-overflow issues.  These patches are conservative, in the
65823         sense that when I couldn't determine whether an overflow was possible,
65824         I inserted a run-time check.
65825         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
65826         macros.
65827         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
65828         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
65829         (re_xnrealloc, re_x2nrealloc): New inline functions.
65830         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
65831         parse_bracket_exp):
65832         (build_equiv_class, build_charclass): Check for arithmetic overflow
65833         in size expression calculations.
65834         * lib/regex_internal.c (re_string_realloc_buffers):
65835         (build_wcs_upper_buffer, re_node_set_add_intersect):
65836         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
65837         (re_dfa_add_node, register_state): Likewise.
65838         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
65839         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
65840         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
65841         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
65842
65843 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65844
65845         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
65846         m4/ulonglong.m4.  Problem reported by Martin Lambers.
65847
65848 2005-09-02  Bruno Haible  <bruno@clisp.org>
65849
65850         Support for lib vs. lib64 distinction on biarch platforms.
65851         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
65852         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
65853         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
65854
65855 2005-09-02  Bruno Haible  <bruno@clisp.org>
65856
65857         * gnulib-tool (import): In the other first-use case, provide defaults
65858         as well.
65859
65860 2005-09-02  Bruno Haible  <bruno@clisp.org>
65861
65862         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
65863         patches not yet found in the latest gettext release.
65864
65865 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65866
65867         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
65868         to avoid a collision with bits/local_lim.h in glibc.
65869         All uses changed.  Problem reported by Dmitry V. Levin in
65870         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
65871
65872         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
65873         bugs in int versus size_t comparisons.
65874         (re_string_context_at): Fix bug where the code assumed that
65875         Idx is signed.
65876
65877         Use bool where appropriate.
65878         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
65879         All callers changed.
65880         (calc_eclosure_iter): Likewise, for ROOT arg.
65881         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
65882         (build_charclass_op): Likewise, for NON_MATCH arg.
65883         * lib/regex_internal.c (re_string_allocate, re_string_construct):
65884         (re_string_construct_common): Likewise, for ICASE arg.
65885         * lib/regexec.c (re_search_2_stub, re_search_stub):
65886         Likewise, for RET_LEN arg.
65887         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
65888         (set_regs): Likewise, for FL_BACKTRACK arg.
65889         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
65890         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
65891         (calc_eclosure_iter, parse_bracket_exp):
65892         Use bool for internal variables that are booleans.
65893         * lib/regexec.c (re_search_internal, check_matching,
65894         proceed_next_node):
65895         (set_regs, build_sifted_states, sift_states_bkref):
65896         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
65897         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65898         (find_collation_sequence_value):
65899         Likewise.
65900         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
65901         (re_node_set_compare):
65902         Return bool, not int. All callers changed.
65903         * lib/regexec.c (check_halt_node_context, check_dst_limits):
65904         (build_trtable, check_node_accept): Likewise.
65905         * lib/regex_internal.h: Include stdbool.h.
65906
65907         Fix bugs uncovered when converting to bool.
65908         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
65909         failure instead of charging ahead blindly.
65910         * lib/regex_internal.c (register_state): Likewise.
65911         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
65912         for freeing internal storage.
65913         (group_nodes_into_DFA_states): Use unsigned int, not int, for
65914         bitset pieces used as boolean, to avoid undefined behavior
65915         on hosts that do int overflow checking.
65916
65917 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65918
65919         * config/srclist.txt: Add glibc bugs 1285-1287.
65920
65921 2005-09-01  Jim Meyering  <jim@meyering.net>
65922
65923         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
65924         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
65925         Require gl_STAT_MACROS, too.
65926
65927 2005-09-01  Bruno Haible  <bruno@clisp.org>
65928
65929         * gnulib-tool (import): In the first-use case, provide defaults.
65930
65931 2005-09-01  Bruno Haible  <bruno@clisp.org>
65932
65933         * gnulib-tool (func_import): Remove the .tmp files.
65934
65935 2005-09-01  Bruno Haible  <bruno@clisp.org>
65936
65937         * gnulib-tool (func_import): Fix handling of symbolic links.
65938
65939 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65940
65941         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
65942         old glibc regex code mishandles strings longer than 2**31 bytes.
65943         This patch fixes this when the regex code is used in gnulib
65944         (i.e., outside glibc).
65945
65946         This patch should not affect the use of the regex code inside
65947         glibc.  No doubt this problem also needs to be handled for glibc
65948         as well, but the result will be an incompatible change to the
65949         glibc ABI, and the old ABI will have to be supported too.  That
65950         can be the the subject for another patch.
65951
65952         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
65953         governing whether the rest of this patch is active.  By default,
65954         the macro is disabled and the patch has no effect.
65955         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
65956         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
65957         (struct re_pattern_buffer, re_search, re_search_2, re_match):
65958         (re_match_2, re_set_registers): Use the new types.
65959         * lib/regex_internal.h (Idx, re_hashval_t): New types.
65960         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
65961         New macros.
65962         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
65963         (re_string_context_at, bin_tree_t, re_dfastate_t):
65964         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
65965         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
65966         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
65967         (re_string_char_size_at, re_string_wchar_at):
65968         (re_string_elem_size_at):
65969         Use the new types and macros to port to 64-bit hosts.
65970         Use unsigned types for internal values, so that the code
65971         mostly works even for arrays larger than SSIZE_MAX.
65972         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
65973         (search_duplicated_node, calc_eclosure_iter, fetch_number):
65974         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
65975         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
65976         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
65977         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
65978         (calc_inveclosure, parse_dup_op, build_range_exp):
65979         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
65980         (fetch_number, create_token_tree, mark_opt_subexp):
65981         Likewise.
65982         * lib/regex_internal.c (re_string_construct_common,
65983         create_ci_newstate):
65984         (create_cd_newstate, re_string_allocate, re_string_construct):
65985         (re_string_realloc_buffers, build_wcs_upper_buffer):
65986         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
65987         (re_string_reconstruct, re_string_peek_byte_case):
65988         (re_string_fetch_byte_case, re_string_context_at):
65989         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
65990         (re_node_set_init_copy, re_node_set_add_intersect):
65991         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65992         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65993         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
65994         (re_acquire_state, re_acquire_state_context, register_state):
65995         Likewise.
65996         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
65997         search_cur_bkref_entry):
65998         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
65999         (re_search_internal, re_search_2_stub, re_search_stub)
66000         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
66001         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
66002         (update_cur_sifted_state, check_dst_limits):
66003         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66004         (check_subexp_limits, sift_states_bkref, merge_state_array):
66005         (check_subexp_matching_top, get_subexp, get_subexp_sub):
66006         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
66007         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66008         (expand_bkref_cache, check_node_accept_bytes):
66009         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
66010         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
66011         (acquire_init_state_context, check_halt_node_context):
66012         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
66013         (sift_states_backward, clean_state_log_if_needed):
66014         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
66015         (find_recover_state, transit_state_sb, transit_state_mb):
66016         (transit_state_bkref, build_trtable, match_ctx_clean):
66017         Likewise.
66018         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
66019         to work around an assumption that REG_MISSING is negative.
66020
66021         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
66022         (seek_collating_symbol_entry) [defined _LIBC]:
66023         (lookup_collation_sequence_value) [defined _LIBC]:
66024         (build_range_exp, build_collating_symbol) [defined _LIBC]:
66025         Use prototypes rather than old-style function definitions.
66026         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
66027         (transit_state_sb) [0]:
66028         (find_collation_sequence_value) [defined _LIBC]: Likewise.
66029
66030         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
66031         rm_eo.
66032
66033         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
66034         (optimize_subexps, lower_subexp):
66035         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
66036         since the signed shift might overflow.  Use 1u<<31 instead.
66037         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
66038         Likewise.
66039         * lib/regexec.c (check_dst_limits_calc_pos_1,
66040         check_subexp_matching_top): Likewise.
66041
66042         * lib/regcomp.c (optimize_subexps, lower_subexp):
66043         Use CHAR_BIT rather than 8, for clarity.
66044         * lib/regexec.c (check_dst_limits_calc_pos_1):
66045         (check_subexp_matching_top): Likewise.
66046         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
66047         have to worry about portability issues when shifting it left.
66048         Remove no-longer-needed test for table_size > 0.
66049         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
66050         in a word, as the resulting behavior is undefined.
66051         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
66052         in one case, a <= should have been an <, and in another case the
66053         whole test was missing.
66054         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
66055         the standard name CHAR_BIT.
66056         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
66057         this is not true on one's complement and signed-magnitude hosts.
66058
66059         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
66060         next_last_offset.
66061         (struct re_dfa_t): Remove unused member states_alloc.
66062         * lib/regcomp.c (init_dfa): Don't initialize unused members.
66063
66064 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66065
66066         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
66067         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
66068         and large-file glibc and in 32-bit large-file Solaris.
66069
66070 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66071
66072         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
66073         lengths fit in regoff_t; this isn't true if regoff_t is the same
66074         width as size_t.
66075         * lib/regex.c (re_search_internal): 5th arg is LAST_START
66076         (= START + RANGE) instead of RANGE.  This avoids overflow
66077         problems when regoff_t is the same width as size_t.
66078         All callers changed.
66079         (re_search_2_stub): Check for overflow when adding the
66080         sizes of the two strings.
66081         (re_search_stub): Check for overflow when adding START
66082         to RANGE; if it occurs, substitute the extreme value.
66083
66084 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66085
66086         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
66087
66088 2005-08-31  Jim Meyering  <jim@meyering.net>
66089
66090         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
66091         a pointer-to-const.
66092         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
66093         (register_state): Likewise.
66094         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
66095         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66096         (group_nodes_into_DFAstates): Likewise.
66097
66098 2005-08-31  Jim Meyering  <jim@meyering.net>
66099
66100         * check-module: Add a FIXME comment.
66101
66102 2005-08-31  Eric Blake  <ebb9@byu.net>
66103
66104         * modules/unistd-safer (Files): Add unistd--.h.
66105         * modules/stdio-safer (Files): Add stdio--.h.
66106
66107 2005-08-31  Derek Price  <derek@ximbiot.com>
66108
66109         * lib/getdelim.c (getdelim): Return EOF on EOF.
66110         Reported by Larry Jones <lawrence.jones@ugs.com>.
66111
66112 2005-08-31  Bruno Haible  <bruno@clisp.org>
66113
66114         Avoid unnecessary diffs in the generated lib/Makefile.am.
66115         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
66116         the generated files.
66117         (func_import): Don't set cmd.
66118
66119 2005-08-31  Bruno Haible  <bruno@clisp.org>
66120
66121         * lib/strstr.c: Include <stddef.h>, for NULL.
66122         * lib/strcasestr.c: Likewise.
66123         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66124
66125 2005-08-31  Bruno Haible  <bruno@clisp.org>
66126
66127         * gnulib-tool: New option --macro-prefix.
66128         (func_import): Use macro_prefix.
66129         (import): Handle option --macro-prefix.
66130
66131 2005-08-31  Bruno Haible  <bruno@clisp.org>
66132
66133         * gnulib-tool (import): Rename most ac_* variables to cached_*.
66134         Also use new variables cached_lgpl, cached_libtool.
66135
66136 2005-08-31  Bruno Haible  <bruno@clisp.org>
66137
66138         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
66139         always instantiating them.
66140
66141 2005-08-31  Bruno Haible  <bruno@clisp.org>
66142
66143         * gnulib-tool (func_import): Read the previous cached settings
66144         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
66145         earlier added by gnulib but are now dropped. Warn when a gnulib file
66146         overwrites a non-gnulib file.
66147
66148 2005-08-31  Bruno Haible  <bruno@clisp.org>
66149
66150         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
66151         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
66152         projects that don't keep autogenerated files in CVS. Put into
66153         actioncmd only the specified modules, not the transitive closure.
66154
66155 2005-08-31  Bruno Haible  <bruno@clisp.org>
66156
66157         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
66158         Create directories that shall be filled.
66159         (import): Don't look for gl_* macros in configure.ac. Recurse across
66160         all directories containing a gnulib-cache.m4 files, if meaningful.
66161
66162 2005-08-31  Bruno Haible  <bruno@clisp.org>
66163
66164         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
66165         (import): Set seen_libtool when we see gl_LIBTOOL.
66166
66167 2005-08-31  Bruno Haible  <bruno@clisp.org>
66168
66169         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
66170         declaration macro definitions from generated gnulib.m4.
66171
66172 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
66173
66174         * lib/iconvme.h: Add prototype for iconv_alloc.
66175
66176 2005-08-29  Simon Josefsson  <jas@extundo.com>
66177
66178         * lib/iconvme.c: Fix errno.
66179
66180 2005-08-29  Bruno Haible  <bruno@clisp.org>
66181
66182         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
66183         that it works when the directory contains spaces.
66184
66185 2005-08-29  Bruno Haible  <bruno@clisp.org>
66186
66187         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
66188
66189 2005-08-29  Bruno Haible  <bruno@clisp.org>
66190
66191         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
66192         Emit more advice.
66193
66194 2005-08-29  Bruno Haible  <bruno@clisp.org>
66195         and Stepan Kasal  <kasal@ucw.cz>
66196
66197         * check-module: If more parameters are given, check each of them
66198         separately; add more exceptions, as noted by Jim Meyering.
66199         (check_module): New procedure.
66200         (%exempt_header): Now contains all exceptions.
66201
66202 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
66203
66204         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
66205
66206 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
66207
66208         * lib/iconvme.c: Split iconv_string into iconv_alloc.
66209
66210 2005-08-28  Bruno Haible  <bruno@clisp.org>
66211
66212         * m4/gnulib-tool.m4: New file.
66213
66214 2005-08-27  Jim Meyering  <jim@meyering.net>
66215
66216         * modules/unistd-safer (Files): Add pipe-safer.c.
66217         * modules/fcntl-safer (Files): Add creat-safer.c.
66218
66219 2005-08-27  Jim Meyering  <jim@meyering.net>
66220
66221         * m4/stdlib-safer.m4: New file.  From coreutils.
66222         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
66223         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
66224         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
66225         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
66226         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
66227
66228 2005-08-27  Jim Meyering  <jim@meyering.net>
66229
66230         * lib/fopen-safer.c: Merge minor changes from coreutils.
66231         * lib/dup-safer.c: Likewise.
66232         * lib/fd-safer.c: Likewise.
66233
66234         Merge from coreutils.
66235         * lib/stdio--.h: New file.
66236         * lib/stdlib--.h: New file.
66237         * lib/mkstemp-safer.c: New file.
66238
66239         GNU tar needs these.
66240         * lib/pipe-safer.c: New file.
66241         * lib/creat-safer.c: New file.
66242         * lib/fcntl--.h (creat): Define to creat_safer.
66243         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
66244         * lib/unistd--.h (pipe): Define to pipe_safer.
66245         * lib/unistd-safer.h: Declare pipe_safer.
66246
66247 2005-08-26  Simon Josefsson  <jas@extundo.com>
66248
66249         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
66250         Haible <bruno@clisp.org>.
66251
66252 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
66253
66254         * lib/regex_internal.h: Remove all references to
66255         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
66256         or better.
66257         (bitset_not, bitset_merge, bitset_not_merge):
66258         (bitset_mask, re_string_allocate, re_string_construct):
66259         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
66260         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
66261         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
66262         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
66263         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66264         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66265         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
66266         (re_acquire_state_context):
66267         Remove unnecessary forward decls.
66268         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
66269         Put __attribute at function definition,
66270         now that the function decl has been removed.
66271         * lib/regex_internal.c (re_string_peek_byte_case):
66272         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
66273         Likewise.
66274
66275 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
66276
66277         * m4/regex.m4: Add AC_PREREQ(2.50).
66278         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
66279
66280 2005-08-25  Simon Josefsson  <jas@extundo.com>
66281
66282         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
66283         __fsetlocking.
66284
66285 2005-08-25  Simon Josefsson  <jas@extundo.com>
66286
66287         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
66288         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
66289         GLIBC specific code.
66290
66291 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66292
66293         Make regex safe for g++.  This fixes one real bug (an "err"
66294         that should have been "*err").  g++ problem reported by
66295         Sam Steingold.
66296         * lib/regex_internal.h (re_calloc): New macro, consistent with
66297         re_malloc etc.  All callers of calloc changed to use re_calloc.
66298         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
66299         not int.  All callers changed.
66300         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
66301         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
66302         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
66303         (find_recover_state): Change "err" to "*err"; this fixes what
66304         appears to be a real bug.
66305         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
66306         versus int.
66307
66308 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66309
66310         * modules/regex (Depends-on): Add malloc, since the code
66311         assumes that !malloc(0) means failure.
66312
66313 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66314
66315         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
66316
66317         alloca modernization/simplification for regex.
66318         * lib/regex.c: Remove portability cruft for alloca.  This no longer
66319         needs to be at the start of the file, and can be moved into
66320         regex_internal.h and simplified.
66321         * lib/regex_internal.h: Include <alloca.h>.
66322         (__libc_use_alloca) [!defined _LIBC]: New macro.
66323         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
66324         now works outside glibc.
66325
66326 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66327
66328         * config/srclist.txt: Add glibc bugs 1241, 1245.
66329
66330 2005-08-25  Jim Meyering  <jim@meyering.net>
66331
66332         * lib/open-safer.c: Include <config.h>.
66333         Otherwise, we'd lose LARGEFILE support in any file using
66334         e.g. "fcntl--.h"
66335
66336 2005-08-25  Bruno Haible  <bruno@clisp.org>
66337
66338         * m4/minmax.m4: Require autoconf 2.52.
66339         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
66340         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
66341         alternatives of translit over the alphabet.
66342         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
66343
66344 2005-08-24  Simon Josefsson  <jas@extundo.com>
66345
66346         * tests/test-getpass.c: New file.
66347
66348 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66349
66350         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
66351         for GNU regex features.
66352
66353 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66354
66355         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
66356         * lib/regex.h (regerror): Likewise.
66357
66358         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
66359         requires this.  (The code never needed it.)
66360
66361         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
66362         All uses of recently-renamed identifiers changed to use the new,
66363         POSIX-compliant names.  The code will build and run just fine
66364         without these changes, but it's better to eat our own dog food
66365         and use the standard-conforming names.
66366
66367         * lib/regex.h: Fix a multitude of POSIX name space violations.
66368         These changes have an effect only for programs that define
66369         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
66370         do not change anything for programs compiled in the normal way.
66371         Also, there is no effect on the ABI.
66372
66373         (_REGEX_SOURCE): New macro.
66374         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
66375         defined and _GNU_SOURCE is not; this fixes a name space violation.
66376
66377         Rename the following macros to obey POSIX requirements.
66378         The old names are still visible as macros if _REGEX_SOURCE is defined.
66379         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
66380         RE_BACKSLASH_ESCAPE_IN_LISTS.
66381         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
66382         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
66383         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
66384         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
66385         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
66386         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
66387         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
66388         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
66389         (REG_INTERVALS): renamed from RE_INTERVALS.
66390         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
66391         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
66392         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
66393         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
66394         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
66395         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
66396         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
66397         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
66398         RE_UNMATCHED_RIGHT_PAREN_ORD.
66399         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
66400         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
66401         (REG_DEBUG): renamed from RE_DEBUG.
66402         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
66403         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
66404         unusual, since we can't clash with the POSIX REG_ICASE.
66405         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
66406         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
66407         (REG_NO_SUB): renamed from RE_NO_SUB.
66408         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
66409         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
66410         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
66411         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
66412         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
66413         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
66414         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
66415         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
66416         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
66417         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
66418         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
66419         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
66420         RE_SYNTAX_POSIX_MINIMAL_BASIC.
66421         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
66422         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
66423         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
66424         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
66425         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
66426         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
66427         (REG_FIXED): Renamed from REGS_FIXED.
66428         (REG_NREGS): Renamed from RE_NREGS.
66429
66430         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
66431         of other REG_* macros, since POSIX says the user is allowed to
66432         #undef these macros selectively.
66433
66434         (reg_errcode_t): Update comment stating what other tables need
66435         to be consistent.
66436
66437         Rename the following enum values to obey POSIX requirements.
66438         The old names are still visible as macros.
66439         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
66440         is not defined, since GNU is supposed to be a superset of POSIX as
66441         much as possible, and since we want reg_errcode_t to be a signed
66442         type for implementation consistency.
66443         (_REG_NOERROR): Renamed from REG_NOERROR.
66444         (_REG_NOMATCH): Renamed from REG_NOMATCH.
66445         (_REG_BADPAT): Renamed from REG_BADPAT.
66446         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
66447         (_REG_ECTYPE): Renamed from REG_ECTYPE.
66448         (_REG_EESCAPE): Renamed from REG_EESCAPE.
66449         (_REG_ESUBREG): Renamed from REG_ESUBREG.
66450         (_REG_EBRACK): Renamed from REG_EBRACK.
66451         (_REG_EPAREN): Renamed from REG_EPAREN.
66452         (_REG_EBRACE): Renamed from REG_EBRACE.
66453         (_REG_BADBR): Renamed from REG_BADBR.
66454         (_REG_ERANGE): Renamed from REG_ERANGE.
66455         (_REG_ESPACE): Renamed from REG_ESPACE.
66456         (_REG_BADRPT): Renamed from REG_BADRPT.
66457         (_REG_EEND): Renamed from REG_EEND.
66458         (_REG_ESIZE): Renamed from REG_ESIZE.
66459         (_REG_ERPAREN): Renamed from REG_ERPAREN.
66460         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
66461         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
66462         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
66463         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
66464
66465         (_REG_RE_NAME, _REG_RM_NAME): New macros.
66466         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
66467         changed.  But support the old name if the new one is not defined
66468         and if _REGEX_SOURCE.
66469
66470         Change the following member names in struct re_pattern_buffer.
66471         The old names are still supported if !_REGEX_SOURCE.
66472         The new names are always supported, regardless of _REGEX_SOURCE.
66473         (re_buffer): Renamed from buffer.
66474         (re_allocated): Renamed from allocated.
66475         (re_used): Renamed from used.
66476         (re_syntax): Renamed from syntax.
66477         (re_fastmap): Renamed from fastmap.
66478         (re_translate): Renamed from translate.
66479         (re_can_be_null): Renamed from can_be_null.
66480         (re_regs_allocated): Renamed from regs_allocated.
66481         (re_fastmap_accurate): Renamed from fastmap_accurate.
66482         (re_no_sub): Renamed from no_sub.
66483         (re_not_bol): Renamed from not_bol.
66484         (re_not_eol): Renamed from not_eol.
66485         (re_newline_anchor): Renamed from newline_anchor.
66486
66487         Change the following member names in struct re_registers.
66488         The old names are still supported if !_REGEX_SOURCE.
66489         The new names are always supported, regardless of _REGEX_SOURCE.
66490         (rm_num_regs): Renamed from num_regs.
66491         (rm_start): Renamed from start.
66492         (rm_end): Renamed from end.
66493
66494         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
66495         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
66496         Prepend __ to parameter names.
66497
66498         Undo yesterday's changes.
66499
66500 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66501
66502         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
66503         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
66504         lib/regex.c.
66505
66506 2005-08-24  Jim Meyering  <jim@meyering.net>
66507
66508         Sync from coreutils.
66509         * m4/fcntl-safer.m4: New file.
66510
66511         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
66512         and object files for this module.
66513
66514 2005-08-24  Jim Meyering  <jim@meyering.net>
66515
66516         Sync from coreutils.
66517         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
66518
66519 2005-08-24  Jim Meyering  <jim@meyering.net>
66520
66521         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
66522         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
66523
66524 2005-08-24  Jim Meyering  <jim@meyering.net>
66525
66526         * modules/fcntl-safer: New module.
66527         * modules/fts (Depends-on): Add fcntl-safer.
66528         * MODULES.html.sh (File descriptor based Input/Output):
66529         Add fcntl-safer.
66530
66531 2005-08-24  Bruno Haible  <bruno@clisp.org>
66532
66533         Support for unit test modules.
66534         * modules/README: Mention tests modules.
66535         * modules/TEMPLATE-TESTS: New file.
66536         * gnulib-tool: New options --extract-tests-module, --with-tests and
66537         --tests-base (unused for the moment).
66538         (testsbase, inctests): New variables.
66539         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
66540         (func_verify_module): Exclude TEMPLATE-TESTS.
66541         (func_verify_nontests_module, func_verify_tests_module): New functions.
66542         (func_get_dependencies): Add implicit dependency for tests modules.
66543         (func_get_tests_module): New function.
66544         (func_modules_transitive_closure): When --with-tests was specified,
66545         include the unit tests as well, unless explicitly avoided.
66546         (func_emit_lib_Makefile_am): Ignore the tests modules here.
66547         (func_emit_tests_Makefile_am): New function.
66548         (func_create_testdir): When --with-tests was specified, emit a
66549         tests/ directory.
66550         * MODULES.html.sh (Future developments): Update.
66551
66552 2005-08-24  Bruno Haible  <bruno@clisp.org>
66553
66554         * modules/tls-tests: New file.
66555         * tests/test-tls.c: New file, from GNU gettext.
66556
66557 2005-08-24  Bruno Haible  <bruno@clisp.org>
66558
66559         * modules/lock-tests: New file.
66560         * tests/test-lock.c: New file, from GNU gettext.
66561
66562 2005-08-24  Bruno Haible  <bruno@clisp.org>
66563
66564         * lib/lock.h: Add multiple inclusion guard.
66565         * lib/tls.h: Add multiple inclusion guard.
66566
66567 2005-08-24  Bruno Haible  <bruno@clisp.org>
66568
66569         * gnulib-tool: Add support for the --aux-dir option to
66570         --create-testdir, --create-megatestdir, --test, --megatest.
66571         (func_create_testdir, func_create_megatestdir): Optionally emit a
66572         AC_CONFIG_AUX_DIR directive.
66573         (create-testdir, create-megatestdir, test, megatest): Provide a
66574         default value for $auxdir.
66575
66576 2005-08-24  Bruno Haible  <bruno@clisp.org>
66577
66578         * gnulib-tool (import): Use compound statement instead of subshell
66579         where possible.
66580
66581 2005-08-24  Bruno Haible  <bruno@clisp.org>
66582
66583         * gnulib-tool (import): Change --aux-dir default to "build-aux".
66584
66585 2005-08-24  Bruno Haible  <bruno@clisp.org>
66586
66587         * gnulib-tool (func_version): Update.
66588
66589 2005-08-24  Bruno Haible  <bruno@clisp.org>
66590
66591         * gnulib-tool (func_import, func_create_testdir,
66592         func_create_megatestdir): Quote all autoconf macro arguments.
66593
66594 2005-08-24  Bruno Haible  <bruno@clisp.org>
66595
66596         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
66597         option --force, because --force causes the aclocal.m4 of each
66598         subdirectory to be newer than the corresponding config.h.in.
66599
66600 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66601
66602         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
66603         All contents moved to gl_REGEX.
66604         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
66605         assume that it does.
66606
66607 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66608
66609         * lib/regex.h (REG_NOSYS)
66610         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
66611         Define, since POSIX requires it as of 2001.
66612         (_REG_ENOSYS)
66613         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
66614         New private symbol, used to keep the enum signed in all cases.
66615         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
66616         Youngman in
66617         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
66618
66619         * lib/regex_internal.c (re_string_skip_chars, register_state):
66620         (calc_state_hash):
66621         Remove forward decls; no longer needed now that we use prototypes.
66622         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
66623         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
66624         (clean_state_log_if_needed): Likewise.
66625
66626 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66627
66628         * config/srclist.txt: Add glibc bugs 1231-1233.
66629
66630 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66631
66632         Fix problems reported by Sam Steingold in
66633         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
66634         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
66635         assumed that reg_errcode_t is a signed type, which is not
66636         necessarily true if _XOPEN_SOURCE is not defined.
66637         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
66638         since some compilers warn about it otherwise.
66639
66640 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66641
66642         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
66643         (init_word_char, create_initial_state, duplicate_node_closure):
66644         (fetch_token, peek_token_bracket, build_range_exp):
66645         (build_collating_symbol): Remove forward decls; no longer needed
66646         now that we use prototypes.
66647
66648         * lib/regcomp.c:
66649         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
66650         (re_compile_fastmap_iter, regcomp, regerror, regfree):
66651         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
66652         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
66653         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
66654         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
66655         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
66656         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
66657         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
66658         (build_range_exp, build_collating_symbol, parse_bracket_exp):
66659         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
66660         (build_charclass, build_charclass_op, fetch_number, create_tree):
66661         (create_token_tree, mark_opt_subexp, duplicate_tree):
66662         Use prototypes rather than old-style definitions.
66663
66664         * lib/regex_internal.c:
66665         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
66666         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
66667         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66668         (re_string_reconstruct, re_string_peek_byte_case):
66669         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
66670         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66671         (re_node_set_init_copy, re_node_set_add_intersect):
66672         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66673         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66674         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66675         (re_acquire_state, re_acquire_state_context, register_state):
66676         (create_ci_newstate, create_cd_newstate, free_state):
66677         Likewise.
66678         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
66679         re_search_2):
66680         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
66681         (re_search_internal, prune_impossible_nodes):
66682         (acquire_init_state_context, check_matching, static):
66683         (check_halt_node_context, check_halt_state_context, proceed_next_node):
66684         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
66685         (update_regs, sift_states_backward, build_sifted_states):
66686         (clean_state_log_if_needed, merge_state_array):
66687         (update_cur_sifted_state, add_epsilon_src_nodes):
66688         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
66689         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
66690         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
66691         (find_recover_state, check_subexp_matching_top, transit_state_mb):
66692         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
66693         (check_arrival, check_arrival_add_next_nodes):
66694         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66695         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
66696         (check_node_accept_bytes, check_node_accept, extend_buffers):
66697         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
66698         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
66699         (sift_ctx_init):
66700         Likewise.
66701
66702         * lib/regex_internal.h:
66703         (re_string_allocate, re_string_construct, re_string_reconstruct):
66704         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
66705         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
66706         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
66707         (re_string_context_at, re_string_peek_byte_case):
66708         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
66709         is defined, since we now use prototypes always.
66710
66711         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
66712         C89 or better.  All uses removed.
66713
66714 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66715
66716         * config/srclist.txt: Add glibc bugs 1220-1227.
66717
66718 2005-08-20  Jim Meyering  <jim@meyering.net>
66719
66720         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
66721         of unused local, dfa.
66722
66723 2005-08-20  Bruno Haible  <bruno@clisp.org>
66724
66725         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
66726
66727 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66728
66729         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
66730         (re_node_set_insert_last, re_dfa_add_node):
66731         Rename local variables to avoid GCC shadowing warnings.
66732
66733 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66734
66735         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
66736         [defined lint]: Suppress bogus uninitialized-variable warnings.
66737
66738         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
66739         and let the caller return REG_ESPACE if out of space.  This
66740         removes an uninitialied-variable warning with GCC 4.0.1, and also
66741         avoids taking the address of a local variable.  All callers
66742         changed.
66743
66744 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66745
66746         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
66747         $LIBCSRC/posix/regexec.c.
66748         Add glibc bug 1217 for regcomp.c.
66749
66750 2005-08-19  Jim Meyering  <jim@meyering.net>
66751
66752         * lib/regexec.c (proceed_next_node): Redo local variables to
66753         avoid GCC shadowing warnings.
66754
66755 2005-08-18  Bruno Haible  <bruno@clisp.org>
66756
66757         * lib/strstr.c (strstr): Fix return value in multibyte case.
66758         * lib/strcasestr.c (strcasestr): Likewise.
66759
66760 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66761
66762         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
66763
66764 2005-08-17  Jim Meyering  <jim@meyering.net>
66765
66766         Make the %s format (seconds since the epoch) work for a negative
66767         number and when used with a zero-padded field width, e.g. %015s.
66768
66769         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
66770         label so that it precedes the code to set `digits'.  Otherwise,
66771         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
66772         print `00-22'.  Now, it prints `-0022', as it should.
66773
66774 2005-08-17  Bruno Haible  <bruno@clisp.org>
66775
66776         * modules/strstr (Files): Add m4/mbrtowc.m4.
66777         (Depends-on): Add mbuiter.
66778
66779 2005-08-17  Bruno Haible  <bruno@clisp.org>
66780
66781         * modules/strcasestr: New file.
66782         * MODULES.html.sh (String handling, based on ANSI C 89): Add
66783         strcasestr.
66784
66785 2005-08-17  Bruno Haible  <bruno@clisp.org>
66786
66787         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
66788
66789 2005-08-17  Bruno Haible  <bruno@clisp.org>
66790
66791         * modules/mbuiter: New file.
66792         * MODULES.html.sh (Extended multibyte and wide character utilities):
66793         Add mbuiter.
66794
66795 2005-08-17  Bruno Haible  <bruno@clisp.org>
66796
66797         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
66798         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
66799
66800 2005-08-17  Bruno Haible  <bruno@clisp.org>
66801
66802         * m4/strcasestr.m4: New file.
66803
66804 2005-08-17  Bruno Haible  <bruno@clisp.org>
66805
66806         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
66807         * lib/strstr.c: Completely rewritten, with multibyte locale support.
66808
66809 2005-08-17  Bruno Haible  <bruno@clisp.org>
66810
66811         * lib/strcasestr.h: New file.
66812         * lib/strcasestr.c: New file.
66813
66814 2005-08-17  Bruno Haible  <bruno@clisp.org>
66815
66816         * lib/strcasecmp.c: Use mbuiter.h.
66817
66818 2005-08-17  Bruno Haible  <bruno@clisp.org>
66819
66820         * lib/mbuiter.h: New file.
66821
66822 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
66823
66824         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
66825         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
66826         and gl_GETOPT are both invoked via different paths (as happens
66827         with GNU tar CVS because it uses both argp and getopt), the former
66828         wins.
66829
66830 2005-08-16  Bruno Haible  <bruno@clisp.org>
66831
66832         * modules/tls: New file.
66833         * MODULES.html.sh (Multithreading): Add tls.
66834
66835 2005-08-16  Bruno Haible  <bruno@clisp.org>
66836
66837         * modules/strnlen1: New file.
66838         * MODULES.html.sh (String handling): Add strnlen1.
66839
66840 2005-08-16  Bruno Haible  <bruno@clisp.org>
66841
66842         * modules/strcase (Files): Add m4/mbrtowc.m4.
66843         (Depends-on): Add strnlen1, mbchar.
66844
66845 2005-08-16  Bruno Haible  <bruno@clisp.org>
66846
66847         * modules/mbiter: New file.
66848         * MODULES.html.sh (Extended multibyte and wide character utilities):
66849         Add mbiter.
66850
66851 2005-08-16  Bruno Haible  <bruno@clisp.org>
66852
66853         * modules/mbfile: New file.
66854         * MODULES.html.sh (Extended multibyte and wide character utilities):
66855         Add mbfile.
66856
66857 2005-08-16  Bruno Haible  <bruno@clisp.org>
66858
66859         * modules/mbchar: New file.
66860         * MODULES.html.sh (Extended multibyte and wide character utilities):
66861         New section.
66862
66863 2005-08-16  Bruno Haible  <bruno@clisp.org>
66864
66865         * m4/tls.m4: New file, from GNU gettext.
66866
66867 2005-08-16  Bruno Haible  <bruno@clisp.org>
66868
66869         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
66870         always.
66871         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
66872
66873 2005-08-16  Bruno Haible  <bruno@clisp.org>
66874
66875         * m4/mbiter.m4: New file.
66876
66877 2005-08-16  Bruno Haible  <bruno@clisp.org>
66878
66879         * m4/mbfile.m4: New file.
66880
66881 2005-08-16  Bruno Haible  <bruno@clisp.org>
66882
66883         * m4/mbchar.m4: New file.
66884
66885 2005-08-16  Bruno Haible  <bruno@clisp.org>
66886
66887         * lib/tls.h: New file, from GNU gettext.
66888         * lib/tls.c: New file, from GNU gettext.
66889
66890 2005-08-16  Bruno Haible  <bruno@clisp.org>
66891
66892         * lib/strnlen1.h: New file.
66893         * lib/strnlen1.c: New file.
66894
66895 2005-08-16  Bruno Haible  <bruno@clisp.org>
66896
66897         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
66898         (mbi_init): Update.
66899         (mbi_avail, mbi_advance): Let the iteration end before the terminating
66900         NUL byte, not after it.
66901
66902 2005-08-16  Bruno Haible  <bruno@clisp.org>
66903
66904         * lib/strcase.h (strcasecmp): Add note in comments.
66905         * lib/strncasecmp.c: Use code from strcasecmp.c.
66906         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
66907         (strcasecmp): Work correctly in multibyte locales.
66908
66909 2005-08-16  Bruno Haible  <bruno@clisp.org>
66910
66911         * lib/mbiter.h: New file.
66912
66913 2005-08-16  Bruno Haible  <bruno@clisp.org>
66914
66915         * lib/mbfile.h: New file.
66916
66917 2005-08-16  Bruno Haible  <bruno@clisp.org>
66918
66919         * lib/mbchar.h: New file.
66920         * lib/mbchar.c: New file.
66921
66922 2005-08-16  Bruno Haible  <bruno@clisp.org>
66923
66924         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
66925         the valid ones. Makes the comparison operations transitive:
66926         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
66927         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
66928
66929 2005-08-15  Simon Josefsson  <jas@extundo.com>
66930
66931         * modules/ssize_t (License): Change to 'unlimited'.
66932
66933         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
66934
66935 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66936
66937         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
66938         Add comments for each pending glibc patch.
66939
66940 2005-08-15  Bruno Haible  <bruno@clisp.org>
66941
66942         * lib/regex.h (__restrict_arr): Don't define to __restrict if
66943         __cplusplus is defined.
66944
66945 2005-08-14  Jim Meyering  <jim@meyering.net>
66946
66947         Sync from coreutils.
66948
66949         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
66950         Use the hash-table-based cycle-detection code not just when
66951         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
66952         Reported by James Youngman in
66953         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
66954         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
66955         FTS_TIGHT_CYCLE_CHECK.
66956         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
66957         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
66958         once again.
66959         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
66960         * lib/fts.c (fd_safer): Remove decl.
66961         Include fcntl--.h rather than unistd-safer.h
66962         (fts_safe_changedir): Don't call fd_safer; no longer needed
66963         now that we include fcntl--.h.
66964
66965 2005-08-12  Simon Josefsson  <jas@extundo.com>
66966
66967         * modules/getndelim2: Use ssize_t module.
66968         * modules/getnline: Likewise.
66969         * modules/safe-read: Likewise.
66970         * modules/xreadlink: Likewise.
66971
66972         * modules/ssize_t: New file.
66973
66974 2005-08-12  Simon Josefsson  <jas@extundo.com>
66975
66976         * m4/readline.m4: Look for termcap, curses or ncurses if required.
66977
66978 2005-08-12  Simon Josefsson  <jas@extundo.com>
66979
66980         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66981         ssize_t.
66982
66983 2005-08-12  Simon Josefsson  <jas@extundo.com>
66984
66985         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
66986         readline, getdelim and check_version.
66987         (Support for systems lacking ISO C 99: Sizes of integer types):
66988         Add size_max.
66989
66990 2005-08-12  Bruno Haible  <bruno@clisp.org>
66991
66992         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
66993
66994 2005-08-11  Simon Josefsson  <jas@extundo.com>
66995
66996         * modules/readline: New file.
66997
66998         * modules/strnlen (Files): Add strnlen.h.
66999
67000 2005-08-11  Simon Josefsson  <jas@extundo.com>
67001
67002         * m4/readline.m4: New file.
67003
67004 2005-08-11  Simon Josefsson  <jas@extundo.com>
67005
67006         * lib/readline.h, readline.c: New file.
67007
67008 2005-08-11  Simon Josefsson  <jas@extundo.com>
67009
67010         * doc/gnulib.texi (Initial import, Finishing touches): Mention
67011         gl_AVOID.
67012
67013 2005-08-11  Bruno Haible  <bruno@clisp.org>
67014
67015         * lib/strnlen.h (strnlen): Change parameter name to match comment.
67016
67017 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
67018
67019         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
67020
67021 2005-08-10  Simon Josefsson  <jas@extundo.com>
67022
67023         * tests/test-iconvme.c: New file.
67024
67025 2005-08-10  Simon Josefsson  <jas@extundo.com>
67026
67027         * m4/strnlen.m4: New file.
67028
67029         * m4/strndup.m4: Don't check for strnlen declaration, done in
67030         strnlen.m4.
67031
67032 2005-08-10  Simon Josefsson  <jas@extundo.com>
67033
67034         * lib/strndup.c: Use strnlen.h.
67035
67036         * lib/strnlen.h: New file.
67037
67038 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67039
67040         * README: Typos.
67041
67042 2005-08-02  Simon Josefsson  <jas@extundo.com>
67043
67044         * modules/readline: New file.
67045
67046 2005-08-02  Simon Josefsson  <jas@extundo.com>
67047
67048         * modules/getdelim: New file.
67049
67050         * modules/getline: Rewrite, don't use getndelim2.
67051
67052 2005-08-02  Simon Josefsson  <jas@extundo.com>
67053
67054         * m4/getline.m4: Separate out getdelim stuff into separate module.
67055
67056         * m4/getdelim.m4: New file.
67057
67058 2005-08-02  Simon Josefsson  <jas@extundo.com>
67059
67060         * lib/getline.h, getline.c: Rewrite.
67061
67062         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
67063
67064 2005-07-31  Bruno Haible  <bruno@clisp.org>
67065
67066         * lib/lock.h (gl_lock_initializer): New macro.
67067         (gl_lock_define_initialized): Use it.
67068         (gl_rwlock_initializer): New macro.
67069         (gl_rwlock_define_initialized): Use it.
67070         (gl_recursive_lock_initializer): New macro.
67071         (gl_recursive_lock_define_initialized): Use it.
67072
67073 2005-07-30  Karl Berry  <karl@gnu.org>
67074
67075         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
67076         Report from Ben Pfaff, regarding getopt.
67077
67078 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
67079
67080         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
67081         normal way.
67082         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
67083         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
67084         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
67085         (gl_GETOPT): Use the new macros.  Most of the implementation
67086         is moved to the new macros.  This is for programs like Emacs
67087         that don't want all the functionality of gl_GETOPT.
67088
67089 2005-07-26  Bruno Haible  <bruno@clisp.org>
67090
67091         * m4/lock.m4: Update from GNU gettext.
67092
67093 2005-07-26  Bruno Haible  <bruno@clisp.org>
67094
67095         * lib/lock.h: Update from GNU gettext.
67096         * lib/lock.c: Update from GNU gettext.
67097
67098 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
67099
67100         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
67101         obsolescent AC_TRY_RUN.  Include the default includes files, for
67102         'exit'.
67103
67104 2005-07-24  Bruno Haible  <bruno@clisp.org>
67105
67106         * modules/visibility: New file.
67107         * MODULES.html.sh (Misc): Add visibility.
67108
67109 2005-07-24  Bruno Haible  <bruno@clisp.org>
67110
67111         * m4/visibility.m4: New file.
67112
67113 2005-07-24  Bruno Haible  <bruno@clisp.org>
67114
67115         * doc/visibility.texi: New file.
67116
67117 2005-07-22  Bruno Haible  <bruno@clisp.org>
67118
67119         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
67120         $(ALLOCA_H), redundant through BUILT_SOURCES.
67121         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
67122         redundant through BUILT_SOURCES.
67123         * modules/byteswap (Makefile.am): Remove explicit dependency on
67124         $(BYTESWAP_H), redundant through BUILT_SOURCES.
67125         * modules/fnmatch (Makefile.am): Remove explicit dependency on
67126         $(FNMATCH_H), redundant through BUILT_SOURCES.
67127         * modules/getopt (Makefile.am): Remove explicit dependency on
67128         $(GETOPT_H), redundant through BUILT_SOURCES.
67129         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
67130         redundant through BUILT_SOURCES.
67131         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
67132         redundant through BUILT_SOURCES.
67133         * modules/stdbool (Makefile.am): Remove explicit dependency on
67134         $(STDBOOL_H), redundant through BUILT_SOURCES.
67135         * modules/stdint (Makefile.am): Remove explicit dependency on
67136         $(STDINT_H), redundant through BUILT_SOURCES.
67137         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
67138         Remove explicit dependency on $(SYSEXITS_H).
67139         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
67140
67141 2005-07-18  Simon Josefsson  <jas@extundo.com>
67142
67143         * lib/check-version.c (check_version): Accept identical versions too.
67144
67145 2005-07-18  Bruno Haible  <bruno@clisp.org>
67146
67147         * modules/lock: New file.
67148         * MODULES.html.sh (Multithreading): New section.
67149
67150 2005-07-18  Bruno Haible  <bruno@clisp.org>
67151
67152         * m4/lock.m4: New file, from GNU gettext.
67153
67154 2005-07-18  Bruno Haible  <bruno@clisp.org>
67155
67156         * lib/lock.h: New file, from GNU gettext.
67157         * lib/lock.c: New file, from GNU gettext.
67158
67159 2005-07-18  Bruno Haible  <bruno@clisp.org>
67160
67161         * lib/lock.h (gl_once_t): New type.
67162         (gl_once_define, gl_once): New macros.
67163         * lib/lock.c (fresh_once): New variable.
67164         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
67165         functions.
67166
67167 2005-07-16  Simon Josefsson  <jas@extundo.com>
67168
67169         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
67170         workaround, suggested by Bruno.
67171
67172 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67173
67174         * modules/xalloc (Depends-on): Add xalloc-die.
67175         * modules/xvasprintf (Depends-on): Add xalloc-die.
67176
67177 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67178
67179         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
67180         with a minor change.
67181
67182 2005-07-15  Bruno Haible  <bruno@clisp.org>
67183
67184         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
67185         When using lib/poll.c, define poll as rpl_poll.
67186
67187 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
67188
67189         * modules/argp (Depends-on): Remove unlocked-io.
67190
67191 2005-07-14  Derek Price  <derek@ximbiot.com>
67192
67193         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
67194         for glob symlink bug.
67195
67196 2005-07-14  Bruno Haible  <bruno@clisp.org>
67197
67198         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
67199         Instead, test for *_unlocked function declarations directly.
67200
67201 2005-07-11  Simon Josefsson  <jas@extundo.com>
67202
67203         * modules/size_max: New file.
67204
67205         * modules/xsize: Depend on size_max module for size_max.m4.
67206
67207 2005-07-11  Simon Josefsson  <jas@extundo.com>
67208
67209         * lib/size_max.h: New file.
67210
67211 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
67212
67213         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
67214         copyright symbol and the year.
67215         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
67216         (version_etc_va): Use parameterized copyright notice.
67217         Reword to conform to the current GNU coding standards.
67218
67219 2005-07-11  Karl Berry  <karl@gnu.org>
67220
67221         * doc/gnulib.texi (Quoting): new node.
67222         (Initial import): more info, from Patrice.
67223
67224 2005-07-11  Bruno Haible  <bruno@clisp.org>
67225
67226         * gnulib-tool (func_usage): Document option --avoid.
67227         (Command line options): Handle --avoid.
67228         (func_acceptable): New function.
67229         (func_modules_transitive_closure): Use it.
67230
67231 2005-07-11  Bruno Haible  <bruno@clisp.org>
67232
67233         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
67234         Reported by Jim Meyering.
67235
67236 2005-07-10  Bruno Haible  <bruno@clisp.org>
67237
67238         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
67239         Needed when size_t is smaller than 'unsigned int'.
67240         Reported by Paul Eggert.
67241
67242 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67243
67244         * modules/argp (Depends-on): Add unlocked-io
67245
67246 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67247
67248         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
67249         block of defines.
67250
67251 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67252
67253         * config/srclist.txt: Comment out regcomp.c, since we have a porting
67254         fix now.
67255
67256 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
67257         and Paul Eggert  <eggert@cs.ucla.edu>
67258
67259         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
67260         in wint_t, not wchar_t.  Remove now-unnecessary cast.
67261
67262 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67263
67264         * modules/regex (Files): Add lib/regex_internal.c,
67265         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
67266         (Depends-on): Add extensions.
67267         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
67268
67269 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67270
67271         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
67272         pathconf.
67273         * m4/same.m4 (gl_SAME): Likewise.
67274         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
67275
67276         * m4/regex.m4: Adjust to new libc regex implementation.
67277         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
67278         all the .c and .h parts of (the new) regex.
67279         Quote the m4 stuff better.
67280         Check for RE_ICASE bug of old gnulib.
67281         Check for REG_STARTEND of recent libc.
67282         Rename local variables from jm_* to gl_*.
67283         Quote operand of "test -f".
67284         Say "recent enough" version of libc, not "version 2".
67285         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
67286         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
67287         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
67288         Remove check for btowc, isascii.
67289         Require AM_LANGINFO_CODESET.
67290
67291 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67292
67293         * lib/regex.c, regex.h: Sync from libc.
67294         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
67295         * lib/regexec.c:
67296         New files, synced from libc, except that regex_internal.h
67297         currently has a small porting fix.
67298
67299 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67300
67301         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
67302         regex_internal.c, regexec.c.
67303         Add regex_internal.h too, but as a comment, since the libc version
67304         is currently broken in gnulib mode.
67305
67306 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67307
67308         Support programs like Emacs that use gnulib but not gettext.
67309         * MODULES.html.sh (Internationalization functions): Add gettext-h.
67310         * modules/gettext-h: New file.
67311         * modules/gettext (Files): Remove lib/gettext.h.
67312         (Depends-on): Add gettext-h.
67313         (Makefile.am): Remove lib_SOURCES.
67314         * modules/argmatch, modules/c-stack, modules/closeout:
67315         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
67316         * modules/execute, modules/file-type, modules/getaddrinfo:
67317         * modules/getopt, modules/human, modules/javacomp:
67318         * modules/javaexec, modules/mkdir-p, modules/obstack:
67319         * modules/openat, modules/pagealign_alloc, modules/pipe:
67320         * modules/quotearg, modules/regex, modules/rpmatch:
67321         * modules/unicodeio, modules/userspec, modules/version-etc:
67322         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
67323         * modules/xsetenv:
67324         Depend on gettext-h, not gettext.
67325
67326 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67327
67328         * gnulib-tool (func_import): Add support for 'public domain' license.
67329         * modules/alloca, modules/atexit, modules/memmove:
67330         Now public domain, not GPL.
67331         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
67332         * modules/realloc, modules/strerror, modules/strtod:
67333         Now LGPL, not GPL.
67334
67335 2005-07-05  Bruno Haible  <bruno@clisp.org>
67336
67337         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
67338         autoconf CVS. Needed for mingw.
67339
67340 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67341
67342         Remove the dependency of the strftime module on the tzset module.
67343         * modules/strftime (Depends-on): Remove dependency on tzset.
67344
67345 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67346
67347         Remove the dependency of the strftime module on the tzset module.
67348         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
67349         gl_FUNC_TZSET_CLOBBER.
67350
67351 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67352
67353         Remove the dependency of the strftime module on the tzset module.
67354         * lib/strftime.c (my_strftime)
67355         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
67356         Copy the input structure, to work around some of the bug with
67357         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
67358         Solaris releases, you should also use the tzset module, but we won't
67359         require it as a dependency any more since we don't want LGPLed code
67360         to depend on GPLed code.
67361
67362 2005-07-02  Jim Meyering  <jim@meyering.net>
67363
67364         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
67365         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
67366         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
67367         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
67368
67369 2005-07-02  Jim Meyering  <jim@meyering.net>
67370
67371         * lib/backupfile.c (backup_args): Change a `0' to NULL.
67372
67373 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67374
67375         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
67376         declares only 'struct timespec;' (!).
67377
67378 2005-07-01  Jim Meyering  <jim@meyering.net>
67379
67380         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
67381         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
67382         * lib/save-cwd.c, tempname.c:
67383         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67384         and don't include <sys/file.h>).
67385
67386 2005-06-29  Jim Meyering  <jim@meyering.net>
67387
67388         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
67389         type name.  Use the variable name instead.
67390         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
67391         Likewise.
67392
67393 2005-06-28  Simon Josefsson  <jas@extundo.com>
67394
67395         * modules/check-version (Files): Add check-version.m4.
67396
67397 2005-06-28  Simon Josefsson  <jas@extundo.com>
67398
67399         * m4/check-version.m4: New file, suggested by Jim Meyering
67400         <jim@meyering.net>.
67401
67402 2005-06-28  Simon Josefsson  <jas@extundo.com>
67403
67404         * lib/check-version.h, lib/check-version.c: New files.
67405
67406 2005-06-28  Simon Josefsson  <jas@extundo.com>
67407
67408         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
67409         collision with global variable.  Better indentation.  Don't
67410         increment buffer pointer beyond buffer end.  Based on comments
67411         from Paul Eggert <eggert@cs.ucla.edu>.
67412
67413         * lib/base64.h: Indent.
67414
67415 2005-06-28  Simon Josefsson  <jas@extundo.com>
67416
67417         * doc/gnulib.texi (Library version handling): New section.
67418
67419 2005-06-28  Jim Meyering  <jim@meyering.net>
67420
67421         * check-module (find_included_lib_files): Hard-code another
67422         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
67423         but modules/fts-lgpl (correctly) does not list those files.
67424
67425         * modules/canonicalize (Files): Add lib/pathmax.h.
67426
67427 2005-06-25  Simon Josefsson  <jas@extundo.com>
67428
67429         * modules/check-version: New file.
67430
67431 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
67432
67433         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
67434         initializer of struct addrinfo, as an indication that we don't
67435         care how many members the structure has.
67436
67437 2005-06-24  Derek Price  <derek@ximbiot.com>
67438         and Bruno Haible  <bruno@clisp.org>
67439
67440         Remove stat module & update lstat.
67441         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
67442         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67443         * m4/stat.m4: Remove this file.
67444
67445 2005-06-24  Derek Price  <derek@ximbiot.com>
67446         and Bruno Haible  <bruno@clisp.org>
67447
67448         Remove stat module & update lstat.
67449         * lib/stat.c: Remove this file...
67450         (slash_aware_lstat): ...moving this content and its support...
67451         * lib/lstat.c (rpl_lstat): ...into here.
67452         * lib/lstat.h: New file.
67453
67454 2005-06-24  Derek Price  <derek@ximbiot.com>
67455         and Bruno Haible  <bruno@clisp.org>
67456
67457         Remove stat module & update lstat.
67458         * config/srclist.txt (libc sources): Remove stat.
67459
67460 2005-06-24  Derek Price  <derek@ximbiot.com>
67461         and Bruno Haible  <bruno@clisp.org>
67462
67463         Remove stat module & update lstat.
67464         * MODULES.html.sh (stat): Remove.
67465         * MODULES.html: Regenerated.
67466         * modules/lstat (Description): Correct function name.
67467         (Files): Add "lstat.h".
67468         (Depends-on): Remove stat, add xalloc, stat-macros.
67469         * modules/stat: Remove this file.
67470         (Include): Add "lstat.h", remove <sys/stat.h>.
67471
67472 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67473
67474         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
67475         (ranged_convert): Don't save conversion in a temporary struct.
67476         This causes a warning with GCC 4.0.0, and anyway in the typical
67477         case it's not worth the extra 100 bytes or so of code.
67478         (ranged_convert, __mktime_internal): When calling a function via a
67479         pointer P, use P () rather than (*P) (), as we now assume C89 or
67480         better.
67481
67482 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67483
67484         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
67485         "who -r" failed to give output.  Problem reported by Tim Waugh.
67486
67487         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
67488         (xcalloc): Use it to avoid needless tests.
67489         Problem reported by Jim Meyering.
67490
67491 2005-06-20  Derek Price  <derek@ximbiot.com>
67492
67493         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
67494         unnecessary for Autoconfs > 2.59c.
67495
67496 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67497
67498         * lib/argp.h (__option_is_short): Check upper limit of
67499         __key. Isprint() requires its argument to have the value
67500         of an unsigned char or EOF.
67501
67502 2005-06-16  Jim Meyering  <jim@meyering.net>
67503
67504         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
67505         when either N or S is zero.
67506
67507 2005-06-16  Derek Price  <derek@ximbiot.com>
67508
67509         * m4/bison.m4: Declare YACC & YFLAGS precious.
67510
67511 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
67512
67513         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
67514         multibyte string or pattern, fall back on unibyte matching.
67515         Problem reported by James Youngman.
67516
67517 2005-06-08  Bruno Haible  <bruno@clisp.org>
67518
67519         * modules/csharpcomp: New file.
67520         * MODULES.html.sh (C#): Add csharpcomp.
67521
67522 2005-06-08  Bruno Haible  <bruno@clisp.org>
67523
67524         * m4/csharpcomp.m4: New file, from GNU gettext.
67525
67526 2005-06-08  Bruno Haible  <bruno@clisp.org>
67527
67528         * lib/csharpcomp.h: New file, from GNU gettext.
67529         * lib/csharpcomp.c: New file, from GNU gettext.
67530         * lib/csharpcomp.sh.in: New file, from GNU gettext.
67531
67532 2005-06-08  Bruno Haible  <bruno@clisp.org>
67533
67534         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
67535         warning on mingw.
67536
67537 2005-06-07  Derek Price  <derek@ximbiot.com>
67538
67539         Sync from CVS.
67540         * lib/glob_.h: Indent nested #ifdef.
67541
67542 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67543
67544         Sync from coreutils.
67545         Use "file name" when talking about file names, instead of "filename"
67546         or "path", as per the GNU coding standards.
67547         * lib/mkdir-p.c: Renamed from makepath.c.
67548         (make_dir_parents): Renamed from make_path.  All callers changed.
67549         * lib/mkdir-p.h: Likewise.  All includers changed.
67550         * lib/filenamecat.c: Renamed from path-concat.c.
67551         (file_name_concat): Renamed from path_concat.  All callers changed.
67552         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
67553         * lib/filenamecat.h: Likewise.  All includers changed.
67554         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
67555         in comments or local variable names.
67556         * lib/basename.c: Likewise.
67557         * lib/canonicalize.c, canonicalize.h: Likewise.
67558         * lib/dirname.c, dirname.h: Likewise.
67559         * lib/euidaccess.c: Likewise.
67560         * lib/exclude.c: Likewise
67561         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
67562         * lib/fsusage.c, fsuage.h: Likewise.
67563         * lib/fts.c, fts_.h: Likewise.
67564         * lib/getcwd.c: Likewise.
67565         * lib/getloadavg.c: Likewise.
67566         * lib/mkstemp.c: Likewise.
67567         * lib/mountlist.c, mountlist.h: Likewise.
67568         * lib/openat.c, openat.h: Likewise.
67569         * lib/readlink-stub.c: Likewise.
67570         * lib/readutmp.c, readutmp.h: Likewise.
67571         * lib/rename.c: Likewise.
67572         * lib/rmdir.c: Likewise.
67573         * lib/same.c: Likewise.
67574         * lib/savedir.c: Likewise.
67575         * lib/stripslash.c: Likewise.
67576         * lib/tempname.c: Likewise.
67577         * lib/xreadlink.c: Likewise.
67578         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
67579         All uses changed.
67580         * lib/exclude.h: Likewise.
67581
67582         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
67583         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67584         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
67585         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67586         * lib/pathmax.h: Include <limits.h> unconditionally, since other
67587         files have been getting away with it for years (MORE/BSD 4.3
67588         is extinct now).
67589         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
67590         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67591
67592         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
67593         Define to 256, not 255, as per modern POSIX.
67594
67595 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67596
67597         Sync from coreutils.
67598         Use "file name" when talking about file names, instead of "filename"
67599         or "path", as per the GNU coding standards.
67600         * MODULES.html.sh: mkdir-p renamed from makepath.
67601         filenamecat renamed from path-concat.
67602         * modules/filenamecat: Renamed from modules/path-concat.
67603         (Files): filenamecat.h and filenamecat.c renamed from
67604         path-concat.h and path-concat.c.
67605         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
67606         (Include): filenamecat.h, not path-concat.h.
67607         * modules/mkdir-p: Renamed from modules/makepath.
67608         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
67609         makepath.c.
67610         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
67611         (Include): mkdir-p.h, not makepath.h.
67612
67613 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67614
67615         Sync from coreutils.
67616         * m4/mkdir-p.m4: Renamed from makepath.m4.
67617         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
67618         Rename files from makepath.c to mkdir-p.c, and from
67619         makepath.h to mkdir-p.h.
67620         * m4/filenamecat.m4: Renamed from path-concat.m4.
67621         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
67622         Rename files from path-concat.c to filenamecat.c,
67623         and from path-concat.h to filenamecat.h.
67624         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
67625         "file name" in local variables or comments.
67626         * m4/rename.m4: Likewise.
67627
67628 2005-06-01  Bruno Haible  <bruno@clisp.org>
67629
67630         * modules/csharpexec: New file.
67631         * MODULES.html.sh (C#): New section.
67632
67633 2005-06-01  Bruno Haible  <bruno@clisp.org>
67634
67635         * m4/csharp.m4: New file, from GNU gettext.
67636         * m4/csharpexec.m4: New file, from GNU gettext.
67637
67638 2005-06-01  Bruno Haible  <bruno@clisp.org>
67639
67640         * lib/csharpexec.h: New file, from GNU gettext.
67641         * lib/csharpexec.c: New file, from GNU gettext.
67642         * lib/csharpexec.sh.in: New file, from GNU gettext.
67643
67644 2005-05-31  Derek Price  <derek@ximbiot.com>
67645             Paul Eggert  <eggert@cs.ucla.edu>
67646
67647         Sync from cvs.
67648         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67649
67650 2005-05-31  Derek Price  <derek@ximbiot.com>
67651             Paul Eggert  <eggert@cs.ucla.edu>
67652
67653         Sync from cvs.
67654         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67655
67656 2005-05-29  Derek Price  <derek@ximbiot.com>
67657
67658         * config/srclist.txt (glob_.h, glob.c): Add these files.
67659
67660 2005-05-29  Derek Price  <derek@ximbiot.com>
67661
67662         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
67663         * modules/glob: New file.
67664         * modules/getlogin_r: Add link to POSIX spec in description.
67665
67666 2005-05-29  Derek Price  <derek@ximbiot.com>
67667             Paul Eggert  <eggert@cs.ucla.edu>
67668
67669         * m4/glob.m4: New file.
67670
67671 2005-05-29  Derek Price  <derek@ximbiot.com>
67672             Paul Eggert  <eggert@cs.ucla.edu>
67673
67674         * lib/glob_.h, lib/glob.c: New files.
67675
67676 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67677
67678         * modules/fts (Files): Remove m4/inttypes-pri.m4.
67679         * modules/fts-lgpl (Depends-on): Remove gettext.
67680
67681 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67682
67683         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
67684         and don't require gt_INTTYPES_PRI.
67685
67686 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67687
67688         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
67689
67690         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
67691         the configuration hassle isn't worth it.
67692         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
67693         (LONGEST_MODIFIER, PRIuMAX): Remove.
67694
67695 2005-05-27  Bruno Haible  <bruno@clisp.org>
67696
67697         * lib/getlogin_r.h: Remove second include of <stddef.h>.
67698
67699 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
67700
67701         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
67702         _POSIX_PTHREAD_SEMANTICS for Solaris.
67703
67704 2005-05-25  Derek Price  <derek@ximbiot.com>
67705
67706         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
67707
67708 2005-05-25  Derek Price  <derek@ximbiot.com>
67709             Paul Eggert  <eggert@cs.ucla.edu>
67710
67711         * modules/getlogin_r, m4/getlogin_r.m4: New files.
67712         * lib/getlogin_r.c, getlogin_r.h: New files.
67713
67714 2005-05-25  Bruno Haible  <bruno@clisp.org>
67715             Derek Price  <derek@ximbiot.com>
67716
67717         * lib/getlogin_r.h: Simplify API documentation.
67718
67719 2005-05-23  Derek Price  <derek@ximbiot.com>
67720
67721         * modules/minmax (Files): Add m4/minmax.m4.
67722         (configure.ac): Add gl_MINMAX.
67723
67724 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
67725
67726         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
67727         so that unistd-safer.h (GPL'ed code) need not be included.
67728
67729 2005-05-22  Bruno Haible  <bruno@clisp.org>
67730
67731         * m4/minmax.m4: New file.
67732         Based on a patch by Derek Price <derek@ximbiot.com>.
67733
67734 2005-05-22  Bruno Haible  <bruno@clisp.org>
67735
67736         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
67737         (INT64_MIN): Fix definition.
67738         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
67739
67740         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
67741         NEED_SIGNED_INT_TYPES.
67742
67743         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
67744         HAVE_SYSTEM_INTTYPES.
67745
67746 2005-05-22  Bruno Haible  <bruno@clisp.org>
67747
67748         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
67749         Also include <sys/param.h> if it defines MIN, MAX.
67750         Based on a patch by Derek Price <derek@ximbiot.com>.
67751
67752 2005-05-21  Jim Meyering  <jim@meyering.net>
67753
67754         * modules/fts (Files): Add m4/inttypes-pri.m4.
67755         (Depends-on): Add lstat and remove gettext.  Alphabetize.
67756
67757 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67758
67759         New fts module.
67760         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
67761         (setup_dir, free_dir): New functions.
67762         (enter_dir, leave_dir): Define trivial
67763         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
67764         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
67765         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
67766         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
67767         Move to fts-cycle.c.
67768         (fts_open): Use setup_dir.
67769         (fts_close): Use free_dir.
67770         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
67771         This adds a label and some gotos, but the alternatives were messier.
67772         Check for memory allocation failure when entering a dir.
67773         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
67774         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
67775         (FTS): New member fts_cycle, that is a union that contains the
67776         old active_dir_ht and cycle_state.  All uses changed to mention
67777         fts_cycle.ht and fts_cycle.state.
67778         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
67779         fts.c, with the following changes:
67780         (setup_dir, free_dir): New functions.
67781         (enter_dir): Now returns bool.  Return true if successful, false
67782         if memory exhausted.  All callers changed.
67783         Do not bother partly cleaning up on
67784         memory allocation failure; that is free_dir's job.
67785         However, free ad if hash_insert fails, to avoid memory leak.
67786         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
67787         fts->fts_options to see which union member to use.
67788
67789 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67790
67791         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
67792         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
67793
67794 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67795
67796         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
67797
67798 2005-05-20  Jim Meyering  <jim@meyering.net>
67799
67800         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
67801         Now a macro, to pacify GCC.
67802
67803 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67804
67805         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
67806         of -1.
67807
67808 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67809
67810         * lib/chown.c (rpl_chown): Return -1 on failure.
67811
67812 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67813
67814         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
67815         Don't check for stddef.h.
67816         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
67817         don't use its results.
67818         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
67819         since we include them unconditionally.  Don't require
67820         AM_STDBOOL_H, since stdbool is a prerequisite.
67821         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
67822         since we assume C89 or better.
67823         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
67824         as we don't use their results.
67825         Don't check for fchdir, memmove, memset, strrchr, as we use
67826         them unconditionally.
67827         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
67828         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
67829
67830 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67831
67832         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
67833         Include <stddef.h> unconditionally, since we assume C89 now.
67834         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
67835         * lib/fts.c: Include fts_.h first, to check interface.
67836         Do not include intprops.h; no longer needed.
67837         Include cycle-check.h and hash.h, since fts_.h no longer does.
67838         Remove unnecessary casts of closedir to void.
67839         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
67840         decide whether to decrement nlinks.
67841         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
67842         (FTS): Use struct hash_table * instead of Hash_table, so that
67843         we no longer need to include hash.h here.
67844
67845 2005-05-18  Jim Meyering  <jim@meyering.net>
67846
67847         * modules/dirfd (License): Change to LGPL.  Most of the code
67848         is already in the public domain.
67849
67850 2005-05-18  Jim Meyering  <jim@meyering.net>
67851
67852         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
67853         Reported by Yoann Vandoorselaere.
67854
67855 2005-05-17  Jim Meyering  <jim@meyering.net>
67856
67857         * m4/fts.m4: New file, from coreutils.
67858
67859 2005-05-17  Jim Meyering  <jim@meyering.net>
67860
67861         * lib/fts.c, lib/fts_.h: New files, from coreutils.
67862
67863 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67864
67865         Sync from coreutils.
67866         * m4/unlinkdir.m4: New file.
67867
67868 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67869
67870         Sync from coreutils.
67871         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
67872         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
67873         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
67874         White space changes only.
67875         * lib/makepath.c (make_path): Port to hosts where leading "//" is
67876         special.
67877         * lib/yesno.c: Include getline.h, not ctype.h.
67878         (yesno): Don't remove leading white space; POSIX doesn't allow it.
67879         Use getline to remove arbitrary restriction on response length.
67880
67881 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67882
67883         * config/srclist-update: Spell out "Street" in FSF postal
67884         mail address; this is the style the FSF seems to prefer.
67885
67886         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
67887         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
67888         this updates FSF postal mail address.
67889
67890         Sync from coreutils.
67891         * modules/unlinkdir: New file.
67892         * modules/yesno (Depends-on): Add getline.
67893         * MODULES.html.sh (File system functions): Add unlinkdir.
67894
67895 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67896
67897         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
67898         lib/strsep.h:
67899         Change the initial comment to refer to GPL, not LGPL.
67900         gnulib-tool will change it to LGPL as needed.
67901
67902         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
67903         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
67904         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
67905         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
67906         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
67907         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
67908         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
67909         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
67910         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
67911         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
67912         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
67913         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
67914         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
67915         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
67916         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
67917         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
67918         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
67919         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
67920         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
67921         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
67922         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
67923         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
67924         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
67925         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
67926         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
67927         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
67928         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
67929         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
67930         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
67931         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
67932         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
67933         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
67934         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
67935         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
67936         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
67937         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
67938         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
67939         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
67940         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
67941         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
67942         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
67943         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
67944         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
67945         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
67946         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
67947         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
67948         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
67949         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
67950         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
67951         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
67952         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67953         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
67954         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
67955         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
67956         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
67957         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
67958         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
67959         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
67960         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
67961         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
67962         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
67963         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
67964         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
67965         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
67966         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
67967         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
67968         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
67969         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
67970         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
67971         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
67972         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
67973         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
67974         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
67975         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
67976         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
67977         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
67978         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
67979         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
67980         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
67981         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
67982         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
67983         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
67984         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
67985         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
67986         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
67987         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
67988         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
67989         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
67990         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
67991         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
67992         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
67993         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
67994         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
67995         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
67996         lib/yesno.c, lib/yesno.h:
67997         Update FSF postal mail address.
67998
67999 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68000
68001         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
68002         tests/test-memmem.c, tests/test-stpncpy.c:
68003         Update FSF postal mail address.
68004
68005 2005-05-13  Bruno Haible  <bruno@clisp.org>
68006
68007         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
68008         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
68009         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
68010         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
68011         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
68012         Add support for 64-bit integers in the MSVC compiler.
68013
68014 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68015
68016         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
68017
68018 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
68019
68020         * gnulib-tool (func_import): Sort and uniquify recommended includes.
68021
68022 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
68023
68024         * doc/getdate.texi (General date syntax): Don't say that date
68025         date --iso-8601=ns generates acceptable dates; it doesn't yet.
68026         Problem reported by Nic Ferrier.
68027
68028 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68029
68030         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
68031         specified in ai_socktype. Fix invalid ai_protocol
68032         check. ai_protocol is usually set to 0 or depending on
68033         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
68034         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
68035         ai_socktype / ai_protocol in the returned addrinfo structure.
68036
68037 2005-05-10  Simon Josefsson  <jas@extundo.com>
68038
68039         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
68040         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
68041
68042 2005-05-10  Karl Berry  <karl@gnu.org>
68043
68044         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
68045         (from http://www.gnu.org/licenses).
68046         * doc/COPYING.LIB: also rename to COPYING.LESSER.
68047         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
68048         fdl.texi suffices.
68049
68050 2005-05-10  Karl Berry  <karl@gnu.org>
68051
68052         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
68053         (COPYING.DOC): remove.
68054
68055         * config/srclist-update: new FSF address.
68056
68057 2005-05-10  Derek Price  <derek@ximbiot.com>
68058
68059         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
68060         possible.
68061
68062 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68063             Bruno Haible  <bruno@clisp.org>
68064
68065         * modules/inet_ntop: New file.
68066         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68067         inet_ntop.
68068
68069 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68070             Bruno Haible  <bruno@clisp.org>
68071
68072         * m4/inet_ntop.m4: New file.
68073
68074 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68075             Bruno Haible  <bruno@clisp.org>
68076
68077         * lib/inet_ntop.h: New file.
68078         * lib/inet_ntop.c: New file, from glibc with modifications.
68079
68080 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
68081
68082         * modules/time_r (License): Change to LGPL.
68083         * modules/extensions (License): Change to LGPL.  Actually,
68084         the license is more permissive than that, but currently gnulib-tool
68085         doesn't know how to handle more-permissive licenses.
68086
68087         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
68088         Problem reported by Dave Love.
68089
68090 2005-05-08  Jim Meyering  <jim@meyering.net>
68091
68092         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
68093         blank.
68094
68095 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68096
68097         * modules/argmatch (Depends-on): Add stdbool.
68098         * modules/backupfile (Depends-on): Likewise.
68099         * modules/chdir-long (Depends-on): Likewise.
68100         * modules/closeout (Depends-on): Likewise.
68101         * modules/cycle-check (Depends-on): Likewise.
68102         * modules/dirname (Depends-on): Likewise.
68103         * modules/fnmatch (Depends-on): Likewise.
68104         * modules/fsusage (Depends-on): Likewise.
68105         * modules/fwriteerror (Depends-on): Likewise.
68106         * modules/getcwd (Depends-on): Likewise.
68107         * modules/getloadavg (Depends-on): Likewise.
68108         * modules/hard-locale (Depends-on): Likewise.
68109         * modules/makepath (Depends-on): Likewise.
68110         * modules/mountlist (Depends-on): Likewise.
68111         * modules/nanosleep (Depends-on): Likewise.
68112         * modules/posixtm (Depends-on): Likewise.
68113         * modules/quotearg (Depends-on): Likewise.
68114         * modules/readtokens (Depends-on): Likewise.
68115         * modules/readtokens0 (Depends-on): Likewise.
68116         * modules/readutmp (Depends-on): Likewise.
68117         * modules/save-cwd (Depends-on): Likewise.
68118         * modules/strftime (Depends-on): Likewise.
68119         * modules/userspec (Depends-on): Likewise.
68120         * modules/utimecmp (Depends-on): Likewise.
68121         * modules/xgetcwd (Depends-on): Likewise.
68122         * modules/xnanosleep (Depends-on): Likewise.
68123         * modules/xstrtod (Depends-on): Likewise.
68124         * modules/yesno (Depends-on): Likewise.
68125
68126 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68127
68128         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
68129         needless checks.
68130
68131 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68132
68133         Merge from coreutils.  Among other things,
68134         add bulletproofing for cases where stdin, stdout, or stderr are closed.
68135         * lib/fd-safer.c: New file.
68136         * lib/fcntl-safer.h, open-safer.c: Remove.
68137         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
68138         * lib/dup-safer.c: Include unistd-safer.h first.
68139         Don't include errno.h.
68140         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
68141         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
68142         * lib/file-type.c: Rely on file-type.h change.
68143         * lib/getloadavg.c: Include unistd-safer.h.
68144         (getloadavg): Use safer open.
68145         * lib/getusershell.c: Include "stdio-safer.h".
68146         (getusershell): Use safer fopen.
68147         * lib/long-options.c (long_options): Use NULL rather than 0.
68148         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
68149         'free'.
68150         * lib/modechange.c: Likewise.
68151         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
68152         (MODE_DONE): New constant.
68153         (struct mode_change): Remove 'next' member.
68154         (make_node_op_equals): New function; like the old one of the
68155         same name, except it allocates an array.
68156         (mode_compile, mode_create_from_ref): Use it.
68157         (mode_compile): Allocate result as an array, not a linked list.
68158         Parse octal string ourself, so that we catch mistakes like "+0".
68159         (mode_adjust): Arg is an array, not a linked list.
68160         * lib/modechange.c: Include stat-macros.h, xalloc.h.
68161         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
68162         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
68163         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
68164         Remove.  This is now stat-macros.h's job.
68165         (talloc): Remove.  All callers replaced by xalloc, so that
68166         our invokers don't have to worry about reporting memory failures.
68167         (make_node_op_equals): Remove.
68168         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68169         New constants.
68170         (struct mode_change): Moved here from modechange.h.
68171         (mode_append_entry): Remove.
68172         (mode_compile): Remove MASKED_OPS arg, since it encouraged
68173         apps to have incorrect behavior.  Use simpler algorithm for head
68174         and tail.  Don't futz with umask; that's now the job of mode_adjust.
68175         Detect more invalid usages rather than having somewhat-random behavior.
68176         Don't insert an "a=" action, as that leads to incorrect behavior.
68177         (mode_compile, mode_create_from_ref): Return NULL on error instead
68178         of an enum, since now there's only one way to have an error.  All
68179         callers changed.
68180         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
68181         at the correct time.  Simplify calculation of "+u" and its ilk.
68182         Don't mishandle "+X".
68183         (mode_free): Remove "register" and localize decls.
68184         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68185         (struct mode_change): Move to modechange.c; callers don't
68186         need to see this stuff.
68187         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
68188         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
68189         (mode_change, mode_adjust): Reflect the new signatures noted above.
68190         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
68191         that might redefine system include files.
68192         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
68193         (my_usleep): Use NULL rather than (void *) 0.
68194         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
68195         Use siginterrupt to specify that system calls should be interrupted.
68196         (rpl_nanosleep): Move initialization of suspended closer to call of
68197         my_usleep.
68198         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
68199         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
68200         (desirable_utmp_entry): New function.
68201         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
68202         using x2nrealloc, to simplify logic.
68203         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
68204         size calculation.  Do not assume utmp file is a regular file.
68205         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
68206         (READ_UTMP_CHECK_PIDS): New constant.
68207         * lib/save-cwd.c: Include unistd-safer.h.
68208         (save_cwd): Use fd_safer.
68209         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
68210         [!_LIBC] Include "stat-macros.h" instead.
68211         * lib/unistd-safer.h (fd_safer): New decl.
68212
68213 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68214
68215         * modules/getloadavg (Depends-on): Add unistd-safer.
68216         * modules/getusershell (Depends-on): Add stdio-safer.
68217         * modules/lstat (Depends-on): Remove xalloc.
68218         * modules/mkstemp (Depends-on): Add stat-macros.
68219         * modules/modechange (Depends-on): Remove xstrtol.
68220         Add stat-macros, xalloc.
68221         * modules/save-cwd (Depends-on): Add unistd-safer.
68222         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
68223         * modules/unistd-safer (Files): Add lib/fd-safer.c
68224         (Makefile.am): Remove lib_SOURCES.
68225
68226         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
68227         Remove fcntl-safer; unistd-safer supersedes it.
68228
68229 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68230
68231         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
68232         AC_HEADER_STAT.
68233         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
68234         (gl_PREREQ_CHOWN): Remove.
68235         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
68236         it.  Don't require AC_HEADER_STAT.
68237         (gl_PREREQ_LSTAT): Remove.
68238         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
68239         Don't require AC_HEADER_STAT.
68240         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
68241         (gl_PREREQ_RMDIR): Remove.
68242         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
68243         mention stat-macros.h or AC_HEADER_STAT, since we'll make
68244         the stat-macros module a prerequisite.
68245         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
68246         * m4/filemode.m4 (gl_FILEMODE): Likewise.
68247         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
68248         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
68249         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
68250         variable names.
68251         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
68252         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
68253         variable prefixes.
68254         * m4/fcntl-safer.m4: Remove.
68255         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
68256         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
68257         Invoke gl_PREREQ_FD_SAFER.
68258         (gl_PREREQ_FD_SAFER): New macro.
68259         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
68260         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
68261         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
68262         Remove duplicate call to AC_LIBOBJ(readutmp).
68263         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
68264
68265         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
68266         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
68267
68268 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68269
68270         * MODULES.html.sh (Misc): Add byteswap.
68271
68272 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68273
68274         * modules/getcwd (Depends-on): Add extensions.
68275         * modules/openat (Depends-on): Likewise.
68276
68277 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68278
68279         * modules/byteswap: New file.
68280
68281 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68282
68283         * m4/byteswap.m4: New file.
68284
68285 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68286
68287         * lib/byteswap_.h: New file.
68288
68289 2005-04-25  Karl Berry  <karl@gnu.org>
68290
68291         * m4/gettext.m4: Update from GNU gettext 0.14.4.
68292
68293 2005-04-25  Albert Chin  <china@thewrittenword.com>
68294
68295         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
68296         Toolkit C bug.
68297
68298 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
68299
68300         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
68301         (func_ln_if_changed): Remove forcibly for no error message
68302         in case file does not exist.
68303
68304 2005-04-19  Simon Josefsson  <jas@extundo.com>
68305
68306         * gnulib-tool (Options): Make --symlink mean --symbolic.
68307
68308 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
68309
68310         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
68311
68312 2005-04-16  Simon Josefsson  <jas@extundo.com>
68313
68314         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
68315
68316 2005-04-15  Simon Josefsson  <jas@extundo.com>
68317
68318         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
68319
68320 2005-04-15  Simon Josefsson  <jas@extundo.com>
68321
68322         * gnulib-tool: Rename --symlink to --symbolic.
68323
68324 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
68325
68326         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
68327         symbolic links to files instead of copying/moving.  Add --aux-dir,
68328         specifying directory relative --dir where auxiliary build tools
68329         are placed.
68330
68331 2005-04-14  Bruno Haible  <bruno@clisp.org>
68332
68333         * modules/allocsa (License): Change to LGPL.
68334         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
68335
68336 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68337
68338         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
68339         that "UTC +1 second" continues to work.  Problem reported
68340         by Dmitry V. Levin.
68341         (relunit_snumber): New rule.
68342         (relunit): Use it.
68343
68344 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
68345
68346         * lib/getdate.y (universal_time_zone_table): New constant.
68347         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
68348         universal_time_zone_table.
68349         (lookup_zone): Prefer universal_time_zone_table to
68350         local_time_zone_table, so that "GMT" time stamps are allowed in
68351         London during the summer.  Problem reported by Ian Abbott.
68352
68353 2005-04-12  Jim Meyering  <jim@meyering.net>
68354
68355         * lib/human.c (humblock): Set *options even when returning due to
68356         xstrtoumax conversion failure.  Thanks to a used-uninitialized
68357         warning from gcc-4.
68358
68359 2005-04-09  Jim Meyering  <jim@meyering.net>
68360
68361         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
68362         -Wuninitialized: initialize tm0.tm_year.
68363
68364 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68365
68366         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
68367         count, since there's no maximum.  All uses changed.
68368         Add member dsts_seen.
68369         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
68370         not being INT_MAX.
68371         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
68372         Use pc_rels_seen to decide whther a date is absolute.
68373
68374         * lib/getdate.y (number): Don't overwrite year.
68375         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
68376         check.
68377
68378 2005-04-02  Simon Josefsson  <jas@extundo.com>
68379
68380         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
68381         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
68382
68383 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
68384
68385         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
68386         where no absolute path name can be longer than PATH_MAX.
68387
68388 2005-03-27  Jim Meyering  <jim@meyering.net>
68389
68390         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
68391
68392 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
68393
68394         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
68395         "one's complement" -> "ones' complement" in comment, as per Knuth.
68396         "value of type" -> "type or expression" in comment.
68397         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
68398
68399 2005-03-26  Jim Meyering  <jim@meyering.net>
68400
68401         Comment nits.
68402         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
68403         Correct typos: s/or/of/.
68404
68405 2005-03-26  Jim Meyering  <jim@meyering.net>
68406
68407         * modules/check-include-files: Move to ../ and rename to...
68408         * check-module: ...this.
68409
68410 2005-03-25  Jim Meyering  <jim@meyering.net>
68411
68412         * modules/xvasprintf (Files): Add xalloc.h.
68413
68414 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68415
68416         * modules/gettext (Files): config/config.rpath ->
68417         build-aux/config.rpath
68418         * modules/iconv (Files): Likewise.
68419         Problem reported by Oskar Liljeblad.
68420
68421 2005-03-23  Jim Meyering  <jim@meyering.net>
68422
68423         * modules/check-include-files: New script to check for
68424         missing dependencies, multiple includes, etc.
68425
68426         * modules/c-strtold (Depends-on): Add xalloc.
68427         * modules/c-strtod (Depends-on): Add xalloc.
68428         * modules/hash (Depends-on): Add xalloc.
68429         (Files): Remove lib/xalloc.h.
68430
68431         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
68432         * modules/userspec (Files): Add lib/inttostr.h.
68433
68434 2005-03-23  Jim Meyering  <jim@meyering.net>
68435
68436         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
68437
68438 2005-03-22  Jim Meyering  <jim@meyering.net>
68439
68440         * modules/stat-macros: New module.
68441         * modules/canonicalize, modules/euidaccess, modules/file-type,
68442         * modules/filemode, modules/lchown, modules/makepath,
68443         * modules/rmdir, modules/stat: Depend on new stat-macros module
68444         rather than listing lib/stat-macros.h manually.
68445         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
68446
68447 2005-03-22  Jim Meyering  <jim@meyering.net>
68448
68449         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
68450
68451 2005-03-22  Bruno Haible  <bruno@clisp.org>
68452
68453         * config/srclist.txt: Replace target directory 'config' with
68454         'build-aux'.
68455         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
68456         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
68457         ../build-aux/.
68458
68459 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
68460
68461         * modules/chdir-long (Depends-on): Add mempcpy.
68462
68463         * modules/acl, modules/backupfile, modules/c-strtod,
68464         modules/c-strtold, modules/canon-host, modules/canonicalize,
68465         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
68466         modules/exclude, modules/exitfail, modules/file-type,
68467         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
68468         modules/getdate, modules/getline, modules/getpagesize,
68469         modules/getpass, modules/getugroups, modules/group-member,
68470         modules/hard-locale, modules/hash, modules/human, modules/idcache,
68471         modules/inttostr, modules/long-options, modules/makepath,
68472         modules/md5, modules/memcasecmp, modules/memcoll,
68473         modules/modechange, modules/mountlist, modules/path-concat,
68474         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
68475         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
68476         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
68477         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
68478         modules/strftime, modules/strndup, modules/strverscmp,
68479         modules/timespec, modules/unlocked-io, modules/userspec,
68480         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
68481         modules/yesno:
68482         Remove lib_SOURCES line from Makefile.am section, as this is now
68483         done automatically by the corresponding Autoconf macro.
68484
68485 2005-03-21  Jim Meyering  <jim@meyering.net>
68486
68487         Changes imported from coreutils.
68488
68489         * lib/cycle-check.c: Don't include xalloc.h.
68490
68491         * lib/path-concat.c: Don't include assert.h.
68492         (path_concat): Remove assertion that would have triggered
68493         for ABASE starting with more than one slash.
68494         Reported by Andreas Schwab.
68495
68496         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
68497         properly when ABASE is an absolute file name.
68498         Correct the description of this function.
68499         Include <assert.h>.
68500         Add an assertion and a test driver.
68501         This fixes a bug introduced on 2004-07-02.
68502         Andreas Schwab reported the resulting failure of cp --parents:
68503         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
68504
68505 2005-03-21  Jim Meyering  <jim@meyering.net>
68506
68507         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
68508         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
68509
68510 2005-03-21  Jim Meyering  <jim@meyering.net>
68511         and  Paul Eggert  <eggert@cs.ucla.edu>
68512
68513         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
68514         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
68515         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
68516         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
68517         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
68518         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
68519         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
68520         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
68521         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
68522         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
68523         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
68524         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
68525         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
68526         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
68527         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
68528         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
68529         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
68530         for these modules.
68531
68532 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
68533
68534         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
68535         (which shouldn't happen), generate nothing instead of returning 0
68536         immediately, so that nstrftime (NULL, ...) doesn't return 0.
68537
68538 2005-03-16  Bruno Haible  <bruno@clisp.org>
68539
68540         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
68541         HAVE_LONGLONG_64BIT.
68542
68543 2005-03-16  Bruno Haible  <bruno@clisp.org>
68544
68545         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
68546         HAVE_LONGLONG_64BIT.
68547
68548 2005-03-16  Bruno Haible  <bruno@clisp.org>
68549
68550         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
68551         HAVE_LONGLONG_64BIT.
68552
68553 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68554
68555         * lib/strftime.c (my_strftime): Prepend space to format so that we can
68556         reliably distinguish strftime failure from empty output on POSIX
68557         hosts.
68558
68559 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68560
68561         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
68562         (iconv_string): Don't guess a size-zero buffer, as that might cause
68563         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
68564         result would be 'too large', where 'too large' is (heuristically)
68565         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
68566         overflow concerns.  This will prevent some unwanted malloc failures
68567         when the inputs are very large.
68568
68569 2005-03-15  Karl Berry  <karl@gnu.org>
68570
68571         * config/srclist.txt (config.rpath): from gettext.
68572         * config/config.rpath: update.
68573
68574 2005-03-15  Bruno Haible  <bruno@clisp.org>
68575
68576         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
68577         to 'negate'.
68578
68579         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
68580         variable.
68581
68582         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
68583         results.
68584
68585 2005-03-14  Simon Josefsson  <jas@extundo.com>
68586
68587         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
68588         <fx@gnu.org>.
68589
68590 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
68591
68592         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
68593         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
68594         intprops.h.
68595         * lib/strtol.c: Likewise.
68596
68597 2005-03-14  Jim Meyering  <jim@meyering.net>
68598
68599         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
68600         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
68601         to be nonzero so that we (and caller) can detect the difference
68602         between a valid zero-length expansion and an error return, even
68603         when the underlying strftime fails before writing anything into
68604         that location.
68605
68606 2005-03-14  Bruno Haible  <bruno@clisp.org>
68607
68608         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
68609         Update from GNU gettext 0.14.3.
68610
68611 2005-03-10  Jim Meyering  <jim@meyering.net>
68612
68613         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
68614
68615 2005-03-10  Jim Meyering  <jim@meyering.net>
68616
68617         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
68618         so that this module works on systems without fchdir.
68619
68620 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
68621
68622         Factor int-properties macros into a single file, except for
68623         glibc-related files.
68624         * lib/intprops.h: New file.
68625         * lib/getloadavg.c: Include it instead of limits.h.
68626         (INT_STRLEN_BOUND): Remove.
68627         * lib/human.c: Include intprops.h.
68628         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
68629         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
68630         302/1000.
68631         * lib/inttostr.h: Include intprops.h instead of limits.h.
68632         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
68633         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
68634         for consistency with intprops.h.
68635         (time_t_is_integer, twos_complement_arithmetic): Use them.
68636         * lib/sig2str.h: Include <signal.h>, intprops.h.
68637         (INT_STRLEN_BOUND): Remove.
68638         * lib/strftime.c (TYPE_SIGNED): Remove.
68639         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
68640         * lib/strtol.c: Adjust comments to match intprops.h.
68641         * lib/userspec.c: Include intprops.h.
68642         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
68643         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
68644         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
68645         instead of rolling our own expressions.
68646         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
68647
68648         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
68649         instead of int.
68650         (my_strftime): Do not mishandle years close to INT_MAX, by doing
68651         the right thing even if adding 1900 would overflow.  Similarly
68652         for tm_mon + 1 and tm_yday + 1.
68653         Make %Y always equivalent to %C%y, and similarly for %G and %g.
68654         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
68655         (DO_SIGNED_NUMBER): New macro.
68656         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
68657
68658 2005-03-07  Bruno Haible  <bruno@clisp.org>
68659
68660         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
68661
68662 2005-03-07  Bruno Haible  <bruno@clisp.org>
68663
68664         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
68665
68666 2005-03-04  Derek R. Price  <derek@ximbiot.com>
68667
68668         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
68669         (func_import): Only replace files via --import when they have actually
68670         changed.
68671
68672 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68673
68674         * m4/mmap-anon.m4: New file.
68675         * m4/pagealign_alloc.m4: New file.
68676
68677 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68678             Bruno Haible  <bruno@clisp.org>
68679
68680         * modules/pagealign_alloc: New file.
68681         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
68682
68683 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68684             Bruno Haible  <bruno@clisp.org>
68685
68686         * lib/pagealign_alloc.h: New file.
68687         * lib/pagealign_alloc.c: New file.
68688
68689 2005-03-03  Bruno Haible  <bruno@clisp.org>
68690
68691         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
68692         Use an all-permissive copyright notice, recommended by RMS.
68693
68694 2005-03-02  Bruno Haible  <bruno@clisp.org>
68695
68696         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
68697         of AIX, the replacement has to be done only after <string.h> is
68698         included, therefore not in config.h. stpncpy.h does the replacement,
68699         and stpncpy.c uses it.
68700
68701 2005-03-02  Bruno Haible  <bruno@clisp.org>
68702
68703         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
68704         stpncpy.c uses it.
68705
68706 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68707
68708         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
68709         The workaround isn't strictly needed for POSIX conformance, and
68710         it's too much of a pain to configure and maintain.  We'll ask
68711         people to fix their kernels instead.
68712         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
68713         (NANOSLEEP_BUG_WORKAROUND): Remove.
68714         (xnanosleep): Remove the workaround.
68715
68716 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68717
68718         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
68719         Reported by Derek Price.
68720         (Include): Add "timespec.h".
68721
68722         * modules/xnanosleep (Depends-on): Remove gethrxtime.
68723
68724 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68725
68726         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
68727         to detect nanosleep bug.
68728
68729 2005-03-01  Bruno Haible  <bruno@clisp.org>
68730
68731         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
68732
68733 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
68734
68735         * modules/gethrxtime: New file.
68736         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
68737         (Depends-on): Add gethrxtime.
68738         (configure.ac): Add gl_XNANOSLEEP.
68739         (Makefile.am): Remove lib_SOURCES line.
68740
68741 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68742
68743         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
68744         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
68745
68746 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68747
68748         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
68749         * lib/timespec.h (gettime): Return void, since it always
68750         succeeds now.  All uses changed.
68751         * lib/gettime.c (gettime): Likewise.
68752         [HAVE_NANOTIME]: Prefer nanotime.
68753         Assume gettimeofday succeeds, as POSIX requires.
68754         Assime time () succeeds, since other code already does.
68755         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
68756         (timespec_subtract): Remove.
68757         (NANOSLEEP_BUG_WORKAROUND): New constant.
68758         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
68759         things considerably.  Use it only on GNU/Linux hosts, since the
68760         workaround shouldn't be needed elsewhere.
68761
68762 2005-02-24  Bruno Haible  <bruno@clisp.org>
68763
68764         * modules/gettext (Files): Add m4/glibc2.m4.
68765
68766 2005-02-24  Bruno Haible  <bruno@clisp.org>
68767
68768         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
68769         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
68770         * m4/progtest.m4:
68771         Update from GNU gettext 0.14.2.
68772         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
68773
68774 2005-02-24  Bruno Haible  <bruno@clisp.org>
68775
68776         * lib/localcharset.c: Update from GNU gettext 0.14.2.
68777         * lib/config.charset: Update from GNU gettext 0.14.2.
68778
68779 2005-02-24  Bruno Haible  <bruno@clisp.org>
68780
68781         * lib/gettext.h: Update from GNU gettext 0.14.2.
68782
68783 2005-02-23  Simon Josefsson  <jas@extundo.com>
68784
68785         * m4/iconvme.m4: New file.
68786
68787 2005-02-23  Jim Meyering  <jim@meyering.net>
68788
68789         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
68790         change.
68791         Thanks to Bruno Haible for catching it.
68792
68793 2005-02-22  Simon Josefsson  <jas@extundo.com>
68794
68795         * modules/iconvme: New file.
68796
68797         * MODULES.html.sh: Add iconvme.
68798
68799 2005-02-22  Simon Josefsson  <jas@extundo.com>
68800
68801         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
68802
68803 2005-02-22  Simon Josefsson  <jas@extundo.com>
68804
68805         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
68806
68807 2005-02-22  Jim Meyering  <jim@meyering.net>
68808
68809         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
68810         s/ifndef/ifdef/.
68811
68812 2005-02-20  Neil Conway  <neilc@samurai.com>
68813
68814         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
68815         returned by OSX/Darwin if the specified buffer is not large
68816         enough for the hostname.
68817
68818 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68819
68820         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
68821         pass it to _help, otherwise the latter coredumps trying to
68822         dereference state.root_argp.
68823
68824 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68825
68826         * modules/chdir-long (Depends-on): Add memrchr.
68827         * modules/memrchr (Files): Add lib/memrchr.h.
68828         (Include): "memrchr.h".
68829
68830 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68831
68832         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
68833
68834 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68835
68836         * lib/memrchr.h: New file.
68837         * lib/chdir-long.c: Include it.
68838         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
68839         Don't bother including stddef.h.
68840
68841 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68842
68843         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
68844         inclusion.
68845         Include <sys/types.h>, for dev_t.
68846         (ME_DUMMY, ME_REMOTE): Move from here....
68847         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
68848         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
68849         Dmitry V. Levin.
68850         Include mountlist.h first, to test the interface.
68851
68852 2005-01-29  Bruno Haible  <bruno@clisp.org>
68853
68854         * lib/progname.c (program_name): Initialize.
68855         Needed when linking statically on MacOS X.
68856
68857 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68858
68859         Sync from coreutils.
68860         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
68861         (Depends-on): Add c-strtod.
68862         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
68863
68864 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68865
68866         Sync from coreutils.
68867         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
68868
68869         Remove files that are specific to coreutils.
68870         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
68871
68872 2005-01-28  Bruno Haible  <bruno@clisp.org>
68873
68874         * modules/javacomp: New file.
68875         * MODULES.html.sh (Java): Add javacomp.
68876
68877 2005-01-28  Bruno Haible  <bruno@clisp.org>
68878
68879         * m4/javacomp.m4: New file, from GNU gettext.
68880
68881 2005-01-28  Bruno Haible  <bruno@clisp.org>
68882
68883         * lib/javacomp.sh.in: New file, from GNU gettext.
68884         * lib/javacomp.h: New file, from GNU gettext.
68885         * lib/javacomp.c: New file, from GNU gettext.
68886
68887 2005-01-26  Simon Josefsson  <jas@extundo.com>
68888
68889         * lib/gai_strerror.c: Use GPL in header.
68890
68891 2005-01-26  Bruno Haible  <bruno@clisp.org>
68892
68893         * modules/javaexec: New file.
68894         * MODULES.html.sh (Java): Add javaexec.
68895
68896 2005-01-26  Bruno Haible  <bruno@clisp.org>
68897
68898         * m4/javaexec.m4: New file, from GNU gettext.
68899
68900 2005-01-26  Bruno Haible  <bruno@clisp.org>
68901
68902         * lib/javaexec.sh.in: New file, from GNU gettext.
68903         * lib/javaexec.h: New file, from GNU gettext.
68904         * lib/javaexec.c: New file, from GNU gettext.
68905
68906 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68907
68908         * modules/lchown (Depends-on): Remove lchown.h
68909
68910 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68911
68912         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
68913         must be defined if the header file was not found, in order
68914         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
68915
68916 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68917
68918         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
68919         initializers for struct pentry_state.
68920         (__argp_error): Check return value of __asprintf
68921         (__argp_failure): Translate error message
68922
68923         * lib/argp-parse.c: Removed braces around the expansion of N_()
68924
68925 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68926
68927         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
68928         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
68929         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
68930         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
68931         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
68932         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
68933         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
68934         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
68935         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
68936         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
68937         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
68938         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
68939         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
68940         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
68941         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
68942         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
68943         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
68944         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
68945         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
68946         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
68947         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
68948         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
68949         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
68950         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
68951         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
68952         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
68953         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
68954         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
68955         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
68956         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
68957         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
68958         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
68959         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
68960         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
68961         xstrtol.m4, xstrtoumax.m4, yesno.m4:
68962         Use an all-permissive copyright notice, recommended by RMS.
68963
68964 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
68965
68966         * modules/chdir-long (Depends-on): Remove mempcpy.
68967
68968 2005-01-21  Jim Meyering  <jim@meyering.net>
68969
68970         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
68971         same value as for Solaris 9.
68972
68973         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
68974         component length.  This included changing the parameter to be
68975         of type `char *' rather than `char const *'.
68976         * lib/chdir-long.h (chdir_long): Update prototype.
68977
68978         * lib/openat.c (fdopendir, fstatat): New functions.
68979         * lib/openat.h: Include headers required for use of DIR and struct
68980         stat.
68981         [AT_SYMLINK_NOFOLLOW]: Define.
68982         (fdopendir, fstatat): Add prototypes.
68983
68984 2005-01-21  Bruno Haible  <bruno@clisp.org>
68985
68986         * modules/classpath: New file.
68987         * MODULES.html.sh (Java): Add classpath.
68988
68989 2005-01-21  Bruno Haible  <bruno@clisp.org>
68990
68991         * lib/classpath.h: New file, from GNU gettext.
68992         * lib/classpath.c: New file, from GNU gettext.
68993
68994 2005-01-20  Simon Josefsson  <jas@extundo.com>
68995
68996         * modules/version-etc-fsf: New file.
68997
68998 2005-01-20  Simon Josefsson  <jas@extundo.com>
68999
69000         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
69001         * lib/version-etc.c: Remove version_etc_copyright.
69002         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
69003         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
69004
69005 2005-01-20  Simon Josefsson  <jas@extundo.com>
69006
69007         * lib/base64.h (isbase64): Add.
69008
69009         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
69010         using a unsigned prototype, don't inline.
69011         (base64_decode): Use it.
69012
69013 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69014
69015         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
69016         it.
69017
69018 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69019
69020         * lib/save-cwd.c (save_cwd): Remove code to support the case
69021         where fchdir is missing or flaky.
69022
69023 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69024
69025         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
69026
69027 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69028
69029         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
69030         AC_LIBSOURCES now does this.
69031         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
69032         with new ullong_max module.
69033
69034 2005-01-19  Bruno Haible  <bruno@clisp.org>
69035
69036         * modules/sh-quote: New file.
69037         * MODULES.html.sh (Executing programs): Add sh-quote.
69038
69039 2005-01-19  Bruno Haible  <bruno@clisp.org>
69040
69041         * lib/sh-quote.h: New file, from GNU gettext.
69042         * lib/sh-quote.c: New file, from GNU gettext.
69043
69044 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69045
69046         Merge from coreutils.
69047         * m4/ullong_max.m4: New file.
69048         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
69049         (gl_MACROS): Assume localeconv exists.
69050
69051 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69052
69053         Merge changes from coreutils, as described below in several
69054         changelogs dated today.
69055
69056         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
69057         (O_DIRECTORY): Remove; not needed here, since "." must be
69058         a directory.  All uses removed.
69059         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
69060         universal on Suns, and we also need to test for IRIX.
69061         Revamp code to use 'if' rather than '#if'.
69062         Avoid unnecessary comparison of cwd->desc to 0.
69063
69064         * lib/utimens.c (futimens): Robustify the previous patch, by checking
69065         for known valid error numbers rather than observed invalid ones.
69066
69067 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69068
69069         * modules/ullong_max: New file.
69070
69071         * modules/chdir-long, modules/openat: New files.
69072         * modules/save-cwd (Depends-on): Depend on chdir-long.
69073         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
69074
69075 2005-01-18  Jim Meyering  <jim@meyering.net>
69076
69077         Merge from coreutils.
69078         * m4/chdir-long.m4, m4/openat.m4: New files.
69079         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
69080         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
69081         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
69082         is sane and DOES follow symlinks.  Besides, testing 20 different
69083         systems found no broken chown implementations.
69084         Prompted by a change in rsync's copy of this macro.
69085         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
69086
69087         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
69088
69089         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
69090         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
69091         NULL-means-set-to-current-time semantics.
69092         Remove temporary file immediately, rather than waiting
69093         for configure's at-exit trap code to do it.
69094
69095 2005-01-18  Jim Meyering  <jim@meyering.net>
69096
69097         * lib/version-etc.c (version_etc_copyright): Update copyright date.
69098
69099         * lib/utimens.c (futimens): Account for the fact that futimes
69100         can also fail with errno == ENOSYS or errno == ENOENT.
69101         Patch from Dmitry V. Levin.
69102
69103         Change the name of the robust chdir function from chdir to chdir_long.
69104         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
69105         (restore_cwd): Use chdir_long, not chdir.
69106         * lib/chdir-long.c: Renamed from chdir.c.
69107         * lib/chdir-long.h: Renamed from chdir.h.
69108         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
69109         Hurd.
69110
69111 2005-01-18  Bruno Haible  <bruno@clisp.org>
69112
69113         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
69114         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
69115         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
69116         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
69117         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
69118         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
69119         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
69120         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
69121         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
69122         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
69123         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
69124         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
69125         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
69126         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
69127         Use an all-permissive copyright notice, recommended by RMS.
69128
69129 2005-01-18  Bob Proulx  <bob@proulx.com>
69130
69131         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
69132         simplify offsetof() macro construct to avoid compile failure with
69133         native HP-UX 11.0 ANSI C compiler.
69134
69135 2005-01-17  Bruno Haible  <bruno@clisp.org>
69136
69137         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
69138         redundant because stpncpy.m4 takes care of it.
69139
69140 2005-01-17  Bruno Haible  <bruno@clisp.org>
69141
69142         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
69143
69144 2005-01-17  Bruno Haible  <bruno@clisp.org>
69145
69146         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
69147         used.
69148
69149 2005-01-17  Bruno Haible  <bruno@clisp.org>
69150
69151         * lib/fwriteerror.h (fwriteerror): Change specification to include
69152         fclose.
69153         * lib/fwriteerror.c: Include <stdbool.h>.
69154         (fwriteerror): At the end, close the file stream. Record whether
69155         stdout was already closed.
69156
69157 2005-01-17  Bruno Haible  <bruno@clisp.org>
69158
69159         * lib/execute.c (environ): Declare if needed.
69160         * lib/pipe.c (environ): Likewise.
69161         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
69162
69163 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69164
69165         * modules/argp: Depend on vsnprintf
69166
69167 2005-01-10  Jim Meyering  <jim@meyering.net>
69168
69169         * modules/closeout (Depends-on): Add atexit.
69170
69171 2005-01-06  Bruno Haible  <bruno@clisp.org>
69172
69173         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
69174
69175 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69176
69177         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
69178         definitions to be after all include files, to avoid collisions.
69179         Problem reported by Bob Proulx.
69180
69181 2005-01-04  Jim Meyering  <jim@meyering.net>
69182
69183         Changes imported from coreutils.
69184         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
69185         as the mkstemp template, use a temporary directory and an
69186         8.3-friendly template to avoid trouble on systems like DJGPP.
69187         Reported by Juan M. Guerrero via Stepan Kasal.
69188         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
69189         close. Remove the temporary directory right away, rather than waiting
69190         for configure's at-exit trap code to do it.
69191         Suggestion from Stepan Kasal.
69192
69193 2005-01-01  Simon Josefsson  <jas@extundo.com>
69194
69195         * gnulib-tool: Print #include directives when --import'ing.
69196
69197 2004-12-28  Simon Josefsson  <jas@extundo.com>
69198
69199         * tests/test-base64.c: Include required header files.  Remove
69200         unused variables.
69201
69202 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69203
69204         * modules/error (Depends-on): Remove gettext.
69205
69206 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69207
69208         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
69209         not needed.  This removes a dependency on the gettext module.
69210         [defined _LIBC]: Do not include <libintl.h>; not needed.
69211
69212 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69213
69214         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
69215         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
69216
69217 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69218
69219         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
69220         HAVE_DECL_STRTOLD.
69221
69222 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69223
69224         * modules/getdate (Depends-on): Remove alloca-opt.
69225
69226 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69227
69228         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
69229
69230 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69231
69232         * lib/argp-parse.c: Include <stddef.h>.
69233         (alignof, alignto): New macros.
69234         (parser_init): Don't assume that void * is aligned sufficiently
69235         for struct option.
69236
69237         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
69238         need to extend the stack.
69239         (YYINITDEPTH): New macro, so that the initial stack isn't overly
69240         large.
69241
69242 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69243
69244         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
69245
69246 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69247
69248         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
69249         (2004-10-24) change.  Apparently this was a false alarm.
69250
69251         * modules/getdate: Depend on alloca-opt, not alloca.
69252
69253 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69254
69255         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
69256         Remove now-obsolete comment about AIX.
69257         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
69258         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
69259         (YYMAXDEPTH): New macro.
69260
69261 2004-12-18  Simon Josefsson  <jas@extundo.com>
69262
69263         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
69264
69265 2004-12-18  Bruno Haible  <bruno@clisp.org>
69266
69267         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
69268
69269 2004-12-18  Bruno Haible  <bruno@clisp.org>
69270
69271         * lib/fatal-signal.c (fatal_signals): Make non-const.
69272         (init_fatal_signals): New function.
69273         (uninstall_handlers, install_handlers): Ignore signals that were set to
69274         SIG_IGN.
69275         (at_fatal_signal): Call init_fatal_signals.
69276         (init_fatal_signal_set): Likewise. Ignore signals that were set to
69277         SIG_IGN.
69278         Reported by Paul Eggert.
69279
69280 2004-12-18  Bruno Haible  <bruno@clisp.org>
69281
69282         * doc/alloca.texi: New file.
69283         * doc/alloca-opt.texi: New file.
69284
69285 2004-12-17  Jim Meyering  <jim@meyering.net>
69286
69287         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
69288         Otherwise, install-sh could exit with improper exit status when
69289         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
69290
69291 2004-12-16  Simon Josefsson  <jas@extundo.com>
69292
69293         * tests/test-base64.c: Add license.
69294
69295 2004-12-15  Stepan Kasal  <address@hidden>
69296
69297         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
69298
69299 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
69300
69301         * modules/getcwd (Files): Add m4/d-ino.m4.
69302         Suggested by Mark D. Baushke.
69303
69304 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69305
69306         * lib/getdate.y (textint): New member "negative".
69307         (time_zone_hhmm): New function.
69308         Expect 14 shift-reduce conflicts, not 13.
69309         (o_colon_minutes): New rule.
69310         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
69311         (yylex): Set the "negative" member of signed numbers.
69312
69313 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69314
69315         * doc/getdate.texi (Time of day items, Time zone items):
69316         Describe new formats +00:00, UTC+00:00.
69317
69318 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69319
69320         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
69321         spurious "-l"s.  Problem reported by Stepan Kasal.
69322
69323 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
69324
69325         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
69326         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
69327
69328 2004-12-04  Simon Josefsson  <jas@extundo.com>
69329
69330         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
69331         Vandoorselaere <yoann@prelude-ids.org>.
69332
69333 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69334
69335         Changes imported from coreutils.
69336         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
69337         exist.
69338         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
69339
69340 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69341
69342         Changes imported from coreutils.
69343         * lib/hard-locale.c: Assume <locale.h> exists.
69344         Include "strdup.h".
69345         (GLIBC_VERSION): New macro.
69346         (hard_locale): Assume setlocale exists.
69347         Rewrite to avoid #ifdef.
69348         Use strdup rather than malloc + strcpy.
69349         * lib/human.c: Assume <locale.h> exists.
69350         (human_readable): Assume localeconv exists.
69351
69352 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69353
69354         * modules/hard-locale (Depends-on): Add strdup.
69355
69356 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
69357
69358         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
69359         convert T2, not T.  (Imported from libc.)
69360
69361 2004-11-30  Simon Josefsson  <jas@extundo.com>
69362
69363         * modules/restrict (License): Change to LGPL.
69364
69365 2004-11-30  Simon Josefsson  <jas@extundo.com>
69366
69367         * m4/restrict.m4: Add copyright and copying conditions.
69368
69369 2004-11-30  Simon Josefsson  <jas@extundo.com>
69370
69371         * m4/base64.m4: New file.
69372
69373 2004-11-30  Simon Josefsson  <jas@extundo.com>
69374
69375         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
69376         base64.
69377
69378         * tests/test-base64.c: New file.
69379
69380         * modules/base64: New file.
69381
69382 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69383
69384         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
69385         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
69386
69387         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
69388
69389 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69390
69391         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
69392         (__getcwd.c): Don't restore errno; glibc doesn't.
69393         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
69394         first, falling back to our code only if its results look suspicious.
69395         Ensure that the resulting buffer is only as large as necessary.
69396
69397         * lib/readutmp.c: Include readutmp.h first.
69398         Include <errno.h>, since readutmp.h no longer does that.
69399         * lib/readutmp.h: Don't include <errno.h>,
69400         <sys/param.h>, <time.h>; not needed to establish interface.
69401         (errno): Remove decl.
69402         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
69403         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
69404         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
69405
69406 2004-11-28  Simon Josefsson  <jas@extundo.com>
69407
69408         * lib/base64.h, base64.c: New file.
69409
69410 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69411
69412         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
69413
69414 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69415
69416         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
69417         (Depends-on): Remove pathmax, same.  Add mempcpy.
69418         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
69419         (Makefile.am): Append getcwd.h to lib_SOURCES.
69420         (Include): Add getcwd.h.
69421         (Maintainer): Change from Jim Meyering to "all, glibc",
69422         since getdate now uses intended-for-glibc code.
69423         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
69424         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
69425
69426 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69427
69428         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
69429         HP's ANSI C compiler.
69430         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
69431         Declaring int functions causes warnings on some modern systems and
69432         shouldn't be needed to compile on ancient ones.
69433         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
69434         defined.
69435
69436         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
69437         with the following changes.
69438         (__set_errno): Parenthesize properly.
69439         Include <stdbool.h>.
69440         (MIN, MAX, MATCHING_INO): New macros.
69441         (__getcwd): Define with prototype, not K&R form.
69442         Use heuristics to allocate default buffer on stack if possible.
69443         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
69444         behavior, and to avoid the PATH_MAX limit when computing
69445         ../../../../...
69446         Use MATCHING_INO to compare inode number to file.
69447         Check for arithmetic overflow in size calculations.
69448         Fix bug in reallocation of dot array that caused getcwd to fail
69449         on directories nested deeper than 75.
69450         Be more careful about saving errno on error.
69451         Do not use realloc; use only free+malloc, as this is a bit
69452         more flexible and avoids a needless copy operation.
69453         Do not inspect st_dev and st_ino for symbolic links; POSIX
69454         doesn't specify the latter.
69455         Check for closedir errors.
69456         Avoid needless casts.
69457         Use "#ifdef weak_alias" around weak_alias, to be like other
69458         glibc code.
69459         The following changes to getcwd.c have effect only when used in
69460         gnulib; they have no effect inside glibc proper.
69461         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
69462         as alloca isn't used.
69463         (alloca, __alloca): Likewise.
69464         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
69465         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
69466         unconditionally, as gnulib assumes C89 or better.
69467         Do not include <sys/param.h>.
69468         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
69469         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
69470         better.
69471         (NULL) [!defined NULL]: Remove; we assume C89 or better.
69472         Include <dirent.h> in a way that is compatible with modern Autoconf.
69473         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
69474         New macros, if not already defined.
69475         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
69476         Use "_LIBC", not "defined _LIBC", for consistency.
69477         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
69478         a mempcpy module.
69479         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
69480         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
69481         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
69482         credit only to Jim Meyering and adjust the copyright dates.
69483         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
69484         <stdlib.h>, <unistd.h>, "pathmax.h".
69485         Instead, include "xgetcwd.h" (first) and "getcwd.h".
69486         (INITIAL_BUFFER_SIZE): Remove.
69487         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
69488
69489 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69490
69491         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
69492         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
69493         Use the _ONCE methods, for efficiency.
69494         Check for fcntl.h.  In test program, include <errno.h>
69495         and <fcntl.h> if available.  Remove old K&R cruft from
69496         test program.  Check for common errors in GNU/Linux,
69497         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
69498         don't do AC_LIBOBJ, as that's getcwd.m4's job.
69499         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
69500         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
69501         name accordingly.
69502         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
69503         accommodate new getcwd.c.
69504         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
69505         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
69506         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
69507         that's all we need now.
69508
69509 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69510
69511         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
69512         argp-parse.c depends on getopt internals, that means we should
69513         always use our getopt, to be on the safe side.
69514         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
69515         order not to spoil the result of an eventual previous invocation
69516         of gl_GETOPT_SUBSTITUTE.
69517
69518 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69519
69520         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
69521         redefinition warnings. To avoid them, include the defines
69522         in `#if !defined __need_getopt ... #endif'. The only place
69523         where __getopt_argv_const is used is in definitions
69524         of getopt_long and getopt_long_only below, which are as well
69525         protected by `#ifndef __need_getopt'.
69526         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
69527         __need_getopt after including <stdio.h> and <unistd.h> These
69528         headers might have defined it.
69529
69530 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69531
69532         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
69533
69534 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69535
69536         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
69537         (futimens): New function, which uses futimes if available.
69538         (futimens, utimens): Support timespec==NULL, with same semantics
69539         as utime and utimens.
69540         * lib/utimens.h (futimens): New decl.
69541
69542 2004-11-23  Jim Meyering  <jim@meyering.net>
69543
69544         * lib/getopt_.h: Remove trailing blanks.
69545
69546 2004-11-23  Jim Meyering  <jim@meyering.net>
69547
69548         * lib/__fpending.c: Add comment.
69549
69550 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
69551
69552         * modules/canonicalize (Depends-on): Add xreadlink.
69553         Problem reported by James Youngman.
69554
69555 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69556
69557         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
69558         New macros.
69559         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
69560         optopt): Use them instead of invoking ## directly; otherwise, the
69561         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
69562
69563 2004-11-19  Bruno Haible  <bruno@clisp.org>
69564
69565         * lib/strtok_r.c: Move comments from here...
69566         * lib/strtok_r.h: ... to here.
69567
69568 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69569
69570         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
69571         implementations that mishandle size_t overflow.
69572
69573 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69574
69575         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
69576         might fail.  Problem reported by Yoann Vandoorselaere.
69577         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
69578         implementations that mishandle size_t overflow.
69579
69580 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69581
69582         * modules/canon-host (Depends-on): Add strdup.
69583
69584 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69585
69586         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
69587
69588 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69589
69590         * lib/canon-host.c: Include "strdup.h".
69591         (canon_host): Use getaddrinfo if available, so that IPv6 works.
69592         Use strdup instead of malloc/strcpy to duplicate strings.
69593
69594         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
69595         (human_space_before_unit): New constant.
69596         * lib/human.c (human_readable): Support it.
69597
69598         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
69599         (xgetcwd): Set errno correctly when failing.
69600         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
69601         the failure is actually due to a PATH_MAX problem.
69602
69603         Further getopt changes to make it more likely that glibc will
69604         buy the changes back.
69605         * lib/getopt.c (POSIXLY_CORRECT): New constant.
69606         (getopt): Use it, so to preserve glibc semantic
69607         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
69608         when compiling for libc.
69609         * lib/getopt_.h (__getopt_argv_const): Bring it back.
69610         (getopt_long, getopt_long_only): Use it.
69611
69612         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69613         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
69614         (getopt): Argv is now char * const *, as per standard.
69615         (_getopt_internal_r, _getopt_internal): Argv is now char **,
69616         not char *__getopt_argv_const *.
69617         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69618         _getopt_long_only_r): Likewise.
69619         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
69620         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69621         _getopt_long_r, _getopt_long_only_r): Likewise.
69622         * lib/getopt_.h (__getopt_argv_const): Remove.
69623         (getopt): Argv is now char * const *, as per standard.
69624
69625         * lib/getdate.y (tORDINAL): New token.
69626         (day, relunit): Allow it for relative times.
69627         (relative_time_table): Use tORDINAL for ordinals.
69628
69629 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69630
69631         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
69632         Document that "second" isn't allowed as an ordinal number.
69633
69634 2004-11-16  Jim Meyering  <jim@meyering.net>
69635
69636         * modules/closeout (Depends-on): Add fpending.
69637
69638 2004-11-15  Jim Meyering  <jim@meyering.net>
69639
69640         * lib/closeout.c: Include "__fpending.h" once again.
69641         Include <stdbool.h>.
69642         (close_stdout): Don't fail just because stdout was closed initially,
69643         since some programs don't write to stdout in the normal course of
69644         operation (other than --version and --help), and we don't want this
69645         function to make e.g. `touch file >&-' fail.
69646         But do fail if it was closed and someone has tried to write to it.
69647         E.g., `printf foo >&-' must fail.
69648
69649 2004-11-13  Jim Meyering  <jim@meyering.net>
69650
69651         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
69652
69653 2004-11-12  Simon Josefsson  <jas@extundo.com>
69654
69655         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
69656         small doc fix is still pending.
69657
69658 2004-11-11  Simon Josefsson  <jas@extundo.com>
69659
69660         * modules/strtok_r: New file.
69661
69662         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69663         strtok_r.
69664
69665 2004-11-11  Simon Josefsson  <jas@extundo.com>
69666
69667         * m4/strtok_r.m4: New file.
69668
69669         * m4/getopt.m4: Replace opterr.
69670
69671 2004-11-11  Simon Josefsson  <jas@extundo.com>
69672
69673         * lib/strtok_r.h, strtok_r.c: New file.
69674
69675 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69676
69677         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
69678         of replacing opterr, getopt, etc.  This should handle the
69679         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
69680
69681 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69682
69683         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
69684         we can stop lying to compilers about the constness of argv when we
69685         are compiled outside glibc.
69686         (getopt, getopt_long, getopt_long_only): Use it.
69687         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69688         _getopt_internal, getopt): Likewise.
69689         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69690         _getopt_long_only_r): Likewise.
69691         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69692         _getopt_long_r, _getopt_long_only_r): Likewise.
69693
69694         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
69695         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
69696         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
69697         the other external symbols.
69698         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
69699         declaration, since the above renaming now works around collisions.
69700
69701 2004-11-11  Jim Meyering  <jim@meyering.net>
69702
69703         * lib/linebreak.c: Remove trailing blanks.
69704         * lib/alloca_.h: Likewise.
69705         * lib/acosl.c: Likewise.
69706         * lib/euidaccess.c: Likewise.
69707         * lib/allocsa.h: Likewise.
69708
69709 2004-11-10  Simon Josefsson  <jas@extundo.com>
69710
69711         * m4/getaddrinfo.m4: New file.
69712
69713 2004-11-10  Simon Josefsson  <jas@extundo.com>
69714
69715         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
69716
69717 2004-11-10  Simon Josefsson  <jas@extundo.com>
69718
69719         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69720         getaddrinfo.
69721
69722         * modules/getaddrinfo: New file.
69723
69724 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69725
69726         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
69727
69728 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69729
69730         * lib/mktime.c (SHR): New macro, which is a portable
69731         substitute for >> that should work even on Crays.
69732         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
69733         Problem reported by Mark D. Baushke in
69734         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
69735         * lib/getdate.y (SHR): Likewise.
69736         (tm_diff): Use it.
69737         * lib/strftime.c (SHR): Likewise.
69738         (tm_diff): Use it.
69739         * lib/quotearg.c (struct quoting_options): Use unsigned int for
69740         quote_these_too, so that right shifts are well defined.  All uses
69741         changed.
69742
69743 2004-11-10  Jim Meyering  <jim@meyering.net>
69744
69745         Ensure that no close failure goes unreported.
69746         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
69747         return early when it seems there's nothing to flush.
69748         Don't include __fpending.h.
69749
69750 2004-11-10  Jim Meyering  <jim@meyering.net>
69751
69752         * modules/closeout (Depends-on): Remove fpending.
69753
69754 2004-11-10  Jim Meyering  <jim@meyering.net>
69755
69756         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
69757
69758 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69759
69760         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
69761         gl_FUNC_STRFTIME.
69762         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
69763         and AC_REQUIRE when possible, to avoid duplicate checks.
69764         Check for <wchar.h>.
69765
69766 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69767
69768         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
69769
69770 2004-11-09  Bruno Haible  <bruno@clisp.org>
69771
69772         * m4/sockpfaf.m4: New file.
69773
69774 2004-11-05  Bruno Haible  <bruno@clisp.org>
69775
69776         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
69777         Reported by Mark D. Baushke <mdb@cvshome.org>.
69778
69779 2004-11-04  Bruno Haible  <bruno@clisp.org>
69780
69781         2004-09-11  Bruno Haible  <bruno@clisp.org>
69782                 * allocsa.valgrind: New file.
69783         2004-02-06  Bruno Haible  <bruno@clisp.org>
69784                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
69785                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
69786                 Reported by Christopher Seip <chris.seip@hp.com>.
69787
69788 2004-11-04  Bruno Haible  <bruno@clisp.org>
69789
69790         * modules/allocsa (Files): Add lib/allocsa.valgrind.
69791         (Makefile.am): Distribute it.
69792
69793 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69794
69795         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
69796         with errno == ERANGE if the buffer is too small.
69797         Problem reported by Mark D. Baushke.
69798
69799 2004-11-03  Albert Chin  <china@thewrittenword.com>
69800             Paul Eggert  <eggert@cs.ucla.edu>
69801
69802         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
69803         equivalent, substitute $ac_type for equivalent type rather than
69804         blindly using uint32_t *always* which won't work if uint32_t is not
69805         available.  Define _UINT32_T to work around typedef of uint32_t if
69806         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
69807         2.5.1.
69808
69809 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69810
69811         * m4/jm-macros.m4: Sync from coreutils.
69812         (gl_MACROS): Check for mbrlen, for pathchk.
69813         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
69814
69815 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69816
69817         * lib/xreadlink.c (MAXSIZE): New macro.
69818         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
69819         size does not exceed MAXSIZE.  Avoid cast.
69820         As suggested by Mark D. Baushke in
69821         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
69822         if readlink fails with buffer size just under MAXSIZE, try again
69823         with MAXSIZE.
69824
69825 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69826
69827         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
69828
69829 2004-11-02  Derek R. Price  <derek@ximbiot.com>
69830         and  Paul Eggert  <eggert@cs.ucla.edu>
69831
69832         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
69833         (get_date): Overparenthesize to avoid GCC warning.
69834
69835 2004-11-02  Bruno Haible  <bruno@clisp.org>
69836
69837         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
69838         returns void.
69839
69840 2004-11-02  Bruno Haible  <bruno@clisp.org>
69841
69842         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
69843         function returns void.
69844
69845 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69846
69847         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
69848         fflush_unlocked, flockfile, funlockfile, funlockfile,
69849         fputs_unlocked, putc_unlocked.
69850
69851 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69852
69853         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69854         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
69855         already declared.
69856
69857 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69858
69859         * modules/getdate (Files): Add doc/getdate.texi.
69860         (Depends-on): Add setenv, xalloc.
69861
69862 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69863
69864         * lib/getdate.y: Add support for TZ="foo" within a date string.
69865         Fix some bugs near time_t boundaries.  Reject dates with
69866         out-of-range components, e.g., "Sept 31".
69867         Include <stdlib.h>, "setenv.h", "xalloc.h".
69868         (ISDIGIT_LOCALE): Remove; unused.
69869         Note that the TZ and time functions used here are not reentrant.
69870         (mktime_ok, get_tz): New functions.
69871         (TZBUFSIZE): New constant.
69872         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
69873         This requires that we sometimes generate our own TZ="XXX..." setting.
69874
69875 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69876
69877         * doc/getdate.texi: New file, from coreutils with modifications for
69878         the new TZ parsing.
69879
69880 2004-10-27  Derek R. Price  <derek@ximbiot.com>
69881
69882         * lib/mktime.c (not_equal_tm): Remove redundant check.
69883
69884 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69885
69886         * modules/regex (lib_SOURCES): Add regex.c.
69887         Reported by James Youngman in
69888         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
69889
69890 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69891
69892         * lib/getdate.y: Use Bison 1.875 features, and some minor
69893         code cleanups.  This change does not affect semantics.
69894         Don't include <stdlib.h>; no longer needed.
69895         Don't include unlocked-io.h; only the "#if TEST" code uses
69896         stdio, and performance isn't crucial there.
69897         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
69898         Bison 1.875 features as described below.
69899         All uses of "PC." replaced by "pc->".
69900         (YYSTYPE): Add a forward declaration.
69901         (yylex, yyerror): Use full prototypes in forward decls.
69902         Use "%pure-parser" rather than obsolescent "%pure_parser".
69903         Use %parse-param and %lex-param instead of obsolescent
69904         YYPARSE_PARAM and YYLEX_PARAM.
69905         (meridian_table, month_and_day_table, time_units_table,
69906         relative_time_table, time_zone_table, military_table,
69907         lookup_zone, lookup_word, get_date):
69908         Use NULL instead of 0 where appropriate.
69909         (to_hour): Avoid abort (), to avoid a dependency on
69910         stdlib.h.
69911         (yyerror, yylex): Now accepts parser_control * arg.
69912         (main) [TEST]: Use '\0' rather than 0 for char.
69913
69914 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69915
69916         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
69917
69918 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69919
69920         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
69921         It's now the caller's responsibility to handle the case where
69922         !HAVE_GETPAGESIZE && !defined getpagesize.
69923
69924         * lib/mktime.c (leapyear): Arg is long int, not int.
69925
69926 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
69927
69928         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
69929
69930 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69931
69932         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
69933         missing.  Problem reported by James Youngman.
69934
69935 2004-10-16  Simon Josefsson  <jas@extundo.com>
69936
69937         * gnulib-tool: Fix comments.  Fix parse problem.
69938         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
69939
69940 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
69941
69942         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
69943         implementation of getopt_long.  Problem reported by Alexander Taler in:
69944         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
69945
69946 2004-10-15  Bruno Haible  <bruno@clisp.org>
69947
69948         * gnulib-tool: Untabify. Initialize supplied_libname.
69949         (func_usage): More homogenous output.
69950         (func_modules_transitive_closure, func_modules_to_filelist,
69951         func_emit_lib_Makefile_am): New functions.
69952         (func_import): New function, extracted from big case statement. Use
69953         func_get_license, func_modules_transitive_closure,
69954         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
69955         opt_lgpl. Don't use test -a, as it's not portable.
69956         (func_create_testdir): Use func_modules_transitive_closure,
69957         func_modules_to_filelist, func_emit_lib_Makefile_am.
69958
69959 2004-10-15  Bruno Haible  <bruno@clisp.org>
69960
69961         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
69962
69963 2004-10-15  Bruno Haible  <bruno@clisp.org>
69964
69965         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
69966         the portions belonging to each module.
69967         Suggested by Derek Robert Price <derek@ximbiot.com>.
69968
69969 2004-10-12  Simon Josefsson  <jas@extundo.com>
69970
69971         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69972         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
69973         to real functions.
69974
69975 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69976
69977         * modules/vsnprintf: New file.
69978
69979 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69980
69981         * m4/vsnprintf.m4: New file.
69982
69983 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69984
69985         * lib/vsnprintf.h: New file.
69986         * lib/vsnprintf.c: New file.
69987
69988 2004-10-11  Bruno Haible  <bruno@clisp.org>
69989
69990         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
69991         vsnprintf.
69992
69993 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69994
69995         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
69996
69997 2004-10-07  Bruno Haible  <bruno@clisp.org>
69998
69999         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
70000         fits into the provided buffer.
70001
70002 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70003
70004         * lib/diacrit.c, diacrit.h: Add GPL notice.
70005
70006         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
70007         notice.
70008         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
70009         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
70010         This avoids a potential constant-folding bug.
70011
70012 2004-10-05  Bruno Haible  <bruno@clisp.org>
70013
70014         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
70015         for the declaration of strsep.
70016
70017 2004-10-05  Bruno Haible  <bruno@clisp.org>
70018
70019         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
70020
70021 2004-10-04  Simon Josefsson  <jas@extundo.com>
70022
70023         * modules/memmem: New file.
70024         * tests/test-memmem.c: New file.
70025         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
70026
70027 2004-10-04  Simon Josefsson  <jas@extundo.com>
70028
70029         * m4/memmem.m4: New file.
70030
70031 2004-10-04  Simon Josefsson  <jas@extundo.com>
70032
70033         * lib/memmem.h: New file.
70034         * lib/memmem.c: New file, taken from glibc.
70035
70036 2004-10-04  Simon Josefsson  <jas@extundo.com>
70037
70038         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
70039         '#ifdef USE_UNLOCKED_IO'.
70040
70041 2004-10-04  Simon Josefsson  <jas@extundo.com>
70042
70043         * config/srclist.txt: Add memmem from glibc.
70044
70045 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70046
70047         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
70048
70049         * modules/argmatch, modules/argp, modules/closeout, modules/error,
70050         modules/exclude, modules/getdate, modules/getline,
70051         modules/getndelim2, modules/getpass, modules/getpass-gnu,
70052         modules/getusershell, modules/linebuffer, modules/md5,
70053         modules/mountlist, modules/posixtm, modules/readtokens,
70054         modules/readutmp, modules/regex, modules/sha1,
70055         modules/version-etc, modules/yesno:
70056         Remove dependency on unlocked-io.
70057
70058 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70059
70060         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
70061
70062         * m4/unlocked-io.m4: Add copyright notice.
70063         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
70064
70065 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70066
70067         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
70068         * lib/xmalloc.c (xmemdup): Likewise.
70069         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
70070         XFREE): Remove these long-obsolescent macros.
70071         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
70072         * lib/xstrdup.c: Remove.
70073
70074         * lib/regex.c (re_comp): Cast gettext return value to char *,
70075         Problem reported by Martin Neitzel via Mark D. Baushke.
70076
70077 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70078
70079         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
70080         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
70081         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
70082         regex.c, sha1.c, version-etc.c, yesno.c:
70083         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
70084         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
70085         the includer's responsibility.
70086
70087         Sync from coreutils.
70088
70089         * lib/modechange.c (mode_compile): Don't decrement a pointer that
70090         points to the start of a string, as the C Standard says the
70091         resulting behavior is undefined.
70092
70093         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
70094         simple -> simple_backups, numbered_existing ->
70095         numbered_existing_backups, numbered -> numbered_backups
70096         to avoid shadowing problems.  All uses changed.
70097         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
70098         * lib/backupfile.c (check_extension, numbered_backup):
70099         Rename locals to avoid shadowing 'basename'.
70100         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
70101         once.
70102
70103         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
70104         * lib/.cvsignore: Add getopt.h.
70105
70106 2004-10-04  Bruno Haible  <bruno@clisp.org>
70107
70108         * modules/README: New file.
70109         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
70110         not a module.
70111
70112 2004-10-02  Jim Meyering  <jim@meyering.net>
70113
70114         * lib/dirfd.h, getpagesize.h: Add copyright notice.
70115
70116 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70117
70118         * modules/strsep: New file.
70119
70120 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70121
70122         * m4/strsep.m4: New file.
70123
70124 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70125
70126         * lib/strsep.h: New file.
70127         * lib/strsep.c: New file.
70128
70129 2004-10-01  Simon Josefsson  <jas@extundo.com>
70130
70131         * lib/snprintf.c (snprintf): Handle size==0.
70132
70133 2004-10-01  Simon Josefsson  <jas@extundo.com>
70134             Bruno Haible  <bruno@clisp.org>
70135
70136         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
70137         (snprintf): Declare 'args'.
70138
70139 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
70140
70141         * lib/snprintf.c: Remove comments as to why each header is needed.
70142
70143 2004-10-01  Bruno Haible  <bruno@clisp.org>
70144
70145         * MODULES.html.sh: Add strsep.
70146
70147 2004-09-30  Simon Josefsson  <jas@extundo.com>
70148
70149         * modules/snprintf: New file.
70150
70151 2004-09-30  Simon Josefsson  <jas@extundo.com>
70152
70153         * m4/snprintf.m4: New file.
70154
70155 2004-09-30  Simon Josefsson  <jas@extundo.com>
70156
70157         * lib/snprintf.h, lib/snprintf.c: New files.
70158
70159 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70160
70161         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
70162         (hol_entry_help): Never translate an empty string.
70163         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
70164         * lib/argp.h (OPTION_NO_TRANS): New option.
70165
70166 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70167
70168         * modules/argp (Maintainer): Replace Simon Josefsson
70169         by Sergey Poznyakoff.
70170
70171 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70172
70173         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
70174         changes merged back into glibc.
70175
70176 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70177
70178         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
70179
70180 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70181
70182         * lib/xvasprintf.c: Include xalloc.h.
70183         (xvasprintf): Use xalloc_die, not xmalloc_die.
70184
70185 2004-09-29  Bruno Haible  <bruno@clisp.org>
70186
70187         * modules/alloca-opt: New file, derived from modules/alloca.
70188         * modules/allocsa: Depend on alloca-opt instead of alloca.
70189         * modules/setenv: Likewise.
70190         * modules/vasnprintf: Likewise.
70191         * MODULES.html.sh: Add alloca-opt.
70192
70193 2004-09-28  Simon Josefsson  <jas@extundo.com>
70194
70195         * gnulib-tool: New parameter --lgpl, to asseert that modules are
70196         LGPL, and to replace license template from GPL to LGPL.
70197
70198 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70199
70200         * modules/dummy: Change license to LGPL.
70201
70202 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70203
70204         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
70205
70206 2004-09-24  Simon Josefsson  <jas@extundo.com>
70207
70208         * modules/minmax (License): Change from GPL to LGPL.
70209
70210 2004-09-23  Simon Josefsson  <jas@extundo.com>
70211
70212         * gnulib-tool (--import): Typo.
70213
70214 2004-09-23  Simon Josefsson  <jas@extundo.com>
70215
70216         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
70217
70218 2004-09-22  Bruno Haible  <bruno@clisp.org>
70219
70220         * modules/*: Add 'License' field.
70221         * gnulib-tool: Accept --extract-license option.
70222         (func_get_license): New function.
70223
70224 2004-09-21  Bruno Haible  <bruno@clisp.org>
70225
70226         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
70227         Reported by Simon Josefsson.
70228
70229 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70230
70231         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
70232         gl_AC_TYPE_LONG_LONG.
70233
70234 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70235
70236         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
70237
70238 2004-09-18  Simon Josefsson  <jas@extundo.com>
70239         and  Paul Eggert  <eggert@cs.ucla.edu>
70240
70241         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
70242         calls with autoreconf.  Define GL_LIB.
70243
70244 2004-09-14  Karl Berry  <karl@gnu.org>
70245
70246         * config/srclist.txt: unsync setenv.c, sigh.
70247
70248 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70249
70250         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
70251         Problem reported by Bruno Haible in:
70252         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
70253
70254 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70255
70256         * config/srclist.txt: Comment out argp-pvh.c.
70257
70258 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
70259
70260         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
70261         in case some system header has #define'd it.  Problem reported by
70262         Soeren D. Schulze in
70263         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
70264
70265 2004-09-09  Karl Berry  <karl@gnu.org>
70266
70267         * regex.[ch]: delete from the root.  These were supposed to be
70268                 synced with emacs cvs, but this has not happened for about
70269                 a year, and anyway nothing else uses emacs regex.[ch].
70270                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
70271                 lib/regex[.ch] is untouched.
70272
70273 2004-09-09  Bruno Haible  <bruno@clisp.org>
70274
70275         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
70276
70277 2004-09-09  Bruno Haible  <bruno@clisp.org>
70278
70279         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
70280         modifications.
70281         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
70282
70283 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70284
70285         * modules/xvasprintf: New file.
70286         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
70287
70288 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70289
70290         * lib/xvasprintf.h: New file.
70291         * lib/xvasprintf.c: New file.
70292         * lib/xasprintf.c: New file.
70293
70294 2004-09-08  Bruno Haible  <bruno@clisp.org>
70295
70296         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
70297
70298 2004-09-08  Bruno Haible  <bruno@clisp.org>
70299
70300         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
70301         length is > INT_MAX.
70302         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
70303         more.
70304
70305 2004-09-08  Bruno Haible  <bruno@clisp.org>
70306
70307         * lib/stdint_.h: New file, taken from GNU clisp.
70308
70309 2004-09-08  Bruno Haible  <bruno@clisp.org>
70310             Oskar Liljeblad  <oskar@osk.mine.nu>
70311
70312         * modules/stdint: New file.
70313         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
70314
70315 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70316
70317         Import from coreutils.
70318         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
70319         strings on unbounded length.  alloca's performance benefits aren't
70320         that important here.
70321         (V_STRDUP): Remove.
70322         (parse_with_separator): New function, with most of the internals
70323         of the old parse_user_spec.  Allow user to omit both user and group,
70324         for compatibility with FreeBSD.
70325         Clone only the user name, not the entire spec.
70326         Do not set *uid, *gid unless entirely successful.
70327         Avoid memory leak in some failing cases.
70328         Fix regression for USER.GROUP reported by Dmitry V. Levin in
70329         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
70330         (parse_user_spec): Rewrite to use parse_with_separator.
70331
70332 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70333
70334         * modules/userspec: Don't depend on alloca.
70335
70336 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70337
70338         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
70339
70340 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70341
70342         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
70343         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
70344         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
70345
70346 2004-08-16  Simon Josefsson  <jas@extundo.com>
70347
70348         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
70349         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
70350         Add --dry-run for --import.
70351         Let user provided command line parameters override configure.ac
70352         settings.
70353
70354 2004-08-12  Simon Josefsson  <jas@extundo.com>
70355
70356         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
70357         as discussed with Paul Eggert in threads rooted at
70358         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
70359         and
70360         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
70361         Before, the test was empty, and relied on ELIDE_CODE in source
70362         code.)
70363         (gl_PREREQ_GETOPT): New macro.
70364         (gl_GETOPT): Use them.
70365
70366 2004-08-12  Simon Josefsson  <jas@extundo.com>
70367
70368         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
70369         * lib/getopt_.h: Renamed from getopt.h.
70370
70371 2004-08-12  Simon Josefsson  <jas@extundo.com>
70372
70373         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
70374         Change default library name from libfoo to libgnu.
70375         Now, if you have a configure.ac that says:
70376                 gl_SOURCE_BASE(gl)
70377                 gl_M4_BASE(gl/m4)
70378                 gl_MODULES(error getopt etcetera)
70379                 gl_INIT
70380         you can import all you need by running:
70381                 ../gnulib/gnulib-tool --import
70382
70383         * modules/getopt (Files): Rename getopt.h to getopt_.h.
70384         (Makefile.am): Rewrite, use logic from argz.
70385         (Include): Use <getopt.h> instead of "getopt.h".
70386
70387 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70388
70389         * modules/argp (Files): Add m4/unlocked-io.m4.
70390         (Depends-on): Add extensions.
70391
70392 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70393
70394         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
70395         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
70396         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
70397         Check for program_invocation_name, program_invocation_short_name,
70398         flockfile, funlockfile, features.h, _getopt_long_only_r.
70399
70400 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70401
70402         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
70403         its complicated substitute.
70404         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
70405         and program_invocation_name.
70406         (__argp_basename) [!_LIBC]: Remove; the only use was
70407         replaced by its body.
70408         (__argp_short_program_name): Change condition from
70409         !defined __argp_short_program_name to
70410         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
70411         to match argp-namefrob.h.
70412         (__argp_failure): Don't assume strerror_r returns char *.
70413         * lib/argp-parse.c (N_): Define unconditionally.
70414         (argp_default_options): Fill out initializers with 0 to avoid
70415         gcc warnings.
70416
70417 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70418
70419         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
70420         getopt1.c.
70421
70422 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70423
70424         Merge from coreutils.
70425
70426         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
70427
70428         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
70429         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
70430
70431 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70432
70433         Merge from coreutils.
70434
70435         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
70436         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
70437         for Reliant Unix 5.43.
70438
70439         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
70440         (union fooround): Use uintmax_t, not long int.
70441         The rest is a merge from libc:
70442         [defined _LIBC]: Include <shlib-compat.h>.
70443         (_obstack) [defined _LIBC]: Remove after 2.3.4.
70444
70445         * lib/settime.c (settime): Recode to avoid warning with
70446         Sun Forte C 6U2.
70447
70448         * lib/strverscmp.c: Convert to UTF-8.
70449
70450 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70451
70452         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70453         m4/uintmax_t.m4.
70454
70455 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70456
70457         * modules/xalloc-die: New file.
70458         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
70459
70460         * modules/md5 (Files): Add m4/uint32_t.m4.
70461         * modules/sha1: Renamed from modules/sha.
70462         (Files):
70463         Rename lib/sha.h to lib/sha1.h.
70464         Rename lib/sha.c to lib/sha1.c.
70465         Rename m4/sha.m4 to m4/sha1.m4.
70466         (lib_SOURCES): Likewise.
70467         (configure.ac): Rename gl_SHA to gl_SHA1.
70468         (Include): sha.h -> sha1.h.
70469
70470 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70471
70472         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
70473         * m4/sha1.m4: Renamed from sha.m4.
70474         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
70475
70476 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70477
70478         * lib/obstack.h (obstack_empty_p):
70479         Don't assume that chunk->contents is suitably aligned.
70480         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
70481         Likewise. Problem reported by Benno in
70482         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
70483
70484         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
70485         readable.  This could be improved further but it'd take some work.
70486
70487 2004-08-08  Simon Josefsson  <jas@extundo.com>
70488
70489         * modules/xgethostname (Depends-on): Remove exit and error (not
70490         used).
70491
70492         * modules/getpass-gnu: Add getpass.h.
70493         (Depends-on): Add stdbool.
70494         * modules/getpass: Add getpass.h.
70495
70496 2004-08-08  Simon Josefsson  <jas@extundo.com>
70497
70498         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
70499         Check getpass declaration.
70500
70501 2004-08-08  Simon Josefsson  <jas@extundo.com>
70502
70503         * lib/xgethostname.c: Don't include error.h (not used).
70504
70505         * lib/getpass.h: Add.
70506         * lib/getpass.c: Include getpass.h first.
70507
70508 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
70509
70510         * lib/xalloc-die.c: New file.
70511         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
70512         All uses removed.
70513         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
70514         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
70515         xalloc-die.c.
70516         (_, N_, xalloc_die): Move to xalloc-die.c.
70517         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
70518         so that we needn't mess with xalloc_msg_memory_exhausted.
70519
70520         * lib/sha1.h: Renamed from sha.h.
70521         (SHA1_H): Renamed from _SHA_H.
70522         (sha1_ctx): Renamed from sha_ctx.
70523         (sha1_init_ctx): Renamed from sha_init_ctx.
70524         (sha1_process_block): Renamed from sha_process_block.
70525         (sha1_process_bytes): Renamed from sha_process_bytes.
70526         (sha1_finish_ctx): Renamed from sha_finish_ctx.
70527         (sha1_read_ctx): Renamed from sha_read_ctx.
70528         (sha1_stream): Renamed from sha_stream.
70529         (sha1_buffer): Renamed from sha_buffer.
70530         * lib/sha1.c: Likewise; renamed from sha.c.
70531         Do not include <sys/types.h>.
70532         Include <stddef.h> rather than <stdlib.h>.
70533
70534 2004-08-08  Bruno Haible  <bruno@clisp.org>
70535
70536         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
70537         FILESYSTEM_PREFIX_LEN.
70538         * lib/progreloc.c: Likewise.
70539         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
70540
70541 2004-08-06  Simon Josefsson  <jas@extundo.com>
70542
70543         * modules/progname (Depends-on): Don't depend on stdbool.
70544
70545 2004-08-06  Simon Josefsson  <jas@extundo.com>
70546
70547         * modules/getsubopt: New file.
70548         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70549         getsubopt.
70550
70551 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70552
70553         More merge from coreutils.
70554
70555         * m4/utimens.m4, m4/utimecmp.m4: New files.
70556         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
70557         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
70558         prereq.m4, sha.m4: Import changes from coreutils.
70559
70560 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70561
70562         More merge from coreutils.
70563         * modules/raise, modules/readtokens0, modules/utimens:
70564         * modules/utimecmp, module/xnanosleep: New files.
70565         * modules/strftime: Add lib/strftime.h.
70566         Change include from <time.h> to "strftime.h".
70567         * modules/yesno: Add lib/yesno.h.
70568         * modules/backupfile: Remove lib/addext.c.
70569         * modules/euidaccess: Add stat-macros.h.
70570         * modules/canonicalize, modules/euidaccess,
70571         modules/filemode, modules/lchown, modules/makepath,
70572         modules/rmdir, modules/stat: Likewise.
70573
70574 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70575
70576         Merge from tar.
70577         * lib/argp-help.c (make_hol, hol_append): Don't assume that
70578         SIZE_MAX is a valid preprocessor constant.
70579         (__argp_basename): Change from "#ifndef _LIBC"
70580         to "#ifndef __argp_short_program_name", so that
70581         we don't compile these functions for tar.
70582
70583         More merges from coreutils.
70584         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
70585         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
70586         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
70587         * lib/addext.c: Remove; no longer needed.
70588         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
70589         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
70590         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
70591         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
70592         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
70593         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
70594         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
70595         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
70596         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
70597         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70598         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
70599         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
70600         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
70601         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
70602         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
70603         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
70604         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
70605         Import changes from coreutils.
70606
70607 2004-08-05  Simon Josefsson  <jas@extundo.com>
70608
70609         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
70610
70611 2004-08-05  Simon Josefsson  <jas@extundo.com>
70612
70613         * m4/getsubopt.m4: New file.
70614
70615 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70616
70617         Merge from coreutils.
70618
70619         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
70620         * m4/getcwd-path-max.m4: New files.
70621
70622         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
70623         FILESYSTEM_PREFIX_LEN ->
70624         FILE_SYSTEM_PREFIX_LEN.
70625         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
70626         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
70627         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
70628         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
70629
70630         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
70631         prerequisite modules now handle the DOS stuff.
70632         Don't check for unistd.h.
70633
70634 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70635
70636         Merge from coreutils.
70637
70638         * lib/.gdb-history: Remove; this doesn't belong here.
70639
70640         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
70641         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
70642         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
70643         * lib/getcwd.c: New files.
70644
70645         * lib/dirname.h: Include <stdbool.h>.
70646         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
70647         for consistency with POSIX terminology.  All uses changed.
70648         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
70649         (strip_trailing_slashes): Use bool for booleans.
70650         * lib/stripslash.c (strip_trailing_slashes): Likewise.
70651
70652         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
70653         sometimes returns a positive errno value even when it succeeds.
70654         (print_errno_message) [!LIBC]: Fall back on strerror if
70655         __strerror_r fails.
70656
70657         * lib/path-concat.c (mempcpy): Don't define if a system header defines
70658         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
70659         (longest_relative_suffix): New function.
70660         (path_concat): Use it.  Assume first argument is not NULL.
70661         Port to DOS.  Omit redundant separators.
70662         Report an error instead of returning NULL.
70663         Use mempcpy instead of memcpy.
70664         (xpath_concat): Remove: not declared or used.
70665
70666         * lib/same.h: Include <stdbool.h>
70667         (same_name): Return bool, not int.
70668         * lib/same.c (same_name): Likewise.
70669         (errno): Don't declare; we assume C89 or better now.
70670
70671         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
70672         if not already defined.
70673
70674         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
70675         * lib/dup-safer.c (errno): Likewise.
70676
70677 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70678
70679         Merge from coreutils.
70680         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
70681         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
70682         * modules/path-concat: Don't depend on strdup.
70683
70684 2004-08-03  Simon Josefsson  <jas@extundo.com>
70685
70686         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
70687         * lib/progname.h: Don't include stdbool.h.
70688
70689 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70690
70691         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
70692         * MODULES.html.sh (func_all_modules): Remove fatal.
70693
70694 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70695
70696         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
70697
70698 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70699
70700         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
70701         working.
70702
70703 2004-08-02  Simon Josefsson  <jas@extundo.com>
70704
70705         * lib/getsubopt.h: New file, with comments from Bruno Haible.
70706         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
70707         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
70708
70709 2004-08-01  Simon Josefsson  <jas@extundo.com>
70710
70711         * lib/xgetdomainname.c: Include stdlib.h, for free().
70712
70713 2004-07-19  Bruno Haible  <bruno@clisp.org>
70714
70715         * MODULES.html.sh (func_all_modules): Add dummy.
70716
70717 2004-07-16  Simon Josefsson  <jas@extundo.com>
70718
70719         * modules/dummy: New file.
70720
70721 2004-07-16  Simon Josefsson  <jas@extundo.com>
70722
70723         * lib/dummy.c: New file.
70724
70725 2004-07-16  Bruno Haible  <bruno@clisp.org>
70726
70727         * lib/backupfile.h: Add extern "C" for C++.
70728         * lib/closeout.h: Likewise.
70729         * lib/copy-file.h: Likewise.
70730         * lib/findprog.h: Likewise.
70731         * lib/full-write.h: Likewise.
70732         * lib/pathname.h: Likewise.
70733         * lib/progname.h: Likewise.
70734         * lib/stpcpy.h: Likewise.
70735         * lib/stpncpy.h: Likewise.
70736         * lib/strcase.h: Likewise.
70737         * lib/strstr.h: Likewise.
70738         * lib/xalloc.h: Likewise.
70739
70740         * lib/mbswidth.h: Add extern "C" for C++.
70741         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
70742
70743 2004-07-13  Robert Millan  <robertmh@gnu.org>
70744
70745         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
70746
70747 2004-07-09  Simon Josefsson  <jas@extundo.com>
70748
70749         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
70750         failed without this.)
70751
70752 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70753
70754         * modules/chown (Files): Add lib/fchown-stub.c, since
70755         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
70756
70757 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70758
70759         * lib/fchown-stub.c: New file.
70760
70761 2004-06-24  Jim Meyering  <jim@meyering.net>
70762
70763         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
70764
70765 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70766
70767         * modules/argz: Omit "#include".
70768
70769         * MODULES.html.sh (func_all_modules): Add calloc, to match
70770         2004-06-01 addition of calloc module.
70771
70772 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70773
70774         * m4/argz.m4: New file, which is autoupdated from libtool.
70775
70776 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70777
70778         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
70779         libtool.
70780
70781 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70782
70783         * config/srclist-update: Don't insist on "USA." before the
70784         close-comment, as libtool omits the period and puts the */ on a
70785         separate line.
70786         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
70787         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
70788
70789 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
70790
70791         * modules/argz: New file.
70792         * MODULES.html.sh (func_all_modules): Add argz.
70793
70794 2004-06-12  Jim Meyering  <jim@meyering.net>
70795         and  Paul Eggert  <eggert@cs.ucla.edu>
70796
70797         * modules/hash (Files): Add lib/xalloc.h.
70798         * modules/pipe (Depends-on): Add wait-process.
70799         * modules/stat (Depends-on): Add xalloc.
70800         * modules/userspec (Files): Add lib/userspec.h.
70801         * modules/xstrto
70802
70803         Upgrade from gettext-0.13.
70804         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
70805         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
70806         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
70807
70808 2004-06-10  Jim Meyering  <jim@meyering.net>
70809
70810         * lib/calloc.c: New file.
70811
70812 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
70813
70814         * lib/getdate.y (yylex): Allow space between sign and number.
70815         Problem reported by Dan Jacobson.
70816
70817 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70818
70819         Merge from coreutils CVS.
70820
70821         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
70822         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
70823         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
70824         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
70825         xstrtol.m4: Fix copyright date and/or serial number.
70826
70827         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
70828         See if we need an fchown replacement.
70829         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
70830         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
70831         and use the replacement function if we detect either defect.
70832
70833         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
70834         gl_UTIMECMP.
70835
70836 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70837         and  Jim Meyering  <jim@meyering.net>
70838
70839         Merge from coreutils CVS.
70840
70841         * lib/stat-macros.h: New file, with contents from file-type.h
70842         and coreutils' system.h.
70843         * lib/file-type.c: Include "stat-macros.h".
70844         * lib/file-type.h (file_type): Move all macro definitions to new file,
70845         stat-macros.h.
70846
70847         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
70848         Wrap old code with this conditional.
70849         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
70850         function that does not dereference symlinks.
70851         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
70852
70853         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
70854         dependency problems.
70855         (xreadlink): Accept new arg SIZE, for efficiency.
70856         All decls and uses changed.
70857         * lib/xreadlink.h: Include <stddef.h>, for size_t.
70858
70859         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
70860         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
70861
70862         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
70863         sysexits.h.
70864
70865 2004-06-01  Jim Meyering  <jim@meyering.net>
70866
70867         * m4/calloc.m4: New file.
70868
70869 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
70870
70871         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
70872         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
70873         Also, fix a typo in a diagnostic.
70874
70875 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70876
70877         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
70878         or AC_FUNC_REALLOC.
70879
70880 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70881
70882         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
70883         macros to be defined.
70884         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
70885         the allocator returns NULL because the requested size is zero.
70886
70887 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70888
70889         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
70890         var.  Add comment explaining why libc still defines it.  This
70891         merges the following patch from glibc:
70892         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
70893
70894 2004-05-20  Andreas Schwab  <schwab@suse.de>
70895
70896         * m4/free.m4: Replace free if it not known to work, not the other
70897         way round.
70898
70899 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70900
70901         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
70902         present in glibc since revision 1.1 of this file.
70903         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
70904         obstack_alignment_mask, obstack_alloc, obstack_base,
70905         obstack_blank, obstack_blank_fast, obstack_chunk_size,
70906         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
70907         obstack_grow0, obstack_init, obstack_int_grow,
70908         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
70909         obstack_next_free, obstack_object_size, obstack_ptr_grow,
70910         obstack_ptr_grow_fast, obstack_room): Remove declarations of
70911         nonexistent functions.
70912
70913 2004-05-18  Karl Berry  <karl@gnu.org>
70914
70915         * config/srclist.txt: break link for vasnprintf.c.
70916
70917 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70918
70919         Port obstack to the AS/400, where pointers are 16 bytes wide and
70920         you cannot cast an integer to a valid pointer.  This patch is
70921         currently waiting to be integrated into glibc; see
70922         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
70923
70924         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
70925         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
70926         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
70927         (struct obstack): temp member is now a union of a pointer and
70928         an integer, instead of an integer.  All integer uses changed.
70929         This does not affect the physical layout of struct obstack,
70930         except on hosts (like the AS/400) where the size or alignment of
70931         void * is greater than that of ptrdiff_t.
70932         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
70933         __STDC__)]: Store temporary in pointer member of union, not
70934         integer member.
70935         * lib/obstack.c: Include <stddef.h>, for offsetof.
70936         (struct fooalign): Remove; it doesn't need a name.
70937         (union fooround): Change double to long double, and add void *.
70938         (DEFAULT_ALIGNMENT): Use offsetof to compute.
70939         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
70940         not a macro.  Hence the values are always int; so remove all
70941         casts-to-int in uses.
70942
70943 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70944
70945         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
70946         we can get this patch merged into glibc.
70947
70948 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70949             Paul Eggert  <eggert@cs.ucla.edu>
70950
70951         * m4/argp: Depend on alloca.
70952
70953 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70954             Paul Eggert  <eggert@cs.ucla.edu>
70955
70956         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
70957         freecoding.
70958
70959 2004-05-17  Bruno Haible  <bruno@clisp.org>
70960
70961         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
70962         precision that consists of a '.' followed by an empty digit string.
70963         Patch by Tor Lillqvist <tml@iki.fi>.
70964
70965 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70966
70967         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
70968         for backward compatibility with older code.  We need our own
70969         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
70970         it under some other name, and our alloca.h will define it.
70971
70972 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70973             Derek Price  <derek@ximbiot.com>
70974
70975         * lib/alloca.c: Include <alloca.h>, to get our interface.
70976         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
70977         include <alloca.h> first.  Use C89 prototype for alloca; this
70978         requires including <stddef.h> for size_t.  Use extern "C" if C++.
70979         Use #elif for simplicity, since we can assume C89 now.
70980         Don't try to source the system alloca.h since it will not be found
70981         and to prevent recursively including its replacement.
70982         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
70983         * lib/regex.c: Likewise.
70984
70985 2004-05-16  Derek Price  <derek@ximbiot.com>
70986             Paul Eggert  <eggert@cs.ucla.edu>
70987
70988         getline cleanup.  This changes the getndelim2 API: both order of
70989         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
70990         no delimiter).
70991
70992         * lib/getline.c: Don't include stddef.h or stdio.h, since our
70993         interface does that.
70994         (getline): Always use getdelim, so that we don't have two
70995         copies of this code.
70996         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
70997         if available.
70998         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
70999         (GETNDELIM2_MAXIMUM): New macro.
71000         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
71001         instead of the old practice of delim2==0.  All callers changed.
71002         Return -1 on overflow, instead of returning junk.
71003         Do not set *linesize unless allocation succeeds.
71004         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
71005         that we include sys/types.h.
71006         * lib/getnline.h: Likewise.
71007         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
71008         (getndelim2): Reorder arguments.
71009         * lib/getnline.c (getnline, getndelim):
71010         Don't discard the NMAX argument.
71011         (getnline): Invoke getndelim, to avoid code duplication.
71012         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
71013         of (size_t) -1 by callers of the getnline family.
71014
71015 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71016
71017         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
71018         Check for gettimeofday.
71019         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
71020         Check for settimeofday, stime.
71021
71022 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71023
71024         * lib/nanosleep.c (suspended): Change its type from int to
71025         sig_atomic_t volatile.
71026         (first_call): Make it private to rpl_nanosleep, and have it
71027         be zero initially as that's a bit faster.
71028         (my_usleep): Round up fractional times instead of truncating them,
71029         as this is the usual meaning for 'sleep'.
71030
71031         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
71032         doesn't work.
71033         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
71034         (ENOSYS): Define if not defined.
71035         (settime): Fall back on stime if it exists and settimeofday fails.
71036         But don't bother with fallbacks if a method fails with errno == EPERM.
71037
71038 2004-05-11  Jim Meyering  <jim@meyering.net>
71039
71040         Prior to this change, the save_cwd caller required read access to the
71041         current directory on most systems (ones with the fchdir function).
71042
71043         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
71044         fails, try write-only, and finally, resort to using xgetcwd.
71045
71046 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
71047
71048         * lib/obstack.c, obstack.h: Import changes from libc.
71049
71050 2004-04-28  Bruno Haible  <bruno@clisp.org>
71051
71052         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
71053         also implicitly appends .exe to executables.
71054         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
71055         accepts Windows pathnames.
71056         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
71057         Treat Cygwin like Windows, since it now accepts Windows pathnames.
71058         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
71059         Treat Cygwin like Windows, since it now accepts Windows pathnames.
71060         Reported by Derek Robert Price <derek@ximbiot.com>.
71061
71062 2004-04-21  Karl Berry  <karl@gnu.org>
71063
71064         * config/srclist.txt (localcharset.c): break sync.
71065
71066 2004-04-20  Paul Eggert  <eggert@twinsun.com>
71067
71068         * m4/host-os.m4: Add a copyright notice.
71069
71070 2004-04-20  Jim Meyering  <jim@meyering.net>
71071
71072         Change UTILS_ to gl_ in AC_DEFINE'd names.
71073         Change utils_- and jm_-prefixed variables, too.
71074         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
71075         UTILS_FUNC_MKDIR_TRAILING_SLASH.
71076         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
71077
71078         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
71079         Don't emit trailing blanks.
71080         Also rename jm_-prefixed variables to have gl_ prefix.
71081
71082         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
71083         Also rename jm_-prefixed variables to have gl_ prefix.
71084
71085         * m4/jm-macros.m4: Reflect the renamings.
71086         * m4/prereq.m4: Likewise.
71087
71088 2004-04-20  Jim Meyering  <jim@meyering.net>
71089
71090         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
71091         memory.
71092
71093 2004-04-20  Jim Meyering  <jim@meyering.net>
71094             Bruno Haible  <bruno@clisp.org>
71095
71096         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
71097         memory when realloc fails.
71098
71099 2004-04-19  Jim Meyering  <jim@meyering.net>
71100
71101         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
71102         now that readutmp.c may call `free (0)'.
71103
71104 2004-04-19  Bruno Haible  <bruno@clisp.org>
71105
71106         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
71107         * m4/inttypes_h.m4: Likewise.
71108         * m4/stdint_h.m4: Likewise.
71109         * m4/intmax_t.m4: Likewise.
71110         * m4/uintmax_t.m4: Likewise.
71111
71112 2004-04-18  Jim Meyering  <jim@meyering.net>
71113
71114         * m4/prereq.m4: Don't forbid jm_ prefix.
71115
71116         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
71117         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
71118         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
71119         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
71120         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
71121         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
71122         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
71123         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
71124         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
71125         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
71126         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
71127         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
71128         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
71129         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
71130         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
71131         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
71132         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
71133         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
71134         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
71135
71136 2004-04-18  Jim Meyering  <jim@meyering.net>
71137
71138         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
71139         failure, don't leak memory and do call END_UTMP_ENT.
71140
71141 2004-04-16  Jim Meyering  <jim@meyering.net>
71142
71143         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
71144         coreutils' stat program.
71145         (gl_PREREQ): Don't require jm_PREREQ_STAT.
71146
71147 2004-04-11  Paul Eggert  <eggert@twinsun.com>
71148
71149         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
71150         C89.
71151         (CHAR_BIT): Remove, since we assume C89.
71152         Include <stdint.h> if available, as per current Autoconf CVS advice.
71153
71154 2004-03-31  Jim Meyering  <jim@meyering.net>
71155
71156         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
71157         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
71158         * m4/xalloc.m4: Likewise.
71159
71160 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71161
71162         Merge from coreutils.
71163
71164         * m4/inttostr.m4: New file.
71165         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
71166         Require AM_STDBOOL_H and gl_TIMESPEC instead.
71167         Require gl_CLOCK_TIME.
71168         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
71169
71170 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71171
71172         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
71173         not bool, to be more consistent with Unix conventions.
71174         Suggested by Bruno Haible.
71175
71176         Merge from coreutils.
71177
71178         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
71179         * lib/umaxtostr.c: New files.
71180
71181         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
71182         the usual <time.h> dance.
71183         (get_date): Change signature to support fractional time stamps.
71184         All callers changed.
71185         * lib/getdate.y: Include "getdate.h" first, as we can now
71186         assume C89 and don't need to worry about 'const'.
71187         Similarly, include "unlocked-io.h" near start, not in middle.
71188         Include <limits.h>.
71189         (textint.value): Use long int rather than int.
71190         (textint.digits): Use size_t rather than int.
71191         (BILLION, LOG10_BILLION): New constants.
71192         (parser_control): New member rel_ns.  Members day_ordinal,
71193         time_zone, month, day, hour, minutes, rel_year, rel_month,
71194         rel_day, rel_hour, rel_minutes, rel_seconds
71195         are now long int, not int.  Member seconds is now struct timespec,
71196         not int.  New member timespec_seen.  Members dates_seen, days_seen,
71197         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
71198         not int.
71199         (%union.intval): Now long int, not int.
71200         New member timespec.
71201         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
71202         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
71203         (spec): Now is a timespec or an item list.
71204         (timespec, items): New nonterminals.
71205         (time, rel, relunit, number, get_date):
71206         Add support for fractional seconds.
71207         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
71208         (gmtime, localtime, mktime): Remove decls; not needed with C89.
71209         (to_hour): First arg is now long int, not int.
71210         (to_year): Returns long int, not int.
71211         Don't treat year -70 like 70.
71212         (tm_diff): Returns long int, not int.
71213         (lookup_word): Use bool instead of int when appropriate.
71214         (yylex): Use size_t for count, not int.
71215         Detect overflow when parsing large integer constants.
71216         Add support for fractions.
71217         (get_date): Make pointers 'const' if possible.
71218         Use more-portable code to detect integer overflow.
71219         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
71220         Don't use ctime; it's not reliable if the year has >4 digits.
71221
71222         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
71223         This is for compatibility with BSD.
71224
71225         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
71226         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
71227         From coreutils' system.h.
71228
71229         * lib/userspec.c: Don't include "posixver.h".
71230         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
71231         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
71232         compatible extension.  Simplify code by removing a boolean int
71233         that was always nonzero if a string was nonnull.
71234
71235 2004-03-30  Jim Meyering  <jim@meyering.net>
71236
71237         Merge from coreutils.
71238
71239         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
71240         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
71241         on some systems one must include <grp.h> before it.
71242         Reported by Christian Krackowizer.
71243
71244 2004-03-30  Jim Meyering  <jim@meyering.net>
71245
71246         Merge from coreutils.
71247
71248         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
71249
71250         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
71251         an empty input stream.
71252
71253         * lib/readtokens.c: Include <stdbool.h>.
71254         (readtoken): Use `size_t' rather than int/long.
71255         All callers adjusted.
71256         Use `bool' rather than `int' where appropriate.
71257         Use memset rather than an explicit loop.
71258         Use x2nrealloc rather than xrealloc.
71259         Allow the use of `\0' as a delimiter.
71260         (readtokens): Likewise.
71261         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
71262
71263 2004-03-30  Jim Meyering  <jim@meyering.net>
71264
71265         * m4/realloc.m4: Remove file, since now it does no more than
71266         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
71267         the `configure.ac' section of module/realloc.
71268         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
71269
71270 2004-03-30  Bruno Haible  <bruno@clisp.org>
71271
71272         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
71273         nonnull.
71274
71275 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71276
71277         Merge changes to getloadavg.c from coreutils and Emacs.
71278
71279         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
71280         Define to an expression, not to the empty string.
71281         Include cloexec.h and xalloc.h.
71282         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
71283         Use set_cloexec_flag rather than rolling our own.
71284         * lib/cloexec.c, lib/cloexec.h: New files.
71285
71286 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71287
71288         * m4/cloexec.m4: New file.
71289
71290 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71291
71292         * lib/getopt.h: Sync with libc CVS.
71293
71294 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71295             Bruno Haible  <bruno@clisp.org>
71296
71297         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
71298         mbswidth.
71299
71300 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71301             Bruno Haible  <bruno@clisp.org>
71302
71303         * lib/mbswidth.h: Include <wchar.h> only if
71304         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
71305         <wchar.h>.
71306         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
71307
71308 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71309
71310         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
71311         Sync with libc CVS.
71312         * lib/getopt_int.h: New file, also synced from libc.
71313
71314 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71315
71316         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
71317         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
71318         Bring back getopt.c, getopt.h, getopt1.c.
71319
71320 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71321
71322         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
71323         All uses changed.  Check for sa_sigaction member; this fixes
71324         a bug first reported by Jason Andrade in
71325         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71326
71327 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71328
71329         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
71330         '#if' expressions.  Unlike the code it replaces, it does not
71331         depend on (defined _SC_PAGESIZE).  However, it does depend on
71332         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
71333         first reported by Jason Andrade in
71334         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71335
71336 2004-02-25  Simon Josefsson  <jas@extundo.com>
71337
71338         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
71339
71340 2004-02-25  Simon Josefsson  <jas@extundo.com>
71341
71342         * lib/strdup.h: New file.
71343         * lib/strdup.c: Include it.
71344         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
71345         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
71346
71347 2004-02-23  Karl Berry  <karl@gnu.org>
71348
71349         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
71350         (from fencepost.gnu.org:/gd/gnuorg).
71351
71352 2004-02-23  Karl Berry  <karl@gnu.org>
71353
71354         * config/srclistvars.sh (GNUORG) [karl]: redefine.
71355         * config/srclist.txt: add maintain/standards documents.
71356
71357 2004-02-18  Bruno Haible  <bruno@clisp.org>
71358
71359         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
71360         Reported by Derek Robert Price <derek@ximbiot.com>.
71361
71362 2004-02-16  Karl Berry  <karl@gnu.org>
71363
71364         * config/mkinstalldirs, install-sh: update from automake.
71365
71366 2004-02-06  Karl Berry  <karl@gnu.org>
71367
71368         * m4/po.m4: update from gettext 0.14.1.
71369
71370 2004-02-06  Karl Berry  <karl@gnu.org>
71371
71372         * lib/config.charset: update from gettext 0.14.1.
71373
71374 2004-02-05  Paul Eggert  <eggert@twinsun.com>
71375
71376         Add comments and code, prompted by suggestions from Bruno Haible
71377         for sh-quote.
71378         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
71379         describing the enum quoting_style values.
71380         * lib/quotearg.c (quotearg_alloc): New function.
71381         (quotearg_buffer_restyled): Treat lone { and } as special.
71382         Treat = as special.  Work around bug with older shells
71383         that "see" a '\' that is really the 2nd byte of a multibyte char.
71384         Quote empty string with shell_quoting_style.
71385
71386 2004-02-03  Bruno Haible  <bruno@clisp.org>
71387
71388         * m4/pipe.m4: New file, from GNU gettext.
71389
71390 2004-02-03  Bruno Haible  <bruno@clisp.org>
71391
71392         * lib/pipe.h: New file, from GNU gettext.
71393         * lib/pipe.c: New file, from GNU gettext.
71394
71395 2004-01-27  Bruno Haible  <bruno@clisp.org>
71396
71397         * m4/execute.m4: New file, from GNU gettext.
71398
71399 2004-01-27  Bruno Haible  <bruno@clisp.org>
71400
71401         * lib/execute.h: New file, from GNU gettext.
71402         * lib/execute.c: New file, from GNU gettext.
71403         * lib/w32spawn.h: New file, from GNU gettext.
71404
71405 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71406
71407         Merge from diffutils.
71408
71409         * lib/file-type.c (file_type): Add typed memory objects.
71410         * lib/file-type.h (S_TYPEISTMO): New macro.
71411
71412         * lib/c-stack.h (c_stack_action): Remove argv argument.
71413         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
71414         (die): Don't calculate message unless segv_action returns.
71415         (get_stack_location, min_address_from_argv, max_address_from_argv,
71416         volatile stack_base, volatile_stack_size): Remove.
71417         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
71418         that every segmentation violation is a stack overflow.  (Ouch!)
71419         See Debian bug 136249 (still outstanding) for more info about why
71420         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
71421
71422 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71423
71424         Exit-status fix from coreutils.
71425
71426         Use exit_failure consistently in place of EXIT_FAILURE,
71427         so that program exit statuses are consistent on failure.
71428
71429         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
71430         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
71431         * lib/argmatch.h: Comment fix to match the above.
71432         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
71433         Now a macro referring to exit_failure, instead of a separate
71434         variable.  Include "exitfail.h" to get it.
71435         * lib/xstrtol.h: Include "exitfail.h".
71436         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
71437
71438         * lib/long-options.c (parse_long_options): Use prototype
71439         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
71440         for clarity.
71441
71442 2004-01-21  Jim Meyering  <jim@meyering.net>
71443
71444         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
71445         so as not to conflict with a different-sized __mktime_internal
71446         function in GNU libc.
71447         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
71448         Problem building statically-linked `ls' reported by Michael Brunnbauer.
71449
71450 2004-01-20  Karl Berry  <karl@gnu.org>
71451
71452         * config/config.guess: update from config.
71453
71454         * config/srclistvars.sh: GNUWWWLICENSES for karl.
71455
71456 2004-01-20  Bruno Haible  <bruno@clisp.org>
71457
71458         Safer stack allocation.
71459         * lib/setenv.c: Include allocsa.h.
71460         (alloca): Remove fallback definition.
71461         (freea): Remove macro.
71462         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
71463         instead of freea.
71464
71465 2004-01-20  Bruno Haible  <bruno@clisp.org>
71466
71467         * m4/eealloc.m4: New file, from GNU gettext.
71468
71469 2004-01-20  Bruno Haible  <bruno@clisp.org>
71470
71471         * m4/allocsa.m4: New file, from GNU gettext.
71472
71473 2004-01-20  Bruno Haible  <bruno@clisp.org>
71474
71475         * lib/xallocsa.h: New file, from GNU gettext.
71476         * lib/xallocsa.c: New file, from GNU gettext.
71477
71478 2004-01-20  Bruno Haible  <bruno@clisp.org>
71479
71480         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
71481
71482 2004-01-20  Bruno Haible  <bruno@clisp.org>
71483
71484         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
71485         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
71486         specially.
71487
71488 2004-01-20  Bruno Haible  <bruno@clisp.org>
71489
71490         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
71491         patch.
71492
71493 2004-01-20  Bruno Haible  <bruno@clisp.org>
71494
71495         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
71496
71497 2004-01-20  Bruno Haible  <bruno@clisp.org>
71498
71499         * lib/eealloc.h: New file.
71500
71501 2004-01-20  Bruno Haible  <bruno@clisp.org>
71502
71503         * lib/binary-io.h: Avoid warnings on Cygwin.
71504
71505 2004-01-20  Bruno Haible  <bruno@clisp.org>
71506
71507         * lib/allocsa.h: New file, from GNU gettext.
71508         * lib/allocsa.c: New file, from GNU gettext.
71509
71510 2004-01-18  Karl Berry  <karl@gnu.org>
71511
71512         * doc/gpl.texi, doc/lgpl.texi: new files.
71513
71514 2004-01-18  Karl Berry  <karl@gnu.org>
71515
71516         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
71517         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
71518
71519 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71520
71521         Merge from coreutils.
71522
71523         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
71524         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
71525         (gl_DEFAULT_POSIX2_VERSION): Move
71526         the documentation from 'configure' into 'config.hin',
71527         so that 'configure --help' isn't burdened by it and
71528         we don't have to worry about its formatting there.
71529         Reword the documentation so that it's more succinct
71530         and can be run together into a single paragraph.
71531         * m4/same.m4 (gl_SAME): Check for pathconf.
71532
71533 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71534
71535         Merge from coreutils.
71536
71537         * lib/posixver.c: Include posixver.h.
71538
71539         * lib/same.c: Include <stdbool.h>, <limits.h>.
71540         (_POSIX_NAME_MAX): Define if not defined.
71541         (MIN): New macro.
71542         (same_name): If file names are silently truncated, report
71543         that the file names are the same if they are the same after
71544         the silent truncation.
71545
71546         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
71547         conversion function.
71548         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
71549         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
71550         longer needed.
71551
71552 2004-01-15  Jim Meyering  <jim@meyering.net>
71553
71554         Merge from coreutils.
71555
71556         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
71557         if no library is required.
71558         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
71559         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
71560         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
71561         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
71562         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
71563         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
71564         value, $ac_cv_search_crypt, if it's "none required".
71565         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
71566         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
71567         not gl_FUNC_GETLOADAVG.
71568         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
71569         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
71570
71571 2004-01-15  Jim Meyering  <jim@meyering.net>
71572
71573         Merge from coreutils.
71574
71575         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
71576         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
71577         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
71578
71579         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
71580         optional configure-time default.
71581
71582         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71583
71584         * lib/xreadlink.c (xreadlink): Correct outdated comment.
71585
71586 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
71587
71588         Merge from coreutils.
71589
71590         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
71591         value, $ac_cv_search_nanosleep, if it's "none required".
71592
71593 2004-01-14  Paul Eggert  <eggert@twinsun.com>
71594
71595         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
71596         with like-named macro in fnmatch.c.
71597         (EXT): Use an internal constant instead.
71598
71599         Merge fnmatch patches from glibc.
71600         * lib/fnmatch.c (mbsinit): Remove define.
71601         Add libc_hidden_ver (__fnmatch, fnmatch).
71602         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
71603         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
71604
71605 2004-01-14  Karl Berry  <karl@gnu.org>
71606
71607         * config/install-sh: update from automake.
71608
71609 2004-01-13  Karl Berry  <karl@gnu.org>
71610
71611         * config/install-sh: update from automake.
71612
71613 2004-01-09  Karl Berry  <karl@gnu.org>
71614
71615         * config/install-sh: update from automake.
71616
71617 2004-01-05  Karl Berry  <karl@gnu.org>
71618
71619         * config/config.{sub,guess}: update from config.
71620
71621 2003-12-31  Karl Berry  <karl@gnu.org>
71622
71623         * config/depcomp: update from automake.
71624
71625 2003-12-14  Karl Berry  <karl@gnu.org>
71626
71627         * lib/config.charset: update from gettext-runtime.
71628
71629 2003-12-03  Paul Eggert  <eggert@twinsun.com>
71630
71631         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
71632         Bug reported by Alfred M. Szmidt.
71633
71634 2003-12-03  Bruno Haible  <bruno@clisp.org>
71635
71636         * m4/gettext.m4: Upgrade from gettext-0.13.
71637         * m4/po.m4: Upgrade from gettext-0.13.
71638         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
71639         * m4/intmax.m4: New file, from gettext-0.13.
71640         * m4/printf-posix.m4: New file, from gettext-0.13.
71641
71642 2003-11-29  Karl Berry  <karl@gnu.org>
71643
71644         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
71645
71646 2003-11-25  Paul Eggert  <eggert@twinsun.com>
71647             Bruno Haible  <bruno@clisp.org>
71648
71649         * lib/printf-parse.h: Don't include sys/types.h.
71650         (ARG_NONE): New macro.
71651         (char_directive): Change type of *arg_index fields to size_t.
71652         * lib/printf-parse.c: Don't include sys/types.h.
71653         (SSIZE_MAX): Remove macro.
71654         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
71655         Remove unnecessary overflow check.
71656         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
71657         fields.
71658
71659 2003-11-25  Bruno Haible  <bruno@clisp.org>
71660
71661         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
71662
71663 2003-11-25  Bruno Haible  <bruno@clisp.org>
71664
71665         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
71666         gt_TYPE_SSIZE_T.
71667
71668 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71669
71670         * modules/alloca: Remove dependency on xalloc.
71671
71672 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71673
71674         * lib/alloca.c: Remove dependency on xalloc module.
71675         (xalloc_die): Remove.
71676         (memory_full) [!defined emacs]: New macro.
71677         [!defined emacs]: Don't include xalloc.h.
71678         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
71679         address arithmetic overflows.  Change datatypes a bit to avoid
71680         unnecessary casts.
71681
71682 2003-11-22  Jim Meyering  <jim@meyering.net>
71683
71684         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
71685         s/size/size_t/.
71686
71687 2003-11-21  Karl Berry  <karl@gnu.org>
71688
71689         * config/config.{sub,guess}: update from config.
71690
71691 2003-11-18  Karl Berry  <karl@gnu.org>
71692
71693         * config/config.{sub,guess}: update from config.
71694
71695         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
71696
71697 2003-11-17  Paul Eggert  <eggert@twinsun.com>
71698
71699         * README: Mention that S+T cannot overflow if S is the size of
71700         an existing object and T is sufficiently small.
71701
71702 2003-11-17  Jim Meyering  <jim@meyering.net>
71703
71704         On systems without utime and without a utimes function capable of
71705         dealing with a NULL struct utimbuf* argument, this utime replacement
71706         could -- in unusual circumstances -- leak a file descriptor.
71707         * lib/utime.c: Include <unistd.h> and <errno.h>.
71708         (utime_null): Be sure to close `fd' and to preserve errno.
71709         Reported by Geoff Collyer via Arnold Robbins.
71710
71711 2003-11-17  Bruno Haible  <bruno@clisp.org>
71712
71713         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
71714         (Depends-on): Add xsize.
71715
71716 2003-11-17  Bruno Haible  <bruno@clisp.org>
71717
71718         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
71719
71720 2003-11-17  Bruno Haible  <bruno@clisp.org>
71721
71722         * lib/vasnprintf.c (alloca): Remove fallback definition.
71723         (freea): Remove definition.
71724         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
71725         Reported by Paul Eggert.
71726
71727 2003-11-16  Paul Eggert  <eggert@twinsun.com>
71728             Bruno Haible  <bruno@clisp.org>
71729
71730         Protect against address arithmetic overflow.
71731         * lib/printf-args.h: Include stddef.h.
71732         (arguments): Change type of field 'count' to size_t.
71733         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
71734         'unsigned int' where appropriate.
71735         * lib/printf-parse.h: Include sys/types.h.
71736         (char_directive): Change type of *arg_index fields to ssize_t.
71737         (char_directives): Change type of fields 'count', max_*_length to
71738         size_t.
71739         * lib/printf-parse.c: Include sys/types.h and xsize.h.
71740         (SSIZE_MAX): Define fallback value.
71741         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
71742         instead of 'int' where appropriate. Check a_allocated, d_allocated
71743         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
71744         * lib/vasnprintf.c: Include xsize.h.
71745         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
71746         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
71747         overflow. Avoid wraparound when converting a width or precision from
71748         decimal to binary.
71749
71750 2003-11-16  Bruno Haible  <bruno@clisp.org>
71751
71752         Update from GNU gettext.
71753         * lib/printf-parse.c: Generalize to it can be compiled for wide
71754         strings.
71755         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
71756         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
71757         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
71758         SNPRINTF): New macros.
71759         Don't include <alloca.h> if the file is used inside libintl.
71760         (local_wcslen): New function, for Solaris 2.5.1.
71761         (VASNPRINTF): Use it instead of wcslen.
71762
71763 2003-11-16  Bruno Haible  <bruno@clisp.org>
71764
71765         * lib/xsize.h (xmax): New function.
71766         (xsum, xsum3, xsum4): Declare as "pure" functions.
71767
71768 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71769
71770         * modules/xalloc (Files): Undo latest change, since xalloc.h
71771         no longer needs SIZE_MAX or PTRDIFF_MAX.
71772
71773 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71774
71775         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
71776         gl_PTRDIFF_MAX.
71777
71778 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71779
71780         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
71781         "return", to pacify some unknown compiler.  Problem reported
71782         by Joerg Schilling.
71783
71784 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71785
71786         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
71787         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
71788         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
71789         heuristic is just as accurate as far as we know, and it removes a
71790         dependency on size_max.m4 and ptrdiff_max.m4.
71791
71792 2003-11-11  Bruno Haible  <bruno@clisp.org>
71793
71794         * modules/xsize (Files): Add m4/size_max.m4.
71795         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
71796
71797 2003-11-11  Bruno Haible  <bruno@clisp.org>
71798
71799         * m4/size_max.m4: New file.
71800         * m4/ptrdiff_max.m4: New file.
71801         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
71802         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
71803         (gl_XALLOC): Invoke it.
71804
71805 2003-11-11  Bruno Haible  <bruno@clisp.org>
71806
71807         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
71808         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
71809         defined.
71810
71811 2003-11-10  Paul Eggert  <eggert@twinsun.com>
71812
71813         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
71814         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
71815         rejected some allocations of exactly SIZE_MAX - 2 bytes.
71816         From Bruno Haible.
71817         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
71818         not (size_t) -1, since it's defined here.
71819
71820 2003-11-09  Karl Berry  <karl@gnu.org>
71821
71822         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
71823
71824 2003-11-06  Paul Eggert  <eggert@twinsun.com>
71825
71826         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
71827         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
71828         Reject sizes of exactly SIZE_MAX bytes.
71829         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
71830         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
71831
71832 2003-11-05  Bruno Haible  <bruno@clisp.org>
71833
71834         * lib/xsize.h: Include limits.h, to avoid a possible collision with
71835         SIZE_MAX defined in <limits.h> on Solaris.
71836
71837 2003-11-04  Jim Meyering  <jim@meyering.net>
71838
71839         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
71840         variable names, rather than @VAR@.
71841         * modules/poll: Likewise.
71842
71843 2003-11-04  Bruno Haible  <bruno@clisp.org>
71844
71845         * modules/xsize: New file.
71846         * modules/linebreak: Depend on xsize.
71847         * MODULES.html.sh (func_all_modules): Add xsize.
71848
71849 2003-11-04  Bruno Haible  <bruno@clisp.org>
71850
71851         * m4/xsize.m4: New file.
71852
71853 2003-11-04  Bruno Haible  <bruno@clisp.org>
71854
71855         * lib/xsize.h: New file.
71856         * lib/linebreak.c: Include xsize.h.
71857         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
71858         argument for overflow.
71859         Suggested by Paul Eggert.
71860
71861 2003-11-03  Karl Berry  <karl@gnu.org>
71862
71863         * config/config.{guess,sub}: update from config.
71864
71865 2003-11-03  Jim Meyering  <jim@meyering.net>
71866
71867         * modules/userspec (lib_SOURCES): Add userspec.h.
71868         (Include): Add "userspec.h".
71869         Improve description.
71870
71871 2003-11-03  Jim Meyering  <jim@meyering.net>
71872
71873         * lib/userspec.c: Include "userspec.h".
71874         * lib/userspec.h: New file.
71875
71876 2003-11-03  Bruno Haible  <bruno@clisp.org>
71877
71878         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
71879
71880 2003-11-03  Bruno Haible  <bruno@clisp.org>
71881
71882         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
71883         available, to avoid (extremely rare) race condition.
71884         Suggested by Paul Eggert.
71885
71886 2003-11-02  Karl Berry  <karl@gnu.org>
71887
71888         * config/srclist.txt (vasprintf.c): sync broken, sigh.
71889
71890 2003-10-31  Paul Eggert  <eggert@twinsun.com>
71891
71892         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
71893         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
71894         (read_filesystem_list): Set and use me_type_malloced.
71895         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
71896         whatever the type happens to be), for brevity and consistency.
71897         Check for size calculation overflow on Alphas running OSF/1.
71898
71899 2003-10-31  Jim Meyering  <jim@meyering.net>
71900
71901         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
71902
71903         * lib/linebuffer.c: Include <string.h> for declaration of memset.
71904
71905 2003-10-30  Paul Eggert  <eggert@twinsun.com>
71906             Bruno Haible  <bruno@clisp.org>
71907
71908         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
71909         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
71910
71911 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
71912
71913         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
71914         netbsd*-gnu*.  Suggested by Robert Millan.
71915
71916 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71917
71918         * modules/group-member: Depend on stdbool.
71919
71920 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71921
71922         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
71923
71924 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71925
71926         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
71927         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
71928         after the 'gnu' in these cases.  This fixes some bugs in the
71929         previous change, and is based on suggestions by Robert Millan.
71930
71931 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71932
71933         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
71934         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
71935         no longer needed.
71936         * lib/quotearg.c (quotearg_n_options): Use it.
71937         * lib/group-member.c: Include <stdbool.h>.
71938         (free_group_info): Arg is now const *; don't free arg.
71939         (get_group_info): Now returns bool and accepts struct group_info *,
71940         rather than returning a malloc'ed struct group_info *.
71941         All uses changed.  Check for overflow in internal size calculation.
71942
71943         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
71944         rather than xmalloc/xrealloc.
71945         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
71946         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
71947         conformance bug: the old code used a pointer after freeing the
71948         storage that it addressed.
71949         * lib/hash.c (hash_initialize): Simplify the code by using
71950         xalloc_oversized rather than doing it by hand.
71951         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
71952         the buffer preserved.  Use free and xmalloc instead.
71953         * lib/quotearg.c (quotearg_n_options): Likewise.
71954         Use a simpler test for size overflow.  Don't use xalloc_oversized
71955         because unsigned int might be wider than size_t (!); this suggests
71956         that we should switch from unsigned int to size_t for slot numbers.
71957
71958 2003-10-28  Paul Eggert  <eggert@twinsun.com>
71959
71960         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
71961         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
71962         NetBSD kernels.  Requested by Richard Stallman.
71963
71964 2003-10-27  Paul Eggert  <eggert@twinsun.com>
71965
71966         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
71967         to allocate the returned structure.  Do not allocate a subarray,
71968         as x2nrealloc will do that.
71969         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
71970         instead of xnrealloc.
71971         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
71972
71973 2003-10-27  Bruno Haible  <bruno@clisp.org>
71974
71975         * lib/stdbool_.h: Better support for BeOS.
71976
71977 2003-10-26  Paul Eggert  <eggert@twinsun.com>
71978
71979         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
71980         now uses inline.
71981
71982 2003-10-26  Paul Eggert  <eggert@twinsun.com>
71983
71984         * lib/xalloc.h (xalloc_oversized): New static inline function, for
71985         callers that want to do their own size-overflow checking.  Include
71986         <stdbool.h>, since xalloc_oversized returns bool.
71987         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
71988         to use xalloc_oversized.
71989
71990         Add two functions x2realloc, x2nrealloc, for programs that grow
71991         arrays dynamically by doubling their sizes.
71992         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
71993         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
71994         New functions.
71995
71996         Port to C99 semantics for 'inline' of external functions.
71997         Bug reported by Bruno Haible.
71998         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
71999         with the old contents of xnmalloc.
72000         (xnmalloc, xmalloc): Use it.
72001         (xnrealloc_inline): New static inline function,
72002         with the old contents of xnrealloc.
72003         (xnrealloc, xrealloc): Use it.
72004
72005         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
72006         that.
72007
72008 2003-10-26  Karl Berry  <karl@gnu.org>
72009
72010         * config/srclist.txt (COPYING.DOC): no longer available from
72011         /gd/gnuorg; don't know where the ultimate source is.
72012
72013 2003-10-25  Paul Eggert  <eggert@twinsun.com>
72014
72015         Fix several address-calculation bugs in the hash modules,
72016         plus some minor code cleanup.
72017
72018         * lib/hash.h: Include <stdbool.h>, for bool.
72019         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
72020         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
72021         hash_get_n_entries, hash_get_max_bucket_length,
72022         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
72023         hash_rehash): Use size_t rather than unsigned.
72024         * lib/hash.c (struct hash_table, hash_get_n_buckets,
72025         hash_get_n_buckets_used, hash_get_n_entries,
72026         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
72027         hash_get_entries, hash_do_for_each, hash_string, is_prime,
72028         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
72029         Likewise.
72030         (SIZE_MAX): Define if not defined.
72031         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
72032         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
72033         hash_print):
72034         Use const * when possible.
72035         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
72036         (check_tuning): Fix bug: if tuning parameters were very close to
72037         0 or 1, rounding errors could have caused subscript violations.
72038         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
72039         (hash_initialize): Add 'fail:' label
72040         to free table and return NULL, and use it to simplify code.
72041         Use calloc rather than clearing the storage ourself.
72042         (hash_initialize, hash_rehash): Check for arithmetic overflow in
72043         buffer size calculations.
72044         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
72045         Include <stddef.h>, for size_t.
72046         * lib/hash-pjw.c (hash_pjw): Likewise.
72047         Switch to method described by Bruno Haible.
72048         Include <limits.h>, for CHAR_BIT.
72049         (SIZE_BITS): New macro.
72050
72051 2003-10-23  Paul Eggert  <eggert@twinsun.com>
72052
72053         * m4/getline.m4 (AM_FUNC_GETLINE):
72054         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
72055         hosts.  Problem reported by Derek Robert Price in
72056         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
72057         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
72058         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
72059
72060 2003-10-21  Paul Eggert  <eggert@twinsun.com>
72061
72062         * lib/getndelim2.c (getndelim2): When size calculation overflows,
72063         ceiling the allocation at NMAX bytes rather than silently
72064         discarding input bytes before NMAX is reached.  This makes
72065         a difference only if NMAX exceeds SIZE_MAX / 2.
72066
72067         * lib/obstack.c: Merge from glibc.
72068         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
72069         Add libc_hidden_def (_obstack_newchunk).
72070         (_obstack_free) [! defined _LIBC]: Remove.
72071         [defined _LIBC]: Make a strong alias from obstack_free, rather than
72072         a clone of the function body.
72073         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
72074         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
72075
72076         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
72077         glibc.
72078         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
72079         arg to memcpy.
72080
72081         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
72082         (obstack_ptr_grow_fast, obstack_int_grow_fast):
72083         Don't use lvalue casts, as GCC plans to remove support for them
72084         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
72085         was also present in the non-GCC version, indicating that this
72086         code had always been buggy and had never been widely used.
72087         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
72088         Use the fast variant of each macro, rather than copying the
72089         definiens of the fast variant; that way, we'll be more likely to
72090         catch future bugs in the fast variants.
72091
72092 2003-10-20  Bruno Haible  <bruno@clisp.org>
72093
72094         * modules/wait-process: New file.
72095         * MODULES.html.sh (func_all_modules): Add wait-process.
72096
72097 2003-10-20  Bruno Haible  <bruno@clisp.org>
72098
72099         * m4/wait-process.m4: New file.
72100
72101 2003-10-20  Bruno Haible  <bruno@clisp.org>
72102
72103         * lib/wait-process.h: New file, from GNU gettext.
72104         * lib/wait-process.c: New file, from GNU gettext.
72105
72106 2003-10-19  Jim Meyering  <jim@meyering.net>
72107
72108         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
72109         HPUX 10.20.
72110
72111 2003-10-18  Karl Berry  <karl@gnu.org>
72112
72113         * config/config.guess: update from config.
72114
72115 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72116
72117         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
72118         (getgroups): First arg is int, not size_t.
72119         Don't let 'free' mangle errno.
72120
72121 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72122
72123         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
72124
72125 2003-10-16  Karl Berry  <karl@gnu.org>
72126
72127         * config/config.{guess,sub}: update from config.
72128
72129 2003-10-16  Jim Meyering  <jim@meyering.net>
72130
72131         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
72132         memcpy.
72133
72134 2003-10-15  Paul Eggert  <eggert@twinsun.com>
72135
72136         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
72137         (SIZE_MAX): Remove.
72138         (new_exclude, add_exclude_file): Initial size no longer needs to
72139         be a power of 2.
72140         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
72141         our own address arithmetic overflow checking.
72142
72143         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
72144         (fnmatch): Do not alloca more than 2000 wide characters;
72145         instead, use malloc for large buffers.
72146         Check for address arithmetic overflow, and return -1
72147         with errno set to ENOMEM in that case.
72148         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
72149         (NEW_PATTERN): Do not alloca more than 8000 bytes;
72150         instead, return -1.  Check for address arithmetic overflow.
72151
72152 2003-10-14  Paul Eggert  <eggert@twinsun.com>
72153
72154         Handle invalid suffixes and overflow independently, so that
72155         callers can treat them independently as needed.  Fix some bugs in
72156         suffix handling, e.g., "100k@" was not diagnosed as an invalid
72157         suffix for a human-readable blocksize.  The major caller-visible
72158         change is the addition of a new
72159         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
72160         that both overflow and suffix chars were found.
72161
72162         * lib/human.c (humblock): Don't check separately for invalid suffix
72163         char; that is xstrtoumax's job (now that its bug is fixed).
72164         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
72165         INTMAX_MAX]: New macros.
72166         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
72167         TYPE_MAXIMUM): New macros.
72168         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
72169         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
72170         if overflow occurs, as it's what __strtol does and it's more useful
72171         in practice.
72172         (__xstrtol): If __strtol reports some error other than ERANGE,
72173         reflect it to the caller as LONGINT_INVALID.  If it reports
72174         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
72175         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
72176         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
72177         value.
72178         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
72179         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
72180         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
72181         [defined UINTMAX_MAX]: New macros.
72182
72183 2003-10-14  Bruno Haible  <bruno@clisp.org>
72184
72185         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
72186
72187 2003-10-14  Bruno Haible  <bruno@clisp.org>
72188
72189         * m4/sig_atomic_t: New file, from GNU gettext.
72190         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
72191
72192 2003-10-14  Bruno Haible  <bruno@clisp.org>
72193
72194         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
72195         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
72196         Also use volatile where needed.
72197
72198 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72199
72200         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
72201         Change maintainer from Bruno Haible to 'all'.
72202
72203 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72204
72205         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
72206
72207 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72208
72209         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
72210         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
72211         and define in terms of the other primitives.
72212         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
72213         (SIZE_MAX): Define if not already defined.
72214         (array_size_overflow): New function.
72215         (xalloc_die): Abort instead of exiting if 'error' returns.
72216         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
72217         (xmalloc, xrealloc): Use them.
72218         (xcalloc): Check for address arithmetic overflow.
72219         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
72220         a bit faster than strcpy.
72221
72222 2003-10-10  Simon Josefsson  <jas@extundo.com>
72223
72224         * modules/argp (Depends-on): Add restrict and strcase.
72225
72226 2003-10-10  Simon Josefsson  <jas@extundo.com>
72227
72228         * m4/argp.m4: Add AC_C_INLINE.
72229
72230 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72231
72232         Merge getpass from libc, plus a few fixes.
72233
72234         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
72235         Include <stdbool.h>.
72236         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
72237         __fsetlocking to empty.
72238         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
72239         do include <bits/libc-lock.h>.
72240         Do not include <fcntl.h>; not needed.
72241         [_LIBC]: Include <wchar.h>.
72242         (NOTCANCEL_MODE): New macro.
72243         (flockfile, funlockfile) [_LIBC]: New macros.
72244         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
72245         [!_LIBC]: New macros.
72246         (call_fclose): New function.
72247         (getpass): Use it.  Save tty stream separately; this simplifies the
72248         code and makes it more reliable if stdin happens to equal stdout.
72249         Invoke __fsetlocking on tty.
72250         Handle thread cancellation if needed.
72251         Namespace cleanup (use __tcgetattr, __getline).
72252         Use bool for Booleans.
72253         [USE_IN_LIBIO]: Handle wide streams.
72254         [!_LIBC]: Unconditionally do the fseek, since we don't know what
72255         stream might go where.
72256
72257         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
72258         doesn't have to include <stdio.h> before us.
72259         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
72260         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
72261         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
72262         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
72263         if not declared, so that we can use getpass.c code from libc without
72264         rewriting it.
72265         (flockfile, ftrylockfile, funlockfile): New macros.
72266
72267 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72268
72269         * modules/getpass: Depend on stdbool.
72270
72271 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72272
72273         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
72274
72275 2003-10-07  Karl Berry  <karl@gnu.org>
72276
72277         * config/config.{guess,sub}: update from config.
72278
72279 2003-10-06  Jim Meyering  <jim@meyering.net>
72280             Bruno Haible  <bruno@clisp.org>
72281
72282         This lets translators provide better translations for the
72283         "Written by ..." part of --version output.
72284         * lib/version-etc.h: Include stdarg.h.
72285         (version_etc_copyright): Declare as readonly.
72286         (version_etc): Make this function variadic with a NULL-terminated list
72287         of author name strings.
72288         (version_etc_va): New declaration.
72289         * lib/version-etc.c: Include stdarg.h, stdlib.h.
72290         (version_etc_copyright): Declare as readonly.
72291         (version_etc_va): New function. Provide a different translatable string
72292         for each possible number of authors < 10. Abbreviate when there are 10
72293         authors or more.
72294         (version_etc): Make this function variadic. Call version_etc_va.
72295         Suggestion from Gary V. Vaughan.
72296
72297         * lib/long-options.h (parse_long_options): Change prototype: the
72298         authors string is moved to the end and becomes variadic.
72299         * lib/long-options.c: Include stdarg.h.
72300         (parse_long_options): Make this function variadic, too.
72301         Call version_etc_va, not version_etc.
72302
72303 2003-10-06  Bruno Haible  <bruno@clisp.org>
72304
72305         * modules/version-etc-2: Remove file.
72306         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
72307
72308 2003-10-06  Bruno Haible  <bruno@clisp.org>
72309
72310         * modules/fatal-signal: New file.
72311         * MODULES.html.sh (func_all_modules): Add fatal-signal.
72312
72313 2003-10-06  Bruno Haible  <bruno@clisp.org>
72314
72315         * m4/fatal-signal.m4: New file.
72316         * m4/signalblocking.m4: New file, from GNU gettext.
72317
72318 2003-10-06  Bruno Haible  <bruno@clisp.org>
72319
72320         * lib/version-etc-2.h: Remove file.
72321         * lib/version-etc-2.c: Remove file.
72322
72323 2003-10-06  Bruno Haible  <bruno@clisp.org>
72324
72325         * lib/fatal-signal.h: New file, from GNU gettext.
72326         * lib/fatal-signal.c: New file, from GNU gettext.
72327
72328 2003-10-05  Paul Eggert  <eggert@twinsun.com>
72329
72330         * README: Rework advice for preventing empty .o files.
72331         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
72332         not <sys/types.h>.
72333
72334 2003-10-04  Karl Berry  <karl@gnu.org>
72335
72336         * lib/argp*: update from libc.
72337
72338 2003-10-04  Karl Berry  <karl@gnu.org>
72339
72340         * config/config.{guess,sub}: update from config.
72341
72342 2003-10-02  Bruno Haible  <bruno@clisp.org>
72343
72344         * modules/lchown (Include): Add lchown.h.
72345         * modules/time_r (Include): Use "..." syntax.
72346         * modules/xgetdomainname (Include): Add xgetdomainname.h.
72347
72348 2003-10-01  Simon Josefsson  <jas@extundo.com>
72349
72350         * MODULES.html.sh (func_all_modules): Move gethostname from section
72351         'based on' to section 'lacking' POSIX:2001.
72352
72353 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
72354
72355         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
72356         to output mode on the same stream.
72357
72358 2003-09-29  Paul Eggert  <eggert@twinsun.com>
72359
72360         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
72361         Fix arg typo in previous patch.
72362
72363 2003-09-28  Jim Meyering  <jim@meyering.net>
72364
72365         * lib/error.c: Correct cpp indentation.
72366
72367 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72368
72369         * modules/free: New file.
72370
72371 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72372
72373         * m4/free.m4: New file.
72374
72375 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72376
72377         * lib/minmax.h (MIN, MAX)
72378         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
72379         Omit the special code that used __typeof__, since we worry that
72380         it could be more trouble than it's worth.  See:
72381         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
72382         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
72383
72384         * lib/free.c: New file.
72385
72386 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
72387
72388         Trivial fixes to Makefile.am parts of module listings.
72389         * modules/strstr: Append strstr.h to lib_SOURCES.
72390         * modules/strcase: Likewise, for strcase.h.
72391
72392 2003-09-27  Karl Berry  <karl@gnu.org>
72393
72394         * config/mkinstalldirs: update from automake.
72395
72396 2003-09-26  Paul Eggert  <eggert@twinsun.com>
72397
72398         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
72399         (error_tail): Do not loop, reallocating temporary buffer, since
72400         the output cannot contain more wide characters than the input
72401         contains bytes, the size must be big enough already.  This avoids
72402         one potential size overflow calculation.  Check for size overflow
72403         when calculating temporary buffer size.  Free temporary buffer
72404         when done, if it was allocated with malloc; this plugs a memory
72405         leak.  Remove casts from void * to pointers, that are no longer
72406         needed now that we're assuming C89 or better.
72407
72408         Merge error changes from glibc.
72409
72410         * lib/error.c, error.h: Update copyright notice header to match glibc.
72411         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
72412         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
72413         Disable cancellation while printing error.
72414         * lib/error.h: Prepend __ to parameter names.
72415
72416 2003-09-26  Jim Meyering  <jim@meyering.net>
72417
72418         * lib/error.c (error_tail): Move some declarations
72419         into inner scope where the local variables are used.
72420
72421 2003-09-26  Bruno Haible  <bruno@clisp.org>
72422
72423         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
72424         stpncpy().
72425         Don't define stpncpy through config.h; it's now done through stpncpy.h.
72426
72427 2003-09-26  Bruno Haible  <bruno@clisp.org>
72428
72429         * lib/stpncpy.h (gnu_stpncpy): New declaration.
72430         (stpncpy): Define as alias for gnu_stpncpy.
72431         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
72432
72433 2003-09-25  Simon Josefsson  <jas@extundo.com>
72434
72435         * lib/xgetdomainname.h: New file.
72436         * lib/xgetdomainname.c: New file.
72437
72438 2003-09-25  Simon Josefsson  <jas@extundo.com>
72439             Bruno Haible  <bruno@clisp.org>
72440
72441         * modules/getdomainname: New file.
72442         * modules/xgetdomainname: New file.
72443         * MODULES.html.sh (func_all_modules): Add getdomainname,
72444         xgetdomainname.
72445
72446 2003-09-25  Simon Josefsson  <jas@extundo.com>
72447             Bruno Haible  <bruno@clisp.org>
72448
72449         * m4/getdomainname.m4: New file.
72450
72451 2003-09-25  Simon Josefsson  <jas@extundo.com>
72452             Bruno Haible  <bruno@clisp.org>
72453
72454         * lib/getdomainname.h: New file.
72455         * lib/getdomainname.c: New file.
72456
72457 2003-09-25  Karl Berry  <karl@gnu.org>
72458
72459         * lib/argp-fmtstream.c, argp-help.c: update from libc.
72460
72461 2003-09-25  Karl Berry  <karl@gnu.org>
72462
72463         * config/install-sh: update from automake.
72464
72465 2003-09-25  Bruno Haible  <bruno@clisp.org>
72466
72467         * modules/version-etc-2: New file, from modules/version-etc with
72468         modifications.
72469         * MODULES.html.sh (func_all_modules): Add version-etc-2.
72470
72471 2003-09-25  Bruno Haible  <bruno@clisp.org>
72472
72473         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
72474         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
72475
72476 2003-09-24  Simon Josefsson  <jas@extundo.com>
72477
72478         * modules/xgethostname: Add xgethostname.h.
72479
72480 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72481
72482         * lib/linebuffer.c (freebuffer): Don't free the argument, just
72483         the buffer associated with the argument.  Bug reported by
72484         Simon Josefsson.
72485
72486 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72487
72488         * README: Document assumptions that 'int' is at least 32 bits
72489         wide, that integer arithmetic is 2's complement without overflow,
72490         that there are no holes in integer values, that adding sizes of
72491         two nonoverlapping objects can't overflow, and that all-bits-zero
72492         yields scalar zero.  Fix spelling and capitalization typos.
72493
72494 2003-09-19  Karl Berry  <karl@gnu.org>
72495
72496         * lib/argp.h: update from libc.
72497
72498 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72499
72500         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
72501         to avoid spurious warnings like "AC_RUN_IFELSE was called before
72502         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
72503
72504 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72505
72506         * gnulib-tool: Use "test -h", not "test -L", for portability
72507         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
72508         (tags_regexp): Remove, since \| doesn't conform to POSIX.
72509         (sed_extract_prog): Issue s commands one-by-one, rather than
72510         using \| in one s command.
72511
72512 2003-09-16  Paul Eggert  <eggert@twinsun.com>
72513
72514         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
72515         input error, instead of returning NULL the next time we are called
72516         (and therefore losing track of errno).
72517
72518 2003-09-16  Bruno Haible  <bruno@clisp.org>
72519
72520         * gnulib-tool (func_create_testdir): Warn about duplicated
72521         dependencies.
72522
72523 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72524
72525         * modules/argmatch, modules/fatal, modules/obstack,
72526         modules/xalloc, modules/xgethostname: Sort dependencies by
72527         importance, not alphabetically.
72528
72529 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72530
72531         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
72532         fails, so that the caller gets the proper errno.
72533
72534         * lib/readutmp.c (read_utmp): Likewise.
72535         Check for fstat error.  Close stream and free storage
72536         when failing.
72537
72538 2003-09-14  Karl Berry  <karl@gnu.org>
72539
72540         * config/srclist.txt (strdup.c): disable for c89 changes.
72541
72542 2003-09-14  Jim Meyering  <jim@meyering.net>
72543
72544         * lib/getloadavg.c: Correct cpp indentation.
72545         * lib/strdup.c: Likewise.
72546         * lib/vasnprintf.c: Likewise.
72547
72548 2003-09-14  Bruno Haible  <bruno@clisp.org>
72549
72550         * modules/fwriteerror: New file.
72551         * MODULES.html.sh (func_all_modules): Add fwriteerror.
72552
72553 2003-09-14  Bruno Haible  <bruno@clisp.org>
72554
72555         * lib/fwriteerror.h: New file.
72556         * lib/fwriteerror.c: New file.
72557
72558 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72559
72560         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
72561         modules/xgethostname, modules/xalloc: Depend on exit.
72562
72563 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72564
72565         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
72566
72567         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
72568         and AC_MINIX, too, so that their extensions are available.
72569
72570         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
72571         This macro has been superseded by gl_BACKUPFILE.
72572
72573         More patches to assume C89 or better.
72574
72575         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
72576
72577         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
72578         unconditionally.
72579         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
72580         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
72581         Include <string.h>, <stdlib.h> unconditionally.
72582         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
72583         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
72584         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
72585         headers or for string.h.
72586         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
72587         or strtoul.
72588
72589         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
72590         headers.
72591         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
72592         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72593         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
72594         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
72595         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72596         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
72597         memcpy, memset.
72598         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
72599         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
72600         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
72601         strtol.
72602         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
72603         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
72604         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
72605         strtoul.
72606
72607 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72608
72609         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
72610         * lib/obstack.c [!defined _LIBC]: Likewise.
72611         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
72612         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
72613         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
72614
72615         More changes to assume C89 or better.
72616
72617         * lib/error.c (error_tail): Assume vprintf.
72618
72619         * lib/argmatch.c (getenv): Remove decl.
72620         * lib/progreloc.c (get_full_program_name): Define via prototype.
72621         * lib/setenv.c (clearenv): Likewise.
72622         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
72623         needed.
72624         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
72625         (malloc, memcpy): Remove decls.
72626         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
72627         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
72628         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72629         (memcpy): Remove macro.
72630         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
72631         (__P): Remove.  All uses removed.
72632         (PTR): Remove.  All uses changed to void *.
72633         (CHAR_BIT, NULL): Remove.
72634         (spaces, zeros, memset_space, memset_zero)
72635         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
72636         Remove.
72637         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
72638         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
72639         Define with prototype.
72640         Remove now-unnecessary prototype decl.
72641         (extra_args_spec): Assume ANSI C.  All uses changed.
72642         (extra_args_spec_iso): Remove.
72643         (my_strftime, emacs_strftimeu): Define via prototype.
72644         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
72645         unconditionally.
72646         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
72647         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
72648         (strtoul, strtol): Remove decls.
72649         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
72650         LONG_MAX): Remove.
72651         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72652         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
72653         (LOCALE_PARAM_PROTO): New macro.
72654         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
72655         (INTERNAL (strtol), strtol): Define with a prototype.
72656         (PARAMS): Remove.  All uses removed.
72657         * lib/tempname.c: Include <string.h> unconditionally.
72658         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
72659         * lib/xgethostname.c (main): Define with a prototype.
72660         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
72661         Include <stdlib.h> unconditionally.
72662         (calloc, malloc, realloc, free): Remove decls.
72663         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
72664         Include <stdlib.h> unconditionally.  Sort include file names.
72665         (strtod): Remove.
72666         (xstrtod): Define with a prototype.
72667         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
72668         (strtol, strtoul): Remove decls.
72669
72670 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72671
72672         More patches to assume C89 or better.
72673         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
72674         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
72675         string.h, memchr, STDC_HEADERS.
72676
72677 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72678
72679         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
72680         Include <stdlib.h>, <string.h> unconditionally.
72681         Remove now-unnecessary cast to char *.
72682         * lib/strnlen.c: Include <string.h> unconditionally.
72683         * lib/yesno.c (yesno): Define with a prototype.
72684
72685 2003-09-11  Bruno Haible  <bruno@clisp.org>
72686
72687         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
72688
72689 2003-09-10  Jim Meyering  <jim@meyering.net>
72690
72691         * lib/error.c: Correct indentation of cpp directives.
72692
72693 2003-09-10  Bruno Haible  <bruno@clisp.org>
72694
72695         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
72696         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
72697         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
72698         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
72699         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
72700         <stdlib.h> and <string.h> checks.
72701         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
72702         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
72703
72704 2003-09-10  Bruno Haible  <bruno@clisp.org>
72705
72706         * lib/strcspn.c: Include <string.h> unconditionally.
72707         * lib/strpbrk.c: Include <string.h> unconditionally.
72708         * lib/strstr.c: Include <string.h> unconditionally.
72709         * lib/unicodeio.c: Include <string.h> unconditionally.
72710         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
72711         * lib/unsetenv.c: Likewise.
72712         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
72713         * lib/yesno.c: Include <stdlib.h> unconditionally.
72714         (rpmatch): Add prototype.
72715
72716 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72717
72718         More patches to assume C89 or better.
72719         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
72720         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
72721         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
72722         or for string.h.
72723         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
72724         stdlib.h.
72725         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
72726         C headers.
72727         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
72728         string.h.
72729         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
72730         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
72731         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
72732         or for string.h.
72733         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
72734         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
72735         C headers.
72736         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
72737         memcpy.
72738         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
72739         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
72740         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
72741         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
72742         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
72743         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
72744         string.h, free.
72745         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
72746         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
72747         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
72748         C headers, or for string.h.
72749         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
72750         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
72751         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
72752         headers, memory.h, stdlib.h, string.h, strings.h.
72753         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
72754         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
72755         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
72756         strchr.
72757         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
72758         headers, memory.h, string.h.
72759         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
72760         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
72761         free.
72762         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
72763         headers.
72764         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
72765         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
72766         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
72767         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
72768         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
72769
72770 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72771
72772         More K&R removal.
72773
72774         * lib/acosl.c (main): Use a prototype.
72775         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
72776         tanl.c: Likewise.
72777
72778         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
72779
72780         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
72781         (getopt, etopt_long, getopt_long_only, _getopt_internal)
72782         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
72783         with a prototype.
72784         * lib/getopt.c (const): Remove macro.
72785         Include <string.h> unconditionally.
72786         (my_index): Remove; all uses changed to strchr.
72787         (strlen): Remove decl.
72788         (exchange): Remove forward decl; no longer needed.
72789         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
72790         Define with prototype.
72791         * lib/getopt1.c (const): Remove macro.
72792         (getopt_long, getopt_long_only, main): Define with prototype.
72793
72794         * lib/getugroups.c: Include <string.h> unconditionally.
72795
72796         * lib/getusershell.c: Include <stdlib.h> unconditionally.
72797         (getusershell, setusershell, endusershell, readname, main):
72798         Define with prototypes.
72799
72800         * lib/group-member.c: Include group-member.h first.
72801         Include <stdlib.h> unconditionally.
72802
72803         * lib/hard-locale.c: Include hard-locale.h first.
72804         Include <stdlib.h>, <string.h> unconditionally.
72805
72806         * lib/hash.c (free, malloc): Remove decls.
72807         Include <stdlib.h> unconditionally.
72808
72809         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
72810         (getenv): Do not declare.
72811
72812         * lib/idcache.c: Include <string.h> unconditionally.
72813
72814         * lib/long-options.c: Include long-options.h first, to test interface.
72815         Include <stdlib.h> unconditionally.
72816
72817         * lib/makepath.c: Include makepath.h first, to test interface.
72818         Include <stdlib.h> and <string.h> unconditionally.
72819
72820         * lib/linebuffer.c: Include <stdlib.h>.
72821         (free): Remove decl.
72822
72823         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
72824         stddef.h. rpl_malloc returns void *, not char *.
72825         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
72826         prototype.
72827
72828         * lib/md5.h: Include <limits.h> unconditionally.
72829         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
72830         (__P): Remove; all uses removed.
72831         * lib/md5.c: Include "md5.h" first.
72832         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
72833         md5_buffer, md5_process_bytes, md5_process_block):
72834         Define with prototypes.
72835         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
72836         * lib/sha.c: Include "sha.h" first.
72837         Include <stdlib.h>, <string.h> unconditionally.
72838
72839         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
72840         * lib/memcmp.c (__ptr_t): Likewise.
72841         * lib/memrchr.c (__ptr_t): Likewise.
72842         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
72843         Include <string.h> unconditionally.
72844         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
72845         * lib/memchr.c: Include <stdlib.h> unconditionally.
72846         * lib/memchr.c (LONG_MAX): Remove.
72847         * lib/memrchr.c (LONG_MAX): Likewise.
72848         * lib/memchr.c (__memchr): Define via a prototype.
72849         * lib/memrchr.c (__memrchr): Likewise.
72850         * lib/memcmp.c (__P): Remove, and remove all uses.
72851         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
72852         Remove forward decls; no longer needed.
72853         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
72854         Use types required by C89 in prototype.
72855
72856         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
72857         * lib/savedir.c: Likewise.
72858         * lib/mkdir.c (free): Remove decl.
72859         * lib/rmdir.c (rmdir): Define with a prototype.
72860         * lib/savedir.c: Include savedir.h first, to test interface.
72861
72862         * lib/mktime.c (STDC_HEADERS): Remove.
72863         Include <stdlib.h>, <string.h> unconditionally.
72864
72865         * lib/modechange.c: Include <stdlib.h> unconditionally.
72866         (malloc): Remove decl.
72867
72868         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
72869         (free): Remove decl.
72870
72871         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
72872         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
72873         (This type really should be intptr_t, but that's a C99ism.)
72874         (_obstack_memcpy): Remove: all uses changed to memcpy.
72875         Include <string.h> unconditionally.
72876         (struct obstack): Assume __STDC__ for types of members
72877         chunkfun, freefun, extra_arg.
72878         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
72879         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
72880         obstack_begin, obstack_specify_allocation,
72881         obstack_specify_allocation_with_arg, obstack_chunkfun,
72882         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
72883         Remove unprototyped decls and the macros that use them.
72884         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
72885         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
72886         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
72887         (defined __STDC__ && __STDC__)]:
72888         Remove nonprototyped code.
72889         Include <stdlib.h> unconditionally.
72890         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
72891         _obstack_allocated_p, _obstack_free, obstack_free,
72892         _obstack_memory_used, print_and_abort):
72893         Define using prototypes.
72894         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
72895         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
72896         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
72897         obstack_next_free, obstack_object_size, obstack_room) [0]:
72898         Remove unused, unprototyped code.
72899
72900         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
72901
72902         * lib/physmem.c (physmem_total, physmem_available, main): Define
72903         with prototypes.
72904
72905         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
72906         (main): Define with a prototype.
72907
72908         * lib/posixver.c (getenv): Remove decl.
72909
72910         * lib/putenv.c (malloc): Returns void *, not char *.
72911         Include <string.h> unconditionally.
72912         (strchr, memcpy, NULL): Do not define.
72913
72914         * lib/readtokens.c: Include readtokens.h first, to test interface.
72915         Include <stdlib.h>, <string.h> unconditionally.
72916         (init_tokenbuffer): Define with a prototype.
72917
72918         * lib/regex.c (PARAMS): Remove.  All uses removed.
72919         All uses of _RE_ARGS removed, too.
72920         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
72921         unconditionally.
72922         (bzero): Assume memset exists.
72923         (memcmp, memcpy, NULL): Remove.
72924         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
72925         char, or assignments to local vars of type signed char.
72926         (init_syntax_once, PREFIX(extract_number_and_incr),
72927         PREFIX(print_partial_compiled_pattern),
72928         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
72929         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
72930         PREFIX(regex_grow_registers), PREFIX(regex_compile),
72931         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
72932         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
72933         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
72934         wcs_compile_range, byte_compile_range, truncate_wchar,
72935         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
72936         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
72937         count_mbs_length, wcs_re_match_2_internal,
72938         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
72939         PREFIX(alt_match_null_string_p),
72940         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
72941         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
72942         regfree, PREFIX(extract_number)): Define with prototype.  Remove
72943         now-unnecessary declaration, if any.
72944         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
72945         regcomp, regexec):
72946         Remove now-unnecessary casts among pointer types.
72947         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
72948
72949         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
72950         (free): Remove decl.
72951
72952         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
72953
72954         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
72955         (free): Remove decl.
72956
72957         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
72958         * lib/xgetcwd.c: Likewise.
72959
72960         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
72961         (free): Remove decl.
72962
72963         * lib/strchrnul.c (strchrnul): Define with a prototype.
72964         Fix bug: c_in was not converted to char before searching.
72965
72966         The following changes are not K&R related:
72967
72968         * lib/group-member.h: Include <sys/types.h>, so that this file is
72969         self-contained.
72970         * lib/makepath.h: Likewise.
72971
72972         * lib/getusershell.c (readname, default_index, line_size, readname):
72973         Use size_t, not int, for sizes.
72974         (readname): If the size overflows, report an error instead of
72975         looping forever.
72976
72977 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72978
72979         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
72980         libc.
72981
72982 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72983
72984         * README: New section: portability guidelines.
72985
72986 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
72987
72988         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
72989         C89 spec.
72990
72991 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
72992
72993         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
72994
72995 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72996
72997         Assume C89 or better; remove K&R cruft.
72998         A few of these changes were first proposed by Derek Robert Price
72999         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
73000
73001         * lib/addext.c: Include <string.h> unconditionally.
73002         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
73003         Don't declare getenv or malloc.
73004
73005         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
73006         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
73007         (NULL): Remove.
73008         (find_stack_direction, alloca): Use prototypes.
73009
73010         * lib/atexit.c (atexit): Define using a prototype.
73011
73012         * lib/basename.c, dirname.c, stripslash.c:
73013         Include <string.h> unconditionally.
73014
73015         * lib/bcopy.c: Include <stddef.h>.
73016         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
73017
73018         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
73019
73020         * lib/error.h (error, error_at_line, error_print_progname)
73021         [! (defined (__STDC__) && __STDC__)]: Remove decls.
73022         * lib/error.c: Include error.h first, to check interface.
73023         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73024         (VA_START): Remove; all uses changeed to va_start.
73025         (exit, strerror): Remove decls.
73026         (error_print_progname): Prototype uncondionally.
73027         Don't include <errno.h>; no longer needed.
73028         (private_strerror): Remove.
73029         (error_tail): Always define.
73030         (error, error_at_line): Assume C89 or better; always use prototypes.
73031         * lib/fatal.c: Include "fatal.h" first, to test interface.
73032         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73033         (VA_START): Remove; all uses changed to va_start.
73034         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
73035         this case.
73036         (exit): Remove decl.
73037         (fatal): Prototype unconditionally.  Assume va_start works.
73038         Abort at end, to pacify gcc.
73039
73040         * lib/euidaccess.c (main): Define with a prototype.
73041
73042         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
73043
73044         * lib/exitfail.c: Include <stdlib.h> unconditionally.
73045
73046         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
73047         prototypes.
73048         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
73049         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
73050         (getenv): Remove decl.
73051         (fnmatch): Define using a prototype.
73052         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
73053         (FCT): Define using a prototype.
73054
73055         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
73056
73057         * lib/gethostname.c: Include <stddef.h>.
73058         (gethostname): Define with prototype.  Length is size_t, not int.
73059
73060 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73061
73062         Assume C89 or better; remove K&R cruft.
73063         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
73064         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
73065         string.h, getenv, malloc.
73066         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
73067         headers.
73068         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
73069         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
73070         do not check for strerror.
73071         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
73072         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
73073         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
73074         do not check for doprnt or vprintf.
73075         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
73076         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
73077
73078 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73079
73080         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
73081         getversion.c should have been removed then, but was accidentally
73082         preserved.
73083
73084         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
73085         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
73086
73087 2003-09-08  Karl Berry  <karl@gnu.org>
73088
73089         * config/config.sub, config.guess, srclistvars.sh: update from savannah
73090                 config, forget about prep.
73091
73092         * config/depcomp, missing: update from automake.
73093
73094 2003-09-07  Paul Eggert  <eggert@twinsun.com>
73095
73096         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
73097         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
73098
73099 2003-09-07  Paul Eggert  <eggert@twinsun.com>
73100
73101         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
73102         copy_tm_result.  Bug reported by Simon Josefsson in
73103         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
73104
73105 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73106
73107         * m4/time_r.m4: New file.
73108         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
73109         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
73110         is. Check for timegm declaration.
73111         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
73112         Do not check for gmtime_r.
73113         Replace mktime if __mktime_internal does not exist and if mktime
73114         hasn't been replaced already.
73115
73116 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73117
73118         * lib/time_r.c, lib/time_r.h: New files.
73119
73120         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
73121         __localtime_r.
73122         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
73123         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
73124
73125         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
73126         __gmtime_r.
73127         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
73128         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
73129         Include <time_r.h>.
73130
73131         * lib/timegm.c: Switch to glibc implementation, with the following
73132         changes:
73133         [defined HAVE_CONFIG_H]: Include <config.h>.
73134         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
73135         (__mktime_internal) [!defined _LIBC]: New decl.
73136         (__gmtime_r) [!defined _LIBC]: New macro and function.
73137         (timegm): Use a prototype, since gnulib assumes C89.
73138         Do not bother declaring tmp to be const, as it's not really usefu.
73139         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
73140         (timegm): Declare only if HAVE_DECL_TIMEGM.
73141
73142 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73143
73144         * MODULES.html.sh (func_all_modules): Add time_r.
73145         * modules/time_r: New file.
73146         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
73147         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
73148
73149 2003-09-03  Paul Eggert  <eggert@twinsun.com>
73150
73151         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
73152         Bug reported by Lute Kamstra in
73153         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
73154
73155         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
73156         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
73157         course with correspondingly smaller numbers for tomorrow and
73158         yesterday.  From Tadayoshi Funaba.  Originally installed into
73159         sh-utils on 1999-08-07, but the patch got lost (I guess during the
73160         coreutils merge?).
73161
73162 2003-08-31  Simon Josefsson  <jas@extundo.com>
73163
73164         * modules/timegm: New file.
73165         * MODULES.html.sh (func_all_modules): Add timegm.
73166
73167 2003-08-31  Simon Josefsson  <jas@extundo.com>
73168
73169         * m4/timegm.m4: New file.
73170
73171 2003-08-31  Simon Josefsson  <jas@extundo.com>
73172
73173         * lib/timegm.h: New file.
73174         * lib/timegm.c: New file.  Based on
73175         wget-1.8.2/src/http.c:mktime_from_utc.
73176
73177 2003-08-31  Karl Berry  <karl@gnu.org>
73178
73179         * lib/argp.h: update from libc.
73180
73181 2003-08-28  Bruno Haible  <bruno@clisp.org>
73182
73183         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
73184         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
73185         followed by '#define fnmatch fnmatch_posix' gives an error.
73186
73187 2003-08-28  Bruno Haible  <bruno@clisp.org>
73188
73189         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
73190         warning on QNX, which defines O_BINARY to 000000.
73191
73192 2003-08-27  Jim Meyering  <jim@meyering.net>
73193
73194         * m4/mkstemp.m4: Require that the system mkstemp be able to create
73195         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
73196         would fail after 32.  Reported by Danny Levinson.  Details here:
73197         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
73198
73199 2003-08-24  Bruno Haible  <bruno@clisp.org>
73200
73201         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
73202         MSVC7 <stdio.h> is included later.
73203
73204 2003-08-22  Simon Josefsson  <jas@extundo.com>
73205
73206         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
73207
73208 2003-08-20  Karl Berry  <karl@gnu.org>
73209
73210         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
73211
73212 2003-08-20  Bruno Haible  <bruno@clisp.org>
73213
73214         * modules/progname: New file.
73215         * MODULES.html.sh (func_all_modules): Add progname.
73216
73217 2003-08-20  Bruno Haible  <bruno@clisp.org>
73218
73219         * lib/progname.h: New file, from GNU gettext.
73220         * lib/progname.c: New file, from GNU gettext.
73221         * lib/progreloc.c: New file, from GNU gettext.
73222
73223 2003-08-19  Jim Meyering  <jim@meyering.net>
73224
73225         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
73226         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
73227
73228 2003-08-19  Bruno Haible  <bruno@clisp.org>
73229
73230         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
73231         more.
73232
73233 2003-08-19  Bruno Haible  <bruno@clisp.org>
73234
73235         * lib/xstrdup.c: Assume <string.h> exists.
73236
73237 2003-08-18  Paul Eggert  <eggert@twinsun.com>
73238
73239         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
73240         in makefile rules.
73241
73242 2003-08-18  Jim Meyering  <jim@meyering.net>
73243
73244         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
73245         * m4/lib-ld.m4: Likewise.
73246
73247 2003-08-18  Jim Meyering  <jim@meyering.net>
73248
73249         * lib/setenv.h: Indent nested cpp directive.
73250         * lib/vasnprintf.c: Remove trailing blanks.
73251
73252 2003-08-17  Simon Josefsson  <jas@extundo.com>
73253
73254         * modules/xstrndup: New file.
73255         * MODULES.html.sh (func_all_modules): Add xstrndup.
73256
73257 2003-08-17  Simon Josefsson  <jas@extundo.com>
73258
73259         * modules/argp: Fix autoconf macro name. Add more dependencies.
73260
73261 2003-08-17  Simon Josefsson  <jas@extundo.com>
73262
73263         * m4/xstrndup.m4: New file.
73264
73265 2003-08-17  Simon Josefsson  <jas@extundo.com>
73266
73267         * m4/argp.m4: New file.
73268
73269 2003-08-17  Simon Josefsson  <jas@extundo.com>
73270             Bruno Haible  <bruno@clisp.org>
73271
73272         * lib/xstrndup.h: New file.
73273         * lib/xstrndup.c: New file.
73274
73275 2003-08-17  Bruno Haible  <bruno@clisp.org>
73276
73277         * modules/strndup (Files, Include): Add lib/strndup.h.
73278
73279 2003-08-17  Bruno Haible  <bruno@clisp.org>
73280
73281         * modules/euidaccess (Files): Add lib/euidaccess.h.
73282
73283 2003-08-17  Bruno Haible  <bruno@clisp.org>
73284
73285         * lib/strndup.h: New file.
73286
73287 2003-08-17  Bruno Haible  <bruno@clisp.org>
73288
73289         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
73290         like AC_GNU_SOURCE.
73291         * modules/extensions (configure.ac): Comment out the invocation of
73292         gl_USE_SYSTEM_EXTENSIONS.
73293
73294 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73295
73296         Merges from coreutils, etc.
73297         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
73298         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
73299         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
73300         fixing a typo.
73301         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
73302         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
73303
73304 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73305
73306         Document merge from coreutils.
73307         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
73308         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
73309         * modules/utime: Add m4/utimes-null.m4.
73310
73311 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73312
73313         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
73314         space, undoing this 2003-08-12 change:
73315         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73316
73317 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73318
73319         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
73320         strtoul.c from libc, undoing this 2003-08-12 change:
73321         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73322
73323 2003-08-16  Jim Meyering  <jim@meyering.net>
73324
73325         Merges from coreutils.
73326         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
73327         prefix.  Adjust cache variables similarly.  Create 500 rather than
73328         just 300 files, to exercise bug on Darwin6.5, too.
73329         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
73330         $missing_dir.
73331         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
73332         AM_SYS_POSIX_TERMIOS.
73333         Reported by mkc@mathdogs.com.
73334         Also change use of $am_cv_sys_posix_termios
73335         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
73336         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
73337         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
73338         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
73339         in /proc/mounts until it finds one with matching device number.  This
73340         is unnecessary when the FILE argument *is* a mount point.  No stat call
73341         is necessary in that case.  So, disable the statvfs-testing code on
73342         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
73343         as RedHat bug# 84846.
73344         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73345         to 1MB, so as not to render systems with no stack size limit (e.g.,
73346         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73347         Include <unistd.h>.  On some systems,
73348         it is required for the definition of _SC_PAGESIZE.
73349
73350 2003-08-16  Jim Meyering  <jim@meyering.net>
73351
73352         Merge from coreutils.
73353         * lib/xstrtoimax.c: #else #if -> #elif.
73354         * lib/xstrtoumax.c: Likewise.
73355
73356 2003-08-16  Jim Meyering  <jim@meyering.net>
73357
73358         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
73359         * m4/utimes.m4: Removed.
73360         * m4/utimes-null.m4: Renamed from utimes.m4.
73361
73362         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73363         to 1MB, so as not to render systems with no stack size limit (e.g.,
73364         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73365         Include <unistd.h>.  On some systems,
73366         it is required for the definition of _SC_PAGESIZE.
73367
73368 2003-08-16  Jim Meyering  <jim@meyering.net>
73369         and Paul Eggert  <eggert@cs.ucla.edu>
73370
73371         Merges from coreutils, etc.
73372
73373         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
73374         using the latest version from cvs.  This avoids problems with #line
73375         directives using a vendor (Sun) compiler.
73376         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
73377         Don't set GETGROUPS_LIB here; now it's
73378         done via getgroups.m4's wrapper function.
73379         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
73380         rather than just in sh-util/configure.in, so that the
73381         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
73382         same.
73383         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
73384         AC_FUNC_GETLOADAVG where to find getloadavg.c.
73385         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
73386         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
73387         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
73388         Remove code that is now done by the newly-required macros.
73389         Append $(EXEEXT) to DF_PROG.
73390         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
73391         Do not invoke or require the following here,
73392         since prereq.m4 or some gnulib .m4 now does this for us:
73393         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
73394         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
73395         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
73396         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
73397         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
73398         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
73399         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
73400         AC_FUNC_OBSTACK.
73401         Do not replace the following functions, as this is now the job
73402         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
73403         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
73404         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
73405         atexit getpass, strdup, getpagesize.
73406         Replace 'raise'.
73407         Do not check for the following functions, as this is now the job
73408         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
73409         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
73410         setregid.
73411         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
73412         Check for sys/sysctl.h.
73413         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
73414         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
73415         of checking for ssize_t ourselves.
73416
73417         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
73418         Require every macro that gnulib/modules/* suggests for us.
73419         (jm_PREREQ_ADDEXT): New macro.
73420         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
73421         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
73422
73423         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
73424         (gl_PHYSMEM): Use it.
73425         Also check for `table' function.
73426         Check for new headers and functions.
73427         Add check for sys/sysmp.h.
73428         With suggestions from Kaveh Ghazi.
73429         Ignore headers that are present but cannot be compiled.  This
73430         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
73431         C 5.4.
73432
73433 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73434
73435         Document merge from coreutils.
73436         * modules/userspec: Depend on posixver.
73437         * modules/strftime: Depend on tzset.
73438
73439 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73440
73441         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
73442         rather than tab, after '#' in shell-script copyright notices.
73443         Suggested by Bruno Haible.
73444
73445 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73446
73447         * config/srclist-update: Use three spaces, rather than tab, after '#'
73448         in shell-script copyright notices.  Suggested by Bruno Haible.
73449         Remove unnecessary parenthesization in regular expression.
73450
73451 2003-08-15  Jim Meyering  <jim@meyering.net>
73452
73453         Merge from coreutils.
73454         * lib/xgethostname.c: Include <stdlib.h>.
73455         (xghostname): Don't exit for anything other than memory-related
73456         failure; just return NULL.
73457         * lib/userspec.c: Include "posixver.h".
73458         (parse_user_spec): Accept `.' as a separator only
73459         in pre-POSIX-200112 mode.
73460         * lib/strtoimax.c: Use #elif rather than #else #if.
73461         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
73462         Remove function, now that we can rely on a working tzset function.
73463         [!_LIBC]: Ensure that the required autoconf test has been run.
73464         [!defined _NL_CURRENT && HAVE_STRFTIME]:
73465         Use underlying_strftime for %r.
73466         * lib/sha.c: Merge in some clean-up and optimization changes from
73467         glibc.
73468         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
73469         Ensure that it is a multiple of 64.
73470         Rearrange loop exit tests so as to avoid performing an
73471         additional fread after encountering an error or EOF.
73472         * lib/realloc.c: Update copyright date.
73473
73474 2003-08-15  Jim Meyering  <jim@meyering.net>
73475         and Paul Eggert  <eggert@twinsun.com>
73476
73477         Merge from coreutils.
73478         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
73479         member but strut utmpx does not.  Needed for AIX 4.3.3.
73480         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
73481
73482 2003-08-15  Jim Meyering  <jim@meyering.net>
73483         and Paul Eggert  <eggert@cs.ucla.edu>
73484
73485         Merges from coreutils, etc.
73486         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
73487         Require gl_FUNC_TZSET_CLOBBER.
73488         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
73489         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
73490         members.
73491
73492 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73493
73494         Help the merge from coreutils.
73495         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
73496         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
73497         * m4/tzset.m4: Use it too.
73498
73499 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73500
73501         * modules/tzset: New file.
73502
73503 2003-08-14  Jim Meyering  <jim@meyering.net>
73504
73505         Merges from coreutils.
73506         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
73507         variable names, rather than @FNMATCH_H@.
73508         * modules/alloca: Likewise for $(ALLOCA_H).
73509
73510         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
73511         the three copies of the literal target, `fnmatch.h'.
73512         * modules/alloca (alloca.h): Likewise.
73513
73514 2003-08-14  Jim Meyering  <jim@meyering.net>
73515
73516         Merge from coreutils.
73517         * m4/tzset.m4: New file.
73518         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
73519         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
73520         otherwise, AIX 5.1 systems would end up using the latter.
73521         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
73522         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
73523         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
73524         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
73525
73526 2003-08-14  Jim Meyering  <jim@meyering.net>
73527
73528         Merge from coreutils.
73529         * lib/obstack.h: Whitespace changes.
73530         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
73531         and xcalloc return values.
73532         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
73533         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
73534         hang on OSF/1 5.1 for DIR on both local and remote file systems.
73535         Reported by (and fix confirmed by) Nelson H. F. Beebe.
73536         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73537         error from mntctl.
73538         Use mntctl's return value to drive the entry-processing loop, since
73539         we can't rely on the value of the vmt_length member in the last
73540         entry.  On some systems doing so could result in exhausting
73541         virtual memory.  Based in part on a patch from Mike Jetzer.
73542
73543 2003-08-14  Jim Meyering  <jim@meyering.net>
73544         and Paul Eggert  <eggert@twinsun.com>
73545
73546         Merges from coreutils, plus other fixes.
73547         * lib/physmem.c: Merge in portability changes from gcc/libiberty
73548         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
73549         for credits and details.  Thanks to Kaveh Ghazi for helping
73550         to keep these files in sync.
73551         (ARRAY_SIZE): Define it.
73552         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
73553         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
73554         (memcasecmp): Don't assume size_t fits in unsigned int.
73555         Remove casts and duplicate code.
73556         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
73557         (memcpy): Remove definition.
73558         Merge in some clean-up and optimization changes from glibc.
73559         [BLOCKSIZE]: Move definition to top of file.
73560         Ensure that it is a multiple of 64.
73561         Rearrange loop exit tests so as to avoid performing an
73562         additional fread after encountering an error or EOF.
73563         * lib/md5.h (md5_uintptr): Define.
73564         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
73565         return to the initial working directory.  Preserve errno
73566         for caller.
73567         * lib/idcache.c: Include "xalloc.h".
73568         (xmalloc, xrealloc): Remove decls.
73569         (getuser): Remove casts no longer required in C89.
73570         * lib/human.c: Include stdio.h, for sprintf.
73571         * lib/group-member.c: Include "xalloc.h".
73572         (xmalloc, xrealloc): Remove decls.
73573         (get_group_info): Remove casts no longer required in C89.
73574         * lib/getusershell.c (readname): Remove casts no longer required in
73575         C89.
73576         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
73577         * lib/getline.c: Whitespace fix, from coreutils.
73578
73579 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73580
73581         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
73582         Check for isascii.
73583
73584         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73585         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73586         Undo previous (whitespace-only) change.
73587
73588 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73589
73590         * lib/exclude.c: Include <ctype.h>
73591         (IN_CTYPE_DOMAIN): New macro.
73592         (is_space): New fn.
73593         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
73594         and empty lines.
73595
73596         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73597         Undo previous (whitespace-only) change.
73598
73599 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73600
73601         * config/srclist-update: Change update back to the old behavior,
73602         leaving whitespace alone.  Use one 'sed' command rather than a
73603         pipeline.
73604         (fixlicense): Now a variable, not a function.
73605         (remove_trailing_blanks): Remove.
73606         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
73607         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73608         Undo previous (whitespace-only) change.
73609
73610 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73611
73612         Merge from coreutils.
73613         * modules/euidaccess: Add lib_SOURCES, include for new
73614         file euidaccess.h
73615
73616 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73617
73618         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73619         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73620         Normalize leading white space and remove trailing white space.
73621
73622         Merge from coreutils
73623         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
73624
73625         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
73626         0.12.1.  These files are now being upgraded automatically by
73627         ../config/srclist-update.
73628
73629 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73630
73631         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73632         Normalize leading white space and remove trailing white space.
73633         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
73634         notice, as per ../config/srclist-update.
73635
73636         Merge from coreutils.
73637         * lib/euidaccess.h: New file.
73638         * lib/euidaccess.c: Include it.
73639         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
73640         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
73641         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
73642
73643 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73644
73645         * config/srclist-update: Add copyright notice.
73646         (remove_id_lines, remove_trailing_blanks): New constants.
73647         (fixfile): Use them to normalize spacing a bit in copied files.
73648         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73649         Normalize leading white space and remove trailing white space.
73650
73651         * config/texinfo.tex: Sync with texinfo.
73652
73653         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
73654         strtoul.c from libc, to merge coreutils whitespace changes.
73655
73656         * config/srclist.txt: Get the following m4 files from gettext:
73657         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
73658         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
73659         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
73660         wint_t.m4.
73661
73662 2003-08-12  Karl Berry  <karl@gnu.org>
73663
73664         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
73665         been made.
73666
73667 2003-08-11  Paul Eggert  <eggert@twinsun.com>
73668
73669         * modules/gnu-source, m4/gnu-source.m4:
73670         Remove; we're assuming Autoconf 2.54 or later now.
73671         Suggested by Bruno Haible.
73672         * MODULES.html.sh (func_all_modules): Remove gnu-source.
73673
73674 2003-08-11  Bruno Haible  <bruno@clisp.org>
73675
73676         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
73677
73678 2003-08-11  Bruno Haible  <bruno@clisp.org>
73679
73680         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
73681         (vasnprintf): Use it instead of wcslen.
73682
73683 2003-08-11  Bruno Haible  <bruno@clisp.org>
73684
73685         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
73686         value to ensure that _Bool promotes to int. Use #define for _Bool when
73687         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
73688
73689 2003-08-10  Karl Berry  <karl@gnu.org>
73690
73691         * lib/regex.h: update from libc (whitespace fix).
73692
73693 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73694
73695         Merge some files from coreutils.  These changes were
73696         originally made by Jim Meyering.
73697         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
73698         many older Unixes require this.
73699         * lib/alloca.c (alloca): Remove cast to argument of free;
73700         no longer needed in C89.
73701         * lib/alloca_.h, regex.h: Fix white space to match
73702         what GNU indent does.
73703
73704 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73705
73706         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
73707         apparently Emacs's Unicode mode got confused before my 2003-08-05
73708         checkin.
73709
73710 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73711
73712         * m4/extensions.m4: New file.
73713         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
73714         Require gl_USE_SYSTEM_EXTENSIONS.
73715         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
73716         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
73717
73718 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73719
73720         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
73721         * modules/extensions, modules/gnu-source: New files.
73722         * modules/timespec, modules/unlocked-io: Depend on extensions.
73723
73724 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73725
73726         * modules/restrict: New file.
73727         * MODULES.html.sh (func_all_modules): Add restrict.
73728         * modules/regex: Depend on restrict.
73729
73730 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73731
73732         * m4/restrict.m4: New file.
73733         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
73734
73735 2003-08-07  Bruno Haible  <bruno@clisp.org>
73736
73737         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
73738         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
73739
73740 2003-08-07  Bruno Haible  <bruno@clisp.org>
73741
73742         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
73743         makes the module 'getndelim2' compatible with the module 'getline'.
73744
73745 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73746
73747         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
73748         byte with "\201" to avoid glitches when editing that source file
73749         with multi-gnome-terminal.
73750
73751 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73752
73753         * lib/bumpalloc.h: Remove.
73754
73755 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73756
73757         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
73758         * modules/bumpalloc: Remove.
73759
73760 2003-08-04  Paul Eggert  <eggert@twinsun.com>
73761
73762         * lib/getloadavg.c: Change copyright notice and spacing to conform to
73763         GNU coding style.
73764
73765         Merge from coreutils.
73766         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
73767         1. From glibc.
73768         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
73769         from Karl Berry, implemented by Jim Meyering.
73770         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
73771         from Dmitry V. Levin.
73772         Remove anachronistic cast of xrealloc.
73773         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
73774         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
73775         type. Otherwise, it wouldn't compile with at least /bin/cc on
73776         ymp-cray-unicos9.0.2.X.
73777         Combine two mostly-identical uses of alloca into one.
73778         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
73779
73780 2003-08-04  Dave Love  <d.love@dl.ac.uk>
73781
73782         [From Emacs.]
73783
73784         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
73785         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
73786         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
73787         obsolete NLIST_NAME_UNION.
73788         [__GNU__]: Undef BSD and FSCALE.
73789         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
73790
73791 2003-08-03  Paul Eggert  <eggert@twinsun.com>
73792
73793         * lib/stdbool_.h (_Bool): Make it signed char, instead of
73794         an enum type, so that it's guaranteed to promote to int.  See:
73795         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
73796
73797 2003-08-03  Karl Berry  <karl@gnu.org>
73798
73799         * config/depcomp: update from automake.
73800
73801 2003-07-31  Paul Eggert  <eggert@twinsun.com>
73802
73803         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
73804         (strerror): Don't assume that a printable int fits in 14 bytes.
73805
73806 2003-07-31  Bruno Haible  <bruno@clisp.org>
73807
73808         * modules/getpass-gnu: New file.
73809         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
73810
73811 2003-07-31  Bruno Haible  <bruno@clisp.org>
73812
73813         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
73814
73815 2003-07-24  Karl Berry  <karl@gnu.org>
73816
73817         * config/missing: update from automake.
73818
73819 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
73820             Bruno Haible  <bruno@clisp.org>
73821
73822         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
73823         * lib/getline.c (getline, getdelim): Likewise.
73824         Remove _GNU_SOURCE define; now it's defined in config.h through
73825         m4/getline.m4.
73826
73827 2003-07-23  Karl Berry  <karl@gnu.org>
73828
73829         * config/config.sub: update from prep.
73830
73831 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73832
73833         * modules/xalloc (Depends-on): Add exitfail.
73834         * modules/xmemcoll: Likewise.
73835
73836 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73837
73838         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
73839         over-parenthesization in macros.
73840
73841         Sync with coreutils.
73842
73843         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
73844         required by C99.
73845
73846         Use `exit_failure' for xalloc and xmemcoll instead of their own
73847         private exit-failure variables.
73848         * lib/xalloc.h (xalloc_exit_failure): Remove.
73849         * lib/xmalloc.c: Likewise.  Include exitfail.h.
73850         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
73851         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
73852         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
73853         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
73854
73855 2003-07-20  Jim Meyering  <jim@meyering.net>
73856
73857         * modules/closeout (Depends-on): Add exitfail.
73858         Suggestion from Bruno Haible.
73859
73860 2003-07-19  Karl Berry  <karl@gnu.org>
73861
73862         * config/config.sub: update from prep.
73863
73864 2003-07-18  Paul Eggert  <eggert@twinsun.com>
73865
73866         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
73867         Remove.
73868         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
73869         to test that it can stand by itself.  Include "exitfail.h".
73870         Clients should set exit_failure instead.
73871         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
73872
73873 2003-07-18  Bruno Haible  <bruno@clisp.org>
73874
73875         * modules/getndelim2: New file.
73876         * modules/getline: Share files with module getndelim2.
73877         * modules/getnline: Depend on getndelim2 instead of sharing files with
73878         it. Add getnline.c to lib_SOURCES.
73879         * MODULES.html.sh (func_all_modules): Add getndelim2.
73880
73881 2003-07-18  Bruno Haible  <bruno@clisp.org>
73882
73883         * m4/getndelim2.m4: New file.
73884         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
73885         invoke gl_PREREQ_GETNDELIM2.
73886         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
73887         gl_PREREQ_GETNDELIM2.
73888         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
73889         gl_GETNDELIM2.
73890
73891 2003-07-18  Bruno Haible  <bruno@clisp.org>
73892
73893         * lib/getndelim2.h: New file.
73894         * lib/getndelim2.c: Make into a module of its own. Include config.h,
73895         getndelim2.h.
73896         (getndelim2): Make non-static. Change return type to ssize_t.
73897         * lib/getline.h: Change argument names.
73898         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
73899         * lib/getnline.c: Include getndelim2.h.
73900
73901 2003-07-18  Andreas Schwab  <schwab@suse.de>
73902
73903         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
73904
73905 2003-07-17  Karl Berry  <karl@gnu.org>
73906
73907         * config/config.sub: update from prep.
73908
73909 2003-07-17  Bruno Haible  <bruno@clisp.org>
73910
73911         * modules/getnline: New file.
73912         * modules/getline: Add lib/getndelim2.c to source file list.
73913         * MODULES.html.sh (func_all_modules): Add getnline.
73914
73915 2003-07-17  Bruno Haible  <bruno@clisp.org>
73916
73917         * m4/getnline.m4: New file.
73918
73919 2003-07-17  Bruno Haible  <bruno@clisp.org>
73920
73921         * m4/Makefile.am.in: Remove file.
73922         * m4/Makefile.am: Remove file.
73923         * m4/Makefile.in: Remove file.
73924
73925 2003-07-17  Bruno Haible  <bruno@clisp.org>
73926
73927         * lib/getnline.h: New file.
73928         * lib/getnline.c: New file.
73929         * lib/getndelim2.c: New file, extracted from getline.c.
73930         (getndelim2): Renamed from getdelim2, with added nmax argument.
73931         * lib/getline.c: Include getndelim2.c.
73932         (getdelim2): Moved out to getndelim2.c.
73933         (getline, getdelim): Update.
73934
73935 2003-07-17  Bruno Haible  <bruno@clisp.org>
73936
73937         * lib/Makefile.am: Remove file.
73938         * lib/Makefile.in: Remove file.
73939
73940 2003-07-17  Bruno Haible  <bruno@clisp.org>
73941
73942         * configure.in: Remove file.
73943         * Makefile.in: Remove file.
73944
73945 2003-07-17  Bruno Haible  <bruno@clisp.org>
73946
73947         * MODULES.html.sh: Put the </BODY> right before </HTML>.
73948
73949 2003-07-16  Karl Berry  <karl@gnu.org>
73950
73951         * config/srclist-update: was running fixlicense twice, which caused
73952                 texinfo.tex to be nullified for some reason.  Simplify,
73953                 $gplsrc is no longer needed as far as I can see?
73954
73955 2003-07-16  Jim Meyering  <jim@meyering.net>
73956
73957         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
73958
73959 2003-07-15  Paul Eggert  <eggert@twinsun.com>
73960
73961         * config/srclist.txt: Get the following files from gettext-runtime/intl
73962         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
73963         ref-del.sin.  From Bruno Haible.
73964         * config/srclist-update (fixfile): Change grep pattern again, since the
73965         previous fix didn't work (there was another trailing $).  Use
73966         '[$]' to escape the $s.
73967
73968 2003-07-15  Karl Berry  <karl@gnu.org>
73969
73970         * lib/vasnprintf.c: update from gettext.
73971
73972 2003-07-15  Karl Berry  <karl@gnu.org>
73973
73974         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
73975         gets expanded when surrounded by '$'.
73976
73977 2003-07-15  Jim Meyering  <jim@meyering.net>
73978
73979         * modules/save-cwd: Don't depend on error.  From Derek Price.
73980
73981 2003-07-15  Jim Meyering  <jim@meyering.net>
73982
73983         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
73984
73985 2003-07-14  Simon Josefsson  <jas@extundo.com>
73986
73987         * modules/mempcpy: New file.
73988         * MODULES.html.sh (func_all_modules): Add mempcpy.
73989
73990 2003-07-14  Simon Josefsson  <jas@extundo.com>
73991
73992         * m4/mempcpy.m4: New file.
73993
73994 2003-07-14  Simon Josefsson  <jas@extundo.com>
73995
73996         * lib/mempcpy.h: New file.
73997         * lib/mempcpy.c: New file.
73998
73999 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74000
74001         * modules/getdate, modules/posixtm: Depend on mktime.
74002
74003 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74004
74005         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
74006         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
74007         unicodeio.c, unicodeio.h, unlocked-io.h:
74008         Switch from LGPL to GPL.
74009
74010 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74011
74012         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
74013         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
74014         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
74015         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
74016         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
74017         updated automatically by ../config/srclist-update.  This changes
74018         their license from LPGL to GPL.
74019
74020 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74021
74022         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
74023         assumed to refer to the root of the most recent stable gettext version.
74024         * config/srclistvars.sh: Add defaults for eggert.
74025         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
74026         Match "This program" as well as "The program".  This is needed
74027         for gettext.
74028
74029 2003-07-14  Jim Meyering  <jim@meyering.net>
74030
74031         Don't emit diagnostics.  Let callers do that.
74032         * lib/save-cwd.c: Don't include "error.h".
74033         (save_cwd): Don't call error.  Ensure that errno is valid
74034         when returning nonzero.
74035
74036         * lib/save-cwd.h (restore_cwd): Update prototype.
74037         * lib/save-cwd.c (restore_cwd): Remove two parameters.
74038         Simplify.  Don't call error upon failure.  Let callers do that.
74039         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
74040         when auditing is enabled.  But don't bother updating the #if.
74041
74042 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
74043
74044         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
74045         it breaks C++ compilation.
74046         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
74047
74048 2003-07-10  Simon Josefsson  <jas@extundo.com>
74049
74050         * modules/strchrnul (Makefile.am): Add strchrnul.h.
74051
74052 2003-07-10  Jim Meyering  <jim@meyering.net>
74053
74054         * m4/clock_time.m4: Remove trailing blank.
74055         * m4/intmax_t.m4: Likewise.
74056
74057 2003-07-10  Jim Meyering  <jim@meyering.net>
74058
74059         * lib/vasnprintf.c: Remove trailing blanks.
74060         Make cpp indentation consistent.
74061
74062 2003-07-09  Paul Eggert  <eggert@twinsun.com>
74063
74064         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
74065         posixver.c, strftime.c, strnlen.c, strverscmp.c:
74066         Switch from LGPL to GPL.
74067
74068 2003-07-09  Paul Eggert  <eggert@twinsun.com>
74069
74070         * config/srclist.txt: Sort sublists.  Add
74071         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
74072         that differ from gnulib for one reason or another; we'd like this list
74073         to be smaller but for now let's document what we have.
74074
74075 2003-07-08  Paul Eggert  <eggert@twinsun.com>
74076
74077         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
74078         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
74079         and sweeter "eval x=$x".
74080         * config/srclist.txt: Get lib/argp* from glibc.
74081
74082 2003-07-07  Paul Eggert  <eggert@twinsun.com>
74083
74084         * lib/mktime.c: Fix some boundary cases and remove need for floating
74085         point.
74086
74087         Issue a compile-time diagnostic if time_t is floating point, or if
74088         two's complement arithmetic is not in effect, or if arithmetic
74089         right shift does not propagate the sign.  These assumptions were
74090         all in the original code but they weren't checked.
74091
74092         (TIME_T_MIDPOINT, verify): New macros.
74093         (__isleap): Remove; it has integer overflow problems.
74094         (leapyear): New function, without those problems.
74095         (ydhms_tm_diff): Remove; splitting into two parts.
74096         (ydhms_diff): New function, containing the arithmetic part of
74097         the old ydhms_tm_diff function.  Issue a compile-time
74098         diagnostic if we are not using C99 integer division.
74099         Avoid casts when possible.
74100         (guess_time_tm): New function, containing the checking part of
74101         the old ydhms_tm_diff function.  Return the new value, rather than
74102         the difference between it and the old.  Accept a new argument T
74103         so that *T specifies the old value.  Check for overflow in the result.
74104
74105         (__mktime_internal): Use a time_t offset, not a long int offset.
74106         This undoes the 2003-06-04 change, which is no longer needed now
74107         that we have better overflow checking.
74108         (localtime_offset): Likewise.
74109
74110         (__mktime_internal): Avoid harmful overflow on hosts where time_t
74111         and long are 64-bit but int is only 32-bit.
74112         (ydhms_diff): Use long int to store year1 and yday1.
74113         Issue a compile-time diagnostic if long int is not wide enough.
74114
74115         (__mktime_internal): Use long int to store adjusted year and yday.
74116         Use plain C rather than preprocessor commands, if that doesn't
74117         affect efficiency.
74118         Check for overflow (and try to repair) after each probe
74119         rather than checking only at the very end.  This avoids some bugs
74120         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
74121         does not equal GMT offset at maximum time).
74122         Use integer to check for overflow rather than floating point; this
74123         is more portable to non-IEEE hosts, and is a tad faster.
74124         When we detect that we are oscillating between two values,
74125         don't check whether tm_isdst has the requested value, since
74126         we already know the answer.  When tm_isdst has the wrong value,
74127         use a different heuristic to find the right one, based on the
74128         extreme values actually observed in practice in tz2003a,
74129         rather than the (overly optimistic) "previous 3 calendar quarters".
74130
74131         (not_equal_tm, print_tm, check_result): Use "const T" rather than
74132         "T const" to accommodate glibc style.
74133         (check_result): Use less-confusing report format.  "long" -> "long int.
74134         (main): Likewise.
74135         Don't loop if the iteration overflows time_t.
74136         Allow a negative step in the iteration.
74137
74138 2003-07-06  Karl Berry  <karl@gnu.org>
74139
74140         * config/depcomp: update from automake.
74141         * config/config.sub: update from prep.
74142
74143 2003-07-03  Karl Berry  <karl@gnu.org>
74144
74145         * config/config.guess: update from prep.
74146
74147 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74148
74149         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
74150         xreadlink.c now includes it unconditionally.
74151
74152 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74153
74154         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
74155         having it depend on HAVE_SYS_TYPES_H.
74156
74157 2003-07-01  Bruno Haible  <bruno@clisp.org>
74158
74159         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
74160         <sys/types.h> should be sufficient.
74161         Reported by Paul Eggert.
74162
74163 2003-06-26  Karl Berry  <karl@gnu.org>
74164
74165         * config/depcomp: update from automake.
74166
74167 2003-06-26  Bruno Haible  <bruno@clisp.org>
74168
74169         * modules/human: Depend on module stdbool.
74170
74171 2003-06-25  Bruno Haible  <bruno@clisp.org>
74172
74173         * modules/readlink: New file.
74174         * modules/xreadlink: Depend on it.
74175         * MODULES.html.sh (func_all_modules): Add readlink.
74176
74177 2003-06-25  Bruno Haible  <bruno@clisp.org>
74178
74179         * m4/readlink.m4: New file.
74180
74181 2003-06-25  Bruno Haible  <bruno@clisp.org>
74182
74183         * lib/readlink.c: New file.
74184
74185 2003-06-22  Karl Berry  <karl@gnu.org>
74186
74187         * config/srclist.txt: update mkinstalldirs from automake.
74188         * config/mkinstalldirs: update.
74189
74190 2003-06-22  Bruno Haible  <bruno@clisp.org>
74191
74192         Portability to mingw32.
74193         * m4/ssize_t.m4: New file, from GNU gettext.
74194         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
74195         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
74196
74197 2003-06-22  Bruno Haible  <bruno@clisp.org>
74198
74199         * modules/safe-read: Add m4/ssize_t.m4.
74200         * modules/xreadlink: Add m4/ssize_t.m4.
74201
74202 2003-06-20  Bruno Haible  <bruno@clisp.org>
74203
74204         Assume C89, so PARAMS isn't needed.
74205         * lib/unicodeio.h (PARAMS): Remove.
74206         * lib/unicodeio.c: Don't use PARAMS.
74207
74208 2003-06-18  Karl Berry  <karl@gnu.org>
74209
74210         * config/config.{guess,sub}: update from prep.
74211
74212 2003-06-18  Jim Meyering  <jim@meyering.net>
74213
74214         Merge changes from coreutils.
74215         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
74216         Remove explicit declarations of xmalloc and realloc.
74217         Include xalloc.h.
74218         (read_utmp): Remove anachronistic cast of xmalloc.
74219
74220 2003-06-17  Paul Eggert  <eggert@twinsun.com>
74221
74222         Assume C89, so PARAMS isn't needed.
74223         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
74224         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
74225         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
74226         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
74227         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
74228         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
74229         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
74230         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
74231         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
74232         lib/xstrtod.h, lib/xstrtol.h: Likewise.
74233         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
74234         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
74235         no longer needed. Anyway, config.h should always be included before any
74236         other file.
74237
74238 2003-06-11  Simon Josefsson  <jas@extundo.com>
74239
74240         * modules/sysexits: New file.
74241         * MODULES.html.sh (func_all_modules): Add sysexits.
74242
74243 2003-06-11  Simon Josefsson  <jas@extundo.com>
74244
74245         * lib/sysexit_.h: New file.
74246
74247 2003-06-11  Derek Price  <derek@ximbiot.com>
74248
74249         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
74250         necessary.
74251
74252 2003-06-11  Bruno Haible  <bruno@clisp.org>
74253
74254         * m4/sysexits.m4: New file.
74255
74256 2003-06-10  Simon Josefsson  <jas@extundo.com>
74257
74258         * lib/argp.h: New file, from glibc.
74259         * lib/argp-ba.c: New file, from glibc.
74260         * lib/argp-eexst.c: New file, from glibc.
74261         * lib/argp-fmtstream.c: New file, from glibc.
74262         * lib/argp-fmtstream.h: New file, from glibc.
74263         * lib/argp-fs-xinl.c: New file, from glibc.
74264         * lib/argp-help.c: New file, from glibc.
74265         * lib/argp-namefrob.h: New file, from glibc.
74266         * lib/argp-parse.c: New file, from glibc.
74267         * lib/argp-pv.c: New file, from glibc.
74268         * lib/argp-pvh.c: New file, from glibc.
74269         * lib/argp-xinl.c: New file, from glibc.
74270
74271 2003-06-10  Simon Josefsson  <jas@extundo.com>
74272
74273         * modules/strchrnul: New file.
74274
74275 2003-06-10  Simon Josefsson  <jas@extundo.com>
74276
74277         * modules/argp: New file.
74278
74279 2003-06-10  Simon Josefsson  <jas@extundo.com>
74280
74281         * m4/strchrnul.m4: New file.
74282
74283 2003-06-10  Simon Josefsson  <jas@extundo.com>
74284
74285         * lib/strchrnul.h: New file.
74286         * lib/strchrnul.c: New file.
74287
74288 2003-06-10  Bruno Haible  <bruno@clisp.org>
74289
74290         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
74291
74292 2003-06-07  Karl Berry  <karl@gnu.org>
74293
74294         * config/config.{guess,sub}: update from prep.
74295
74296 2003-06-07  Jim Meyering  <jim@meyering.net>
74297
74298         * modules/strtod: Use $(...) notation, not @...@ for
74299         AC_REPLACE'd variables.
74300         * modules/localcharset: Likewise.
74301
74302 2003-06-07  Jim Meyering  <jim@meyering.net>
74303
74304         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
74305         in place of my name in the copyright comment.
74306         Remove definition and uses of __P.
74307
74308         From coreutils.
74309         * lib/stat.c: Don't declare xmalloc explicitly.
74310         Instead, include "xalloc.h".
74311         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
74312         xrealloc, and xcalloc return values.
74313         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
74314         Improve comment.
74315         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
74316
74317 2003-06-07  Bruno Haible  <bruno@clisp.org>
74318
74319         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
74320         avoid AC_CONFIG_LINKS.
74321         * modules/fnmatch (Makefile.am): Use explicit creation rule for
74322         fnmatch.h, to avoid AC_CONFIG_LINKS.
74323         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
74324
74325 2003-06-07  Bruno Haible  <bruno@clisp.org>
74326
74327         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
74328         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
74329         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74330         directory.
74331         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
74332         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74333         directory.
74334
74335 2003-06-06  Jim Meyering  <jim@meyering.net>
74336
74337         Merge from coreutils.
74338         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
74339         Consolidate declarations and initializations of *_base* locals.
74340
74341         Merge from coreutils.
74342         This avoids a core dump on systems without GNU putenv,
74343         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
74344         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
74345         (unsetenv): New static function, from GNU libc.
74346         (rpl_putenv): Use it.
74347
74348         * lib/modechange.c: Remove trailing blanks.
74349
74350         Merge from coreutils.
74351         * lib/fsusage.c: Remove declaration of statfs.
74352         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
74353
74354         * lib/posixtm.c: Include <stdbool.h> unconditionally.
74355
74356 2003-06-06  Jim Meyering  <jim@meyering.net>
74357
74358         * lib/stdbool_.h: Renamed from stdbool.h.in.
74359
74360 2003-06-06  Jim Meyering  <jim@meyering.net>
74361             Bruno Haible  <bruno@clisp.org>
74362
74363         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
74364         Adjust Makefile.am snippet not to redirect directly to target.
74365         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
74366
74367 2003-06-05  Paul Eggert  <eggert@twinsun.com>
74368
74369         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
74370         mismatch, look in future quarters as well as past.  This fixes a
74371         bug when processing fall-backwards gaps immediately after a long
74372         period of daylight-saving time.
74373
74374         * lib/mktime.c: Assume freestanding C89 or better.
74375         (HAVE_LIMITS_H): Remove.  Assume it's 1.
74376         (__P): Remove; not used.
74377         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
74378         (mktime, not_equal_tm, print_tm, check_result,
74379         main): Use prototypes.  Use const * where appropriate.
74380         (main): Fix typo in testing code that uncovered by above changes.
74381         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
74382
74383 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74384
74385         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
74386         locale.h, localeconv.  This merges changes from coreutils.
74387
74388         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
74389         It can be removed after the next Autoconf is released.
74390         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
74391         needed.
74392
74393 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74394
74395         * lib/mktime.c: Fix Debian bug 177940
74396         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
74397         (localtime_offset): Now long int, not time_t, because we want it
74398         to be guaranteed to be signed.  All uses changed.
74399         (__mktime_internal): If overflow would occur when adding offset,
74400         don't add it.
74401
74402         Merge 'human' changes from coreutils.  Rewrite to support
74403         locale-specific notations like thousands separators.
74404         * lib/human.c: Simplify authorship notice.
74405         Include human.h immediately after config.h.
74406         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
74407         <limits.h>: Do not include, since human.h does.
74408         (SIZE_MAX, UINTMAX_MAX): New macros.
74409         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
74410         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
74411         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
74412         (power_letter): Renamed from suffixes.
74413         (generate_suffix_backwards): Remove.
74414         (adjust_value): Now takes int style (because of human.h changes)
74415         and long double value (for greater precision on some platforms).
74416         (group_number): New function.
74417         (human_readable): Use it.  Use integer options, not enum.
74418         Put the options before the sizes in the arg list.
74419         Support all the new options.
74420         The old human_readable function has been removed;
74421         use inttostr.h instead.
74422         (human_readable, default_block_size, humblock):
74423         Use uintmax_t, not int, for block sizes.
74424         (human_readable_inexact, block_size_types): Remove.
74425         (block_size_opts): New constant.
74426         (human_options): Renamed from human_block_size, with new signature
74427         that allows block sizes up to UINTMAX_MAX.  All callers changed.
74428         * lib/human.h: Add copyright and authorship notice.
74429         Include <limits.h> and <stdbool.h> unconditionally.
74430         (PARAMS): Remove.  All uses removed.
74431         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
74432         (enum human_inexact_style): Remove tag; now a nameless enum.
74433         (human_floor, human_ceiling, human_round_to_even): Now have
74434         values 2, 0, 1 rather than -1, 1, 0.
74435         (human_group_digits, human_suppress_point_zero, human_autoscale,
74436         human_base_1024, human_SI, human_B): New constants.
74437         (human_readable_inexact, human_block_size): Remove.
74438         (human_readable): Size args are now uintmax_t, not int.
74439         (human_options): New decl.
74440
74441         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
74442         unnecessary now that we assume C89 or better.  This change
74443         imported from coreutils.
74444
74445         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74446         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
74447         in the 2003-05-30 sync from glibc.
74448
74449         .h files should stand alone, but we shouldn't include <sys/types.h>
74450         if we can get away with just <stddef.h>.
74451
74452         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
74453         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
74454         rather than <sys/types.h>, as we merely need size_t.
74455         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
74456         to get size_t.
74457         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
74458         Include <stdio.h>, to get FILE.
74459         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
74460         memcasecmp.h has included <stddef.h> and all we need is size_t.
74461         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
74462         our interface, instead of including <sys/types.h>
74463
74464 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74465
74466         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
74467         now, as glibc mktime is buggy on non-glibc systems.
74468
74469 2003-06-03  Karl Berry  <karl@gnu.org>
74470
74471         * config/config.sub: update from prep.
74472
74473 2003-06-02  Paul Eggert  <eggert@twinsun.com>
74474
74475         [from coreutils]
74476         Fix some minor time-related bugs with POSIX time arguments.
74477         Some valid time stamps were being rejected (notably -1, and
74478         time stamps before 1900 on 64-bit hosts).  And some invalid
74479         time stamps were being accepted, e.g. September 31.
74480
74481         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
74482         that we can return (time_t) -1 successfully.
74483         * lib/posixtm.c: Likewise.
74484         [HAVE_STDBOOL_H]: Include <stdbool.h>.
74485         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
74486         (t): Remove static var.
74487         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
74488         of static var.  All uses changed.
74489         (year): Do not reject years before 1900; they can occur with
74490         64-bit time_t.
74491         (posix_time_parse): Do not check for out-of-range components;
74492         that is now the caller's responsibility, since our checks were
74493         only approximations.
74494         (posixtime): Use mktime to check for out-of-range components,
74495         since it knows them exactly.
74496         If mktime returns (time_t) -1, check whether an error actually occurred
74497         by invoking localtime on -1.
74498         (main) [TEST_POSIXTIME]: Check for input data errors, and report
74499         posixtime failures better.
74500         Improve the test data (in comments only).
74501
74502 2003-06-02  Karl Berry  <karl@gnu.org>
74503
74504         * config/mkinstalldirs (version): new variable.
74505         (--version): new option.
74506         (usage): improve message.
74507
74508 2003-05-30  Karl Berry  <karl@gnu.org>
74509
74510         * lib/mktime.c: update from libc.
74511
74512 2003-05-30  Bruno Haible  <bruno@clisp.org>
74513
74514         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
74515         * config/config.rpath: Upgrade to gettext-0.12.1.
74516
74517 2003-05-30  Bruno Haible  <bruno@clisp.org>
74518
74519         * m4/gettext.m4: Upgrade to gettext-0.12.1.
74520         * m4/nls.m4: New file, from gettext-0.12.1.
74521         * m4/po.m4: New file, from gettext-0.12.1.
74522         * m4/progtest.m4: Upgrade to gettext-0.12.1.
74523
74524 2003-05-30  Bruno Haible  <bruno@clisp.org>
74525
74526         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
74527         * lib/localcharset.h: Likewise.
74528         * lib/localcharset.c: Likewise.
74529
74530 2003-05-29  Karl Berry  <karl@gnu.org>
74531
74532         * config/config.rpath: update from gettext.
74533
74534 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74535
74536         Assume the headers required for C89 freestanding compilers.
74537         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
74538         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
74539         * m4/human.m4 (gl_HUMAN): Likewise.
74540         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
74541         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
74542         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74543         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
74544         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74545         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
74546
74547 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74548
74549         Assume the headers required for C89 freestanding compilers.
74550         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
74551         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
74552         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
74553         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
74554         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
74555         define, since <limits.h> is guaranteed to do that.
74556         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
74557         * lib/exclude.c: Include <stdbool.h> unconditionally.
74558         * lib/tempname.c: Include <stddef.h> unconditionally.
74559         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
74560         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
74561         <stddef.h> does that.
74562         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
74563         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
74564         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
74565         needed.
74566         * lib/xstrtol.c: Likewise.
74567         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
74568         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
74569
74570         * lib/addext.c (addext): Use assignment rather than cast, to avoid
74571         warnings on some platforms.
74572
74573         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74574         arbitrarily.
74575
74576 2003-05-26  Jim Meyering  <jim@meyering.net>
74577
74578         Merge in a change from coreutils:
74579         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
74580         that is guaranteed to be `no'.  Use `no_such_member' to indicate
74581         that condition, rather than `-1' which is slightly misleading.
74582         Change the name of the cache variable to have the gl_ prefix.
74583         Prompted by a patch from Richard Dawe for DJGPP.
74584
74585 2003-05-24  Karl Berry  <karl@gnu.org>
74586
74587         * config/config.guess: update from prep.
74588
74589 2003-05-22  Karl Berry  <karl@gnu.org>
74590
74591         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
74592
74593 2003-05-20  Karl Berry  <karl@gnu.org>
74594
74595         * config/config.guess: update from prep.
74596
74597 2003-05-18  Karl Berry  <karl@gnu.org>
74598
74599         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
74600         might actually be set by the user.
74601
74602         * config/depcomp, install-sh, mdate-sh: update from automake.
74603
74604 2003-05-17  Bruno Haible  <bruno@clisp.org>
74605
74606         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
74607         invalid expansion for AC_EGREP_CPP.
74608         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
74609         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
74610         Suggested by Akim Demaille <akim@epita.fr> in
74611         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
74612
74613 2003-05-12  Jim Meyering  <jim@meyering.net>
74614
74615         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
74616         the space-padded-by-default conversion specifiers, %e, %k, %l.
74617
74618 2003-05-12  Bruno Haible  <bruno@clisp.org>
74619
74620         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
74621         the string is longer than 4 KB.
74622
74623 2003-05-11  Karl Berry  <karl@gnu.org>
74624
74625         * config/config.{guess,sub}: update from prep.
74626
74627 2003-05-09  Bruno Haible  <bruno@clisp.org>
74628
74629         * modules/error: Add m4/strerror_r.m4 to file list.
74630
74631 2003-05-03  Bruno Haible  <bruno@clisp.org>
74632
74633         Upgrade to Unicode-4.0.
74634         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
74635         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
74636         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
74637         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
74638         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
74639         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
74640         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
74641         Change width of U+E0100..U+E01EF from 1 to 0.
74642
74643 2003-04-25  Jim Meyering  <jim@meyering.net>
74644
74645         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
74646         of type size_t, not int.
74647
74648 2003-04-25  Bruno Haible  <bruno@clisp.org>
74649
74650         * lib/copy-file.c: Include <stddef.h>, for size_t.
74651
74652 2003-04-21  Paul Eggert  <eggert@twinsun.com>
74653
74654         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
74655         code which expansion is under static control.  Patch imported from
74656         Akim Demaille's patch to Bison; see
74657         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
74658
74659 2003-04-14  Bruno Haible  <bruno@clisp.org>
74660
74661         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
74662
74663 2003-04-11  Jim Meyering  <jim@meyering.net>
74664
74665         Merge changes from Coreutils.
74666
74667         2003-03-22  Jim Meyering  <jim@meyering.net>
74668
74669         * lib/strftime.c (widen): Cast alloca return value to proper type.
74670
74671         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
74672
74673         From GNU libc.
74674         * lib/strftime.c (my_strftime): Handle very large width
74675         specifications for numeric values correctly.  Improve checks for
74676         overflow.
74677
74678         2003-01-19  Jim Meyering  <jim@meyering.net>
74679
74680         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
74681         definitions.
74682         (nl_get_alt_digit) [! defined my_strftime]: Define.
74683         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
74684         _nl_get_alt_digit and _nl_get_walt_digit.
74685
74686         * lib/strftime.c (my_strftime): Merge in locale-related changes from
74687         libc. These changes have no effect outside of _LIBC.
74688
74689 2003-04-10  Bruno Haible  <bruno@clisp.org>
74690
74691         * modules/findprog: New file.
74692         * MODULES.html.sh (func_all_modules): Add it.
74693
74694 2003-04-10  Bruno Haible  <bruno@clisp.org>
74695
74696         * m4/findprog.m4: New file.
74697         * m4/eaccess.m4: New file.
74698
74699 2003-04-10  Bruno Haible  <bruno@clisp.org>
74700
74701         * lib/findprog.h: New file, from GNU gettext.
74702         * lib/findprog.c: New file, from GNU gettext.
74703
74704 2003-04-05  Jim Meyering  <jim@meyering.net>
74705
74706         Merge changes from Coreutils.
74707
74708         * lib/exclude.h (PARAMS): Remove definition and uses.
74709         * lib/exclude.c: Remove uses of `PARAMS'.
74710
74711         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
74712         Add test-cases for DOS filenames. Declare program_name.
74713         (main): Set up program_name.  Patch by Rich Dawe.
74714
74715         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
74716         error from mntctl.
74717         Use mntctl's return value to drive the entry-processing loop, since
74718         we can't rely on the value of the vmt_length member in the last
74719         entry.  On some systems doing so could result in exhausting
74720         virtual memory.  Based in part on a patch from Mike Jetzer.
74721
74722 2003-04-04  Bruno Haible  <bruno@clisp.org>
74723
74724         * modules/linebreak: New file.
74725         * MODULES.html.sh (func_all_modules): Add it.
74726
74727 2003-04-04  Bruno Haible  <bruno@clisp.org>
74728
74729         * m4/linebreak.m4: New file.
74730
74731 2003-04-04  Bruno Haible  <bruno@clisp.org>
74732
74733         * lib/linebreak.h: New file, from GNU gettext.
74734         * lib/linebreak.c: New file, from GNU gettext with slight
74735         modifications.
74736         * lib/lbrkprop.h: New file, from GNU gettext.
74737
74738 2003-04-03  Bruno Haible  <bruno@clisp.org>
74739
74740         * modules/utf8-ucs4: New file.
74741         * modules/utf16-ucs4: New file.
74742         * modules/ucs4-utf8: New file.
74743         * modules/ucs4-utf16: New file.
74744         * MODULES.html.sh (func_all_modules): Add them.
74745
74746 2003-04-03  Bruno Haible  <bruno@clisp.org>
74747
74748         * m4/utf-ucs4.m4: New file.
74749         * m4/ucs4-utf.m4: New file.
74750
74751 2003-04-03  Bruno Haible  <bruno@clisp.org>
74752
74753         * lib/utf8-ucs4.h: New file, from GNU gettext.
74754         * lib/utf16-ucs4.h: New file, from GNU gettext.
74755         * lib/ucs4-utf8.h: New file, from GNU gettext.
74756         * lib/ucs4-utf16.h: New file, from GNU gettext.
74757
74758 2003-04-02  Bruno Haible  <bruno@clisp.org>
74759
74760         * modules/binary-io: New file.
74761         * MODULES.html.sh (func_all_modules): Add it.
74762
74763 2003-04-02  Bruno Haible  <bruno@clisp.org>
74764
74765         * lib/binary-io.h: New file, from GNU gettext.
74766
74767 2003-04-01  Bruno Haible  <bruno@clisp.org>
74768
74769         * modules/pathname: New file.
74770         * MODULES.html.sh (func_all_modules): Add it.
74771
74772 2003-04-01  Bruno Haible  <bruno@clisp.org>
74773
74774         * lib/pathname.h: New file, from GNU gettext.
74775         * lib/concatpath.c: New file, from GNU gettext.
74776
74777 2003-03-30  Bruno Haible  <bruno@clisp.org>
74778
74779         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
74780
74781 2003-03-30  Bruno Haible  <bruno@clisp.org>
74782
74783         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
74784         function chown() doesn't exist.
74785
74786 2003-03-28  Bruno Haible  <bruno@clisp.org>
74787
74788         * modules/copy-file: New file.
74789         * MODULES.html.sh (func_all_modules): Add it.
74790
74791 2003-03-28  Bruno Haible  <bruno@clisp.org>
74792
74793         * m4/copy-file.m4: New file.
74794
74795 2003-03-28  Bruno Haible  <bruno@clisp.org>
74796
74797         * lib/copy-file.h: New file, from GNU gettext.
74798         * lib/copy-file.c: New file, from GNU gettext.
74799
74800 2003-03-18  Jim Meyering  <jim@meyering.net>
74801
74802         * lib/quote.c (quote_n): Fix typo in comment.
74803
74804 2003-03-18  Bruno Haible  <bruno@clisp.org>
74805
74806         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
74807         checking.
74808         * m4/onceonly_2_57.m4: Likewise.
74809
74810 2003-03-17  Bruno Haible  <bruno@clisp.org>
74811
74812         * m4/onceonly.m4: Require autoconf 2.54 or newer.
74813         (m4_quote): Remove macro.
74814         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
74815
74816 2003-03-14  Jim Meyering  <jim@meyering.net>
74817
74818         Merge changes from Coreutils.
74819         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
74820         to be const, in order to avoid warnings.
74821         (obstack_room): Likewise.
74822         (obstack_empty_p): Likewise.
74823
74824 2003-03-14  Bruno Haible  <bruno@clisp.org>
74825
74826         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
74827         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
74828
74829 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74830
74831         Merge changes from Bison.
74832         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
74833         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
74834         when compiling Bison 1.875's `bitset bset = obstack_alloc
74835         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
74836         * lib/hash.c: Include <stdbool.h> unconditionally.
74837
74838 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74839
74840         * m4/onceonly.m4 (m4_quote): New macro.
74841         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
74842         Quote AC_FOREACH variable-expansions properly.
74843
74844 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74845
74846         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
74847
74848 2003-03-09  Paul Eggert  <eggert@twinsun.com>
74849
74850         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
74851         Reported by Bruce Becker; see:
74852         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
74853
74854 2003-03-03  Paul Eggert  <eggert@twinsun.com>
74855             Bruno Haible  <bruno@clisp.org>
74856
74857         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
74858         Reported by John Hughes, see
74859         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
74860
74861 2003-02-20  Bruno Haible  <bruno@clisp.org>
74862
74863         * MODULES.html.sh (func_all_modules): Add poll.
74864
74865 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74866
74867         * modules/poll: New file.
74868
74869 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74870
74871         * lib/poll_.h: New file.
74872         * lib/poll.c: New file.
74873
74874 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74875
74876         * m4/poll.m4: New file.
74877
74878 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74879
74880         * modules/mathl: New file.
74881
74882 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74883
74884         * lib/mathl.h: New file.
74885         * lib/acosl.c: New file.
74886         * lib/asinl.c: New file.
74887         * lib/atanl.c: New file.
74888         * lib/ceill.c: New file.
74889         * lib/cosl.c: New file.
74890         * lib/expl.c: New file.
74891         * lib/floorl.c: New file.
74892         * lib/frexpl.c: New file.
74893         * lib/ldexpl.c: New file.
74894         * lib/logl.c: New file.
74895         * lib/sincosl.c: New file.
74896         * lib/sinl.c: New file.
74897         * lib/sqrtl.c: New file.
74898         * lib/tanl.c: New file.
74899         * lib/trigl.c: New file.
74900         * lib/trigl.h: New file.
74901
74902 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74903
74904         * m4/mathl.m4: New file.
74905
74906 2003-02-18  Bruno Haible  <bruno@clisp.org>
74907
74908         * MODULES.html.sh (func_all_modules): Add mathl.
74909
74910 2003-02-17  Bruno Haible  <bruno@clisp.org>
74911
74912         * modules/mkdtemp: New module.
74913         * MODULES.html.sh (func_all_modules): Add it.
74914
74915 2003-02-17  Bruno Haible  <bruno@clisp.org>
74916
74917         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
74918
74919 2003-02-17  Bruno Haible  <bruno@clisp.org>
74920
74921         * lib/mkdtemp.h: New file, from GNU gettext.
74922         * lib/mkdtemp.c: New file, from GNU gettext.
74923
74924 2003-02-02  Jim Meyering  <jim@meyering.net>
74925
74926         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
74927         e.g. glibc-2.2.93.
74928
74929 2003-01-31  Bruno Haible  <bruno@clisp.org>
74930
74931         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
74932         'rpl_rename'.
74933         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
74934         'rpl_strnlen'.
74935         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
74936         'rpl_strtod'.
74937         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
74938         'rpl_utime'.
74939
74940 2003-01-31  Bruno Haible  <bruno@clisp.org>
74941
74942         * lib/rename.c: #undef rename before defining rpl_rename.
74943         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
74944
74945 2003-01-30  Bruno Haible  <bruno@clisp.org>
74946
74947         * modules/vasnprintf, modules/vasprintf: New modules.
74948         * MODULES.html.sh (func_all_modules): Add them.
74949
74950 2003-01-30  Bruno Haible  <bruno@clisp.org>
74951
74952         * m4/signed.m4: New file, from GNU gettext.
74953         * m4/longdouble.m4: New file, from GNU gettext.
74954         * m4/wchar_t.m4: New file, from GNU gettext.
74955         * m4/wint_t.m4: New file, from GNU gettext.
74956         * m4/vasnprintf.m4: New file.
74957         * m4/vasprintf.m4: New file.
74958
74959 2003-01-30  Bruno Haible  <bruno@clisp.org>
74960
74961         * lib/printf-args.h: New file, from GNU gettext.
74962         * lib/printf-args.c: New file, from GNU gettext.
74963         * lib/printf-parse.h: New file, from GNU gettext.
74964         * lib/printf-parse.c: New file, from GNU gettext.
74965         * lib/vasnprintf.h: New file, from GNU gettext.
74966         * lib/vasnprintf.c: New file, from GNU gettext.
74967         * lib/asnprintf.c: New file, from GNU gettext.
74968         * lib/vasprintf.h: New file, from GNU gettext with modifications.
74969         * lib/vasprintf.c: New file, from GNU gettext.
74970         * lib/asprintf.c: New file, from GNU gettext.
74971
74972 2003-01-29  Bruno Haible  <bruno@clisp.org>
74973
74974         * modules/stpncpy: New module.
74975         * MODULES.html.sh (func_all_modules): Add it.
74976
74977 2003-01-29  Bruno Haible  <bruno@clisp.org>
74978
74979         * m4/stpncpy.m4: New file.
74980
74981 2003-01-29  Bruno Haible  <bruno@clisp.org>
74982
74983         * lib/stpncpy.h: New file, from GNU gettext with modifications.
74984         * lib/stpncpy.c: New file, from GNU gettext with modifications.
74985
74986 2003-01-28  Bruno Haible  <bruno@clisp.org>
74987
74988         * modules/c-ctype: New module.
74989         * MODULES.html.sh (func_all_modules): Add it.
74990
74991 2003-01-28  Bruno Haible  <bruno@clisp.org>
74992
74993         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
74994         Paul Eggert.
74995         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
74996         Paul Eggert.
74997
74998 2003-01-27  Bruno Haible  <bruno@clisp.org>
74999
75000         * modules/xsetenv: New module.
75001         * MODULES.html.sh (func_all_modules): Add it.
75002
75003 2003-01-27  Bruno Haible  <bruno@clisp.org>
75004
75005         * lib/xsetenv.h: New file, from GNU gettext.
75006         * lib/xsetenv.c: New file, from GNU gettext.
75007
75008 2003-01-23  Jim Meyering  <jim@meyering.net>
75009
75010         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
75011         from working on systems without dirfd (at least Irix and OSF1/Tru64).
75012
75013 2003-01-23  Bruno Haible  <bruno@clisp.org>
75014
75015         * modules/minmax: New module.
75016         * MODULES.html.sh (func_all_modules): Add it.
75017
75018 2003-01-23  Bruno Haible  <bruno@clisp.org>
75019
75020         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
75021         Eggert.
75022
75023 2003-01-22  Bruno Haible  <bruno@clisp.org>
75024
75025         * modules/exit: New module.
75026         * MODULES.html.sh (func_all_modules): Add it.
75027
75028 2003-01-22  Bruno Haible  <bruno@clisp.org>
75029
75030         * lib/exit.h: New file, from GNU gettext.
75031
75032 2003-01-19  Bruno Haible  <bruno@clisp.org>
75033
75034         * gnulib-tool: Recognize option --extract-maintainer.
75035         (func_get_maintainer): New function.
75036         * modules/*: Add Maintainer entry.
75037
75038 2003-01-16  Jim Meyering  <jim@meyering.net>
75039
75040         * m4/regex.m4: The `regex' struct is both input and output.
75041         Initialize it before each use.  Patch by Tim Waugh.
75042
75043 2003-01-16  Bruno Haible  <bruno@clisp.org>
75044
75045         * MODULES.html.sh: Add a table of contents. Add the module name as
75046         leftmost column. Add hyperlinks.
75047
75048 2003-01-15  Bruno Haible  <bruno@clisp.org>
75049
75050         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
75051
75052 2003-01-15  Bruno Haible  <bruno@clisp.org>
75053
75054         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
75055         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
75056         suffix.
75057
75058 2003-01-15  Bruno Haible  <bruno@clisp.org>
75059
75060         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
75061
75062 2003-01-15  Bruno Haible  <bruno@clisp.org>
75063
75064         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
75065         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
75066
75067 2003-01-14  Jim Meyering  <jim@meyering.net>
75068
75069         * lib/same.c (same_name): Tweak a comment.
75070
75071 2003-01-14  Bruno Haible  <bruno@clisp.org>
75072
75073         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
75074         when a string comparison is sufficient.
75075
75076 2003-01-14  Bruno Haible  <bruno@clisp.org>
75077
75078         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
75079         'unsigned int'.
75080
75081 2003-01-14  Bruno Haible  <bruno@clisp.org>
75082
75083         * lib/hash-pjw.c: Add comment about low quality of this function.
75084
75085 2003-01-13  Bruno Haible  <bruno@clisp.org>
75086
75087         * modules/stpcpy: Distribute lib/stpcpy.h.
75088         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
75089
75090 2003-01-13  Bruno Haible  <bruno@clisp.org>
75091
75092         * modules/*: Add a description.
75093         * modules/strpbrk: Fix Makefile.am snippet.
75094         * modules/strtoimax: Fix dependencies.
75095         * modules/strtoumax: Likewise.
75096
75097 2003-01-13  Bruno Haible  <bruno@clisp.org>
75098
75099         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
75100         * modules/alloca (Makefile.am): All object files depend on alloca.h.
75101         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
75102
75103 2003-01-13  Bruno Haible  <bruno@clisp.org>
75104
75105         * gnulib-tool (func_create_testdir): Store config/* files in the main
75106         directory.
75107         * config.rpath: Move to ...
75108         * config/config.rpath: ... here.
75109         * modules/gettext: Contains config/config.rpath, not config.rpath.
75110         * modules/iconv: Likewise.
75111
75112 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75113
75114         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75115         to avoid collisions with libcurses and libreadline.
75116
75117         * m4/getstr.m4: Remove.
75118         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
75119
75120 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75121
75122         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75123         to avoid collisions with libcurses and libreadline.
75124
75125         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
75126         * lib/getstr.h, getstr.c: Remove.
75127         * lib/getline.c: Include "getline.h", to check interface.
75128         Move body of old getstr.c here: this defines MIN_CHUNK and
75129         declares getdelim2, which is renamed from getstr.
75130         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
75131
75132         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
75133         All uses changed.
75134         * lib/linebuffer.h: Likewise.
75135         (readline): Remove backward-compatibility macro.
75136
75137 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75138
75139         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75140         to avoid collisions with libcurses and libreadline.
75141         * getstr: Remove.
75142         * MODULES.html.sh: Remove getstr.
75143         * modules/getline: Depend on unlocked-io, not getstr.
75144
75145 2003-01-12  Jim Meyering  <jim@meyering.net>
75146
75147         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
75148
75149 2003-01-10  Bruno Haible  <bruno@clisp.org>
75150
75151         * modules/alloca: Change Makefile.am requirements. Simplify Include
75152         requirements. Add lib/alloca_.h to file list.
75153
75154 2003-01-10  Bruno Haible  <bruno@clisp.org>
75155
75156         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
75157
75158 2003-01-10  Bruno Haible  <bruno@clisp.org>
75159
75160         * lib/alloca_.h: New file.
75161         * lib/getdate.y: Unconditionally include alloca.h.
75162         * lib/makepath.c: Likewise.
75163         * lib/setenv.c: Likewise.
75164         * lib/userspec.c: Likewise.
75165
75166 2003-01-09  Karl Berry  <karl@gnu.org>
75167
75168         * MODULES.html.sh: include `dirname $0` in PATH, to find
75169         gnulib-tool.
75170
75171 2003-01-09  Bruno Haible  <bruno@clisp.org>
75172
75173         * modules/stdbool: Change configure.ac, Makefile.am requirements.
75174         Simplify Include requirements. Add lib/stdbool.h.in to file list.
75175
75176 2003-01-09  Bruno Haible  <bruno@clisp.org>
75177
75178         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
75179
75180 2003-01-09  Bruno Haible  <bruno@clisp.org>
75181
75182         * lib/stdbool.h.in: New file.
75183
75184 2003-01-09  Bruno Haible  <bruno@clisp.org>
75185
75186         * gnulib-tool (func_all_modules): Ignore files ending in ~.
75187         * MODULES.html.sh: Likewise.
75188
75189 2003-01-08  Jim Meyering  <jim@meyering.net>
75190
75191         * lib/full-write.c: Undefine and define-away `const' after inclusion
75192         of errno.h, not before.  Suggestion from Bruno Haible.
75193
75194 2003-01-08  Bruno Haible  <bruno@clisp.org>
75195
75196         * modules/full-read: Depend on full-write.
75197
75198 2003-01-08  Bruno Haible  <bruno@clisp.org>
75199
75200         * lib/safe-read.c: Include specification header first, to ensure its
75201         selfcontainedness.
75202         * lib/full-write.c: Likewise.
75203
75204 2003-01-07  Jim Meyering  <jim@meyering.net>
75205
75206         * lib/full-write.c: Rework so that it may serve to define full_read,
75207         too.
75208         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
75209
75210 2003-01-07  Bruno Haible  <bruno@clisp.org>
75211
75212         * lib/strtoimax.c: Include <stdint.h> as an alternative to
75213         <inttypes.h>.
75214         * lib/xstrtol.h: Likewise.
75215         * lib/xstrtoimax.c: Likewise.
75216         * lib/xstrtoumax.c: Likewise.
75217         * lib/human.h: Likewise.
75218
75219         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
75220         on systems that have <inttypes.h> but not <stdint.h>.
75221
75222 2003-01-07  Bruno Haible  <bruno@clisp.org>
75223
75224         * MODULES.html.sh: Add copyright notice.
75225         (missed_files): Omit CVS directory entries.
75226         (func_module): Make it work with sed-3.02.
75227         * MODULES.txt: Remove file.
75228
75229 2003-01-06  Jim Meyering  <jim@meyering.net>
75230
75231         * lib/version-etc.c: Update year in translatable copyright string.
75232
75233 2003-01-03  Karl Berry  <karl@gnu.org>
75234
75235         * config/config.{guess,sub}: update from prep.
75236
75237 2003-01-02  Karl Berry  <karl@gnu.org>
75238
75239         * doc/COPYING.DOC: belatedly updated to 1.2.
75240
75241 2003-01-01  Karl Berry  <karl@gnu.org>
75242
75243         * gnulib-tool (func_verify_module): report module name $module in
75244         error message, not $1.
75245         * gnulib-tool (create-testdir): don't complain if destdir couldn't
75246         be created, only if it doesn't exist.
75247         * gnulib-tool (last_checkin_date): don't expand the $Date here.
75248
75249 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75250
75251         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
75252
75253 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75254
75255         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
75256         memcmp if strcoll doesn't work.
75257
75258 2002-12-31  Bruno Haible  <bruno@clisp.org>
75259
75260         * lib/utime.c (utime_null): No need to call ftruncate if the file was
75261         nonempty.
75262
75263 2002-12-31  Bruno Haible  <bruno@clisp.org>
75264
75265         * lib/memcoll.c (STRCOLL): New macro.
75266         (memcoll): Use it.
75267
75268 2002-12-31  Bruno Haible  <bruno@clisp.org>
75269
75270         * lib/localcharset.h: New file.
75271         * lib/localcharset.c: Include it.
75272         * lib/unicodeio.c: Likewise.
75273
75274 2002-12-31  Bruno Haible  <bruno@clisp.org>
75275
75276         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
75277         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
75278
75279 2002-12-31  Bruno Haible  <bruno@clisp.org>
75280
75281         * lib/getline.h: Include <stddef.h>, for size_t.
75282
75283         * lib/unicodeio.h: Include <stddef.h>, for size_t.
75284         * lib/unicodeio.c: Don't include <stddef.h>.
75285
75286 2002-12-31  Bruno Haible  <bruno@clisp.org>
75287
75288         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
75289         HAVE_TM_ZONE.
75290
75291 2002-12-24  Karl Berry  <karl@gnu.org>
75292
75293         * config/config.guess: update from prep.
75294
75295 2002-12-24  Bruno Haible  <bruno@clisp.org>
75296
75297         General infrasructure.
75298         * m4/README: Rewritten.
75299         * m4/onceonly.m4: New file.
75300         * m4/onceonly_2_57.m4: New file.
75301
75302         Module atexit.
75303         * m4/atexit.m4: New file.
75304
75305         Module strtod.
75306         * m4/strtod.m4: New file.
75307
75308         Module strtol.
75309         * m4/strtol.m4: New file.
75310
75311         Module strtoul.
75312         * m4/strtoul.m4: New file.
75313
75314         Module memchr.
75315         * m4/memchr.m4: New file.
75316
75317         Module memcmp.
75318         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
75319         (jm_FUNC_MEMCMP): Invoke it.
75320
75321         Module memcpy.
75322         * m4/memcpy.m4: New file.
75323
75324         Module memmove.
75325         * m4/memmove.m4: New file.
75326
75327         Module memset.
75328         * m4/memset.m4: New file.
75329
75330         Module strcspn.
75331         * m4/strcspn.m4: New file.
75332
75333         Module strpbrk.
75334         * m4/strpbrk.m4: New file.
75335
75336         Module strstr.
75337         * m4/strstr.m4: New file.
75338
75339         Module strerror.
75340         * m4/strerror.m4: New file.
75341
75342         Module mktime.
75343         * m4/mktime.m4: Renamed from jm-mktime.m4.
75344         (gl_PREREQ_MKTIME): New macro.
75345         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
75346
75347         Module malloc.
75348         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
75349         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
75350         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
75351
75352         Module realloc.
75353         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
75354         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
75355         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
75356
75357         Module strftime.
75358         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
75359         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
75360         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
75361         gl_TM_GMTOFF.
75362         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
75363
75364         Module xalloc.
75365         * m4/xalloc.m4: New file.
75366
75367         Module alloca.
75368         * m4/alloca.m4: New file.
75369
75370         Module putenv.
75371         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
75372         (jm_FUNC_PUTENV): Invoke it.
75373
75374         Module setenv.
75375         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
75376         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
75377         when invoked twice.
75378         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
75379         gt_FUNC_SETENV.
75380
75381         Module memrchr.
75382         * m4/memrchr.m4: New file.
75383
75384         Module stpcpy.
75385         * m4/stpcpy.m4: New file.
75386
75387         Module strcase.
75388         * m4/strcase.m4: New file.
75389
75390         Module strdup.
75391         * m4/strdup.m4: New file.
75392
75393         Module strnlen.
75394         * m4/strnlen.m4: New file.
75395
75396         Module strndup.
75397         * m4/strndup.m4: New file.
75398
75399         Module xstrtod.
75400         * m4/xstrtod.m4: New file.
75401
75402         Module xstrtol.
75403         * m4/xstrtol.m4: New file.
75404
75405         Module getdate.
75406         * m4/getdate.m4: New file.
75407
75408         Module unlocked-io.
75409         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
75410         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
75411         * m4/jm-glibc-io.m4n: Remove file.
75412
75413         Module long-options.
75414         * m4/long-options.m4: New file.
75415
75416         Module md5.
75417         * m4/md5.m4: New file.
75418
75419         Module sha.
75420         * m4/sha.m4: New file.
75421
75422         Module getstr.
75423         * m4/getstr.m4: New file.
75424
75425         Module getline.
75426         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
75427         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
75428         <sys/types.h>, for size_t. Use the function name gnu_getline, not
75429         simply getline. Infoke gl_PREREQ_GETLINE.
75430
75431         Module obstack.
75432         * m4/obstack.m4: New file.
75433
75434         Module hash.
75435         * m4/hash.m4: New file.
75436
75437         Module readtokens.
75438         * m4/readtokens.m4: New file.
75439
75440         Module strverscmp.
75441         * m4/strverscmp.m4: New file.
75442
75443         Module stdbool.
75444         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
75445         OSF/1.
75446
75447         Module strtoll.
75448         * m4/strtoll.m4: New file.
75449
75450         Module strtoull.
75451         * m4/strtoull.m4: New file.
75452
75453         Module strtoimax.
75454         * m4/strtoimax.m4: New file.
75455
75456         Module strtoumax.
75457         * m4/strtoumax.m4: New file.
75458
75459         Module xstrtoimax.
75460         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
75461         jm_AC_PREREQ_XSTRTOIMAX.
75462         Moved the strtol prerequisites to strtol.m4.
75463         Moved the strtoll prerequisites to strtoll.m4.
75464         Moved the strtoimax prerequisites to strtoimax.m4.
75465
75466         Module xstrtoumax.
75467         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
75468         jm_AC_PREREQ_XSTRTOUMAX.
75469         Moved the strtoul prerequisites to strtoul.m4.
75470         Moved the strtoull prerequisites to strtoull.m4.
75471         Moved the strtoumax prerequisites to strtoumax.m4.
75472
75473         Module chown.
75474         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
75475         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
75476
75477         Module dup2.
75478         * m4/dup2.m4: New file.
75479
75480         Module ftruncate.
75481         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
75482         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
75483
75484         Module getgroups.
75485         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
75486         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
75487
75488         Module gettimeofday.
75489         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
75490         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
75491         gl_PREREQ_GETTIMEOFDAY.
75492
75493         Module mkdir.
75494         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
75495         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
75496
75497         Module mkstemp.
75498         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
75499         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
75500         jm_AC_TYPE_UINTMAX_T.
75501         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
75502
75503         Module stat.
75504         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
75505         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
75506
75507         Module lstat.
75508         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
75509         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
75510
75511         Module timespec.
75512         * m4/timespec.m4 (gl_TIMESPEC): New macro.
75513         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
75514         * m4/st_mtim.m4: Indentation.
75515
75516         Module nanosleep.
75517         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
75518         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
75519         gl_PREREQ_NANOSLEEP.
75520
75521         Module regex.
75522         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
75523         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
75524         (gl_REGEX): New macro.
75525
75526         Module rename.
75527         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
75528         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
75529
75530         Module rmdir.
75531         * m4/rmdir.m4: New file.
75532
75533         Module utime.
75534         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
75535         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
75536         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
75537
75538         Module dirname.
75539         * m4/dirname.m4: New file.
75540
75541         Module getopt.
75542         * m4/getopt.m4: New file.
75543
75544         Module unistd-safer.
75545         * m4/unistd-safer.m4: New file.
75546
75547         Module fnmatch.
75548         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
75549         declaration.
75550         (gl_PREREQ_FNMATCH_EXTRA): New macro.
75551         (gl_FUNC_FNMATCH_POSIX): New macro.
75552         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
75553         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
75554         simply fnmatch.
75555
75556         Module exclude.
75557         * m4/exclude.m4: New file.
75558
75559         Module human.
75560         * m4/human.m4: New file.
75561
75562         Module acl.
75563         * m4/acl.m4: Nop.
75564
75565         Module backupfile.
75566         * m4/backupfile.m4: New file.
75567         * m4/d-ino.m4: Indentation.
75568
75569         Module fsusage.
75570         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
75571         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
75572         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
75573
75574         Module dirfd.
75575         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
75576         requirements.
75577
75578         Module euidaccess.
75579         * m4/euidaccess.m4: New file.
75580
75581         Module file-type.
75582         * m4/file-type.m4: New file.
75583
75584         Module fileblocks.
75585         * m4/fileblocks.m4: New file.
75586
75587         Module filemode.
75588         * m4/filemode.m4: New file.
75589
75590         Module isdir.
75591         * m4/isdir.m4: New file.
75592
75593         Module lchown.
75594         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
75595         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
75596
75597         Module makepath.
75598         * m4/makepath.m4: New file.
75599
75600         Module modechange.
75601         * m4/modechange.m4: New file.
75602
75603         Module mountlist.
75604         * m4/mountlist.m4: New file.
75605         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
75606         Indentation.
75607
75608         Module path-concat.
75609         * m4/path-concat.m4: New file.
75610
75611         Module pathmax.
75612         * m4/pathmax.m4: New file.
75613
75614         Module same.
75615         * m4/same.m4: New file.
75616
75617         Module save-cwd.
75618         * m4/save-cwd.m4: New file.
75619
75620         Module savedir.
75621         * m4/savedir.m4: New file.
75622
75623         Module xgetcwd.
75624         * m4/xgetcwd.m4: New file.
75625         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
75626
75627         Module xreadlink.
75628         * m4/xreadlink.m4: New file.
75629
75630         Module safe-read.
75631         * m4/safe-read.m4: New file.
75632
75633         Module safe-write.
75634         * m4/safe-write.m4: New file.
75635
75636         Module closeout.
75637         * m4/closeout.m4: New file.
75638
75639         Module stdio-safer.
75640         * m4/stdio-safer.m4: New file.
75641
75642         Module getpass.
75643         * m4/getpass.m4: New file.
75644
75645         Module getugroups.
75646         * m4/getugroups.m4: New file.
75647
75648         Module group-member.
75649         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
75650         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
75651
75652         Module idcache.
75653         * m4/idcache.m4: New file.
75654
75655         Module userspec.
75656         * m4/userspec.m4: New file.
75657
75658         Module gettime.
75659         * m4/clock_time.m4: New file.
75660         * m4/gettime.m4: New file.
75661
75662         Module settime.
75663         * m4/settime.m4: New file.
75664
75665         Module posixtm.
75666         * m4/posixtm.m4: New file.
75667
75668         Module gethostname.
75669         * m4/gethostname.m4: New file.
75670
75671         Module canon-host.
75672         * m4/canon-host.m4: New file.
75673
75674         Module gettext.
75675         * m4/codeset.m4: New file, from gettext-0.11.5.
75676         * m4/gettext.m4: New file, from gettext-0.11.5.
75677         * m4/glibc21.m4: New file, from gettext-0.11.5.
75678         * m4/iconv.m4: New file, from gettext-0.11.5.
75679         * m4/intdiv0.m4: New file, from gettext-0.11.5.
75680         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
75681         * m4/inttypes.m4: New file, from gettext-0.11.5.
75682         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
75683         * m4/isc-posix.m4: New file, from gettext-0.11.5.
75684         * m4/lcmessage.m4: New file, from gettext-0.11.5.
75685         * m4/lib-ld.m4: New file, from gettext-0.11.5.
75686         * m4/lib-link.m4: New file, from gettext-0.11.5.
75687         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
75688         * m4/progtest.m4: New file, from gettext-0.11.5.
75689         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
75690         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
75691         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
75692
75693         Module localcharset.
75694         * m4/localcharset.m4: New file.
75695
75696         Module hard-locale.
75697         * m4/hard-locale.m4: New file.
75698
75699         Module mbswidth.
75700         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
75701         onceonly macros.
75702         * m4/mbrtowc.m4: Add comment.
75703
75704         Module memcasecmp.
75705         * m4/memcasecmp.m4: New file.
75706
75707         Module memcoll.
75708         * m4/memcoll.m4: New file.
75709
75710         Module unicodeio.
75711         * m4/unicodeio.m4: New file.
75712
75713         Module rpmatch.
75714         * m4/rpmatch.m4: New file.
75715
75716         Module yesno.
75717         * m4/yesno.m4: New file.
75718
75719         Module exitfail.
75720         * m4/exitfail.m4: New file.
75721
75722         Module c-stack.
75723         * m4/c-stack.m4 (gl_C_STACK): New macro.
75724         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
75725
75726         Module error.
75727         * m4/error.m4 (gl_ERROR): New macro.
75728         (jm_PREREQ_ERROR): Use onceonly macros.
75729
75730         Module fatal.
75731         * m4/fatal.m4: New file.
75732
75733         Module getloadavg.
75734         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
75735         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
75736
75737         Module getpagesize.
75738         * m4/getpagesize.m4: New file.
75739
75740         Module getusershell.
75741         * m4/getusershell.m4: New file.
75742
75743         Module physmem.
75744         * m4/physmem.m4: New file.
75745
75746         Module posixver.
75747         * m4/posixver.m4: New file.
75748
75749         Module quotearg.
75750         * m4/quotearg.m4: New file.
75751
75752         Module quote.
75753         * m4/quote.m4: New file.
75754
75755         Module readutmp.
75756         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
75757
75758         Module sig2str.
75759         * m4/sig2str.m4: New file.
75760
75761         Other.
75762         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
75763         ulonglong.m4.
75764         * m4/intmax_t.m4: New file.
75765         * m4/d-type.m4: Indentation.
75766         * m4/jm-macros.m4: Update.
75767         * m4/prereq.m4 (jm_PREREQ): Update.
75768         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
75769         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
75770         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
75771         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
75772         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
75773         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
75774         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
75775         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
75776         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
75777         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
75778         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
75779         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
75780         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
75781         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
75782         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
75783         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
75784         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
75785         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
75786         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
75787
75788 2002-12-24  Bruno Haible  <bruno@clisp.org>
75789
75790         * MODULES.txt: Update according to m4/ changes.
75791
75792         Module gettext.
75793         * config.rpath: New file, from gettext-0.11.5.
75794
75795         * modules/*: New module descriptions.
75796         * gnulib-tool: New file.
75797         * MODULES.html.sh: New file.
75798
75799 2002-12-21  Karl Berry  <karl@gnu.org>
75800
75801         * doc/fdl.texi: update to version 1.2.
75802
75803 2002-12-19  Karl Berry  <karl@gnu.org>
75804
75805         * config/config.guess: update from prep.
75806
75807 2002-12-18  Bruno Haible  <bruno@clisp.org>
75808
75809         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
75810         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
75811
75812 2002-12-17  Bruno Haible  <bruno@clisp.org>
75813
75814         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
75815         stdlib.h, string.h.
75816
75817 2002-12-17  Bruno Haible  <bruno@clisp.org>
75818
75819         * lib/canon-host.c (strdup): Remove unused declaration.
75820
75821         * lib/fsusage.c: Include full_read.h.
75822         (get_fs_usage): Use full_read instead of safe_read.
75823
75824         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
75825
75826 2002-12-12  Karl Berry  <karl@gnu.org>
75827
75828         * config/config.guess: update from prep.
75829
75830 2002-12-11  Bruno Haible  <bruno@clisp.org>
75831
75832         * m4/setenv.m4: New file, from gettext-0.11.5.
75833
75834 2002-12-11  Bruno Haible  <bruno@clisp.org>
75835
75836         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
75837         not unsetenv().
75838         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
75839         modifications:
75840
75841         2002-12-11  Bruno Haible  <bruno@clisp.org>
75842
75843                 * setenv.c (alloca): Fall back to malloc.
75844                 (freea): New macro.
75845                 (setenv): Use freea() to free memory allocated with alloca().
75846
75847         2002-11-13  Bruno Haible  <bruno@clisp.org>
75848
75849                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
75850                 function declarations.
75851                 * unsetenv.c (unsetenv): Likewise.
75852
75853         2002-03-04  Bruno Haible  <bruno@clisp.org>
75854
75855                 Portability to AIX 4.3.3.
75856                 * unsetenv.c: New file, extracted from setenv.c.
75857                 * setenv.c: Move the unsetenv() function to unsetenv.c.
75858
75859         2001-12-20  Bruno Haible  <bruno@clisp.org>
75860
75861                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
75862                 use malloc instead. For SunOS 4.
75863
75864         2001-12-11  Bruno Haible  <bruno@clisp.org>
75865
75866                 * setenv.c: Declare alloca.
75867                 (compar_fn_t): New typedef.
75868                 (KNOWN_VALUE, STORE_VALUE): Use it.
75869
75870         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
75871         setenv.h.
75872
75873 2002-12-10  Paul Eggert  <eggert@twinsun.com>
75874
75875         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
75876         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
75877         Choose values that are less likely to collide with system fnmatch
75878         options.
75879         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
75880         defined (e.g., a pure POSIX system).
75881         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
75882         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
75883
75884 2002-12-06  Paul Eggert  <eggert@twinsun.com>
75885
75886         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
75887         a pain in practice to deal with generated m4 files.  This change
75888         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
75889
75890         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
75891         and jm-glibc-io.m4, as they are no longer a special case.
75892         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
75893         kludge and the auto-generation stuff.  Check only whether the
75894         functions are declared, not whether they exist, since older hosts
75895         that don't declare the functions can't use the optimization anyway.
75896
75897 2002-12-06  Jim Meyering  <jim@meyering.net>
75898
75899         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
75900
75901         Merge in changes from libc's misc/error.c, in preparation
75902         for the merge of gnulib's changes back into libc.
75903
75904         * lib/error.c (_): Define only if not already defined.
75905         Move definition to follow all #include directives.
75906         Include unlocked-io.h only if !_LIBC.
75907         [_LIBC]: Include <libio/libioP.h>.
75908         [USE_IN_LIBIO]: Include <libio/iolibio.h>
75909         (fflush): Tweak definition to use INTUSE.
75910         (putc): Define.
75911
75912 2002-12-05  Paul Eggert  <eggert@twinsun.com>
75913
75914         * lib/alloca.c [defined emacs]: Include "lisp.h".
75915         (xalloc_die) [defined emacs]: New macro.
75916         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
75917         [! defined emacs]: Include <xalloc.h>.
75918         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
75919         (pointer): Typedef to POINTER_TYPE *.
75920         (malloc): Remove decl; we now always use xmalloc.
75921         (alloca): Use old-style definition, since Emacs needs this.
75922         Check for arithmetic overflow when computing combined size.
75923
75924 2002-12-04  Paul Eggert  <eggert@twinsun.com>
75925
75926         Do not generate unlocked-io.h automatically, since it's easier to
75927         maintain it by hand.
75928
75929         * lib/unlocked-io.h: New file, from GNU diffutils,
75930         but with proper copyright notice and attribution.
75931         * lib/gen-uio: Remove.
75932         * lib/Makefile.am: Add copyright notice.
75933         (libfetish_a_SOURCES): Add unlocked-io.h.
75934         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
75935         (DISTCLEANFILES, io_functions): Remove macros.
75936         (EXTRA_DIST): Remove gen_uio.
75937         (unlocked-io.h): Remove rule.
75938
75939 2002-12-04  Jim Meyering  <jim@meyering.net>
75940
75941         Reflect the fact that stat.c and lstat.c are no longer generated.
75942         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
75943         (DISTCLEANFILES): Likewise.
75944         (EXTRA_DIST): Likewise.
75945         (all_local): Don't depend on stat.c or lstat.c.
75946         (stat.c, lstat.c): Remove rules.
75947         (EXTRA_DIST): Remove xstat.in.
75948
75949         * lib/xstat.in: Remove file.  Contents moved into stat.c.
75950         * lib/stat.c: New file.  Contents mostly from xstat.in.
75951         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
75952         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
75953
75954         * lib/safe-read.c: Rework so that it may serve to define safe_write,
75955         too.
75956         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
75957
75958 2002-12-03  Jim Meyering  <jim@meyering.net>
75959
75960         * lib/safe-read.c, safe-write.c: Change variable names and comments,
75961         but not semantics, to minimize the differences between these two files.
75962         (safe_read): Change comment to mention SAFE_READ_ERROR.
75963
75964         * lib/safe-read.c (IS_EINTR): Define.
75965         (safe_read): Use IS_EINTR in place of in-function cpp directives.
75966
75967 2002-12-02  Jim Meyering  <jim@meyering.net>
75968
75969         * lib/safe-read.c (EINTR): Define.
75970         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75971         (INT_MAX): Provide fallback.
75972         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
75973
75974         * lib/safe-read.h (SAFE_READ_ERROR): Define.
75975
75976 2002-12-02  Bruno Haible  <bruno@clisp.org>
75977
75978         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
75979         Define, taken from safe-read.c.
75980         (INT_MAX): Provide fallback.
75981         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
75982         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
75983
75984         * lib/safe-read.c (EINTR): Remove definition.
75985         (safe_read): Don't use EINTR if it is absent.
75986
75987 2002-12-01  Jim Meyering  <jim@meyering.net>
75988
75989         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
75990         zero.
75991         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
75992
75993 2002-11-27  Paul Eggert  <eggert@twinsun.com>
75994
75995         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
75996         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
75997         with `if (! (value < limit)) abort ();', for readability.
75998
75999 2002-11-26  Karl Berry  <karl@gnu.org>
76000
76001         * lib/strdup.c: copy from libc again, with jim's ok.
76002         * lib/.cppi-disable: re-add strdup.c
76003
76004 2002-11-25  Karl Berry  <karl@gnu.org>
76005
76006         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
76007         instead of "strtol.c".
76008
76009 2002-11-25  Karl Berry  <karl@gnu.org>
76010
76011         * config/install-sh: update from automake for variable quoting, $0 in
76012         error msgs, etc.
76013
76014         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
76015         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
76016         entry.
76017
76018 2002-11-25  Jim Meyering  <jim@meyering.net>
76019
76020         * lib/mktime.c: Sync from libc, now that it has the latest fix.
76021
76022 2002-11-24  Karl Berry  <karl@gnu.org>
76023
76024         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
76025         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
76026
76027 2002-11-24  Jim Meyering  <jim@meyering.net>
76028
76029         Update from coreutils:
76030
76031         * lib/mktime.c: Merge in changes from libc.
76032
76033         Avoid a link-time failure on some Linux systems.
76034         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
76035         (otherwise).
76036         (__mon_yday): Declare with the STATIC attribute.
76037         (__mktime_internal): Likewise.
76038         Based on a report from Greg Schafer.
76039
76040 2002-11-23  Jim Meyering  <jim@meyering.net>
76041
76042         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
76043         Use `unsigned', not `int', as type of index.
76044
76045         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
76046
76047         * lib/fsusage.c: Remove unneeded parentheses around operands of
76048         `defined'.
76049
76050 2002-11-22  Paul Eggert  <eggert@twinsun.com>
76051
76052         * lib/quotearg.h: Allow multiple inclusion by surrounding with
76053         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
76054         so that we can be included first.
76055         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
76056         * lib/quotearg.c: Include quotearg.h immediately after config.h.
76057         No need to include stddef.h or sys/types.h any more.
76058         Surround local include files with "", not "<>".
76059         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
76060         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
76061         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
76062         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
76063         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
76064         (ISPRINT): Remove; no longer needed now that we assume C89.
76065
76066         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
76067         Preserve errno.
76068
76069         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
76070         quotearg_char): Use SIZE_MAX rather than
76071         (size_t) -1 when we are talking about "infinity".
76072
76073         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
76074
76075 2002-11-22  Paul Eggert  <eggert@twinsun.com>
76076
76077         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
76078         hint that one should use `if (! x) abort ();' rather than `assert
76079         (x);', and anyway it's one less thing to worry about configuring.
76080         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
76081         hash_rehash, hash_insert): Use abort rather than assert.
76082
76083 2002-11-22  Bruno Haible  <bruno@clisp.org>
76084
76085         * lib/safe-read.h: Assume C89. Add comments.
76086         (safe_read): Change return type to size_t.
76087         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
76088         byte counts > SSIZE_MAX correctly.
76089         * lib/safe-write.h: New file.
76090         * lib/safe-write.c: New file.
76091         * lib/full-read.h: New file.
76092         * lib/full-read.c: New file.
76093         * lib/full-write.h: Assume C89. Add comments.
76094         * lib/full-write.c: Include safe-write.h.
76095         (full_write): Rewritten to use safe_write.
76096         Suggested by Jim Meyering and Paul Eggert.
76097
76098 2002-11-21  Jim Meyering  <jim@meyering.net>
76099
76100         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
76101
76102         Merge in changes from the coreutils.
76103
76104         2002-09-25  Paul Eggert  <eggert@twinsun.com>
76105         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
76106         <stdint.h>.
76107         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
76108         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
76109         int.  Work more efficiently if X is the same width as uintmax_t.
76110         Do not compare X to -1, to avoid bogus compiler warning.
76111         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
76112         Don't assume that f_frsize and f_bsize are the same type.
76113
76114         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
76115         warning on FreeBSD.
76116
76117         * lib/makepath.c (make_path): Restore umask *before* creating the final
76118         component.
76119         (make_path): Minor reformatting.
76120
76121         * lib/xmalloc.c: Adjust to work with new autoconf macros,
76122         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
76123         HAVE_MALLOC/HAVE_REALLOC.
76124
76125         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
76126         dummy ones.  At least on GNU/Linux systems, `auto' means something
76127         else.
76128         From Michael Stone.
76129
76130 2002-11-21  Bruno Haible  <bruno@clisp.org>
76131
76132         Remove case insensitive option matching.
76133         * lib/argmatch.h (argcasematch): Remove declaration.
76134         (ARGCASEMATCH): Remove macro.
76135         (__xargmatch_internal): Remove case_sensitive argument.
76136         (XARGMATCH): Update.
76137         (XARGCASEMATCH): Remove macro.
76138         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
76139         case_sensitive argument.
76140         (argcasematch): Remove function.
76141         (__xargmatch_internal): Remove case_sensitive argument.
76142         (main): Use XARGMATCH instead of XARGCASEMATCH.
76143
76144         * lib/xmalloc.c: Change compile-time error message. Add comment about
76145         required autoconf version.
76146
76147 2002-11-20  Paul Eggert  <eggert@twinsun.com>
76148
76149         Merge argmatch cleanups from Bison.  Assume C89.
76150
76151         * lib/argmatch.c: Include config.h here, not in argmatch.h.
76152         Include stdlib.h, for EXIT_FAILURE.
76153         Always include <string.h>, since we assume C89.
76154         (EXIT_FAILURE): Remove pre-C89 bug workaround.
76155         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
76156         Include <stddef.h> instead, since it's all we need for size_t.
76157         (PARAMS): Remove.  All uses removed.
76158         (ARRAY_CARDINALITY): Do not bother to #undef.
76159         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
76160         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76161         Remove unnecessary parentheses.
76162         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76163         Insert necessary parentheses.
76164         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
76165         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
76166
76167 2002-11-19  Bruno Haible  <bruno@clisp.org>
76168
76169         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
76170         * lib/mbswidth.h: Include <stddef.h>, for size_t.
76171
76172         * lib/mbswidth.h (PARAMS): Remove macro.
76173         (mbswidth, mbsnwidth): Use ANSI C function declarations.
76174         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
76175
76176         * lib/gcd.h (PARAMS): Remove macro.
76177         (gcd): Use ANSI C function declarations.
76178         * lib/gcd.c (gcd): Likewise.
76179
76180 2002-11-15  Bruno Haible  <bruno@clisp.org>
76181
76182         * lib/strcspn.c: Include <stddef.h>.
76183         (strcspn): Use ANSI C function declaration. Change return type to
76184         size_t. Use NULL.
76185         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
76186         (strpbrk): Use NULL.
76187         * lib/strpbrk.h (PARAMS): Remove macro.
76188         (strpbrk): Use ANSI C function declaration.
76189         * lib/strstr.c: Don't include <sys/types.h>.
76190         * lib/strstr.h (PARAMS): Remove macro.
76191         (strstr): Use ANSI C function declarations.
76192
76193 2002-11-14  Karl Berry  <karl@gnu.org>
76194
76195         * config/mkinstalldirs: `do' on separate line, instead of
76196         `for var; do'.
76197
76198 2002-11-06  Bruno Haible  <bruno@clisp.org>
76199
76200         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
76201         * lib/gcd.c (gcd): Likewise.
76202
76203 2002-11-05  Bruno Haible  <bruno@clisp.org>
76204
76205         * lib/gcd.h: New file, from gettext-0.11.5.
76206         * lib/gcd.c: New file, from gettext-0.11.5.
76207
76208 2002-11-05  Bruno Haible  <bruno@clisp.org>
76209
76210         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76211         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76212         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76213         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76214
76215         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
76216         <libintl.h>.
76217         * lib/makepath.c: Include gettext.h instead of <locale.h> and
76218         <libintl.h>.
76219
76220         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
76221         * lib/human.c: Include gettext.h instead of <libintl.h>.
76222         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
76223         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
76224         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
76225         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
76226         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
76227         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
76228         (textdomain): Remove definition.
76229         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
76230
76231         * lib/long-options.c: Remove include of <libintl.h> and definition of
76232         _.
76233         * lib/same.c: Remove include of <libintl.h> and definition of _.
76234
76235 2002-11-04  Owen Taylor  <otaylor@redhat.com>
76236
76237         * lib/config.charset: A few additions for Solaris.
76238
76239 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76240
76241         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
76242         * lib/localcharset.c (locale_charset): Declare as extern "C".
76243
76244 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76245
76246         * lib/config.charset: msdos in uk_UA uses CP1125.
76247
76248 2002-11-04  Bruno Haible  <bruno@clisp.org>
76249
76250         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
76251         * lib/strcase.h: New file, from GNU gettext-0.11.5.
76252         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
76253         * lib/strstr.h: New file, from GNU gettext-0.11.5.
76254         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
76255
76256 2002-11-04  Bruno Haible  <bruno@clisp.org>
76257
76258         * lib/localcharset.c (locale_charset): Don't return an empty string.
76259
76260 2002-11-04  Bruno Haible  <bruno@clisp.org>
76261
76262         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
76263         aliases.
76264
76265 2002-11-04  Bruno Haible  <bruno@clisp.org>
76266
76267         * lib/config.charset: Update for newest glibc. Add canonical names
76268         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
76269
76270 2002-11-04  Bruno Haible  <bruno@clisp.org>
76271
76272         * lib/config.charset: Add support for NetBSD.
76273
76274 2002-11-04  Bruno Haible  <bruno@clisp.org>
76275
76276         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
76277
76278 2002-11-01  Bruno Haible  <bruno@clisp.org>
76279
76280         * configure.in: Add AC_CONFIG_AUX_DIR call.
76281         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
76282         test/Makefile.
76283         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
76284
76285 2002-09-28  Karl Berry  <karl@gnu.org>
76286
76287         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
76288         installed automake until the next release, since changes have been
76289         made.
76290
76291 2002-09-25  Karl Berry  <karl@gnu.org>
76292
76293         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
76294         * lib/getopt*: copy from libc/posix.
76295         * lib/gettext.h: copy from gettext.
76296         * lib/.cppi-disable: add strdup.c, gettext.h.
76297
76298 2002-09-25  Karl Berry  <karl@gnu.org>
76299
76300         * config/srclist.txt: enable gettext.h check.
76301         * config/config.{guess,sub}: update from prep.
76302         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
76303                 from automake 1.6.3.
76304         See srclist*.
76305
76306 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
76307
76308         * regex.c (PATFETCH): Remove the translating fetch.
76309         (PATFETCH_RAW): Rename to PATFETCH.
76310         (set_image_of_range): New fun.
76311         (SET_RANGE_TABLE_WORK_AREA): Use it.
76312         (regex_compile): Don't translate the pattern chars so eagerly.
76313         Only do it when inserting an `exactn' bytecode or when handling
76314         a char-range.
76315         (mutually_exclusive_p): Avoid empty statement.
76316
76317 2002-07-06  Jim Meyering  <meyering@lucent.com>
76318
76319         * m4/README: Don't mention Makefile.am.in.
76320         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
76321
76322 2002-07-01  Jim Meyering  <meyering@lucent.com>
76323
76324         * lib/c-stack.c: Include sys/time.h.
76325         From Volker Borchert.
76326
76327 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76328
76329         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
76330
76331 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76332
76333         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
76334         New macro.  Use it uniformly instead of
76335         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
76336         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
76337         reported by Vin Shelton.
76338
76339 2002-06-22  Paul Eggert  <eggert@twinsun.com>
76340
76341         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
76342         Do not assume SA_SIGINFO behavior.
76343         Bug reported by Jim Meyering on NetBSD 1.5.2.
76344
76345 2002-06-22  Jim Meyering  <meyering@lucent.com>
76346
76347         * m4/c-stack.m4: New file, from diffutils-2.8.2.
76348         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
76349
76350         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
76351         now that configure.ac uses AC_GNU_SOURCE.
76352         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
76353         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
76354
76355         Update to latest tools.  Suggestions from Paul Eggert.
76356         * m4/stdbool.m4: New file, from diffutils-2.8.2.
76357         * m4/gnu-source.m4: Update from diffutils-2.8.2.
76358         * m4/fnmatch.m4: Likewise.
76359         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
76360         to AC_HEADER_STDBOOL
76361
76362 2002-06-22  Jim Meyering  <meyering@lucent.com>
76363
76364         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
76365         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
76366
76367 2002-06-22  Jim Meyering  <meyering@lucent.com>
76368
76369         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
76370
76371         * lib/exitfail.c, exitfail.h: Likewise.
76372         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
76373
76374         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
76375         of fnmatch.h.
76376         (EXTRA_DIST): Add fnmatch_loop.c.
76377         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
76378
76379         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
76380         * lib/fnmatch.c: Update from diffutils-2.8.2.
76381         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
76382         * lib/fnmatch.h: Remove file.
76383
76384 2002-06-21  Jim Meyering  <meyering@lucent.com>
76385
76386         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
76387         * m4/mbrtowc.m4: Likewise.
76388
76389         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
76390         * m4/mbswidth.m4: Reflect name change:
76391         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
76392         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76393
76394         * m4/lib-link.m4: Update from gettext-0.11.2.
76395         * m4/gettext.m4: Likewise.
76396
76397         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
76398         From Alfred M. Szmidt.
76399
76400 2002-06-18  Paul Eggert  <eggert@twinsun.com>
76401
76402         * lib/file-type.h: Report an error if neither S_ISREG nor
76403         S_IFREG is defined, instead of using a test specific to glibc
76404         2.2.  This should be safe, since POSIX requires S_ISREG and
76405         Unix Version 7 had S_IFREG.  We don't need to check for
76406         <sys/types.h> since we don't use any symbols that it defines.
76407
76408 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
76409
76410         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
76411         $@-t, so that each temporary file name is unique and valid in the first
76412         8 characters, for operation under DOS.
76413
76414 2002-06-15  Paul Eggert  <eggert@twinsun.com>
76415
76416         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
76417
76418 2002-06-15  Jim Meyering  <meyering@lucent.com>
76419
76420         Work even with DJGPP 2.03, which lacks support for symlinks.
76421         From Richard Dawe.
76422         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
76423         is defined.
76424         * lib/lchown.c (S_ISLNK): Likewise.
76425
76426 2002-06-15  Jim Meyering  <meyering@lucent.com>
76427
76428         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
76429         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
76430         have been included before this file.
76431
76432 2002-06-14  Jim Meyering  <meyering@lucent.com>
76433
76434         * lib/file-type.h: Use the version from diffutils-2.8.2.
76435         * lib/file-type.c: Likewise.
76436
76437 2002-06-07  Jim Meyering  <meyering@lucent.com>
76438
76439         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
76440         They're needed at least for NetBSD 1.5.2.
76441         ($statxfs_includes): Include those same headers.
76442         ($statxfs_includes): Include sys/vfs.h if available.
76443         ($statxfs_includes): Likewise for sys/statvfs.h.
76444         Check for the following members in both structs statfs and statvfs:
76445         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
76446
76447 2002-06-01  Jim Meyering  <meyering@lucent.com>
76448
76449         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
76450         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
76451
76452 2002-05-28  Jim Meyering  <meyering@lucent.com>
76453
76454         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
76455         Reported by Volker Borchert.
76456
76457 2002-05-27  Jim Meyering  <meyering@lucent.com>
76458
76459         Fix a problem seen only on nonconforming systems whereby ls.c's
76460         use of localtime, and then of gettimeofday would cause trouble:
76461         the localtime call used to initialize rpl_gettimeofday's save
76462         mechanism would clobber ls's current local time information so
76463         that in any long listing the first file would always be listed
76464         with date 1970-01-01.  Analysis by Volker Borchert.
76465
76466         * lib/gettimeofday.c (localtime): Undefine.
76467         (rpl_localtime): New function.
76468
76469 2002-05-27  Jim Meyering  <meyering@lucent.com>
76470
76471         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
76472         localtime.
76473
76474         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
76475         use the replacement function; it wouldn't resolve at link time.
76476         Reported by Volker Borchert.
76477
76478 2002-05-22  Jim Meyering  <meyering@lucent.com>
76479
76480         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
76481         file-type.h.
76482         * lib/file-type.h: New file.
76483         * lib/file-type.c (file_type): New file/function.  Extracted from
76484         diffutils.
76485
76486 2002-04-30  Jim Meyering  <meyering@lucent.com>
76487
76488         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
76489
76490 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76491
76492         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
76493
76494 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76495
76496         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
76497         Do not check for alloca.h (no longer used) or stdbool.h (was never
76498         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
76499
76500 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76501
76502         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
76503
76504 2002-04-29  Jim Meyering  <meyering@lucent.com>
76505
76506         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
76507         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
76508         Use AC_FUNC_STRNLEN here instead.
76509
76510         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
76511         With autoconf-2.53a, it's part of AC_PROG_CC.
76512
76513 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76514
76515         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
76516         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
76517
76518 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76519
76520         * lib/sig2str.h, lib/sig2str.c: New files.
76521         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
76522
76523 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76524
76525         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
76526         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
76527         of 127, since 64 is the largest conceivable number for ancient
76528         nonstandard hosts.
76529         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
76530
76531 2002-04-28  Jim Meyering  <meyering@lucent.com>
76532
76533         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
76534
76535 2002-04-24  Jim Meyering  <meyering@lucent.com>
76536
76537         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
76538         (jm_PREREQ): Use it.
76539
76540         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
76541         mach/mach.h fcntl.h.
76542         Check for this function: setlocale.
76543
76544 2002-04-24  Jim Meyering  <meyering@lucent.com>
76545
76546         * lib/gettext.h: New file, from Gettext.
76547         * lib/Makefile.am (INCLUDES): Remove -I../intl.
76548         (libfetish_a_SOURCES): Add gettext.h.
76549
76550 2002-04-16  Jim Meyering  <meyering@lucent.com>
76551
76552         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
76553         ut_pid, ut_id, ut_exit.
76554
76555 2002-04-16  Jim Meyering  <meyering@lucent.com>
76556
76557         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
76558         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
76559         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
76560
76561 2002-04-12  Jim Meyering  <meyering@lucent.com>
76562
76563         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
76564         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
76565         existence of the getmntinfo function.  Needed for Darwin 5.3.
76566
76567         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
76568         This is necessary at least on Darwin 5.3.
76569
76570         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
76571         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
76572         strnlen.o in the library, and that makes some versions of ranlib
76573         object.
76574
76575 2002-04-12  Jim Meyering  <meyering@lucent.com>
76576
76577         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
76578
76579 2002-04-09  Jim Meyering  <meyering@lucent.com>
76580
76581         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
76582         to be more precise.  Rather than saying we're checking whether the
76583         function `works', say what we're testing.
76584         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
76585         Reported by Bruno Haible.
76586
76587 2002-03-10  Jim Meyering  <meyering@lucent.com>
76588
76589         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
76590         Suggestion from Santiago Vila.
76591
76592 2002-03-08  Jim Meyering  <meyering@lucent.com>
76593
76594         * lib/rename.c: Mention that this wrapper is needed also on
76595         mips-dec-ultrix4.4 systems.
76596
76597 2002-03-02  Jim Meyering  <meyering@lucent.com>
76598
76599         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
76600         not HAVE_CLOCK_SETTIME.
76601
76602 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76603
76604         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
76605         Check for clock_settime.
76606
76607 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76608
76609         * lib/nanosleep.h: Rename to....
76610         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
76611
76612         * lib/gettime.c: New file.
76613         * lib/settime.c: New file.
76614         * lib/stime.c: Remove.
76615
76616         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
76617         timespec.h.  Remove nanosleep.h.
76618
76619 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76620
76621         * m4/acl.m4: New file.
76622         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
76623         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
76624
76625 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76626
76627         * lib/acl.c, lib/acl.h: New files.
76628         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
76629
76630 2002-02-24  Jim Meyering  <meyering@lucent.com>
76631
76632         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
76633         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
76634         cause trouble.  Reported by Nelson Beebe.
76635
76636 2002-02-23  Paul Eggert  <eggert@twinsun.com>
76637
76638         * lib/path-concat.c (xpath_concat): Reorder code to pacify
76639         compilers that don't know that xalloc_die never returns.
76640
76641 2002-02-20  Jim Meyering  <meyering@lucent.com>
76642
76643         * lib/getdate.c: Regenerate using bison-1.33.
76644
76645 2002-02-17  Jim Meyering  <meyering@lucent.com>
76646
76647         * config/config.guess (main): Don't use `head -1'; it's no longer
76648         portable. Use `sed 1q' instead.
76649
76650 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
76651
76652         * m4/codeset.m4: Upgrade to gettext-0.11.
76653         * m4/gettext.m4: Upgrade to gettext-0.11.
76654         * m4/glibc21.m4: Upgrade to gettext-0.11.
76655         * m4/iconv.m4: Upgrade to gettext-0.11.
76656         * m4/isc-posix.m4: Upgrade to gettext-0.11.
76657         * m4/lcmessage.m4: Upgrade to gettext-0.11.
76658         * m4/lib-ld.m4: New file, from gettext-0.11.
76659         * m4/lib-link.m4: New file, from gettext-0.11.
76660         * m4/lib-prefix.m4: New file, from gettext-0.11.
76661         * m4/progtest.m4: Upgrade to gettext-0.11.
76662
76663 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76664
76665         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
76666         (jm_PREREQ): Use it.
76667
76668 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76669
76670         * lib/posixver.c, lib/posixver.h: New files.
76671         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76672
76673 2002-02-02  Paul Eggert  <eggert@twinsun.com>
76674             Bruno Haible  <bruno@clisp.org>
76675
76676         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
76677         (fwrite_success_callback): New declaration.
76678         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
76679         print_unicode_char. Call failure callback instead of error.
76680         (fwrite_success_callback): New function.
76681         (exit_failure_callback): New function.
76682         (fallback_failure_callback): New function.
76683         (print_unicode_char): Call unicode_to_mb.
76684
76685 2002-01-26  Jim Meyering  <meyering@lucent.com>
76686
76687         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
76688         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
76689
76690 2002-01-26  Jim Meyering  <meyering@lucent.com>
76691
76692         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
76693
76694 2002-01-22  Paul Eggert  <eggert@twinsun.com>
76695
76696         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
76697
76698 2002-01-22  Jim Meyering  <meyering@lucent.com>
76699
76700         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
76701         Otherwise, some versions of automake would omit the rule that makes
76702         Makefile from Makefile.in.
76703
76704 2002-01-21  Paul Eggert  <eggert@twinsun.com>
76705
76706         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
76707         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76708         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
76709         (memcoll): Set errno to zero if there is no error.
76710
76711         * lib/quotearg.c (quotearg_buffer_restyled):
76712         Fix bug with quoting buffers containing NUL when backslashing escapes.
76713         This bug was exposed by the other changes in this patch.
76714         (quotearg_n_options): New arg ARGSIZE.
76715         All callers changed.
76716         (quoting_options_from_style): New function.
76717         (quotearg_n_style): Use it.
76718         (quotearg_n_style_mem): New function.
76719
76720         * lib/quotearg.h (quotearg_n_style_mem): New function.
76721
76722 2002-01-19  Jim Meyering  <meyering@lucent.com>
76723
76724         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
76725         Remove useless quotes: DF_PROG="df".
76726         * m4/strnlen.m4: New file.
76727
76728 2002-01-16  Paul Eggert  <eggert@twinsun.com>
76729
76730         * lib/backupfile.c (ISDIGIT): Comment fix.
76731         * lib/getdate.y (ISDIGIT): Likewise.
76732         * lib/posixtm.c (ISDIGIT, year): Likewise.
76733         * lib/strverscmp.c (ISDIGIT): Likewise.
76734         * lib/userspec.c (ISDIGIT): Likewise.
76735
76736 2002-01-16  Jim Meyering  <meyering@lucent.com>
76737
76738         * lib/getdate.y: Add three semicolons, each just before a closing
76739         brace. Bison (as of version 1.31) no longer papers over that mistake.
76740
76741 2002-01-05  Jim Meyering  <meyering@lucent.com>
76742
76743         * lib/version-etc.c (version_etc_copyright): Update copyright year.
76744
76745 2001-12-19  Paul Eggert  <eggert@twinsun.com>
76746
76747         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
76748         not silently exit merely because the output buffer happens to
76749         have nothing pending.
76750
76751 2001-12-18  Paul Eggert  <eggert@twinsun.com>
76752
76753         See the big note in ../ChangeLog.
76754         * lib/human.c (suffixes): Prefer K to k for 1024.
76755         (generate_suffix_backwards): New function.
76756         (human_readable_inexact): Use it.
76757         * lib/xstrtol.c (__xstrtol): If there is no number but there
76758         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
76759         Accept 'K' as well as 'k'.
76760
76761 2001-12-15  Jim Meyering  <meyering@lucent.com>
76762
76763         * lib/regex.h (__restrict_arr): Update from libc.
76764
76765         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
76766         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
76767         (STREQ): Define.
76768
76769 2001-12-14  Jim Meyering  <meyering@lucent.com>
76770
76771         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
76772         Suggestion from Bruno Haible.
76773
76774 2001-12-10  Jim Meyering  <meyering@lucent.com>
76775
76776         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
76777         xrealloc, Instead, include "xalloc.h".
76778         (initbuffer): Don't cast xmalloc return value to char*.
76779         (readline): Reword comment.
76780         Don't cast xrealloc return value to char*
76781         Return NULL, not 0.
76782
76783 2001-12-09  Jim Meyering  <meyering@lucent.com>
76784
76785         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
76786         about `signed and unsigned type in conditional expression'.
76787         * lib/posixtm.c (posix_time_parse): Likewise.
76788
76789         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
76790
76791         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
76792         to avoid a pedantic warning.
76793
76794         * lib/getstr.c: Don't include assert.h.
76795         (getstr): Remove warning-evoking assertions.
76796         Return -1 if offset parameter is out of bounds.
76797         Change the type of a local from int to size_t.
76798
76799         * lib/strftime.c (my_strftime_localtime_r): Include this function
76800         definition in the `#if ! HAVE_TM_GMTOFF' block.
76801
76802         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
76803         Include xalloc.h instead.
76804
76805 2001-12-02  Jim Meyering  <meyering@lucent.com>
76806
76807         * lib/tempname.c: Don't declare getenv, thus reverting the change of
76808         2001-11-18.  It's no longer necessary, now that stdlib.h is always
76809         included.
76810
76811         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
76812         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
76813
76814 2001-11-30  Akim Demaille  <akim@epita.fr>
76815
76816         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
76817         before being defined.
76818
76819 2001-11-27  Paul Eggert  <eggert@twinsun.com>
76820
76821         * lib/quotearg.h (quotearg_n, quotearg_n_style):
76822         First arg is int, not unsigned.
76823         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
76824         (SIZE_MAX, UINT_MAX): New macros.
76825         (quotearg_n_options): Abort if N is negative.
76826         Avoid overflow check on hosts where size_t is 64 bits and int
76827         is 32 bits, as overflow is impossible there.
76828         Fix off-by-one typo that caused unnecessary reallocation.
76829
76830 2001-11-27  Jim Meyering  <meyering@lucent.com>
76831
76832         * lib/tempname.c: Merge with version from libc.
76833         * lib/regex.c: Likewise.
76834
76835         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
76836         systems for which STDC_HEADERS is 0, it was not included, resulting in
76837         a warning about an integer-to-pointer conversion problem with getenv.
76838         Reported by Volker Borchert.
76839
76840 2001-11-26  Jim Meyering  <meyering@lucent.com>
76841
76842         * lib/gtod.h: Remove file.
76843         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
76844         * lib/gettimeofday.c: Don't include gtod.h.
76845         (GTOD_init): Remove function.
76846         (rpl_gettimeofday): Do its job here instead, rather than aborting.
76847         Suggestion from Volker Borchert.
76848
76849 2001-11-23  Jim Meyering  <meyering@lucent.com>
76850
76851         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
76852         it.
76853         * lib/hash.c (struct hash_table): Define it here instead.
76854
76855 2001-11-22  Jim Meyering  <meyering@lucent.com>
76856
76857         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
76858
76859 2001-11-20  Jim Meyering  <meyering@lucent.com>
76860
76861         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
76862         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
76863
76864 2001-11-19  Jim Meyering  <meyering@lucent.com>
76865
76866         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
76867         directory.  Use "conftestXXXXXX" as the template.
76868         Suggestion from Paul Eggert.
76869
76870         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
76871         immediately, so the test doesn't mistakenly hit the max-open-files
76872         limit.
76873
76874 2001-11-18  Paul Eggert  <eggert@twinsun.com>
76875
76876         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
76877         (TEMPORARIES): New macro.
76878         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
76879         removes an artificial limitation (e.g. HP-UX 10.20, where
76880         TMP_MAX is 17576).
76881
76882 2001-11-18  Jim Meyering  <meyering@lucent.com>
76883
76884         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
76885
76886 2001-11-18  Jim Meyering  <meyering@lucent.com>
76887
76888         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
76889         on SunOS 4.
76890
76891         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
76892         files will be created before anything else.
76893
76894 2001-11-17  Paul Eggert  <eggert@twinsun.com>
76895
76896         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
76897         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
76898
76899 2001-11-17  Jim Meyering  <meyering@lucent.com>
76900
76901         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
76902         Prompted by a report from Bob Proulx.
76903
76904         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
76905         Instead, require UTILS_FUNC_MKSTEMP.
76906
76907 2001-11-17  Jim Meyering  <meyering@lucent.com>
76908
76909         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
76910         Now, that's done as part of AC_FUNC_STRTOD.
76911
76912 2001-11-17  Jim Meyering  <meyering@lucent.com>
76913
76914         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
76915         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
76916         rather than group writable.  Patch by Juan F. Codagnone.
76917
76918         * lib/readtokens.c: Remove explicit declarations of xmalloc and
76919         xrealloc, Instead, include "xalloc.h".
76920
76921         * lib/mountlist.c: Include unlocked-io.h after all system headers.
76922         Remove explicit declarations of xmalloc, xrealloc,
76923         and xstrdup.  Instead, include "xalloc.h".
76924
76925         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
76926         unlocked-io.h.
76927         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
76928         Likewise.
76929         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
76930
76931         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
76932         Reported by Padraig Brady.
76933
76934         * lib/mkstemp.c: #undef mkstemp.
76935         Include config.h.
76936         (rpl_mkstemp): Rename from mkstemp.
76937         Protoize.
76938
76939 2001-11-16  Jim Meyering  <meyering@lucent.com>
76940
76941         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
76942         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
76943         determine the amount of total physical memory, use pstat_getstatic.
76944         HPUX-11 doesn't define _SC_PHYS_PAGES.
76945         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
76946         If sysconf couldn't be used to determine the amount of available
76947         physical memory, use both pstat_getstatic and pstat_getdynamic.
76948         Based on a patch from Bob Proulx.
76949
76950 2001-11-10  Jim Meyering  <meyering@lucent.com>
76951
76952         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
76953         (jm_PREREQ): Use it.
76954
76955 2001-11-09  Jim Meyering  <meyering@lucent.com>
76956
76957         * m4/jm-macros.m4: Require autoconf-2.52f.
76958         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
76959         Use these AC_-prefixed names, not the AM_-prefixed ones.
76960
76961         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
76962
76963 2001-11-05  Jim Meyering  <meyering@lucent.com>
76964
76965         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
76966
76967 2001-11-04  Jim Meyering  <meyering@lucent.com>
76968
76969         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
76970         $DEFS.
76971
76972 2001-11-03  Jim Meyering  <meyering@lucent.com>
76973
76974         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
76975         of AC_DEFUN.
76976
76977         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
76978         know the name of the variable in the macro definition.
76979
76980 2001-11-03  Jim Meyering  <meyering@lucent.com>
76981
76982         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
76983         in argmatch_to_argument call.
76984
76985         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
76986         argument.
76987
76988         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
76989         e.g., a fault due to an attempt to free a NULL pointer.
76990
76991 2001-11-01  Jim Meyering  <meyering@lucent.com>
76992
76993         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
76994         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
76995
76996 2001-11-01  Jim Meyering  <meyering@lucent.com>
76997
76998         * lib/dirfd.c, lib/dirfd.h: New files.
76999         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
77000
77001         * lib/hash.c (hash_print) [TESTING]: Clean up.
77002
77003 2001-10-22  Paul Eggert  <eggert@twinsun.com>
77004
77005         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
77006         to avoid a warning if -Wall.
77007
77008 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
77009
77010         * README: New file
77011         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
77012         (per RMS's instructions, this is now the canonical source)
77013         * lgpl/, gpl/: New directories.
77014
77015 2001-10-21  Paul Eggert  <eggert@twinsun.com>
77016
77017         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
77018
77019 2001-10-21  Jim Meyering  <meyering@lucent.com>
77020
77021         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
77022         this code would end up calling gettext even in packages built
77023         with --disable-nls.
77024         * lib/getopt.c (_): Likewise.
77025         * lib/regex.c (_): Likewise.
77026
77027 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77028
77029         * m4/error.m4 (jm_PREREQ_ERROR):
77030         Do not invoke AC_CHECK_FUNCS with strerror_r, as
77031         AC_FUNC_STRERROR_R does that.
77032         Check for strerror declaration.
77033
77034         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
77035         are supposed to have them these days.
77036         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
77037         Merge changes from latest Autoconf CVS.
77038         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
77039         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
77040         POSIX decided to standardize on the int flavor of strerror_r.
77041
77042 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77043
77044         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
77045         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
77046         Use strerror_r that is only a macro, even if it is not a function.
77047         (strerror): Check for HAVE_DECL_STRERROR before declaring.
77048         (private_strerror): Use prototypes, not old-style function definition.
77049         (print_errno_message): New function.
77050         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
77051         char*-flavored one.
77052         (error_tail, error, error_at_line): Use it.
77053
77054 2001-10-11  Jim Meyering  <meyering@lucent.com>
77055
77056         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
77057         and quote_n (1, ... to avoid clobbering a buffer.
77058
77059 2001-10-05  Jim Meyering  <meyering@lucent.com>
77060
77061         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
77062         hash-pjw.h.
77063         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
77064         * lib/hash-pjw.h: New file.
77065
77066 2001-09-30  Jim Meyering  <meyering@lucent.com>
77067
77068         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
77069         `struct fsstat' has the `f_fstypename' member.
77070         Use that to define FS_TYPE, which is now used to make
77071         the getfsstat link test tighter.
77072
77073 2001-09-30  Jim Meyering  <meyering@lucent.com>
77074
77075         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
77076         Include <sys/ucred.h>, for Apple Darwin.
77077         Include sys/mount.h and sys/fs_types.h only if available.
77078         (FS_TYPE): Define.
77079         (read_filesystem_list): Use FS_TYPE.
77080
77081 2001-09-29  Paul Eggert  <eggert@twinsun.com>
77082
77083         * lib/exclude.c (excluded_filename): 0 -> false, since it's
77084         a boolean context.
77085
77086 2001-09-29  Jim Meyering  <meyering@lucent.com>
77087
77088         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
77089         [one-argument getmntent function]): Include stdio.h before mntent.h.
77090         SunOS 4.1.x needs it for the declaration of `FILE'.
77091         Patch by Volker Borchert.
77092
77093         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
77094         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
77095         sys/fs_types.h, and make the link-test for getfsstat guard #include
77096         directives with appropriate #if HAVE_*_H tests so that we can
77097         detect getfsstat on Apple Darwin1.3.7 systems.
77098         Reported by Nelson Beebe.
77099         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
77100
77101 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77102
77103         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77104         #defines strtoimax.  Also treat the other strto* functions
77105         like strtoimax.
77106
77107         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77108         Check for strtoul and strtoumax,
77109         as those declarations are made even in the signed case.
77110         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
77111         Likewise, for strtol and strtoimax.
77112
77113 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77114
77115         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77116         #defines strtoimax.  Also treat the other strto* functions
77117         like strtoimax.
77118
77119         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
77120         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
77121         (strtoimax, strtoumax): Do not declare if already defined as a macro.
77122
77123 2001-09-26  Jim Meyering  <meyering@lucent.com>
77124
77125         Most macros in unlocked-io.h had the wrong number of arguments.
77126         * lib/gen-uio: New script.
77127         (USE_UNLOCKED_IO): Define to 1 if not already defined.
77128         * lib/unlocked-io.hin: Remove file.
77129         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
77130         rather than trying to embed it here.
77131         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
77132         Reported by Padraig Brady.
77133
77134 2001-09-25  Volker Borchert  <bt@teknon.de>
77135
77136         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
77137         `result'.
77138
77139 2001-09-24  Jim Meyering  <meyering@lucent.com>
77140
77141         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
77142
77143 2001-09-23  Jim Meyering  <meyering@lucent.com>
77144
77145         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
77146         instead of the mere test for existence of mntent.h.  The latter
77147         would get a false-positive on AIX 3.4 systems.
77148         In the outer getmntent if-block, don't die if neither of the getmntent
77149         tests succeeds.  Instead, just fall through and continue with the
77150         remaining tests.
77151
77152 2001-09-23  Jim Meyering  <meyering@lucent.com>
77153
77154         * lib/mountlist.c: Remove useless parentheses in #if directives.
77155         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
77156         the deprecated MOUNTED symbol is no longer defined in mntent.h.
77157
77158 2001-09-22  Jim Meyering  <meyering@lucent.com>
77159
77160         * m4/gettext.m4: New file.  From gettext.
77161         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
77162         * m4/progtest.m4: Likewise
77163         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
77164         * m4/glibc21.m4: Likewise.
77165
77166         * m4/libintl.m4: Remove.  No longer used.
77167
77168 2001-09-22  Jim Meyering  <meyering@lucent.com>
77169
77170         * lib/localcharset.c: Update from latest gettext.
77171         * lib/config.charset: Likewise.
77172
77173 2001-09-20  Jim Meyering  <meyering@lucent.com>
77174
77175         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
77176         strtoimax.
77177         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
77178         strtoumax.
77179
77180 2001-09-20  Jim Meyering  <meyering@lucent.com>
77181
77182         * lib/xstrtol.c (strtoimax): Guard declaration with
77183         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
77184         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
77185         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
77186         (strtoumax): Likewise, for completeness (it wasn't necessary).
77187
77188 2001-09-17  Paul Eggert  <eggert@twinsun.com>
77189
77190         * lib/strtoimax.c (HAVE_LONG_LONG):
77191         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
77192         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
77193         to work around bug in IBM C compiler.
77194
77195 2001-09-17  Jim Meyering  <meyering@lucent.com>
77196
77197         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
77198         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
77199         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
77200         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
77201         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
77202         whenever the right hand side need not be expanded by the shell.
77203
77204 2001-09-16  Paul Eggert  <eggert@twinsun.com>
77205
77206         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
77207         library.  It's not correct, as some older glibcs are buggy.
77208         fnmatch wasn't fixed until glibc 2.2.
77209
77210         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
77211         special shell magic here.
77212
77213 2001-09-16  Jim Meyering  <meyering@lucent.com>
77214
77215         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
77216         * m4/jm-macros.m4: Require it.
77217
77218 2001-09-16  Jim Meyering  <meyering@lucent.com>
77219
77220         * lib/mkdir.c: New file.
77221
77222 2001-09-15  Jim Meyering  <meyering@lucent.com>
77223
77224         * m4/jm-macros.m4: Check for help2man.
77225
77226 2001-09-11  Jim Meyering  <meyering@lucent.com>
77227
77228         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
77229         The body, by Paul Eggert, was moved here from configure.in.
77230         * m4/jm-macros.m4: Require UTILS_HOST_OS.
77231
77232 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77233
77234         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
77235         (jm_PREREQ): Use it.
77236
77237 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77238
77239         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
77240         Use ssize_t, not int, to store result of readlink.
77241         Check for ssize_t overflow as well as size_t overflow,
77242         as POSIX says the result of readlink is implementation-defined
77243         when ssize_t overflows.
77244         Remove unnecessary cast to char*.
77245         Use free+malloc instead of realloc, as the storage doesn't need
77246         to be preserved and it's clearer and can be more efficient that way.
77247         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
77248         * lib/xreadlink.h (xreadlink): Update prototype.
77249
77250 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77251
77252         * lib/xgetcwd.c: Revert some of the previous change; intead,
77253         fix the HAVE_GETCWD_NULL code to behave more like the
77254         !HAVE_GETCWD_NULL code used to.
77255
77256         Include "xalloc.h".
77257         (xgetcwd): Do not return NULL when memory is exhausted; instead,
77258         invoke xalloc_die.
77259
77260 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77261
77262         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
77263         sys/param.h, as pathmax.h includes them.
77264
77265 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77266
77267         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
77268         (jm_PREREQ_XGETCWD): New macro.
77269
77270         * m4/getcwd.m4: New file.
77271
77272 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77273
77274         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
77275         like the HAVE_GETCWD_NULL code.
77276         Include pathmax.h if not HAVE_GETCWD.
77277         Do not include xalloc.h.
77278         (INITIAL_BUFFER_SIZE): New symbol.
77279         Do not use xmalloc / xrealloc, since the caller is responsible for
77280         handling errors.  Preserve errno around `free' during failure.
77281         Do not overrun buffer when using getwd.
77282
77283 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77284
77285         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
77286         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
77287         getcwd (NULL, 0).
77288
77289 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77290
77291         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
77292         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
77293         spotted by Jim Meyering.
77294
77295 2001-09-03  Jim Meyering  <meyering@lucent.com>
77296
77297         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
77298         failure.
77299
77300 2001-09-02  Jim Meyering  <meyering@lucent.com>
77301
77302         * lib/error.c: Update from GNU libc.
77303
77304 2001-09-01  Jim Meyering  <meyering@lucent.com>
77305
77306         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
77307         Used by df.
77308
77309 2001-09-01  Jim Meyering  <meyering@lucent.com>
77310
77311         * lib/xreadlink.c: New file.
77312         * lib/xreadlink.h: New file.
77313         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
77314         xreadlink.h.
77315
77316         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
77317         doesn't conflict with sparc Solaris 7's definition in
77318         /usr/include/sys/int_types.h.
77319
77320         * lib/exclude.c: Use `""', not `<>' to #include non-system header
77321         files.
77322         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
77323         and strncasecmp as r-values.  Unixware didn't have declarations.
77324
77325 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77326
77327         * lib/xstrtol.h: Add copyright notice.
77328         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
77329         LONGINT_INVALID_SUFFIX_CHAR.
77330
77331 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77332
77333         * lib/xstrtol.c (strtoimax): New decl.
77334
77335 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77336
77337         * lib/xgetcwd.c: Don't include pathmax.h.
77338         Include stdlib.h and unistd.h if available.
77339         Include xalloc.h.
77340         (xmalloc, xstrdup, free): Remove decls.
77341         (xgetcwd): Don't assume sizes fit in unsigned.
77342         Check for overflow when computing sizes.
77343         Simplify reallocation code.
77344
77345 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77346
77347         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
77348         a directory's st_size can have an arbitrary value, so the old
77349         usage could waste an arbitrary amount of memory.  All uses
77350         changed.
77351         * lib/savedir.h: Update prototype.
77352
77353 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77354
77355         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
77356
77357         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
77358         old strtoimax.c.
77359
77360         Also, make the following further changes to make this file's
77361         configuration more similar to that of strtol.c:
77362         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
77363         (strtoumax, uintmax_t, strtoull, strtol): Remove.
77364         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
77365         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
77366         changed to signed values.
77367
77368         And make the following changes as well:
77369         Fix copyright notice, as 1999 was missing.
77370         (verify): New macro.
77371         (strtoimax): Check sizes at compile-time, not run-time.
77372         Prefer strtol to strtoll if both work.
77373         (main): Remove; it was not that useful and was a pain to maintain.
77374
77375         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
77376
77377 2001-08-31  Jim Meyering  <meyering@lucent.com>
77378
77379         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
77380         Use an initial, malloc'd, buffer of length 128 rather than
77381         a statically allocated one of length 1024.
77382
77383 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77384
77385         Simplify code, partly by assuming autoconf 2.52 semantics.
77386
77387         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
77388
77389         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
77390         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
77391         All uses removed.
77392         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
77393         Move AC_REQUIRE to next-to-top level, to avoid confusion.
77394         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
77395         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
77396         jm_AC_HEADER_INTTYPES_H.
77397         * m4/jm-macros.m4 (jm_MACROS): Likewise.
77398
77399         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
77400
77401         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77402         Quote first arg of AC_DEFUN.
77403         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
77404         since they are needed to parse the include file even if we need
77405         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
77406         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
77407         but with opposite signedness.
77408
77409 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77410
77411         Merge 'exclude' changes from tar 1.13.22.
77412         This fixes one or two unlikely storage allocation overflow bugs,
77413         but doesn't change user-visible behavior otherwise.
77414
77415 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77416
77417         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
77418         (jm_PREREQ_EXCLUDE): New macro.
77419
77420 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77421
77422         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
77423         tm to be declared.
77424
77425 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77426
77427         * lib/hash.c: Remove '2001' from copyright notice.
77428
77429 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77430
77431         * lib/full-write.h: New file.
77432         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
77433         * lib/full-write.c: Correct credits, as cccp.c no longer
77434         exists and anyway it was so heavily changed from the old cccp
77435         code as to be unrecognizable.  Include full-write.h.
77436         (full_write): Return size_t, with short writes meaning failure.
77437         All callers changed.  This fixes a bug with large buffers
77438         on 64-bit hosts.
77439         * lib/utime.c: Include full-write.h.
77440
77441 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77442
77443         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
77444         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
77445         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
77446         Include if available.
77447         (<xalloc.h>): Include
77448         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
77449         (verify): New macro.  Use it to verify that EXCLUDE macros do not
77450         collide with FNM macros.
77451         (struct patopts): New struct.
77452         (struct exclude): Use it, as exclude patterns now come with options.
77453         (new_exclude): Support above changes.
77454         (new_exclude, add_exclude_file):
77455         Initial size must now be a power of two to simplify overflow checking.
77456         (free_exclude, fnmatch_no_wildcards): New function.
77457         (excluded_filename): No longer requires options arg, as the options
77458         are determined by add_exclude.  Now returns bool, not int.
77459         (excluded_filename, add_exclude):
77460         Add support for the fancy new exclusion options.
77461         (add_exclude, add_exclude_file): Now takes int options arg.
77462         Check for arithmetic overflow when computing sizes.
77463         (add_exclude_file): xrealloc might modify errno, so don't
77464         realloc until after errno might be used.
77465
77466         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
77467         New macros.
77468         (free_exclude): New decl.
77469         (add_exclude, add_exclude_file): Now takes int options arg.
77470         (excluded_filename): No longer requires options arg, as the options
77471         are determined by add_exclude.  Now returns bool, not int.
77472
77473 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77474
77475         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
77476
77477 2001-08-27  Jim Meyering  <meyering@lucent.com>
77478
77479         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
77480
77481         * lib/version-etc.c (N_): Remove definition.
77482         Revert most of last change.
77483         Instead, simply don't mark the `Copyright...' string for translation.
77484         Based on advice from Paul Eggert.
77485
77486         * lib/strtoxmax.c: Tweak comment.
77487
77488 2001-08-26  Jim Meyering  <meyering@lucent.com>
77489
77490         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
77491
77492         * m4/xstrtoimax.m4: New file.
77493         * m4/xstrtoumax.m4: Add comments explaining why we
77494         AC_REPLACE_FUNCS(strtol).
77495
77496 2001-08-26  Jim Meyering  <meyering@lucent.com>
77497
77498         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
77499         of copyright with `%s' so translators don't get an untranslated
77500         message in 2002.
77501         (COPYRIGHT_YEAR): Define.
77502         (version_etc): Use fprintf rather than fputs.
77503         Suggestion from Ulrich Drepper.
77504
77505         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
77506
77507         * lib/strtoll.c: New file, from GNU libc.
77508         * lib/xstrtoimax.c: New file.
77509
77510         * lib/xstrtol.h: Add xstrtoimax.
77511         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
77512         * lib/strtoimax.c: New file.  Likewise, but first define
77513         STRTOUXMAX_SIGNED.
77514
77515         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
77516         ...
77517         * lib/strtoxmax.c: ... then renamed to this.
77518
77519 2001-08-18  Paul Eggert  <eggert@twinsun.com>
77520
77521         * m4/inttypes.m4: Add AC_PREREQ(2.13).
77522         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
77523         (jm_AC_TYPE_INTMAX_T): New macro.
77524         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
77525
77526         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
77527
77528         * m4/longlong.m4: Renamed from ulonglong.m4.
77529         * m4/inttypes.m4: Renamed from inttypes_h.m4.
77530         * m4/uintmax_t.m4: Removed.
77531
77532 2001-08-13  Paul Eggert  <eggert@twinsun.com>
77533
77534         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
77535         Port to Solaris 8, where 'sed' requires a space after the 'r'
77536         command, and where sh dislikes "$/".  Clean up the spacing a bit.
77537         Redirect output to $tmp just once.
77538
77539 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
77540
77541         * lib/addext.c (<errno.h>): Include.
77542         (errno): Declare if not defined.
77543         (addext): Work correctly when pathconf returns -1 and leaves
77544         errno alone because there is no limit.  Also, work even if
77545         pathconf returns a value greater than SIZE_MAX.
77546
77547 2001-08-12  Jim Meyering  <meyering@lucent.com>
77548
77549         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
77550         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
77551         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
77552         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
77553         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
77554         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
77555         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
77556         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
77557         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
77558         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
77559         utime.m4, utimes.m4, xstrtoumax.m4:
77560         Quote the first argument in each use of AC_DEFUN.
77561
77562 2001-08-12  Jim Meyering  <meyering@lucent.com>
77563
77564         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
77565         Simply `return getcwd (NULL, 0);'.
77566         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
77567         Use 1300 as initial value for length, not PATH_MAX.
77568
77569         * lib/pathmax.h: Clean up cpp syntax.
77570
77571 2001-08-12  Jim Meyering  <meyering@lucent.com>
77572
77573         * lib/gettimeofday.c: New file.
77574         * lib/gtod.h: New file.
77575         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
77576
77577 2001-08-05  Jim Meyering  <meyering@lucent.com>
77578
77579         * m4/jm-macros.m4: Require autoconf-2.52.
77580
77581 2001-08-04  Jim Meyering  <meyering@lucent.com>
77582
77583         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
77584         stmt, to get in sync with glibc.
77585
77586 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77587
77588         The following changes are from gettext 0.10.39 as maintained by
77589         Bruno Haible.
77590
77591         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
77592         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
77593         with inverted sense.  All uses changed.
77594
77595         * lib/mbswidth.c: Don't include <limits.h>.
77596         Include <stdlib.h> and <string.h> unconditionally.
77597         (iswcntrl, mbsinit, ISCNTRL): New macros.
77598         (mbsnwidth): Use K&R style function declarations.
77599         Don't bother checking for MB_LEN_MAX == 1, since the compiler
77600         can optimize it when MB_CUR_MAX == 1.
77601         The width of control characters is zero, not 1.
77602
77603 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77604
77605         The following changes are from gettext 0.10.39 as maintained by
77606         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
77607
77608         * m4/codeset.m4: Upgrade to serial AM1.
77609         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
77610         all uses changed.  Quote first arg of AC_DEFUN.
77611         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
77612
77613         * m4/iconv.m4: Upgrade to serial AM2.
77614         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
77615         Add --with-libconv-prefix.
77616         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
77617         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
77618         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
77619         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
77620         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
77621
77622         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
77623         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
77624         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
77625         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
77626         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
77627         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
77628         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
77629         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
77630         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77631
77632         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
77633         string.h any more.
77634
77635         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
77636         not the default value.
77637
77638         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
77639         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
77640         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
77641         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
77642         Also check for iswcntrl, used for wcwidth fallback.
77643         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
77644         to Autoconf 2.13.
77645
77646 2001-08-03  Jim Meyering  <meyering@lucent.com>
77647
77648         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
77649         as it was in the original.  Reported by Paul Eggert.
77650
77651 2001-07-16  Jim Meyering  <meyering@lucent.com>
77652
77653         * m4/gettimeofday.m4: New file.
77654         Prompted by a report from Bernhard Baehr.
77655
77656 2001-07-15  Jim Meyering  <meyering@lucent.com>
77657
77658         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
77659         stuff. Now it's in ../Makefile.cfg.
77660
77661 2001-07-15  Jim Meyering  <meyering@lucent.com>
77662
77663         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
77664         (BUILT_SOURCES): Add unlocked-io.h.
77665         (io_functions): Define.
77666         (unlocked-io.h): New rule.
77667         (DISTCLEANFILES): Add unlocked-io.h.
77668         (all-local): Depend on unlocked-io.h, to ensure it is created.
77669
77670         * lib/unlocked-io.hin: New file
77671
77672         * lib/regex.c: Update from glibc.
77673
77674 2001-07-05  Jim Meyering  <meyering@lucent.com>
77675
77676         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
77677         recommendation.
77678         (libfetish_a_SOURCES): Put all .h files here instead.
77679         Remove a thus-exposed (better checks in automake) duplicate and
77680         two unnecessary .h files.
77681
77682 2001-07-04  Jim Meyering  <meyering@lucent.com>
77683
77684         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
77685         that generates jm-glibc-io.m4 so that it doesn't trigger any make
77686         distcheck failure.
77687
77688 2001-07-02  Jim Meyering  <meyering@lucent.com>
77689
77690         The following changes were prompted by suggestions from Bruno Haible.
77691
77692         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
77693         is now generated.
77694         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
77695         definition of EXTRA_DIST.
77696         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
77697         ensure that the generated file is created/updated whenever the list
77698         of $(unlocked_functions) is changed.
77699         (jm-glibc-io.m4): New rule.
77700         (unlocked-io.h): New rule -- currently unused.
77701
77702 2001-06-24  Jim Meyering  <meyering@lucent.com>
77703
77704         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
77705         unmatched right bracket, rather than kludging it with an extra,
77706         falsely-matching quote in a comment.  Patch by Akim Demaille.
77707
77708 2001-06-11  Jim Meyering  <meyering@lucent.com>
77709
77710         * lib/regex.c: Update from GNU libc.
77711
77712 2001-05-27  Jim Meyering  <meyering@lucent.com>
77713
77714         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
77715         Check for ut_type in struct utmp.
77716
77717 2001-05-27  Jim Meyering  <meyering@lucent.com>
77718
77719         * lib/readutmp.h (UT_TYPE): Define.
77720
77721 2001-05-24  Jim Meyering  <meyering@lucent.com>
77722
77723         * lib/argmatch.c: Include "quote.h".
77724         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
77725         quote function.  Reported by Göran Uddeborg.
77726
77727 2001-05-22  Jim Meyering  <meyering@lucent.com>
77728
77729         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
77730         now that we use the package-supplied version unconditionally.
77731         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
77732
77733 2001-05-21  Jim Meyering  <meyering@lucent.com>
77734
77735         * m4/regex.m4: Change a couple backticks to single quotes to avoid
77736         shell syntax errors.
77737
77738 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77739
77740         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
77741
77742 2001-05-20  Paul Eggert  <eggert@twinsun.com>
77743
77744         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
77745         Don't bother to check library strftime, since
77746         we'll be using our own my_strftime function anyway.
77747         Define my_strftime instead of strftime.
77748
77749 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
77750
77751         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
77752         which is not yet declared.
77753
77754 2001-05-15  Jim Meyering  <meyering@lucent.com>
77755
77756         * m4/regex.m4: Use proper quoting so brackets appear in the test
77757         program.
77758         Reported by, and with help from, Bruno Haible.
77759
77760 2001-05-13  Jim Meyering  <meyering@lucent.com>
77761
77762         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
77763         undefined.
77764
77765 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77766
77767         dirname code cleanup.  base_name now behaves more compatibly
77768         with POSIX basename when given file names that have trailing
77769         slashes, and similarly for dir_name.  Add new primitives
77770         base_len and dir_len.  Put the directory-name-related decls
77771         into dirname.h.
77772
77773         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
77774         * lib/backupfile.c (base_name): Likewise.
77775         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
77776         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
77777         * lib/makepath.c (strip_trailing_slashes): Likewise.
77778         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
77779         ISSLASH): Likewise.
77780         * lib/rename.c (strip_trailing_slashes): Likewise.
77781         * lib/same.c (base_name): Likewise.
77782         * lib/stripslash.c (ISSLASH): Likewise.
77783
77784         * lib/addext.c: Include <dirname.h> after size_t is defined.
77785         * lib/backupfile.c: Likewise.
77786
77787         * lib/addext.c (addext): Use base_len to trim redundant
77788         trailing slashes instead of doing it ourselves.
77789         But do not trim the last slash if it is not redundant.
77790
77791         * lib/backupfile.c (find_backup_file_name,
77792         max_backup_version): Use base_len instead of rolling it ourselves.
77793         Handle the case of "" and (on DOS) "C:" correctly.
77794
77795         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
77796         needed. Include <string.h>, <dirname.h>.
77797         (base_name): Allow file names ending in slashes, other than names
77798         that are all slashes.  In this case, return the basename followed
77799         by the slashes.  This is more general, and can be used in places
77800         where the original base_name purposely had an assertion failure.
77801         (base_len): New function.
77802
77803         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
77804         Do not include <assert.h>; no longer needed.
77805         Include xalloc.h.
77806         (memrchr): Remove decl.
77807         (dir_name_r): Remove.
77808         (dir_len): Renamed from dirlen.  All callers changed.
77809         Rewrite in terms of base_name, for simplicity and consistency.
77810         (dir_name): Never return NULL.  All callers changed.
77811         Do not include <stdlib.h> in test program; no longer needed.
77812         return 0; is fine for test program.
77813
77814         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
77815         New macros.
77816         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
77817
77818         * lib/path-concat.c (path_concat): Use base_len to compute
77819         base length, not strlen; this means we cannot rely on memcpy
77820         to null-terminate.
77821
77822         * lib/same.c (STREQ): Remove.
77823         (same_name): Handle the case where the basename ends in trailing '/'.
77824
77825         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
77826         a slash was stripped.  Do not strip the last slash after a
77827         file system prefix.
77828
77829 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77830
77831         * lib/Makefile.am (libfetish_a_SOURCES):
77832         Add strftime.c, since we now compile it on all hosts.
77833
77834         * lib/strftime.c (my_strftime):
77835         Define to nstrftime if emacs, but only if my_strftime is not defined.
77836         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
77837         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
77838         Add one more extra argument: a nanoseconds value.
77839         All uses changed.
77840         (ns): New macro.
77841         (my_strftime function): Add %N format.
77842         (emacs_strftimeu): Renamed from emacs_strftime,
77843         with extra ut argument.
77844
77845 2001-05-09  Paul Eggert  <eggert@twinsun.com>
77846
77847         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
77848
77849 2001-04-21  Jim Meyering  <meyering@lucent.com>
77850
77851         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
77852         doesn't interfere.
77853
77854 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77855
77856         * m4/ftruncate.m4: Check for chsize.
77857         Link with ftruncate.o unconditionally if ftruncate is missing.
77858         This was required when cross-compiling to i586-mingw32msvc.
77859
77860 2001-04-08  Jim Meyering  <meyering@lucent.com>
77861
77862         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
77863         recomputed; that's necessary when the offset spans a DST transition.
77864         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
77865
77866 2001-04-02  Jim Meyering  <meyering@lucent.com>
77867
77868         * lib/regex.h, regex.c: Update from GNU libc.
77869
77870 2001-03-24  Jim Meyering  <meyering@lucent.com>
77871
77872         * m4/jm-macros.m4: Require autoconf-2.49d.
77873
77874 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
77875
77876         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
77877
77878 2001-03-19  Paul Eggert  <eggert@twinsun.com>
77879
77880         * lib/version-etc.c (version_etc_copyright): Update to 2001.
77881
77882 2001-03-17  Jim Meyering  <meyering@lucent.com>
77883
77884         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
77885         now that the version in autoconf is equivalent.
77886         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
77887
77888         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
77889         Suggestion from Akim Demaille.
77890
77891         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
77892         (jm_PREREQ_TEMPNAME): New function.
77893
77894 2001-03-16  Paul Eggert  <eggert@twinsun.com>
77895
77896         * lib/tempname.c (uint64_t): Define to uintmax_t if
77897         not defined, and if UINT64_MAX is not defined.
77898         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
77899         Reported by John David Anglin.
77900
77901 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
77902
77903         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
77904         resolve alias if codeset is empty.
77905         * lib/config.charset (BeOS): Use wildcard syntax.
77906
77907 2001-03-13  Jim Meyering  <meyering@lucent.com>
77908
77909         * lib/path-concat.c (path_concat)
77910         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
77911         concatenating e.g., `C:' and `foo'.
77912         From Bruno Haible.
77913
77914 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77915
77916         * lib/localcharset.c (locale_charset): Don't use
77917         setlocale(LC_CTYPE,NULL). Don't return NULL.
77918         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
77919
77920 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77921
77922         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
77923         support for DOS/DJGPP.
77924
77925 2001-03-01  Paul Eggert  <eggert@twinsun.com>
77926
77927         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
77928         lacks mkstemp.  Compile our own tempname.c if we compile our own
77929         mkstemp.c, as mkstemp relies on tempname.
77930
77931 2001-03-01  Jim Meyering  <meyering@lucent.com>
77932
77933         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
77934         AH_VERBATIM really does output its argument verbatim.
77935
77936 2001-02-28  Paul Eggert  <eggert@twinsun.com>
77937
77938         * lib/Makefile.am (libfetish_a_SOURCES):
77939         Add dup-safer.c, fopen-safer.c.
77940         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
77941
77942         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
77943         * lib/unistd-safer.h: New files.
77944
77945 2001-02-25  Paul Eggert  <eggert@twinsun.com>
77946
77947         The mkstemp replacement is taken from glibc 2.2.2, with some
77948         portability fixes for use outside glibc, as follows:
77949
77950         * lib/tempname.c (struct_stat64): New macro.
77951         (direxists, __gen_tempname): Use it.
77952         This avoids a portability problem with Solaris 8.
77953
77954         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
77955         (<stddef.h>, <stdint.h>, <string.h>):
77956         Include only if STDC_HEADERS || _LIBC.
77957         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
77958         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
77959         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
77960         (__set_errno): Define this macro if <errno.h> doesn't.
77961         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
77962         Define these macros if <stdio.h> doesn't.
77963         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
77964         Define these macros if <sys/stat.h>
77965         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
77966         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
77967         __xstat64): Define if not _LIBC.
77968         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
77969         (__gen_tempname): Invoke gettimeofday only if
77970         HAVE_GETTIMEOFDAY || _LIBC;
77971         otherwise, fall back on plain "time".
77972         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
77973
77974         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
77975
77976         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
77977
77978 2001-02-18  Paul Eggert  <eggert@twinsun.com>
77979
77980         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
77981
77982 2001-02-17  Paul Eggert  <eggert@twinsun.com>
77983
77984         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
77985         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
77986         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
77987         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
77988
77989 2001-02-17  Paul Eggert  <eggert@twinsun.com>
77990
77991         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
77992         Remove workaround macros for hosts that have mbrtowc but not
77993         mbstate_t, as we now insist on proper declarations for both
77994         before using mbrtowc.
77995
77996 2001-02-17  Jim Meyering  <meyering@lucent.com>
77997
77998         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
77999         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
78000         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
78001         UnixWare 7.1.1.
78002
78003         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
78004         rather than AC_CACHE_VAL.
78005
78006 2001-02-17  Jim Meyering  <meyering@lucent.com>
78007
78008         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
78009         around included file name.
78010
78011         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
78012
78013         * lib/strftime.c: Update from GNU libc (the only changes were to
78014         comments).
78015
78016 2001-02-17  Jim Meyering  <meyering@lucent.com>
78017
78018         * lib/regex.c: Update from libc.
78019
78020 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
78021
78022         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
78023         clash.
78024
78025 2001-02-16  Paul Eggert  <eggert@twinsun.com>
78026
78027         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
78028         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
78029         Reported by Mark Hounschell via Paul Eggert.
78030
78031 2001-02-07  Jim Meyering  <meyering@lucent.com>
78032
78033         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
78034
78035 2001-02-05  Jim Meyering  <meyering@lucent.com>
78036
78037         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
78038         it includes the patch required for `large file' support with at least
78039         HP-UX's 10.20 /bin/cc.
78040
78041 2001-02-03  Jim Meyering  <meyering@lucent.com>
78042
78043         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
78044         AS_IF, now that it works once again (mysteriously).
78045         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
78046
78047 2001-01-30  Jim Meyering  <meyering@lucent.com>
78048
78049         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
78050         * m4/chown.m4: Rename conftestchown to conftest.chown.
78051         * m4/rename.m4: s/conftestdir/conftest.d1/ and
78052         s/conftestdir2/conftest.d2/.
78053         * m4/utimes.m4: s/conftestdata/conftest.data/
78054         Inspired by Pavel Roskin's change in autoconf.
78055
78056 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
78057
78058         * lib/config.charset: Update for FreeBSD 4.2.
78059
78060 2001-01-27  Jim Meyering  <meyering@lucent.com>
78061
78062         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
78063         a use of AS_IF.
78064         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
78065
78066 2001-01-26  Jim Meyering  <meyering@lucent.com>
78067
78068         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
78069         quotearg.c includes it.
78070
78071 2001-01-26  Jim Meyering  <meyering@lucent.com>
78072
78073         * lib/quotearg.c: Include stddef.h.
78074         * lib/quote.c: Include stddef.h.
78075         Reported by Axel Kittenberger.
78076
78077         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
78078         line in double quotes so that it evokes a better diagnostic.
78079         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
78080         Reported by Axel Kittenberger.
78081
78082 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
78083
78084         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
78085         as if it was a `charset'.
78086
78087 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
78088
78089         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
78090         has const.
78091
78092 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
78093
78094         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
78095         to avoid a warning.  Add back 'const' to inptr.
78096
78097 2001-01-20  Jim Meyering  <meyering@lucent.com>
78098
78099         Be sure that headers are checked before used in code compiled
78100         for the type checks.
78101         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
78102         In place of that, invoke jm_CHECK_ALL_TYPES.
78103         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
78104         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
78105         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
78106         The check for ssize_t was mistakenly run before the test for unistd.h.
78107
78108         The configure-time check for stdbool.h was missing.
78109         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
78110         (jm_PREREQ_HASH): New function.
78111
78112 2001-01-17  Jim Meyering  <meyering@lucent.com>
78113
78114         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
78115         for autoconf-2.49c.
78116         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
78117
78118 2001-01-16  Jim Meyering  <meyering@lucent.com>
78119
78120         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
78121         From Bruno Haible.
78122
78123 2001-01-14  Jim Meyering  <meyering@lucent.com>
78124
78125         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
78126         foo and bar.  Create conftestdir/ in the script, not in the C code.
78127         Remove directories in the script, not in the C code.
78128         Remove conftestdir{,2} before trying to create the directory.
78129         Make the entire configure script fail if the mkdir fails.
78130
78131 2001-01-14  Jim Meyering  <meyering@lucent.com>
78132
78133         * lib/rename.c: New file.  From Volker Borchert.
78134         Include stdlib.h, string.h or strings.h, and xalloc.h.
78135         Use strip_trailing_slashes rather than open-coding it.
78136
78137 2001-01-03  Paul Eggert  <eggert@twinsun.com>
78138
78139         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
78140
78141 2001-01-03  Jim Meyering  <meyering@lucent.com>
78142
78143         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
78144         of local `inptr' to avoid warning with some system declarations of
78145         iconv.
78146
78147 2001-01-02  Volker Borchert  <bt@teknon.de>
78148
78149         * m4/rename.m4: New file.
78150         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
78151
78152 2001-01-01  Jim Meyering  <meyering@lucent.com>
78153
78154         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
78155         even on systems with utmpx.h.  It's necessary for the declaration of
78156         utmp's ut_user member.  Reported by Andreas Jaeger.
78157
78158         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
78159         available. They are required for the declarations of getgrgid and
78160         getpwuid resp.
78161         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
78162         Reported by Andreas Jaeger.
78163
78164 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
78165
78166         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
78167         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
78168         so `make install' also works in VPATH builds.
78169
78170 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
78171
78172         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
78173         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
78174         can be used in subdirectories.
78175
78176 2000-12-29  Paul Eggert  <eggert@twinsun.com>
78177
78178         * lib/modechange.c: Do not assume that mode_t uses the
78179         traditional octal encoding.  E.g. "chmod 1 FOO" should set
78180         the other-execute bit of FOO even if S_IXOTH != 1.
78181
78182         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
78183         WOTH, XOTH, ALLM): New macros.
78184         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
78185          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
78186         Use them.
78187         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
78188         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
78189         (mode_compile):
78190         No need to use uintmax_t; unsigned long is long enough.
78191         Don't bother to get suffix since we don't use it.
78192
78193 2000-12-26  Jim Meyering  <meyering@lucent.com>
78194
78195         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
78196         better with autoheader.
78197
78198 2000-12-24  Jim Meyering  <meyering@lucent.com>
78199
78200         * lib/hash.c (is_prime): Return explicit boolean values.
78201         (hash_get_first): Return NULL to appease Irix5.6's 89.
78202         Reported by Nelson Beebe.
78203
78204 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
78205
78206         * lib/localcharset.c (locale_charset): Add support for Win32.
78207
78208 2000-12-18  Paul Eggert  <eggert@twinsun.com>
78209
78210         * lib/physmem.h, lib/physmem.c: New files.
78211
78212         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
78213         (noinst_HEADERS): Add physmem.h.
78214
78215         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
78216         't' for compatibility with Solaris 8 sort.
78217
78218 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
78219
78220         * lib/config.charset: Add support for BeOS.
78221
78222 2000-12-17  Jim Meyering  <meyering@lucent.com>
78223
78224         * m4/dos.m4 (jm_AC_DOS): New file and macro.
78225         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
78226
78227 2000-12-16  Jim Meyering  <meyering@lucent.com>
78228
78229         This bug had a serious impact on chown: `chown N:M FILE' (for integer
78230         N and M) would have treated it like `chown N:N FILE'.
78231
78232         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
78233
78234 2000-12-16  Jim Meyering  <meyering@lucent.com>
78235
78236         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
78237         SHELLS_FILE to a file name that's useful on djgpp systems.
78238         Include stdlib.h.
78239         (ADDITIONAL_DEFAULT_SHELLS): Define.
78240         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
78241         Based mostly on a patch from Prashant TR.
78242
78243 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
78244
78245         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
78246         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
78247         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
78248
78249 2000-12-08  Andreas Schwab  <schwab@suse.de>
78250
78251         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
78252         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
78253
78254 2000-12-07  Jim Meyering  <meyering@lucent.com>
78255
78256         * lib/stripslash.c (ISSLASH): Define.
78257         (strip_trailing_slashes): Use ISSLASH rather than comparing against
78258         `/'.
78259         From Prashant TR.
78260
78261         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
78262         (dir_name_r): Declare this function as static.
78263         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
78264         manifest itself on a name containing a mix of slashes and
78265         backslashes.
78266         Make this function work with names starting with a DOS-style
78267         drive letter and colon prefix.
78268         (dir_name): Append `.' if necessary.
78269         Based mostly on patches from Prashant TR and Eli Zaretskii.
78270
78271         * lib/dirname.h (dir_name_r): Remove prototype.
78272
78273 2000-12-06  Paul Eggert  <eggert@twinsun.com>
78274
78275         * m4/off_t-format.m4: Remove this file.
78276         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
78277
78278 2000-12-06  Jim Meyering  <meyering@lucent.com>
78279
78280         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
78281         replacement strtoull, we may well need the replacement strtoul, too.
78282         Check for declarations of strtoul and strtoull.
78283         Check for strtol.  Mainly as a cue to cause automake to include
78284         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
78285         Check for limits.h -- strtol.c needs it.
78286
78287 2000-12-05  Jim Meyering  <meyering@lucent.com>
78288
78289         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
78290
78291 2000-12-04  Jim Meyering  <meyering@lucent.com>
78292
78293         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
78294         Also include memory.h, stdlib.h, unistd.h if appropriate.
78295         Reported by Andreas Jaeger (conflicting declaration of malloc).
78296
78297 2000-12-02  Jim Meyering  <meyering@lucent.com>
78298
78299         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
78300         * m4/jm-macros.m4 (jm_MACROS): require it.
78301
78302 2000-12-02  Jim Meyering  <meyering@lucent.com>
78303
78304         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
78305
78306 2000-12-01  Paul Eggert  <eggert@twinsun.com>
78307
78308         * lib/memrchr.c: Include <config.h> before any system include file.
78309
78310 2000-11-30  Jim Meyering  <meyering@lucent.com>
78311
78312         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
78313
78314 2000-11-30  Jim Meyering  <meyering@lucent.com>
78315
78316         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
78317
78318 2000-11-29  Paul Eggert  <eggert@twinsun.com>
78319
78320         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
78321
78322 2000-11-26  Jim Meyering  <meyering@lucent.com>
78323
78324         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
78325
78326 2000-11-22  Paul Eggert  <eggert@twinsun.com>
78327
78328         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
78329         size of (size_t) -1; it's not portable.
78330
78331 2000-11-17  Jim Meyering  <meyering@lucent.com>
78332
78333         * lib/strstr.c: Update from GNU libc.
78334
78335 2000-11-17  Akim Demaille  <akim@epita.fr>
78336
78337         * lib/obstack.h: Formatting changes.
78338         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
78339         prevent type checking.
78340         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
78341         cast the value to (void *): assigning a `foo *' to a `void *'
78342         variable is valid.
78343         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
78344
78345 2000-11-16  Jim Meyering  <meyering@lucent.com>
78346
78347         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
78348
78349 2000-11-11  Jim Meyering  <meyering@lucent.com>
78350
78351         * lib/error.c: Add a couple #includes, merging from GNU libc version.
78352
78353 2000-11-10  Jim Meyering  <meyering@lucent.com>
78354
78355         * lib/obstack.h: Update from GNU libc.
78356         * lib/obstack.c: Likewise.
78357
78358 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
78359
78360         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
78361
78362 2000-11-06  Paul Eggert  <eggert@twinsun.com>
78363
78364         * lib/getusershell.c (setusershell): Use rewind rather than
78365         fseek/fseeko, to avoid configuration hassles with fseeko.
78366         Don't bother opening SHELLS_FILE if shellstream is NULL;
78367         it's not necessary.
78368
78369 2000-11-05  Jim Meyering  <meyering@lucent.com>
78370
78371         * lib/makepath.h (make_dir): Declare.
78372         * lib/makepath.c (make_dir): Remove `static' attribute.
78373         Tweak a comment.
78374
78375 2000-11-04  Jim Meyering  <meyering@lucent.com>
78376
78377         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
78378
78379 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
78380
78381         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
78382         last one in a bucket, advance to the next bucket.
78383
78384 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
78385
78386         * lib/fnmatch.c: Do not comment out all the code if we are using
78387         the GNU C library, because in some cases we are replacing buggy
78388         code in the GNU C library itself.
78389
78390 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
78391
78392         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
78393         (regex_compile): Catch bogus \(\1\).
78394
78395 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78396
78397         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
78398         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
78399         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
78400
78401 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78402
78403         * lib/error.h, getline.h, modechange.h:
78404         Remove "2000" from Copyright line, as the file hasn't been
78405         changed this year other than in the copyright notice.
78406
78407         * lib/xalloc.h: Add "2000" to Copyright line, as this file
78408         was changed this year.
78409
78410 2000-10-29  Jim Meyering  <meyering@lucent.com>
78411
78412         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
78413         renaming.
78414         * m4/ls-mntd-fs.m4: Likewise
78415
78416 2000-10-29  Jim Meyering  <meyering@lucent.com>
78417
78418         * lib/xstat.in: Fix grammar in comment.
78419
78420 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
78421
78422         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
78423         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
78424         doesn't define __restrict_arr.
78425
78426 2000-10-28  Jim Meyering  <meyering@lucent.com>
78427
78428         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
78429         (jm_PREREQ_MEMCHR): New function.
78430
78431 2000-10-28  Jim Meyering  <meyering@lucent.com>
78432
78433         * lib/memchr.c: Update from libc.
78434         Adjust for portability:
78435         [HAVE_STDLIB_H]: Include stdlib.h.
78436         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
78437         Undef __memchr, too.
78438         [!weak_alias]: Define __memchr to memchr.
78439
78440         * lib/regex.c: Update from libc.
78441         * lib/regex.h: Likewise.
78442         * lib/getopt1.c: Likewise.
78443         * lib/memcmp.c: Likewise.
78444
78445         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
78446         Avoid using fseek, when possible -- it's broken by design.
78447         Patch by Ulrich Drepper.
78448
78449 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
78450
78451         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
78452         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
78453         Giving in to popular pressure to shut up the compiler with casts.
78454
78455 2000-10-26  Jim Meyering  <meyering@lucent.com>
78456
78457         * lib/strftime.c: Update from libc.
78458
78459 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
78460
78461         * regex.c: More `unsigned char' -> `re_char' changes.
78462         Also change several `int' into `re_wchar_t'.
78463         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
78464         (PUSH_FAILURE_POINTER): Don't cast any more.
78465         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
78466         We want GCC to complain, since this piece of code makes
78467         re_match non-reentrant, which *should* be fixed.
78468         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
78469         (EXTEND_BUFFER): Use RETALLOC.
78470         (SET_LIST_BIT): Don't cast.
78471         (re_wchar_t): New type.
78472         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
78473         that those two functions will always properly return.
78474         (IMMEDIATE_QUIT_CHECK): Cast to void.
78475         (analyse_first): Use recursion rather than an explicit stack.
78476         (re_compile_fastmap): Can't fail anymore.
78477         (re_search_2): Don't check re_compile_fastmap for failure.
78478         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
78479         Now also sets the new value (passed in a new argument).
78480         (re_match_2_internal): Use it.
78481         Also, use a new var `reg' of type size_t when looping through regs
78482         rather than reuse the inappropriate `mcnt'.
78483
78484 2000-10-25  Jim Meyering  <meyering@lucent.com>
78485
78486         * lib/obstack.c: Update from libc.
78487
78488 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
78489
78490         * regex.c (regex_compile): Change the way of handling a range from
78491         a char less than 256 to a char not less than 256.
78492
78493 2000-10-24  Andrew Innes  <andrewi@gnu.org>
78494
78495         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
78496         NT-Emacs only.
78497         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
78498         so that re_search functions only quit when callers expect them to.
78499
78500 2000-10-23  Jim Meyering  <meyering@lucent.com>
78501
78502         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
78503         wrong.  That set_locale call must not have any side effects.
78504         From Paul Eggert.
78505
78506 2000-10-22  Jim Meyering  <meyering@lucent.com>
78507
78508         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
78509         [CYCLIC]: Remove now-unused definition.
78510
78511         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
78512         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
78513         Suggestion from Ulrich Drepper.
78514
78515 2000-10-21  Jim Meyering  <meyering@lucent.com>
78516
78517         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
78518         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
78519         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
78520
78521 2000-10-21  Jim Meyering  <meyering@lucent.com>
78522
78523         * lib/dirname.c (memrchr): Declare if necessary.
78524         (dir_name): Remove the restriction that there be no
78525         trailing slashes.  Now, this code skips past them, effectively
78526         ignoring them.
78527         [TEST_DIRNAME] (main): New unit tests.
78528
78529         * lib/memrchr.c: New file from GNU libc.
78530         Undef __memrchr, too.
78531         [!weak_alias]: Define __memrchr to memrchr.
78532         Guard weak_alias use with `#ifdef weak_alias'.
78533
78534 2000-10-21  Jim Meyering  <meyering@lucent.com>
78535
78536         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
78537         (dir_name): Use dir_name_r.
78538         * lib/dirname.h (dir_name_r): Declare it.
78539
78540 2000-10-17  Jim Meyering  <meyering@lucent.com>
78541
78542         * lib/quote.h (PARAMS): Define and use.
78543         Reported by Akim Demaille.
78544
78545         * lib/getopt.c: Update from libc.
78546
78547 2000-10-16  Jim Meyering  <meyering@lucent.com>
78548
78549         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
78550         setlocale.
78551         From Jan Fedak.
78552
78553 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
78554
78555         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
78556
78557 2000-09-25  Jim Meyering  <meyering@lucent.com>
78558
78559         * lib/md5.h (rol): Define (from GnuPG).
78560
78561         * lib/sha.c: Give credit (GnuPG) where due.
78562         (M): Use rol rather than open-coding it.
78563         Add a FIXME comment.
78564
78565 2000-09-21  Jim Meyering  <meyering@lucent.com>
78566
78567         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
78568         Reported by Michael Stone.
78569
78570 2000-09-20  Jim Meyering  <meyering@lucent.com>
78571
78572         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
78573         (noinst_HEADERS): Add sha.h.
78574         Based on code from Scott G. Miller and from GnuPG.
78575
78576 2000-09-18  Jim Meyering  <meyering@lucent.com>
78577
78578         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
78579         LIBS. Otherwise, everyone ends up linking with -lelf for some
78580         configurations.
78581         Reported by Mike Stone.
78582
78583 2000-09-15  Jim Meyering  <meyering@lucent.com>
78584
78585         * lib/regex.c: Update from libc.
78586
78587 2000-09-10  Jim Meyering  <meyering@lucent.com>
78588
78589         * lib/getopt.c (_getopt_internal): Update from glibc.
78590
78591 2000-09-09  Jim Meyering  <meyering@lucent.com>
78592
78593         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
78594         think it should be used as a general replacement for isascii.
78595         * lib/fnmatch.c: Likewise.
78596         * lib/mbswidth.c: Likewise
78597         * lib/regex.c: Likewise.
78598
78599         Don't use atoi.
78600         * lib/userspec.c: Include sys/param.h and limits.h.
78601         Include xstrtol.h.
78602         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78603         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
78604         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
78605         UID, GID.  Check range.
78606
78607 2000-09-06  Jim Meyering  <meyering@lucent.com>
78608
78609         * lib/getopt.c (_getopt_internal): Update from glibc.
78610
78611 2000-08-30  Jim Meyering  <meyering@lucent.com>
78612
78613         * lib/strftime.c: Merge in changes from GNU libc.
78614
78615 2000-08-26  Jim Meyering  <meyering@lucent.com>
78616
78617         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
78618         * m4/fpending.m4: New file.
78619
78620 2000-08-26  Jim Meyering  <meyering@lucent.com>
78621
78622         * lib/closeout.c: Include "__fpending.h".
78623         (close_stdout_status): Return right away if there's nothing to flush.
78624
78625         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
78626         * lib/__fpending.c: New file.
78627         * lib/__fpending.h: New file.
78628
78629 2000-08-20  Jim Meyering  <meyering@lucent.com>
78630
78631         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
78632         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
78633         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
78634
78635 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
78636
78637         Improve fileutils installation on systems where running
78638         programs (like install) can't be unlinked.
78639         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
78640         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
78641
78642 2000-08-07  Paul Eggert  <eggert@twinsun.com>
78643
78644         Standardize on "memory exhausted" instead of "Memory exhausted"
78645         or "virtual memory exhausted".
78646         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
78647         "virtual memory exhausted".
78648         * lib/same.c (same_name): Invoke xalloc_die instead of printing
78649         our own message.
78650         * lib/userspec.c (parse_user_spec): Likewise.
78651         * lib/bumpalloc.h: comment fix
78652         * lib/same.c, userspec.c: Include xalloc.h.
78653
78654         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
78655         not char *const and pointing to a constant array.
78656         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
78657         (xrealloc): Comment fix.
78658
78659         * lib/userspec.c (parse_user_spec):
78660         Don't translate a message until just before returning,
78661         to avoid unnecessary translation.
78662
78663 2000-08-07  Jim Meyering  <meyering@lucent.com>
78664
78665         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
78666         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
78667         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
78668         getgroups.c, gethostname.c, getopt.h, group-member.c,
78669         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
78670         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
78671         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
78672         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
78673         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
78674         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
78675         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
78676         yesno.c: Back out Copyright date changes for each file with no change
78677         this year.  This eases coordination with other programs using the same
78678         source code modules.  From Paul Eggert.
78679
78680 2000-08-06  Paul Eggert  <eggert@twinsun.com>
78681
78682         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
78683         not char, for compatibility with glibc 2.1.3 strftime.c.
78684
78685 2000-08-03  Greg McGary  <greg@mcgary.org>
78686
78687         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
78688         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
78689         (EXTEND_BUFFER): Use them.
78690
78691 2000-08-01  Jim Meyering  <meyering@lucent.com>
78692
78693         * lib/dirname.c (ISSLASH): Define.
78694         (BACKSLASH_IS_PATH_SEPARATOR): Define.
78695         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
78696         both `\' and `/' may be use as path separators.
78697         Based on a patch from Prashant TR.
78698
78699 2000-07-31  Paul Eggert  <eggert@twinsun.com>
78700
78701         * lib/quotearg.c (quotearg_n_options): Don't make the initial
78702         slot vector a constant, since it might get modified.
78703
78704 2000-07-31  Jim Meyering  <meyering@lucent.com>
78705
78706         * lib/xmalloc.c: Use `virtual memory exhausted', not
78707         `Memory exhausted'.
78708         * lib/obstack.c (print_and_abort): Likewise.
78709
78710 2000-07-30  Paul Eggert  <eggert@twinsun.com>
78711
78712         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
78713         buffer, so that the caller can always quote one small
78714         component of a "memory exhausted" message in slot 0.
78715         From a suggestion by Jim Meyering.
78716
78717 2000-07-30  Jim Meyering  <meyering@lucent.com>
78718
78719         * lib/makepath.c (make_path): Quote the other instance, too.
78720
78721         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
78722         (STATIC_BUF_SIZE): Define.
78723         (quotearg_n_options): Use only statically allocated storage when
78724         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
78725         than STATIC_BUF_SIZE.
78726
78727 2000-07-29  Jim Meyering  <meyering@lucent.com>
78728
78729         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
78730         * lib/dirname.c (dir_name): Likewise.
78731
78732         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
78733         `/'.
78734
78735         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
78736         (dir_name): Assert that there are no trailing slashes.
78737
78738 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
78739
78740         * lib/mbswidth.h (mbswidth): Add a flags argument.
78741         (mbswidth): New declaration.
78742         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
78743         * lib/mbswidth.c (mbswidth): Add a flags argument.
78744         (mbsnwidth): New function.
78745
78746 2000-07-24  Jim Meyering  <meyering@lucent.com>
78747
78748         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
78749
78750 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78751
78752         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
78753
78754 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78755
78756         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
78757         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
78758         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
78759         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
78760         invoke multibyte primitives.
78761
78762 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78763
78764         * lib/quotearg.c:
78765         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
78766         so that mbstate_t is always defined.
78767
78768         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
78769         be 1 in at least one GCC installation, and this configuration
78770         error is likely to be common.  Ignoring MB_LEN_MAX hurts
78771         performance on hosts that have mbrtowc but have only unibyte
78772         locales, but I assume these hosts are rare.
78773
78774 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78775
78776         * lib/mbswidth.c (_XOPEN_SOURCE):
78777         Don't define; this causes problems on Solaris 7.
78778         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
78779
78780 2000-07-23  Jim Meyering  <meyering@lucent.com>
78781
78782         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
78783         too: getgrgid, getpwuid, getuid.
78784
78785 2000-07-23  Jim Meyering  <meyering@lucent.com>
78786
78787         * lib/basename.c (base_name): Add an assertion.
78788
78789 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
78790
78791         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
78792         shadow its mbsinit function.
78793
78794 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78795
78796         * lib/mbswidth.h: New file.
78797         * lib/mbswidth.c: New file.
78798         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
78799         (noinst_HEADERS): Add mbswidth.h.
78800
78801 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78802
78803         * lib/config.charset: Add support for FreeBSD. Improve support for
78804         HP-UX and IRIX 6.
78805
78806 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
78807
78808         * m4/mbswidth.m4: New file.
78809         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
78810
78811 2000-07-15  Jim Meyering  <meyering@lucent.com>
78812
78813         * lib/makepath.c: Include quote.h.
78814         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
78815         corresponding argument in a `quote (...)' call.
78816         Give better diagnostics.
78817
78818         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
78819         (noinst_HEADERS): Add quote.h.
78820
78821         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
78822         from tar's src/misc.c.
78823         * lib/quote.h: New file.  Prototypes for same.
78824
78825 2000-07-14  Paul Eggert  <eggert@twinsun.com>
78826
78827         From a suggestion by Bruno Haible.
78828         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
78829         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
78830         to decide whether to define the BeOS workaround macro;
78831         this adjusts to the change to AC_MBSTATE_T.
78832
78833 2000-07-14  Jim Meyering  <meyering@lucent.com>
78834
78835         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
78836         jm_AC_TYPE_UINTMAX_T.
78837
78838 2000-07-13  Paul Eggert  <eggert@twinsun.com>
78839
78840         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
78841
78842         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
78843         quotearg_buffer_restyled): Add support for
78844         clocale_quoting_style.  Undo previous change to
78845         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
78846         and "{RIGHT QUOTATION MARK}" msgids.
78847
78848 2000-07-10  Paul Eggert  <eggert@twinsun.com>
78849
78850         From a suggestion by Bruno Haible.
78851         * m4/mbstate_t.m4 (AC_MBSTATE_T):
78852         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
78853         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
78854         and mbstate_t, to a single-part test that simply defines mbstate_t.
78855         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
78856         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
78857
78858 2000-07-10  Jim Meyering  <meyering@lucent.com>
78859
78860         * m4/strerror_r.m4: Mirror the correction made in autoconf.
78861
78862         * m4/gnu-source.m4: Output to confdefs.h directly.
78863         Suggestion from Akim Demaille.
78864
78865 2000-07-09  Paul Eggert  <eggert@twinsun.com>
78866
78867         The old behavior of quoting `like this' doesn't look good with
78868         newer, ISO-style fonts.  See:
78869         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
78870
78871         Instead, quote "like this" by default.  Let the translator
78872         tailor the locale-specific quoting behavior by providing
78873         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
78874
78875         * lib/quotearg.c (N_): New macro.
78876         (gettext_default): New function.
78877         (quotearg_buffer_restyled): Use
78878         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
78879         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
78880
78881 2000-07-09  Jim Meyering  <meyering@lucent.com>
78882
78883         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
78884         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
78885
78886         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
78887         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
78888
78889 2000-07-09  Jim Meyering  <meyering@lucent.com>
78890
78891         * lib/Most files: Update copyright dates to include 2000.
78892
78893 2000-07-08  Jim Meyering  <meyering@lucent.com>
78894
78895         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
78896         if not defined.
78897         (xgethostname): Remove now-unnecessary #ifdef.
78898         Move declaration of `err' into loop where it's used.
78899
78900 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78901         and Bruno Haible  <haible@clisp.cons.org>
78902
78903         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
78904         only if the test for an object-type mbstate_t fails.  This
78905         prevents us from mistakenly reporting that mbstate_t is a
78906         system object type after we "#define mbstate_t int" to work
78907         around its lack.
78908
78909 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78910         and Bruno Haible  <haible@clisp.cons.org>
78911
78912         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
78913
78914 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78915
78916         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
78917         to strerror_r.
78918         Include <ctype.h> for use of isalpha.
78919
78920 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78921
78922         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
78923         by allocating a larger buffer. Test the gethostname return value for
78924         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
78925         returns an error and ENAMETOOLONG isn't defined.
78926
78927 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78928
78929         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
78930         dimension.
78931
78932 2000-07-04  Jim Meyering  <meyering@lucent.com>
78933
78934         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
78935         of the deprecated AC_CHECKING.
78936
78937 2000-07-04  Jim Meyering  <meyering@lucent.com>
78938
78939         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
78940         Reported by Bruno Haible.
78941
78942 2000-07-04  Jim Meyering  <meyering@lucent.com>
78943
78944         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
78945         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
78946         lacks mbrtowc.
78947
78948 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78949
78950         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
78951         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
78952
78953 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78954         and Bruno Haible  <haible@clisp.cons.org>
78955
78956         * lib/quotearg.c (mbrtowc):
78957         Assign to *pwc, and return 1 only if result is nonzero.
78958         (iswprint): Use ISPRINT when substituting our own mbrtowc.
78959
78960 2000-07-03  Jim Meyering  <meyering@lucent.com>
78961
78962         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
78963
78964 2000-07-03  Jim Meyering  <meyering@lucent.com>
78965
78966         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
78967         This is necessary to get a definition of e.g., UTMP_FILE on
78968         HP-UX 10.20.
78969         From Bob Proulx.
78970
78971 2000-07-02  Jim Meyering  <meyering@lucent.com>
78972
78973         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
78974
78975         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
78976         AC_LIBOBJ(function_name).
78977         * m4/chown.m4: Likewise.
78978         * m4/fnmatch.m4: Likewise.
78979         * m4/ftruncate.m4: Likewise.
78980         * m4/getgroups.m4: Likewise.
78981         * m4/getline.m4: Likewise.
78982         * m4/group-member.m4: Likewise.
78983         * m4/jm-macros.m4: Likewise.
78984         * m4/lstat.m4: Likewise.
78985         * m4/malloc.m4: Likewise.
78986         * m4/memcmp.m4: Likewise.
78987         * m4/nanosleep.m4: Likewise.
78988         * m4/putenv.m4: Likewise.
78989         * m4/realloc.m4: Likewise.
78990         * m4/regex.m4: Likewise.
78991         * m4/stat.m4: Likewise.
78992         * m4/strftime.m4: Likewise.
78993
78994 2000-07-02  Jim Meyering  <meyering@lucent.com>
78995
78996         * lib/quotearg.c (mbstate_t): Don't define here.
78997
78998 2000-07-02  Jim Meyering  <meyering@lucent.com>
78999
79000         * lib/nanosleep.c (SIGCONT): Define if not already defined.
79001
79002 2000-07-01  Jim Meyering  <meyering@lucent.com>
79003
79004         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
79005
79006 2000-07-01  Jim Meyering  <meyering@lucent.com>
79007
79008         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
79009         problem.
79010
79011 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79012
79013         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
79014         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
79015
79016 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79017
79018         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
79019         per change in ../m4/ls-mntd-fs.m4.
79020         (read_filesystem_list): Ignore symbolic links.
79021
79022 2000-06-29  Jim Meyering  <meyering@lucent.com>
79023
79024         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
79025         for declaration of strcmp.
79026
79027         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
79028
79029         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
79030         Avoid warning by casting result to `char *' to remove `const'.
79031
79032 2000-06-28  Jim Meyering  <meyering@lucent.com>
79033
79034         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
79035         included by quotearg.c, for which we perform this test.  From
79036         Bruno Haible.
79037
79038 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
79039
79040         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
79041         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
79042         <utmpx.h> exists, put readutmp.o into LIBOBJS.
79043
79044 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
79045
79046         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
79047
79048 2000-06-26  Paul Eggert  <eggert@twinsun.com>
79049
79050         savedir now sets errno on failure and invokes xmalloc to get memory.
79051         Fix a couple of other minor bugs while we're at it.
79052
79053         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
79054         (NAMLEN): Remove macro.
79055         (malloc, realloc): Remove decls.
79056         (stpcpy): Likewise.
79057         ("xalloc.h"): Include.
79058         (NAME_SIZE_DEFAULT): New macro.
79059         (savedir): Use xmalloc / xrealloc to allocate memory.
79060         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
79061         Skip "" directory entries.
79062         Use strlen to calculate directory entry length, since the old method
79063         is rarely used these days and isn't worth supporting.
79064         Don't use a pointer after freeing it.
79065         Check for integer overflow when calculating allocation size.
79066         Use memcpy to copy entries, instead of stpcpy.
79067         Set errno properly when returning NULL.
79068         Check for readdir error.
79069
79070 2000-06-26  Jim Meyering  <meyering@lucent.com>
79071
79072         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
79073
79074 2000-06-25  Jim Meyering  <meyering@lucent.com>
79075
79076         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
79077         Linux header bug when _XOPEN_SOURCE is defined to 500.
79078
79079 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
79080
79081         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
79082         deficiency.
79083
79084 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
79085
79086         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
79087         Include xalloc.h.
79088         Don't include <stdlib.h>.  Don't declare malloc, realloc.
79089
79090 2000-06-24  Jim Meyering  <meyering@lucent.com>
79091
79092         * m4/strerror_r.m4: Revive this file -- to try out an experimental
79093         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
79094         for which strerror does return char*, but which lacks a conveniently
79095         accessible declaration of the function.  If the compile-test says
79096         strerror_r doesn't work, then resort to a `run'-test that works on
79097         BeOS and segfaults on DEC Unix.
79098
79099 2000-06-24  Jim Meyering  <meyering@lucent.com>
79100
79101         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
79102
79103 2000-06-23  Paul Eggert  <eggert@twinsun.com>
79104
79105         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
79106         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
79107
79108 2000-06-23  Paul Eggert  <eggert@twinsun.com>
79109
79110         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
79111         (mbrtowc, mbstate_t): Define substitutes if
79112         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
79113         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
79114         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
79115
79116 2000-06-23  Jim Meyering  <meyering@lucent.com>
79117
79118         * m4/afs.m4: Add missing AC_MSG_RESULT.
79119         Reported by Bruno Haible.
79120
79121         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
79122         Suggestion from Bruno Haible.
79123
79124 2000-06-23  Jim Meyering  <meyering@lucent.com>
79125
79126         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
79127
79128 2000-06-21  Jim Meyering  <meyering@lucent.com>
79129
79130         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
79131
79132 2000-06-21  Jim Meyering  <meyering@lucent.com>
79133
79134         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
79135         (noinst_HEADERS): Add getstr.h.
79136
79137         * lib/getline.c (getstr): Move into a separate file.
79138         * lib/getstr.c (getstr): New file, extracted from getline.c, with
79139         the following changes: new parameter, delim2; both delim[12]
79140         parameters have type `int', not `char'.  The latter would lose
79141         with 8-bit delimiters.
79142         * lib/getstr.h: New file.
79143
79144 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79145
79146         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
79147         than 1024, return a memory chunk of least possible size, instead
79148         of size PATH_MAX + 2. In the loop, increment the size proportionally.
79149         Use free/xmalloc instead of xrealloc to avoid copying for very long
79150         paths.
79151
79152 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79153
79154         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
79155         the empty string.
79156
79157 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79158
79159         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
79160         address, not strdup.  Include <stdlib.h> and don't declare free().
79161
79162 2000-06-19  Jim Meyering  <meyering@lucent.com>
79163
79164         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
79165
79166 2000-06-18  Jim Meyering  <meyering@lucent.com>
79167
79168         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
79169
79170         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
79171         `checking whether...' message to be consistent with that of the
79172         lstat test.
79173
79174 2000-06-18  Jim Meyering  <meyering@lucent.com>
79175
79176         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
79177         Besides, these days every porting target provides a mkdir function.
79178
79179         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
79180         needed. (this snippet comes from src/system.h).
79181
79182 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
79183
79184         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
79185
79186 2000-06-15  Paul Eggert  <eggert@twinsun.com>
79187
79188         * lib/human.c (adjust_value): New function.
79189         (human_readable_inexact): Apply rounding style even when
79190         printing approximate values.
79191
79192 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79193
79194         * lib/human.c (human_readable_inexact): Allow an input block
79195         size that is not a multiple of the output block size, and vice versa.
79196         Reported by Piergiorgio Sartor.
79197
79198 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79199
79200         * lib/getdate.y (get_date): Apply relative times after time
79201         zone indicator, not before.  Reported by Todd A. Jacobs.
79202
79203 2000-06-13  Jim Meyering  <meyering@lucent.com>
79204
79205         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
79206
79207         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
79208
79209 2000-06-12  Paul Eggert  <eggert@twinsun.com>
79210
79211         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
79212
79213 2000-06-12  Jim Meyering  <meyering@lucent.com>
79214
79215         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
79216         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
79217         optional argument.
79218         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
79219         the optional argument, `lib'.
79220
79221 2000-06-08  Jim Meyering  <meyering@lucent.com>
79222
79223         * m4/largefile.m4: Remove file (now that it's part of autoconf).
79224
79225 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79226
79227         Rewrite largefile configuration so that we don't need to run
79228         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
79229         AC_CANONICAL_HOST in configure.in -- jmm]
79230
79231         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
79232         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
79233         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
79234         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
79235         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
79236         All uses changed.
79237         Instead of inspecting the output of getconf, try to compile the
79238         test program without and with the macro definition.
79239         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
79240         for getconf.  Instead, check for the needed flags by compiling
79241         test programs.
79242
79243 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79244
79245         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
79246
79247 2000-06-04  Jim Meyering  <meyering@lucent.com>
79248
79249         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
79250         SunOS 4.1.4 for which gid_t is an unsigned type.
79251
79252 2000-06-03  Jim Meyering  <meyering@lucent.com>
79253
79254         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
79255         now that autoconf requires that.
79256
79257         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
79258         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
79259         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
79260
79261 2000-06-03  Jim Meyering  <meyering@lucent.com>
79262
79263         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
79264
79265 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79266
79267         * m4/glibc21.m4: New file.
79268         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
79269
79270 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79271
79272         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
79273         newer, don't install charset.alias.
79274         * lib/config.charset: Change the Linux/glibc rules so they become empty
79275         on glibc-2.1 or newer.
79276
79277 2000-06-02  Jim Meyering  <meyering@lucent.com>
79278
79279         * lib/mountlist.c: Back out last change.  Instead, do this...
79280         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
79281         me_dummy member using the same `ignore'-testing code.
79282         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
79283         fs_type strings.
79284         From Mark D. Roth.
79285
79286 2000-05-29  Jim Meyering  <meyering@lucent.com>
79287
79288         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
79289         mounts with the `ignore' attribute.  Based on a patch from
79290         Mark D. Roth.
79291
79292 2000-05-28  Jim Meyering  <meyering@lucent.com>
79293
79294         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
79295         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79296         * m4/stat.m4: Likewise.
79297         * m4/lstat.m4: Likewise.
79298         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
79299
79300         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
79301         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
79302
79303 2000-05-26  Jim Meyering  <meyering@lucent.com>
79304
79305         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
79306
79307 2000-05-24  Jim Meyering  <meyering@lucent.com>
79308
79309         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
79310         autoconf requires that.
79311         * m4/lib-check.m4: Likewise.
79312         * m4/jm-macros.m4: Likewise.
79313         * m4/strftime.m4: Likewise.
79314
79315         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
79316         AC_CHECK_DECLS, now that autoconf requires that.
79317
79318 2000-05-22  Jim Meyering  <meyering@lucent.com>
79319
79320         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79321         * m4/lstat.m4: Likewise.
79322
79323 2000-05-22  Jim Meyering  <meyering@lucent.com>
79324
79325         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
79326
79327 2000-05-20  Jim Meyering  <meyering@lucent.com>
79328
79329         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
79330         (jm_PREREQ): Use it.
79331
79332 2000-05-18  Jim Meyering  <meyering@lucent.com>
79333
79334         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
79335         back, too, since it may have been modified by allocate_entry.
79336         (hash_delete): Rewrite to use neither the assignment operator
79337         nor the comma operator in an if-expression.
79338
79339 2000-05-15  Paul Eggert  <eggert@twinsun.com>
79340
79341         * lib/closeout.c:
79342         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
79343         Remove; no longer needed.
79344         "quotearg.h": Add include.
79345         (file_name): Do not bother to explicitly initialize to NULL; it's less
79346         efficient on some hosts.
79347         (close_stdout_status): Remove test as to whether stdout was already
79348         closed; it breaks for the case "echo x | sort >&-".
79349         Quote file name colons.
79350         Do not assume that _("write error") lacks format strings.
79351
79352 2000-05-15  Jim Meyering  <meyering@lucent.com>
79353
79354         * lib/version-etc.c (version_etc_copyright): Update the copyright
79355         string used in all --version output.
79356
79357 2000-05-14  Jim Meyering  <meyering@lucent.com>
79358
79359         * lib/closeout.c (close_stdout_set_file_name): New function.
79360         (close_stdout_status): Use new file-scoped global.
79361         Return right away if fstat says the stdout file descriptor is invalid.
79362         * lib/closeout.h (close_stdout_set_file_name): Declare.
79363
79364 2000-05-10  Jim Meyering  <meyering@lucent.com>
79365
79366         * lib/closeout.c [default_exit_status]: New file-scoped variable.
79367         (close_stdout_set_status): New function.
79368         * lib/closeout.h (close_stdout_set_status): Declare.
79369
79370 2000-05-09  Jim Meyering  <meyering@lucent.com>
79371
79372         * m4/gettext.m4: Rename this...
79373         * m4/libintl.m4: ...to this.
79374
79375 2000-05-08  Jim Meyering  <meyering@lucent.com>
79376
79377         * lib/long-options.c: Don't include closeout.h.
79378         (parse_long_options): Don't call close_stdout for --version.
79379
79380 2000-05-06  Paul Eggert  <eggert@twinsun.com>
79381
79382         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
79383         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
79384         2.1.3 bug.  This avoids a clash when files like regex.c define
79385         _GNU_SOURCE.
79386
79387 2000-05-06  Jim Meyering  <meyering@lucent.com>
79388
79389         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
79390         (AC_REPLACE_FUNCS): Add strnlen.
79391
79392         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
79393         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
79394
79395         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
79396         AC_SEARCH_LIBS call for nanosleep.
79397         (LIB_NANOSLEEP): Set and AC_SUBST.
79398
79399 2000-05-06  Jim Meyering  <meyering@lucent.com>
79400
79401         * lib/strnlen.c: Undefine __strnlen and strnlen.
79402         [!weak_alias]: Define __strnlen to strnlen.
79403
79404         * lib/atexit.c: New file, from libiberty.
79405
79406 2000-05-06  Jim Meyering  <meyering@lucent.com>
79407
79408         * lib/closeout.c (close_stdout_status): Also check for errors on the
79409         stderr stream.
79410
79411 2000-05-05  Jim Meyering  <meyering@lucent.com>
79412
79413         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
79414         AC_SEARCH_LIBS call for clock_gettime.
79415         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
79416
79417         * m4/search-libs.m4: Update from autoconf.
79418
79419         su doesn't work on Solaris 2.6.
79420         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
79421         <shadow.h>.  Reported by Dragos Harabor.
79422
79423 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
79424
79425         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
79426         memcpy instead of xmalloc, xrealloc, path_concat.
79427         (locale_charset): Treat empty environment variables as absent.
79428         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
79429
79430 2000-05-04  Jim Meyering  <meyering@lucent.com>
79431
79432         * lib/getopt.c: Update from glibc.
79433         * lib/obstack.c: Likewise.
79434         * lib/obstack.h: Likewise.
79435         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
79436         file
79437
79438         * lib/regex.h: Likewise.
79439         * lib/strndup.c: Likewise.
79440         * lib/strnlen.c: New file, from glibc.
79441
79442 2000-05-03  Jim Meyering  <meyering@lucent.com>
79443
79444         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
79445
79446 2000-05-02  Paul Eggert  <eggert@twinsun.com>
79447
79448         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
79449         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
79450         compile-time test, rather than inspecting host and OS, to
79451         decide whether to define _LARGEFILE_SOURCE.
79452
79453 2000-05-01  Jim Meyering  <meyering@lucent.com>
79454
79455         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
79456
79457         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
79458         Based on a patch from Bruno Haible.
79459
79460 2000-05-01  Jim Meyering  <meyering@lucent.com>
79461
79462         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
79463
79464 2000-04-29  Jim Meyering  <meyering@lucent.com>
79465
79466         * lib/path-concat.c: Declare strdup only if it's not defined.
79467         * lib/canon-host.c: Likewise.
79468
79469 2000-04-28  Jim Meyering  <meyering@lucent.com>
79470
79471         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
79472         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
79473         is included first, then limits.h is included by locale.h by libintl.h.
79474         From John David Anglin.
79475
79476 2000-04-25  Jim Meyering  <meyering@lucent.com>
79477
79478         * lib/makepath.c (S_IRWXUGO): Define.
79479         (make_path): Always perform explicit chmod if MODE specifies any
79480         of the `special' permission bits.  Prompted by a bug report against
79481         install from Mate Wierdl and Joost van Baal.
79482
79483 2000-04-18  Jim Meyering  <meyering@lucent.com>
79484
79485         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
79486         (jm_PREREQ): Use it.
79487
79488 2000-04-18  Jim Meyering  <meyering@lucent.com>
79489
79490         * lib/README: New file.
79491
79492         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
79493         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
79494
79495 2000-04-17  Jim Meyering  <meyering@lucent.com>
79496
79497         Get it right :-)
79498         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
79499         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
79500         Suggestion from Akim Demaille.
79501
79502 2000-04-17  Jim Meyering  <meyering@lucent.com>
79503
79504         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
79505         the definition of it to rpl_strftime also defined-away the system's
79506         declaration.
79507
79508 2000-04-15  Jim Meyering  <meyering@lucent.com>
79509
79510         Use `C' to denote so-called `contiguous' files, the same way
79511         that tar does.
79512         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
79513         (ftypelet): Use S_ISCTG.
79514         From Michael Deutschmann.
79515
79516 2000-04-14  Jim Meyering  <meyering@lucent.com>
79517
79518         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
79519         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
79520         clobbered.
79521
79522 2000-04-14  Jim Meyering  <meyering@lucent.com>
79523
79524         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
79525
79526 2000-04-13  Jim Meyering  <meyering@lucent.com>
79527
79528         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
79529         AH_VERBATIM to insert required #ifndef into config.h.in.
79530         Suggestion from Akim Demaille.
79531
79532 2000-04-12  Jim Meyering  <meyering@lucent.com>
79533
79534         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
79535         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
79536         Christian Krackowizer.
79537
79538         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
79539         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
79540         (AC_SYS_LARGEFILE): Require.
79541         (AM_C_PROTOTYPES): Require.
79542
79543 2000-04-08  Jim Meyering  <meyering@lucent.com>
79544
79545         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
79546         names don't conflict.  Reported by Eli Zaretskii.
79547
79548 2000-04-07  Jim Meyering  <meyering@lucent.com>
79549
79550         * lib/putenv.c: Move inclusion of errno.h so it follows that of
79551         sys/types.h, to work around system header problems on AIX 3.2.5.
79552         From Bruno Haible.
79553
79554 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
79555
79556         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
79557         bug.  Deal with the different error behavior of Irix iconv.
79558
79559 2000-04-05  Paul Eggert  <eggert@twinsun.com>
79560
79561         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
79562         IRIX if the installer said otherwise.
79563
79564 2000-04-05  Jim Meyering  <meyering@lucent.com>
79565
79566         Portability tweaks required for ultrix4.3.
79567         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
79568         (jm_CHECK_DECLS): Add getutent to the list of functions.
79569         (_jm_DECL_HEADERS): Add utmpx.h.
79570         From John David Anglin.
79571
79572         * m4/strftime.m4: Back out the 2000-04-02 change.
79573         Instead of that change, simply undefine putenv in the test program.
79574
79575 2000-04-05  Jim Meyering  <meyering@lucent.com>
79576
79577         Portability tweaks required for ultrix4.3.
79578         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
79579         getutent.
79580         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
79581         * lib/canon-host.c: Declare strdup.
79582         * lib/path-concat.c: Likewise.
79583         From John David Anglin.
79584
79585 2000-04-04  Jim Meyering  <meyering@lucent.com>
79586
79587         Be more DOS 8.3-friendly.
79588         * lib/ref-add.sin: Renamed from ref-add.sed.in.
79589         * lib/ref-del.sin: Renamed from ref-del.sed.in.
79590         * lib/Makefile.am: Reflect renaming.
79591         Reported by Eli Zaretskii.
79592
79593         Use a temporary file name that won't clash with `charset.alias'
79594         in the DOS 8.3 name space.
79595         * lib/Makefile.am (charset_tmp): Define.
79596         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
79597         (uninstall-local): Likewise.
79598         Reported by Eli Zaretskii.
79599
79600 2000-04-03  Jim Meyering  <meyering@lucent.com>
79601
79602         * m4/gettext.m4: Fix typo in comment.
79603
79604         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
79605         textutils/configure.in).  Suggestion from Paul Eggert.
79606         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
79607
79608 2000-04-02  Paul Eggert  <eggert@twinsun.com>
79609
79610         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
79611         variable in the shell rather than using putenv, which isn't
79612         portable.  This avoids the configure-time inter-test dependency
79613         on the potentially-renamed putenv function.
79614
79615 2000-03-30  Paul Eggert  <eggert@twinsun.com>
79616
79617         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
79618         before checking struct stat.st_blksize, so that
79619         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
79620
79621 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79622
79623         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
79624         since strftime.c uses HAVE_STRFTIME to decide whether to use
79625         the underlying strftime.
79626
79627 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79628
79629         * lib/time/strftime.c (my_strftime): Make sure we call the system
79630         strftime, not ourselves, when invoking the underlying strftime.
79631
79632 2000-03-24  Jim Meyering  <meyering@lucent.com>
79633
79634         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
79635         (charset_alias): Define.
79636         (install-exec-local): Factor out common code.
79637         (uninstall-local): Split lines longer than 80.
79638         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
79639         (SUFFIXES): Define.
79640         (.sed.in.sed): New rule.  Don't redirect directly to $@.
79641         (CLEANFILES): Add ref-add.sed and ref-del.sed.
79642
79643 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
79644
79645         * lib/config.charset: Output a line containing "Packages using this
79646         file".
79647         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
79648         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
79649         ref-del.sed): New rules.
79650
79651 2000-03-17  Jim Meyering  <meyering@lucent.com>
79652
79653         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
79654         Otherwise, include <strings.h>
79655
79656 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
79657
79658         * lib/unicodeio.c (utf8_wctomb): New function.
79659         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
79660         format instead of in UCS-4 with platform dependent endianness.
79661
79662 2000-03-10  Jim Meyering  <meyering@lucent.com>
79663
79664         * m4/lib-check.m4: Look for getspnam in -lgen, too.
79665         From Marco Franzen.
79666
79667 2000-03-07  Paul Eggert  <eggert@twinsun.com>
79668
79669         * lib/savedir.c (savedir): Work even if directory size is
79670         negative; this can happen with some screwy NFS configurations.
79671
79672 2000-03-06  Jim Meyering  <meyering@lucent.com>
79673
79674         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
79675         if it's NULL (because we ran out of memory).  From Bruno Haible.
79676
79677 2000-03-05  Jim Meyering  <meyering@lucent.com>
79678
79679         * lib/localcharset.c ("path-concat.h"): Include.
79680         (get_charset_aliases): Use path_concat instead of ANSI string
79681         concatenation.
79682
79683         * lib/unicodeio.h (PARAMS): Define.
79684         Use it to guard prototype.
79685
79686 2000-03-04  Jim Meyering  <meyering@lucent.com>
79687
79688         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
79689         for lib/localcharset.c.
79690
79691 2000-03-04  Jim Meyering  <meyering@lucent.com>
79692
79693         * lib/Makefile.am (install-exec-local): Create $(libdir) before
79694         installing into it.
79695         (uninstall-local): Uncomment this rule so `make distcheck' works
79696         once again.
79697
79698         * lib/unicodeio.c (<errno.h>): Include it.
79699         (errno): Declare if not defined.
79700
79701         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
79702
79703         * lib/config.charset: New version, incorporating remarks from a linux
79704         i18n mailing list.  From Bruno Haible.
79705
79706 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
79707
79708         * m4/codeset.m4: New file.
79709         * m4/iconv.m4: New file.
79710         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
79711
79712 2000-03-03  Jim Meyering  <meyering@lucent.com>
79713
79714         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
79715
79716 2000-03-02  Jim Meyering  <meyering@lucent.com>
79717
79718         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
79719         the messages come out on separate lines.
79720
79721         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
79722         rather than jm_CHECK_DECLARATIONS.
79723         * m4/decl.m4: Remove now-unused file.
79724
79725         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
79726         geteuid.
79727
79728 2000-03-02  Jim Meyering  <meyering@lucent.com>
79729
79730         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
79731
79732 2000-03-01  Jim Meyering  <meyering@lucent.com>
79733
79734         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
79735         * lib/unicodeio.c: Likewise.
79736
79737 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
79738
79739         * lib/config.charset: New file.
79740         * lib/localcharset.c: New file.
79741         * lib/unicodeio.h, lib/unicodeio.c: New files.
79742         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
79743         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
79744         (noinst_HEADERS): Add unicodeio.h.
79745         (all-local, install-exec-local, charset.alias): New targets.
79746
79747 2000-02-28  Paul Eggert  <eggert@twinsun.com>
79748
79749         * lib/quotearg.c (ALERT_CHAR): New macro.
79750         (quotearg_buffer_restyled): Use it.
79751
79752 2000-02-27  Jim Meyering  <meyering@lucent.com>
79753
79754         * m4/check-decl.m4: Add getenv to the list.
79755
79756 2000-02-27  Jim Meyering  <meyering@lucent.com>
79757
79758         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
79759         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
79760
79761         * lib/backupfile.c: Guard inclusion of stdlib.h with
79762         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
79763         Declare malloc if needed.
79764
79765         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
79766         `#ifndef HAVE_DECL..'
79767         now that autoconf always defines the HAVE_DECL_ symbols.
79768         * lib/human.c: Likewise.
79769         * lib/same.c: Likewise.
79770         * lib/strtoumax.c: Likewise.
79771
79772         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
79773         declaration check was not run.
79774         * lib/hash.c: Likewise.
79775         * lib/human.c: Likewise.
79776         * lib/same.c: Likewise.
79777         * lib/strtoumax.c: Likewise.
79778
79779         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
79780         `.', then first look up the entire `.'-containing string as a login
79781         name.
79782
79783 2000-02-23  Jim Meyering  <meyering@lucent.com>
79784
79785         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
79786         in place of my hack.
79787
79788 2000-02-18  Paul Eggert  <eggert@twinsun.com>
79789
79790         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
79791         (textint): New typedef.
79792         (parser_control): Member year changed from int to textint.
79793         All uses changed.
79794         (YYSTYPE): Removed; replaced by %union with int and textint members.
79795         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
79796         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
79797         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
79798         (tSNUMBER, tUNUMBER): Now of type <textintval>.
79799         (date, number, to_year): Use width of number in digits, not its value,
79800         to determine whether it's a 2-digit year, or a 2-digit time.
79801         (yylex): Store number of digits of numeric tokens.
79802         Reported by John Kendall.
79803
79804         (parser_control): Changed from struct parser_control to typedef (for
79805         consistency).  All uses changed.
79806
79807         (tID): Removed; not used.
79808         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
79809
79810 2000-02-14  Paul Eggert  <eggert@twinsun.com>
79811
79812         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
79813         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
79814
79815 2000-02-12  Jim Meyering  <meyering@lucent.com>
79816
79817         * lib/userspec.c (ISDIGIT): Define it.
79818         (isdigit): Remove definition.
79819         (is_number): Use ISDIGIT, not isdigit.
79820         <libintl.h>: Include.
79821         (_ and N_): Define.
79822         (parse_user_spec): Mark translatable strings.
79823
79824 2000-02-10  Jim Meyering  <meyering@lucent.com>
79825
79826         With these changes, nanosleep.[ch] are finally enough like the other
79827         lib/* replacement files to compile on a few more losing systems.
79828
79829         * lib/nanosleep.h: Don't include config.h.
79830         Remove prototype from declaration of nanosleep.
79831         (PARAMS): Remove now-unneeded definition.
79832         * lib/nanosleep.c: #undef nanosleep.
79833         (rpl_nanosleep): Rename from nanosleep.
79834
79835 2000-02-10  Jim Meyering  <meyering@lucent.com>
79836
79837         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
79838         gnu_nanosleep to rpl_nanosleep.
79839
79840 2000-02-09  Jim Meyering  <meyering@lucent.com>
79841
79842         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
79843         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
79844
79845 2000-02-08  Akim Demaille  <akim@epita.fr>
79846
79847         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
79848         `[' and `]' and remove uses of `changequote'.
79849         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
79850         (AC_SYS_LARGEFILE): Likewise.
79851         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
79852         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
79853         of changequote.
79854         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
79855         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
79856         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
79857         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
79858
79859 2000-02-05  Jim Meyering  <meyering@lucent.com>
79860
79861         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
79862         Remove explicit use of AC_HEADER_TIME.  It is required by
79863         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
79864         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
79865         in autoconf whereby the expansion of the latter ended up preceding
79866         the expansion of its prerequisite, AC_HEADER_TIME.
79867         Reported by Volker Borchert.
79868
79869 2000-02-03  Jim Meyering  <meyering@lucent.com>
79870
79871         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
79872
79873 2000-02-03  Jim Meyering  <meyering@lucent.com>
79874
79875         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
79876         rather than with `#if HAVE_UTMPNAME'.
79877
79878 2000-02-02  Jim Meyering  <meyering@lucent.com>
79879
79880         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
79881         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
79882         Reported by Eli Zaretskii.
79883
79884 2000-02-01  Jim Meyering  <meyering@lucent.com>
79885
79886         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
79887
79888 2000-01-31  Jim Meyering  <meyering@lucent.com>
79889
79890         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
79891         functions.  Add the time.h and sys/time.h headers along with the
79892         AC_REQUIRE'ment of AC_HEADER_TIME.
79893
79894 2000-01-31  Jim Meyering  <meyering@lucent.com>
79895
79896         * lib/nanosleep.h (nanosleep): Guard declaration with
79897         `#if ! HAVE_DECL_NANOSLEEP'.
79898         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
79899         the declaration in that vendor's sys/timers.h.
79900         Reported by Christian Krackowizer.
79901
79902         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
79903         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
79904         (ISPRINT): Likewise.
79905         Reported by Tom Tromey.
79906
79907 2000-01-30  Jim Meyering  <meyering@lucent.com>
79908
79909         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
79910
79911         * m4/prereq.m4 (utmp_includes): Define.
79912         Check for ut_user and ut_name members in both struct utmpx
79913         and struct utmp.
79914
79915 2000-01-30  Jim Meyering  <meyering@lucent.com>
79916
79917         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
79918         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
79919         header files where only utmpx.ut_user is declared.
79920
79921         * lib/readutmp.h (UT_USER): Define.
79922
79923 2000-01-29  Jim Meyering  <meyering@lucent.com>
79924
79925         * m4/lib-check.m4: New file containing library-related checks from
79926         fileutils and sh-utils (textutils had none).
79927
79928 2000-01-28  Jim Meyering  <meyering@lucent.com>
79929
79930         * m4/perl.m4: Change format of warning message to look more like that
79931         from the missing script.  Suggestion from François Pinard.
79932
79933 2000-01-25  Jim Meyering  <meyering@lucent.com>
79934
79935         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
79936         well as time.h in the compile check.
79937         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
79938         Fix typo in cross-compiling case: s/yes/no/.
79939
79940 2000-01-23  Jim Meyering  <meyering@lucent.com>
79941
79942         * m4/jm-macros.m4: Move df-related tests here from
79943         fileutils/configure.in
79944
79945         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
79946         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
79947
79948         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
79949         s/space/ac_fsusage_space/.
79950         (jm_FILE_SYSTEM_USAGE): Take two parameters.
79951
79952         * m4/ftruncate.m4: New file (derived from part of
79953         fileutils/configure.in).
79954         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
79955         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
79956
79957         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
79958         AC_SUBST these here, rather than just in sh-util/configure.in, so
79959         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
79960         all the same.
79961         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
79962         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
79963         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
79964         (AC_SUBST(POW_LIBM)): Likewise.
79965         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
79966
79967 2000-01-23  Jim Meyering  <meyering@lucent.com>
79968
79969         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
79970         obstack.c.
79971
79972 2000-01-22  Jim Meyering  <meyering@lucent.com>
79973
79974         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
79975
79976         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
79977
79978         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
79979         configure.in
79980         (AC_CHECK_HEADERS): Likewise for sh-utils.
79981         (AC_CHECK_HEADERS): Likewise for textutils.
79982         Merge the three lists of headers.
79983
79984         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
79985         from fileutils' configure.in.
79986
79987         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
79988         code. Moved tests into their own function (_jm_DECL_HEADERS) in
79989         check-decl.m4.
79990
79991         * m4/check-decl.m4: Use #if rather than #ifdef.
79992         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
79993         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
79994         (_jm_DECL_HEADERS): Define new function.
79995         (jm_CHECK_DECLARATIONS): Require it.
79996
79997 2000-01-22  Jim Meyering  <meyering@lucent.com>
79998
79999         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
80000         [! HAVE_DECL_STRTOULL]: Declare strtoull.
80001         Required for some AIX systems.  Reported by Christian Krackowizer.
80002         [TESTING] (main): New function.
80003
80004         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
80005         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
80006         letters.
80007
80008         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
80009         iswprint.
80010
80011         * lib/strverscmp.c (ISDIGIT): Define.
80012         (strverscmp): Use ISDIGIT, not isdigit.
80013
80014 2000-01-19  Jim Meyering  <meyering@lucent.com>
80015
80016         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
80017         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
80018         defines `struct timespec' in <sys/time.h>
80019
80020         * m4/c-bs-a.m4: Remove uses of changequote altogether.
80021         Thanks to Akim for explaining.
80022
80023 2000-01-17  Paul Eggert  <eggert@twinsun.com>
80024
80025         * lib/nanosleep.c (nanosleep):
80026         Don't use SA_INTERRUPT to decide whether to call sigaction, as
80027         POSIX.1 doesn't require SA_INTERRUPT and some systems
80028         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
80029         it's been part of POSIX.1 since day 1 (in 1988).
80030
80031 2000-01-17  Jim Meyering  <meyering@lucent.com>
80032
80033         * lib/interlock: Remove unused file.  Reported by François Pinard.
80034
80035 2000-01-16  Paul Eggert  <eggert@twinsun.com>
80036
80037         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
80038         alert, backslash, formfeed, and vertical tab unnecessarily in
80039         shell quoting style.
80040
80041 2000-01-16  Jim Meyering  <meyering@lucent.com>
80042
80043         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
80044         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
80045         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
80046         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
80047
80048 2000-01-16  Jim Meyering  <meyering@lucent.com>
80049
80050         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
80051         because the latter didn't work.
80052
80053 2000-01-15  Jim Meyering  <meyering@lucent.com>
80054
80055         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
80056         (AC_REPLACE_FUNCS): Add memcpy and memset.
80057         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
80058         Add strpbrk.
80059         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
80060
80061 2000-01-12  Jim Meyering  <meyering@lucent.com>
80062
80063         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
80064         (jm_PREREQ): Use it.
80065         (jm_PREREQ_READUTMP): New macro.
80066         (jm_PREREQ): Use it.
80067
80068 2000-01-11  Paul Eggert  <eggert@twinsun.com>
80069
80070         Quote multibyte characters correctly.
80071         * m4/c-bs-a.m4: New file.
80072         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
80073         (jm_PREREQ): Use it.
80074
80075 2000-01-11  Paul Eggert  <eggert@twinsun.com>
80076
80077         * m4/uintmax_t.m4: Port to autoconf 2.13.
80078
80079 2000-01-08  Jim Meyering  <meyering@ascend.com>
80080
80081         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
80082         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
80083
80084 2000-01-04  Jim Meyering  <meyering@ascend.com>
80085
80086         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
80087         jm_STRUCT_DIRENT_D_TYPE.
80088         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
80089         jm_STRUCT_DIRENT_D_INO.
80090         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
80091         jm_STRUCT_UTIMBUF.
80092         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
80093         renamings.
80094         * m4/utime.m4: Likewise.
80095
80096         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
80097         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
80098
80099 2000-01-03  Paul Eggert  <eggert@twinsun.com>
80100
80101         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
80102         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
80103
80104 2000-01-02  Jim Meyering  <meyering@ascend.com>
80105
80106         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
80107         remember if this is necessary.
80108
80109 1999-12-26  Jim Meyering  <meyering@ascend.com>
80110
80111         * m4/jm-macros.m4: Use it here.
80112         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
80113
80114 1999-12-23  Jim Meyering  <meyering@ascend.com>
80115
80116         * m4/jm-macros.m4: Check for clock_gettime (moved from
80117         fileutils/configure.in)
80118         Check for gettimeofday.
80119
80120 1999-12-20  Jim Meyering  <meyering@ascend.com>
80121
80122         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
80123         autoconf-2.14a-1999-12-20.
80124
80125 1999-12-19  Jim Meyering  <meyering@ascend.com>
80126
80127         * m4/lstat-slash.m4: New file.
80128         * m4/jm-macros.m4: Use the new macro:
80129         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80130
80131 1999-12-07  Jim Meyering  <meyering@ascend.com>
80132
80133         * m4/perl.m4: Require that File::Compare be available, too.
80134         Too many systems seem to lack it.
80135
80136         * m4/strftime.m4: Add checks for most of the cpp macros tested in
80137         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
80138
80139 1999-11-18  Paul Eggert  <eggert@twinsun.com>
80140
80141         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
80142         problem with the QNX 4.25 shell, which doesn't propagate exit
80143         status of failed commands inside shell assignments.
80144
80145 1999-11-17  Jim Meyering  <meyering@ascend.com>
80146
80147         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
80148
80149 1999-11-07  Jim Meyering  <meyering@ascend.com>
80150
80151         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
80152
80153 1999-11-06  Jim Meyering  <meyering@ascend.com>
80154
80155         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
80156         * m4/jm-macros.m4 (jm_MACROS): Use it here.
80157
80158 1999-11-05  Jim Meyering  <meyering@ascend.com>
80159
80160         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
80161         configure.in of textutils, fileutils, and sh-utils into this one
80162         (shared between those packages) file.
80163         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
80164         AC_STRUCT_ST_BLKSIZE.
80165
80166 1999-11-03  Jim Meyering  <meyering@ascend.com>
80167
80168         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
80169         of AC_CHECK_TYPE checks includes unistd.h.
80170         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
80171         Suggestion from Akim Demaille.
80172
80173 1999-10-30  Jim Meyering  <meyering@ascend.com>
80174
80175         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
80176         m4-quoted string.
80177         * m4/ls-mntd-fs.m4: Likewise.
80178         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
80179         * m4/jm-winsz1.m4: Likewise.
80180
80181         * m4/const.m4: Remove file, since the fix made it into the experimental
80182         version of autoconf.
80183         * m4/mktime.m4: Likewise.
80184
80185         * m4/check-type.m4: Remove file, now that the latest version of
80186         AC_CHECK_TYPE takes a third arg to specify additional #includes.
80187
80188         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
80189         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
80190         AC_CHECK_TYPE.
80191
80192 1999-10-04  Jim Meyering  <meyering@ascend.com>
80193
80194         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
80195
80196 1999-09-22  Paul Eggert  <eggert@twinsun.com>
80197
80198         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
80199         2.95.1 bug with HP-UX 10.20.
80200
80201 1999-09-17  Jim Meyering  <meyering@ascend.com>
80202
80203         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
80204         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
80205         due to missing strdup (against sh-utils-2.0).
80206
80207 1999-08-29  Jim Meyering  <meyering@ascend.com>
80208
80209         * m4/jm-macros.m4: Require jm_BISON.
80210         * m4/bison.m4: New file.
80211
80212 1999-08-17  Paul Eggert  <eggert@twinsun.com>
80213
80214         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
80215         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
80216
80217 1999-08-05  Jim Meyering  <meyering@ascend.com>
80218
80219         * m4/getline.m4: Rename test file from conftestdata to conftest.data
80220         to avoid conflicts with `conftest' on 8+3 filesystems.
80221         Suggestion from Eli Zaretskii.
80222
80223 1999-08-04  Jim Meyering  <meyering@ascend.com>
80224
80225         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
80226         fileutils and sh-utils (textutils's getline test was inadequate).
80227         (AM_FUNC_GETLINE): Run this test.
80228         (AC_CHECK_FUNCS): Check for getdelim.
80229         Reported by Bob Proulx.
80230
80231 1999-08-02  Jim Meyering  <meyering@ascend.com>
80232
80233         * m4/jm-macros.m4: Add a comment.
80234
80235 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80236
80237         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
80238         <inttypes.h> defines strtoumax as a macro (and not as a
80239         function).
80240
80241 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80242
80243         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
80244         that we can shift, multiply and divide unsigned long long
80245         values; Ultrix cc can't do it.
80246
80247 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80248
80249         * m4/mktime.m4: New file, which is a preview of what should appear
80250         in the next public autoconf release.
80251
80252 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80253
80254         * m4/lfs.m4: Remove this file.
80255         * m4/largefile.m4: New file.  It contains the old contents of
80256         lfs.m4, except that all names with prefix AC_LFS have been
80257         changed to use the prefix AC_SYS_LARGEFILE instead, to be
80258         compatible with future autoconf versions.  Also, some minor m4
80259         quoting problems have been fixed.
80260
80261 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80262
80263         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
80264         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
80265         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
80266         and simplify the shell code.
80267
80268 1999-08-01  Jim Meyering  <meyering@ascend.com>
80269
80270         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
80271         m4.
80272
80273 1999-07-20  Jim Meyering  <meyering@ascend.com>
80274
80275         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
80276
80277 1999-07-15  Jim Meyering  <meyering@ascend.com>
80278
80279         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
80280
80281 1999-05-22  Jim Meyering  <meyering@ascend.com>
80282
80283         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
80284
80285 1999-05-20  Jim Meyering  <meyering@ascend.com>
80286
80287         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
80288         Add a colon after each `then' in case $4 is empty.
80289
80290 1999-05-16  Jim Meyering  <meyering@ascend.com>
80291
80292         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
80293
80294 1999-05-10  Jim Meyering  <meyering@ascend.com>
80295
80296         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
80297
80298         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
80299         AC_FUNC_MKTIME.
80300
80301 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
80302
80303         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
80304
80305 1999-05-04  Paul Eggert  <eggert@twinsun.com>
80306
80307         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
80308         not CPPFLAGS, so that linking works correctly in IRIX.
80309
80310 1999-04-30  Paul Eggert  <eggert@twinsun.com>
80311
80312         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
80313
80314 1999-04-20  Paul Eggert  <eggert@twinsun.com>
80315
80316         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
80317         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
80318         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
80319         jm_AC_TYPE_UNSIGNED_LONG_LONG.
80320         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
80321
80322         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
80323
80324 1999-04-20  Jim Meyering  <meyering@ascend.com>
80325
80326         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
80327         AC_REPLACE xstroull if necessary.  From Paul Eggert.
80328         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
80329
80330 1999-04-18  Jim Meyering  <meyering@ascend.com>
80331
80332         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
80333         * m4/jm-macros.m4: Use it.
80334
80335 1999-04-06  Jim Meyering  <meyering@ascend.com>
80336
80337         * m4/strftime.m4: Remove test for %f.
80338
80339 1999-03-29  Jim Meyering  <meyering@ascend.com>
80340
80341         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
80342         superset of the AC_TYPE_* checks in the textutils, fileutils,
80343         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
80344         AC_TYPE_PID_T.
80345
80346 1999-03-28  Jim Meyering  <meyering@ascend.com>
80347
80348         * m4/jm-macros.m4: Define GNU_PACKAGE here.
80349         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
80350         replaced e.g., in the *.sh files of the sh-utils.
80351
80352 1999-03-20  Jim Meyering  <meyering@ascend.com>
80353
80354         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
80355         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
80356         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
80357
80358 1999-03-19  Jim Meyering  <meyering@ascend.com>
80359
80360         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
80361
80362 1999-03-12  Jim Meyering  <meyering@ascend.com>
80363
80364         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
80365
80366 1999-03-07  Jim Meyering  <meyering@ascend.com>
80367
80368         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
80369         declared.
80370
80371 1999-02-17  Jim Meyering  <meyering@ascend.com>
80372
80373         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
80374         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
80375
80376 1999-02-07  Jim Meyering  <meyering@ascend.com>
80377
80378         * m4/group-member.m4: New file -- extracted from sh-utils'
80379         configure.in.
80380
80381         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
80382         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
80383
80384 1999-02-06  Jim Meyering  <meyering@ascend.com>
80385
80386         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
80387         * m4/fnmatch.m4: Likewise.
80388         * m4/getgroups.m4: Likewise.
80389         * m4/lstat.m4: Likewise.
80390         * m4/malloc.m4: Likewise.
80391         * m4/putenv.m4: Likewise.
80392         * m4/realloc.m4: Likewise.
80393         * m4/regex.m4: Likewise.
80394         * m4/stat.m4: Likewise.
80395         * m4/strftime.m4: Likewise.
80396         Suggestion from Alain Magloire.
80397
80398         * m4/chown.m4: Use `.$ac_objext', not `.o'.
80399         * m4/fnmatch.m4: Likewise.
80400         * m4/getgroups.m4: Likewise.
80401         * m4/getline.m4: Likewise.
80402         * m4/lstat.m4: Likewise.
80403         * m4/malloc.m4: Likewise.
80404         * m4/memcmp.m4: Likewise.
80405         * m4/putenv.m4: Likewise.
80406         * m4/realloc.m4: Likewise.
80407         * m4/regex.m4: Likewise.
80408         * m4/stat.m4: Likewise.
80409         * m4/strftime.m4: Likewise.
80410         Suggestion from Alain Magloire.
80411
80412         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
80413         an argument.
80414
80415         * m4/regex.m4: Add a run-time Test for proper operation of
80416         re_compile_pattern.
80417
80418 1999-01-31  Jim Meyering  <meyering@ascend.com>
80419
80420         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
80421
80422 1999-01-30  Jim Meyering  <meyering@ascend.com>
80423
80424         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
80425
80426         * m4/jm-mktime.m4: Make this a wrapper around the official
80427         AM_FUNC_MKTIME rather than my private copy, now that the official one
80428         is up to date.
80429         * m4/mktime.m4: Remove file.
80430
80431         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
80432         * m4/uptime.m4: Likewise.
80433         * m4/uintmax_t.m4: Likewise.
80434
80435 1999-01-28  Jim Meyering  <meyering@ascend.com>
80436
80437         * m4/jm-macros.m4: Use jm_AFS.
80438         * m4/afs.m4: New file (from fileutils' configure.in).
80439
80440         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
80441         * m4/chown.m4: Likewise.
80442         * m4/d-ino.m4: Likewise.
80443         * m4/d-type.m4: Likewise.
80444         * m4/fnmatch.m4: Likewise.
80445         * m4/getgroups.m4: Likewise.
80446         * m4/gettext.m4: Likewise.
80447         * m4/jm-mktime.m4: Likewise.
80448         * m4/jm-winsz2.m4: Likewise.
80449         * m4/lcmessage.m4: Likewise.
80450         * m4/ls-mntd-fs.m4: Likewise.
80451         * m4/malloc.m4: Likewise.
80452         * m4/memcmp.m4: Likewise.
80453         * m4/putenv.m4: Likewise.
80454         * m4/realloc.m4: Likewise.
80455         * m4/st_mtim.m4: Likewise.
80456         * m4/strftime.m4: Likewise.
80457
80458 1999-01-16  Jim Meyering  <meyering@ascend.com>
80459
80460         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
80461         (ARGMATCH_DIE_DECL): Define.
80462
80463 1999-01-12  Jim Meyering  <meyering@ascend.com>
80464
80465         * m4/Makefile.am.in: Rewrite to avoid using fmt.
80466         Reported by Lars Hecking.
80467
80468 1999-01-10  Jim Meyering  <meyering@ascend.com>
80469
80470         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
80471         gross kludge.
80472         * m4/inttypes_h.m4: Likewise.
80473         * m4/lstat.m4: Likewise.
80474         * m4/malloc.m4: Likewise.
80475         * m4/readdir.m4: Likewise.
80476         * m4/realloc.m4: Likewise.
80477         * m4/st_dm_mode.m4: Likewise.
80478         * m4/stat.m4: Likewise.
80479         * m4/utimbuf.m4: Likewise.
80480         * m4/utimes.m4: Likewise.
80481
80482         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
80483         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
80484         comments in config.h.in are meaningful.
80485
80486         * m4/jm-macros.m4: Require autoconf-2.13 here.
80487
80488         * m4/regex.m4: By default, don't use the included regex.c on systems
80489         with glibc 2.  Suggestion from Uli Drepper.
80490
80491 1999-01-02  Jim Meyering  <meyering@ascend.com>
80492
80493         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
80494
80495 1998-12-18  Jim Meyering  <meyering@ascend.com>
80496
80497         * m4/Makefile.am.in (Makefile.am): Simplify rule.
80498         Based on a suggestion from Lars Hecking.
80499
80500 1998-11-16  Paul Eggert  <eggert@twinsun.com>
80501
80502         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
80503
80504 1998-11-16  Jim Meyering  <meyering@ascend.com>
80505
80506         * m4/lfs.m4: Double-quote the `uname...` expression.
80507
80508 1998-11-14  Jim Meyering  <meyering@ascend.com>
80509
80510         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
80511         * m4/stat.m4: Likewise.
80512
80513 1998-11-03  Jim Meyering  <meyering@ascend.com>
80514
80515         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
80516         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
80517
80518 1998-10-18  Jim Meyering  <meyering@ascend.com>
80519
80520         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
80521
80522 1998-10-17  Jim Meyering  <meyering@ascend.com>
80523
80524         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
80525         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
80526         calls for those previously hard-coded headers.  Instead, take a new
80527         parameter.
80528         (jm_CHECK_DECLARATIONS): Reflect interface change.
80529         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
80530         (jm_CHECK_DECL_LOCALTIME_R): New macro.
80531
80532         * m4/mktime.m4: Test for spring-forward gap before long-running test.
80533
80534 1998-10-14  Jim Meyering  <meyering@ascend.com>
80535
80536         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
80537         instead of "TZ=America/Vancouver".  From Paul Eggert.
80538
80539 1998-10-11  Jim Meyering  <meyering@ascend.com>
80540
80541         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
80542         This adds a test for a recently added compatibility fix for mktime.c.
80543         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
80544
80545 1998-09-27  Jim Meyering  <meyering@ascend.com>
80546
80547         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
80548
80549         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
80550         ../configure.in, including a change from Gordon Matzigkeit to allow
80551         cross-compiling for the Hurd.
80552
80553         * m4/glibc.m4: New file/macro to test for the GNU C Library
80554         versions 1 and 2.  From Gordon Matzigkeit.
80555         Indent.
80556
80557 1998-09-21  Jim Meyering  <meyering@ascend.com>
80558
80559         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
80560
80561 1998-08-18  Paul Eggert  <eggert@twinsun.com>
80562
80563         Port nanosecond-resolution times to UnixWare 2.1.2 and
80564         pedantic Solaris 2.6.
80565
80566         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
80567         AC_STRUCT_ST_MTIM.
80568         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
80569         Generate name of ns member, instead of just 1 or undef.
80570         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
80571
80572 1998-08-15  Jim Meyering  <meyering@ascend.com>
80573
80574         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
80575         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
80576         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
80577         instead of jm_TYPE_SSIZE_T.
80578
80579 1998-08-12  Jim Meyering  <meyering@ascend.com>
80580
80581         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
80582
80583 1998-08-02  Jim Meyering  <meyering@ascend.com>
80584
80585         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
80586         in acconfig.h manually.
80587
80588 1998-07-31  Paul Eggert  <eggert@twinsun.com>
80589
80590         * m4/st_mtim.m4: New file.
80591
80592 1998-07-28  Jim Meyering  <meyering@ascend.com>
80593
80594         * m4/utimes.m4: Undef stat.
80595
80596 1998-07-25  Jim Meyering  <meyering@ascend.com>
80597
80598         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
80599         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
80600
80601 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
80602
80603         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
80604         uid and gid actually remain unchanged.
80605
80606 1998-07-07  Jim Meyering  <meyering@ascend.com>
80607
80608         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
80609
80610 1998-07-04  Jim Meyering  <meyering@ascend.com>
80611
80612         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
80613         to prove that this macro can be used in packages without regex.c.
80614
80615 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
80616
80617         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
80618         is to be used.
80619
80620 1998-07-03  Jim Meyering  <meyering@ascend.com>
80621
80622         * m4/gettext.m4: Add -lintl if it's found to be necessary.
80623
80624         * m4/gettext.m4: New file -- from gettext-0.10.35.
80625         * m4/lcmessage.m4: Likewise.
80626         * m4/progtest.m4: Likewise.
80627
80628         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
80629         * m4/jm-macros.m4: Require the new macro.
80630
80631 1998-06-29  Jim Meyering  <meyering@ascend.com>
80632
80633         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
80634         for the definition of NGROUPS (used in a system header included
80635         by sys/mount.h).
80636
80637 1998-06-28  Jim Meyering  <meyering@ascend.com>
80638
80639         * m4/ls-mntd-fs.m4: New file.
80640         * m4/fstypename.m4: New file.
80641
80642         * m4/jm-macros.m4: Require the new macro.
80643         * m4/jm-glibc-io.m4: New file.
80644
80645 1998-05-19  Jim Meyering  <meyering@ascend.com>
80646
80647         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
80648         * m4/lchown.m4: New file.
80649
80650         * m4/Makefile.am.in: New file.
80651         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
80652
80653 1998-05-14  Jim Meyering  <meyering@ascend.com>
80654
80655         * m4/Makefile.am (EXTRA_DIST): Add them.
80656         * m4/jm-macros.m4: New file.
80657         * m4/utimbuf.m4: New file.
80658
80659 1998-05-12  Jim Meyering  <meyering@ascend.com>
80660
80661         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
80662
80663 1998-05-11  Jim Meyering  <meyering@ascend.com>
80664
80665         * m4/isc-posix.m4: New file.
80666
80667 1998-05-10  Jim Meyering  <meyering@ascend.com>
80668
80669         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
80670
80671 1998-05-09  Jim Meyering  <meyering@ascend.com>
80672
80673         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
80674         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
80675         with automake.
80676
80677         * m4/ssize_t.m4: New file.
80678         * m4/mktime.m4: Remove file -- the new automake has this now.
80679
80680 1998-04-26  Jim Meyering  <meyering@ascend.com>
80681
80682         * m4/assert.m4: New file.
80683         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
80684
80685 1998-04-05  Jim Meyering  <meyering@ascend.com>
80686
80687         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
80688         (jm_PREREQ): Use it here.
80689
80690 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
80691
80692         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
80693         in acconfig.h.
80694
80695 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
80696
80697         * m4/prereq.m4: New file.
80698         * m4/error.m4: New file.
80699         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
80700
80701 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
80702
80703         * m4/getline.m4: Don't set am_cv_func_working_getline before the
80704         cache-check for the same variable -- that defeated the purpose of
80705         the test; the test program was never run.  This was a problem only
80706         on systems with losing getline functions -- HP-UX 10.20 is one.
80707         Reported by Bjorn Helgaas.
80708
80709 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
80710
80711         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
80712
80713 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
80714
80715         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
80716
80717         * m4/const.m4: New file.  Use an initializer in this declaration
80718         typedef int charset[2]; const charset x;
80719         Reported by Bob Glickstein.
80720
80721 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
80722
80723         * m4/chown.m4: Fix reversed types on -1 args to chown.
80724         From Kaveh Ghazi.
80725
80726 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
80727
80728         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
80729         Add lseek and memchr.
80730
80731         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
80732         T.E.Dickey <dickey@clark.net> said that some older preprocessors
80733         have a 20-character limit on names.
80734
80735 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
80736
80737         * m4/inttypes_h.m4: New file.
80738         * m4/uintmax_t.m4: New file.
80739         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
80740
80741
80742         -----
80743
80744         Local Variables:
80745         coding: utf-8
80746         End:
80747
80748         Copyright (C) 1997-2011 Free Software Foundation, Inc.
80749
80750         Copying and distribution of this file, with or without
80751         modification, are permitted provided the copyright notice
80752         and this notice are preserved.