verify: new macro verify_expr; verify_true deprecated
[gnulib.git] / ChangeLog
1 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2
3         verify: new macro verify_expr; verify_true deprecated
4         * NEWS: Mention this.
5         * doc/verify.texi (Compile-time Assertions): Document this.
6         * lib/verify.h (verify_true): Deprecate.
7         (verify_expr): New macro.
8         * tests/test-verify.c (function): Test verify_expr.
9
10 2011-06-14  Jim Meyering  <meyering@redhat.com>
11
12         init.sh: give more portable redirection-related advice in a comment
13         * tests/init.sh (stderr_fileno_): Update the advice in comments.
14         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15         for lots of discussion.  Stefano Lattarini suggested the solution
16         of putting "9>&2" after the command.  Reported by Bruno Haible.
17
18 2011-06-13  Bruno Haible  <bruno@clisp.org>
19
20         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
21         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
22         'none'.
23
24 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
25
26         ftoastr: use strtof only if HAVE_STRTOF
27         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
28         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
29         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
30         * modules/ftoastr (configure.ac): Check for strtof.
31
32 2011-06-13  Bruno Haible  <bruno@clisp.org>
33
34         gnulib-tool: Addendum to 2011-06-08 commit.
35         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
36         and --witness-c-macro have been given, augment AM_CPPFLAGS.
37
38 2011-06-13  Bruno Haible  <bruno@clisp.org>
39
40         fseeko: Provide a non-inline replacement of fseek().
41         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
42         * modules/fseeko (Depends-on): Add fseek.
43         * modules/fseek (License): Change to LGPLv2+.
44
45 2011-06-13  Bruno Haible  <bruno@clisp.org>
46
47         ftello: Provide a non-inline replacement of ftell().
48         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
49         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
50         not have ftello() (such as on mingw).
51         * modules/ftello (Depends-on): Add ftell.
52         * modules/ftell (License): Change to LGPLv2+.
53
54 2011-05-07  Bruno Haible  <bruno@clisp.org>
55
56         ftell: Move AC_LIBOBJ invocations to module description.
57         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
58         * modules/ftell (configure.ac): ... to here.
59
60 2011-05-07  Bruno Haible  <bruno@clisp.org>
61
62         ftello: Respect rules for use of AC_LIBOBJ.
63         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
64         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
65         here...
66         * modules/ftello (configure.ac): ... to here.
67
68 2011-05-07  Bruno Haible  <bruno@clisp.org>
69
70         fseeko: Simplify.
71         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
72         (gl_FUNC_FSEEKO): Inline it here.
73
74 2011-05-07  Bruno Haible  <bruno@clisp.org>
75
76         fseek: Move AC_LIBOBJ invocations to module description.
77         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
78         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
79         * modules/fseek (configure.ac): ... to here.
80
81 2011-05-07  Bruno Haible  <bruno@clisp.org>
82
83         fseek: Respect rules for use of AC_LIBOBJ.
84         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
85         here...
86         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
87
88 2011-05-07  Bruno Haible  <bruno@clisp.org>
89
90         fseeko: Respect rules for use of AC_LIBOBJ.
91         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
92         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
93         here...
94         * modules/fseeko (configure.ac): ... to here.
95
96 2011-06-13  Bruno Haible  <bruno@clisp.org>
97
98         gnulib-tool: Allow comments in the 'Depends-on' section.
99         * doc/gnulib.texi (Module description): Mention comment syntax in the
100         Depends-on section.
101         * gnulib-tool (func_get_dependencies): Filter out comment lines.
102
103 2011-06-13  Bruno Haible  <bruno@clisp.org>
104
105         file-set.h: guard __attibute__ use, now that it's not always defined
106         * lib/file-set.h (record_file): Use __attribute__ only with compiler
107         versions that support it.  This fixes a coreutils build failure with
108         the vendor cc on HP-UX 11.31.
109
110 2011-06-12  Bruno Haible  <bruno@clisp.org>
111
112         acl: Add support for HP-UX >= 11.11 JFS ACLs.
113         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
114         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
115         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
116         (acl, aclsort): New declarations.
117         (aclv_nontrivial): New declaration.
118         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
119         (file_has_acl): Read also the second kind of HP-UX ACLs.
120         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
121         kind of HP-UX ACLs if the first kind fails.
122         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
123         second kind of HP-UX ACLs.
124         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
125         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
126         agree.
127         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
128         hpuxjfs.
129         Handle hpuxjfs.
130         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
131         hpuxjfs.
132         Handle hpuxjfs.
133         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
134         (func_test_same_acls): Use both lsacl and getacl.
135         Handle hpuxjfs.
136         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
137         (func_test_same_acls): Use both lsacl and getacl.
138         Handle hpuxjfs.
139
140 2011-06-12  Bruno Haible  <bruno@clisp.org>
141
142         acl: Complete the 2010-08-10 fix.
143         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
144         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
145         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
146         explicitly.
147         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
148         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
149
150 2011-06-12  Bruno Haible  <bruno@clisp.org>
151
152         spawn-pipe tests: Comments.
153         * tests/test-spawn-pipe-child.c (main): Update comment.
154         Reported by James Youngman <jay@gnu.org>.
155
156 2011-06-11  James Youngman  <jay@gnu.org>
157
158         New module 'stat-size'.
159         * modules/stat-size: New module.  Provides macros for accessing
160         file size information in instances of struct stat.  Depends on the
161         fileblocks module because it calls st_blocks.
162         * lib/stat-size.h: New file, adapted from coreutils' system.h.
163         * doc/gnulib.texi: Include stat-size.texi.
164         * doc/stat-size.texi: Documentation for this module.
165         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
166         * m4/fileblocks.m4: Mention that stat-size depends on the call to
167         AC_STRUCT_ST_BLOCKS.
168
169 2011-06-09  Bruno Haible  <bruno@clisp.org>
170
171         thread: Support pthreads-win32.
172         * lib/glthread/thread.h (gl_thread_self): Define differently on
173         pthreads-win32.
174         (gl_null_thread): New declaration.
175         (gl_thread_self_pointer): New macro.
176         * lib/glthread/thread.c (gl_null_thread): New constant.
177         * tests/test-lock.c: Use gl_thread_self_pointer instead of
178         gl_thread_self.
179         * tests/test-tls.c: Likewise.
180         Suggested by Paul Eggert. Reported by Eric Blake.
181
182 2011-06-09  Bruno Haible  <bruno@clisp.org>
183
184         thread: Fix confusion between NULL and 0.
185         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
186         Reported by Paul Eggert.
187
188 2011-06-09  Bruno Haible  <bruno@clisp.org>
189
190         spawn-pipe tests: Avoid test failure on HP-UX 11.
191         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
192         is closed.
193
194 2011-06-09  Bruno Haible  <bruno@clisp.org>
195
196         acl tests: Fix compilation error on HP-UX 11.
197         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
198
199 2011-06-09  Bruno Haible  <bruno@clisp.org>
200
201         rmdir: Avoid test failure on HP-UX 10.20.
202         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
203         EEXIST.
204
205 2011-06-08  Eric Blake  <eblake@redhat.com>
206
207         perror: fix test on mingw
208         * modules/perror-tests (Depends-on): Add dup2.
209
210         strerror_r-posix: fix on MacOS
211         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
212         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
213         logic bug.
214         * lib/strerror_r.c (strerror_r): Fix the bug.
215         * lib/strerror.c (strerror): Likewise.
216         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
217         problem.
218         * doc/posix-functions/strerror.texi (strerror): Likewise.
219         * doc/posix-functions/perror.texi (perror): Likewise.
220         * tests/test-strerror.c (main): Enhance test.
221         * tests/test-strerror_r.c (main): Likewise.
222
223 2011-06-08  Bruno Haible  <bruno@clisp.org>
224
225         gnulib-tool: Better isolation between different gnulib-tool invocations.
226         * gnulib-tool: New option --witness-c-macro.
227         (witness_c_macro): New variable.
228         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
229         AM_CPPFLAGS define it as a C macro.
230         (func_emit_tests_Makefile_am): Likewise.
231         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
232         read it from there.
233         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
234         m4_define, not AC_DEFUN.
235         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
236         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
237         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
238         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
239         s|...|...|, to substitute the values of the GNULIB_* module indicator
240         variables.
241         * modules/dirent (Makefile.am): Likewise.
242         * modules/fcntl-h (Makefile.am): Likewise.
243         * modules/iconv-h (Makefile.am): Likewise.
244         * modules/langinfo (Makefile.am): Likewise.
245         * modules/locale (Makefile.am): Likewise.
246         * modules/math (Makefile.am): Likewise.
247         * modules/netdb (Makefile.am): Likewise.
248         * modules/poll-h (Makefile.am): Likewise.
249         * modules/pty (Makefile.am): Likewise.
250         * modules/search (Makefile.am): Likewise.
251         * modules/signal (Makefile.am): Likewise.
252         * modules/spawn (Makefile.am): Likewise.
253         * modules/stdio (Makefile.am): Likewise.
254         * modules/stdlib (Makefile.am): Likewise.
255         * modules/string (Makefile.am): Likewise.
256         * modules/sys_ioctl (Makefile.am): Likewise.
257         * modules/sys_select (Makefile.am): Likewise.
258         * modules/sys_socket (Makefile.am): Likewise.
259         * modules/sys_stat (Makefile.am): Likewise.
260         * modules/sys_times (Makefile.am): Likewise.
261         * modules/sys_utsname (Makefile.am): Likewise.
262         * modules/sys_wait (Makefile.am): Likewise.
263         * modules/termios (Makefile.am): Likewise.
264         * modules/time (Makefile.am): Likewise.
265         * modules/unistd (Makefile.am): Likewise.
266         * modules/wchar (Makefile.am): Likewise.
267
268 2011-06-08  Eric Blake  <eblake@redhat.com>
269
270         strerror: simplify replacement
271         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
272         * modules/strerror (configure.ac): No prereqs needed here...
273         * modules/strerror-override (configure.ac): ...but this needs it.
274         (Files): Add file for needed prereq macro.
275
276 2011-06-08  Bruno Haible  <bruno@clisp.org>
277
278         strerror_r-posix: Tweaks.
279         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
280         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
281         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
282         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
283         (gl_FUNC_STRERROR_R): ... to here.
284         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
285
286 2011-06-07  Eric Blake  <eblake@redhat.com>
287
288         perror: document fixed bugs
289         * doc/posix-functions/perror.texi (perror): Document recent
290         patches.
291
292 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
293
294         stat-time: get_stat_birthtime failure is better-defined
295         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
296         return a timestamp whose tv_sec and tv_nsec values are both -1.
297         Previously, the spec said only that the tv_nsec value was negative.
298         This upward-compatible change simplifies GNU tar a bit.
299
300 2011-06-07  Eric Blake  <eblake@redhat.com>
301
302         strerror_r-posix: work around cygwin 1.7.9
303         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
304         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
305         bug without replacing strerror_r.
306         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
307         strerror_r is buggy, but without requiring strerror_r compilation.
308         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
309
310         test-perror: relax test to ignore cygwin bug
311         * tests/test-perror2.c (main): Relax test on requiring detection
312         of stream errors, and use unbuffered stream.
313         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
314         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
315         * doc/posix-functions/fputc.texi (fputc): Likewise.
316         * doc/posix-functions/fputs.texi (fputs): Likewise.
317         * doc/posix-functions/fputws.texi (fputws): Likewise.
318         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
319         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
320         * doc/posix-functions/getopt.texi (getopt): Likewise.
321         * doc/posix-functions/perror.texi (perror): Likewise.
322         * doc/posix-functions/printf.texi (printf): Likewise.
323         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
324         * doc/posix-functions/psignal.texi (psignal): Likewise.
325         * doc/posix-functions/putc.texi (putc): Likewise.
326         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
327         Likewise.
328         * doc/posix-functions/putchar.texi (putchar): Likewise.
329         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
330         Likewise.
331         * doc/posix-functions/puts.texi (puts): Likewise.
332         * doc/posix-functions/putwc.texi (putwc): Likewise.
333         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
334         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
335         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
336         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
337         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
338         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
339         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
340         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
341
342 2011-05-22  Bruno Haible  <bruno@clisp.org>
343
344         strerror: Move AC_LIBOBJ invocations to module description.
345         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
346         gl_PREREQ_STRERROR invocations from here...
347         * modules/strerror (configure.ac): ... to here.
348
349 2011-05-21  Bruno Haible  <bruno@clisp.org>
350
351         perror: Use common idiom.
352         * modules/perror (configure.ac): Reorder statements.
353
354 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
355
356         tests: fix usage message in 'mktempd_'
357         * tests/init.sh (mktempd_): In the usage message, use literal
358         'mktempd_', not '$ME' (which is even undefined), as the name of
359         the subroutine.
360
361 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
362
363         tests init: new function 'fatal_', for hard errors
364         Before this patch, the only way offered by tests/init.sh to
365         properly signal a hard error was the `framework_failure_'
366         function.  But the error message issued by that function,
367         as its name would suggest, refers to a set-up failure in the
368         testsuite, while hard errors can obviously also be due to
369         other reasons.  The best way to fix this inconsistency is to
370         introduce a new function with a more general error message.
371         * tests/init.sh (fatal_): New function.
372
373 2011-06-06  Eric Blake  <eblake@redhat.com>
374
375         canonicalize-lgpl: use common idiom
376         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
377         over newer POSIX -Rf.
378         Reported by Bruno Haible.
379
380         canonicalize-lgpl: work around AIX realpath bug
381         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
382         * doc/posix-functions/realpath.texi (realpath): Document it.
383         Reported by Bruno Haible.
384
385         strerror: work around FreeBSD bug
386         * lib/strerror.c (strerror): Special case 0.
387         Reported by Bruno Haible.
388
389         strerror-override: avoid bloating errno module
390         * modules/errno (Files, configure.ac): Move replacement strings...
391         * modules/strerror-override: ...to new module.
392         * modules/strerror (Depends-on): Add strerror-override.
393         * modules/strerror_r-posix (Depends-on): Likewise.
394         * MODULES.html.sh: Document new module.
395         Reported by Bruno Haible.
396
397 2011-06-06  Bruno Haible  <bruno@clisp.org>
398
399         spawn-pipe tests: Rename program.
400         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
401         * tests/test-spawn-pipe-child.c: Update comment.
402         * tests/test-spawn-pipe.sh: Update.
403         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
404
405         spawn-pipe tests: Link the child program only against libc.
406         * tests/test-spawn-pipe-child.c: New file, extracted from
407         tests/test-spawn-pipe.c.
408         (main): Expect only one argument.
409         (is_open): New function, copied from tests/test-pipe.c.
410         * tests/test-spawn-pipe.c: Don't include <errno.h>.
411         (child_main): Remove function.
412         (test_pipe): Pass only one argument to the child program.
413         (main): Remove child process code. Expect the child program's name as
414         first argument.
415         * tests/test-spawn-pipe.sh: Pass the child program's name as first
416         argument.
417         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
418         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
419         test-spawn-pipe-child against no libraries.
420
421 2011-06-06  Bruno Haible  <bruno@clisp.org>
422
423         careadlinkat: Avoid mismatch between ssize_t and int.
424         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
425         * lib/careadlinkat.c (careadlinkatcwd): Define always.
426
427 2011-06-06  Jim Meyering  <meyering@redhat.com>
428
429         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
430         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
431         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
432
433 2011-06-05  Bruno Haible  <bruno@clisp.org>
434
435         ansi-c++-opt: Interoperability with libtool.
436         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
437         set the variable to "no", not to ":".
438         * NEWS: Mention the change.
439
440 2011-06-05  Bruno Haible  <bruno@clisp.org>
441
442         acl: Fix test failure on AIX 7.
443         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
444         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
445
446 2011-06-05  Bruno Haible  <bruno@clisp.org>
447
448         pipe-filter-ii: Fix test failure on AIX and IRIX.
449         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
450         with EAGAIN, retry with a smaller buffer size.
451
452 2011-06-05  Bruno Haible  <bruno@clisp.org>
453
454         localename: Fix link dependencies.
455         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
456         * modules/localename-tests (Makefile.am): Link test-localename with
457         $(LIBTHREAD).
458
459 2011-06-05  Bruno Haible  <bruno@clisp.org>
460
461         error: Avoid gcc warning.
462         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
463
464 2011-06-05  Bruno Haible  <bruno@clisp.org>
465
466         unsetenv: Avoid gcc warning.
467         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
468
469 2011-06-05  Bruno Haible  <bruno@clisp.org>
470
471         setenv: Avoid gcc warning.
472         * lib/setenv.c (setenv): Provide declaration if system lacks it.
473
474 2011-06-05  Bruno Haible  <bruno@clisp.org>
475
476         sys_select: Ensure memset is declared also on AIX 7.
477         * lib/sys_select.in.h: Include <string.h> also on AIX.
478         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
479         self-contained also on AIX 7.1.
480
481 2011-06-04  Jim Meyering  <meyering@redhat.com>
482
483         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
484         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
485         function name, "error".
486         (_gl_translatable_diag_func_re): New configurable variable.
487
488 2011-06-04  Bruno Haible  <bruno@clisp.org>
489
490         getopt: Avoid gcc warning.
491         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
492
493 2011-06-04  Bruno Haible  <bruno@clisp.org>
494
495         strerror_r: Fix comments.
496         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
497         commit.
498
499 2011-06-04  Bruno Haible  <bruno@clisp.org>
500
501         perror: Fix compilation error.
502         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
503         Undefine fprintf, not sprintf.
504         * modules/perror (Depends-on): Remove intprops, verify.
505
506 2011-06-04  Bruno Haible  <bruno@clisp.org>
507
508         setlocale: Enable replacement on Cygwin 1.5.
509         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
510         Cygwin 1.5.x.
511         * doc/posix-functions/setlocale.texi: Mention that the problem with the
512         LC_CTYPE category also exists on Cygwin 1.5.x.
513
514 2011-06-04  Bruno Haible  <bruno@clisp.org>
515
516         strerror-override: Don't disable symbol renamings.
517         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
518         * lib/strerror-override.c: Include config.h.
519         (strerror_override): Don't undefine.
520
521 2011-06-03  Bruno Haible  <bruno@clisp.org>
522
523         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
524         * lib/localename.h: Update copyright header.
525         * lib/localename.c: Likewise.
526         * lib/relocatable.h: Likewise.
527         * lib/relocatable.c: Likewise.
528
529 2011-06-02  Bruno Haible  <bruno@clisp.org>
530
531         doc: Fix a module name.
532         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
533
534 2011-06-02  Bruno Haible  <bruno@clisp.org>
535
536         pipe2: Remove dependency on 'nonblocking' module.
537         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
538         O_NONBLOCK is defined by gnulib.
539         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
540         is zero.
541         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
542         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
543         defined by gnulib.
544         (get_nonblocking_flag): New function.
545         (main): Test O_NONBLOCK flag only if it is nonzero.
546         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
547
548 2011-06-03  Jim Meyering  <meyering@redhat.com>
549
550         maint: three new prohibit-header-without-use rules
551         Prohibit use of cloexec.h, posixver.h, same.h without use.
552         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
553         (sc_prohibit_posixver_without_use): Likewise.
554         (sc_prohibit_same_without_use): Likewise.
555
556 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
557
558         allocator: 'die' routine is now given requested size
559         * lib/allocator.h (struct allocator.die): New size arg.
560         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
561         If the actual problem is an ssize_t limitation, not a size_t or
562         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
563
564 2011-06-01  Eric Blake  <eblake@redhat.com>
565
566         strerror: drop strerror_r dependency
567         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
568         * lib/strerror-override.c (strerror_override): ...to new file.
569         * lib/strerror-override.h: Add prototype.
570         * lib/strerror-impl.h: Delete.
571         * lib/strerror.c (strerror): New implementation.
572         * modules/errno (Files): Add new files.
573         (configure.ac): Compile new file as appropriate.
574         * modules/strerror (Files): Drop unused file.
575         (Depends-on): Drop strerror_r-posix.
576         * MODULES.html.sh: Document strerror_r-posix.
577         Requested by Sam Steingold.
578
579         perror: call strerror_r directly
580         * modules/perror (Files): Drop strerror-impl.h.
581         * lib/perror.c (perror): Use our own stack buffer, rather than
582         calling a wrapper that uses static storage.
583         * doc/posix-functions/perror.texi (perror): Document a limitation
584         of our replacement.
585
586         strerror_r: fix includes for FreeBSD
587         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
588         since we use abort on some platforms.
589         Reported by Matthias Bolte.
590
591 2011-05-31  Bruno Haible  <bruno@clisp.org>
592
593         Fix link errors in tests: openat-die uses gettext-h.
594         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
595         against $(LIBINTL).
596         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
597         against $(LIBINTL).
598         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
599         $(LIBINTL).
600         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
601         against $(LIBINTL).
602         * modules/linkat-tests (Makefile.am): Link test-linkat against
603         $(LIBINTL).
604         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
605         $(LIBINTL).
606         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
607         against $(LIBINTL).
608         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
609         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
610         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
611         $(LIBINTL).
612         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
613         $(LIBINTL).
614         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
615         $(LIBINTL).
616         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
617
618 2011-05-31  Bruno Haible  <bruno@clisp.org>
619
620         Fix link errors in tests: wait-process uses gettext-h.
621         * modules/nonblocking-pipe-tests (Makefile.am): Set
622         test_nonblocking_pipe_main_LDADD.
623         * modules/nonblocking-socket-tests (Makefile.am): Link
624         test-nonblocking-socket-main against $(LIBINTL).
625         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
626
627 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
628
629         assert-h: work around 'verify' incompatibility
630         * lib/verify.h: Use @...@ directives, not ifdef.
631         * modules/assert-h (assert.h): Implement the directives.
632         (assert.h): Substitute the symbol-prefix more consistently.
633
634 2011-05-29  Jim Meyering  <meyering@redhat.com>
635
636         trim: remove three superfluous assignments
637         * lib/trim.c (trim2): Remove three superfluous assignments
638         and correct brace positioning.
639
640 2011-05-29  Bruno Haible  <bruno@clisp.org>
641
642         wctype-h: Avoid namespace pollution on Solaris 2.6.
643         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
644         identifiers.
645         * doc/posix-headers/wctype.texi: Mention the problem.
646         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
647
648 2011-05-28  Jim Meyering  <meyering@redhat.com>
649
650         parse-datetime.y: accommodate -Wstrict-overflow
651         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
652         placate -Wstrict-overflow.
653
654         trim: avoid a warning from -O2 -Wstrict-overflow
655         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
656
657 2011-05-29  Bruno Haible  <bruno@clisp.org>
658
659         gnulib-tool: Fix bug in yesterday's commit.
660         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
661         twice.
662
663 2011-05-29  Bruno Haible  <bruno@clisp.org>
664
665         Allow multiple gnulib generated include files to be combined.
666         * gnulib-tool (func_compute_include_guard_prefix): New function.
667         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
668         ${gl_include_guard_prefix} references.
669         (func_import, func_create_testdir): Invoke
670         func_compute_include_guard_prefix.
671         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
672         * lib/ctype.in.h: Likewise.
673         * lib/dirent.in.h: Likewise.
674         * lib/errno.in.h: Likewise.
675         * lib/fcntl.in.h: Likewise.
676         * lib/float.in.h: Likewise.
677         * lib/getopt.in.h: Likewise.
678         * lib/iconv.in.h: Likewise.
679         * lib/langinfo.in.h: Likewise.
680         * lib/locale.in.h: Likewise.
681         * lib/math.in.h: Likewise.
682         * lib/netdb.in.h: Likewise.
683         * lib/netinet_in.in.h: Likewise.
684         * lib/poll.in.h: Likewise.
685         * lib/pthread.in.h: Likewise.
686         * lib/pty.in.h: Likewise.
687         * lib/sched.in.h: Likewise.
688         * lib/se-selinux.in.h: Likewise.
689         * lib/search.in.h: Likewise.
690         * lib/signal.in.h: Likewise.
691         * lib/spawn.in.h: Likewise.
692         * lib/stdarg.in.h: Likewise.
693         * lib/stddef.in.h: Likewise.
694         * lib/stdint.in.h: Likewise.
695         * lib/stdio.in.h: Likewise.
696         * lib/stdlib.in.h: Likewise.
697         * lib/string.in.h: Likewise.
698         * lib/strings.in.h: Likewise.
699         * lib/sys_file.in.h: Likewise.
700         * lib/sys_ioctl.in.h: Likewise.
701         * lib/sys_select.in.h: Likewise.
702         * lib/sys_socket.in.h: Likewise.
703         * lib/sys_stat.in.h: Likewise.
704         * lib/sys_time.in.h: Likewise.
705         * lib/sys_times.in.h: Likewise.
706         * lib/sys_uio.in.h: Likewise.
707         * lib/sys_utsname.in.h: Likewise.
708         * lib/sys_wait.in.h: Likewise.
709         * lib/sysexits.in.h: Likewise.
710         * lib/termios.in.h: Likewise.
711         * lib/time.in.h: Likewise.
712         * lib/unistd.in.h: Likewise.
713         * lib/wchar.in.h: Likewise.
714         * lib/wctype.in.h: Likewise.
715         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
716         * modules/ctype (Makefile.am): Likewise.
717         * modules/dirent (Makefile.am): Likewise.
718         * modules/errno (Makefile.am): Likewise.
719         * modules/fcntl-h (Makefile.am): Likewise.
720         * modules/float (Makefile.am): Likewise.
721         * modules/getopt-posix (Makefile.am): Likewise.
722         * modules/iconv-h (Makefile.am): Likewise.
723         * modules/langinfo (Makefile.am): Likewise.
724         * modules/locale (Makefile.am): Likewise.
725         * modules/math (Makefile.am): Likewise.
726         * modules/netdb (Makefile.am): Likewise.
727         * modules/netinet_in (Makefile.am): Likewise.
728         * modules/poll-h (Makefile.am): Likewise.
729         * modules/pthread (Makefile.am): Likewise.
730         * modules/pty (Makefile.am): Likewise.
731         * modules/sched (Makefile.am): Likewise.
732         * modules/search (Makefile.am): Likewise.
733         * modules/selinux-h (Makefile.am): Likewise.
734         * modules/signal (Makefile.am): Likewise.
735         * modules/spawn (Makefile.am): Likewise.
736         * modules/stdarg (Makefile.am): Likewise.
737         * modules/stddef (Makefile.am): Likewise.
738         * modules/stdint (Makefile.am): Likewise.
739         * modules/stdio (Makefile.am): Likewise.
740         * modules/stdlib (Makefile.am): Likewise.
741         * modules/string (Makefile.am): Likewise.
742         * modules/strings (Makefile.am): Likewise.
743         * modules/sys_file (Makefile.am): Likewise.
744         * modules/sys_ioctl (Makefile.am): Likewise.
745         * modules/sys_select (Makefile.am): Likewise.
746         * modules/sys_socket (Makefile.am): Likewise.
747         * modules/sys_stat (Makefile.am): Likewise.
748         * modules/sys_time (Makefile.am): Likewise.
749         * modules/sys_times (Makefile.am): Likewise.
750         * modules/sys_uio (Makefile.am): Likewise.
751         * modules/sys_utsname (Makefile.am): Likewise.
752         * modules/sys_wait (Makefile.am): Likewise.
753         * modules/sysexits (Makefile.am): Likewise.
754         * modules/termios (Makefile.am): Likewise.
755         * modules/time (Makefile.am): Likewise.
756         * modules/unistd (Makefile.am): Likewise.
757         * modules/wchar (Makefile.am): Likewise.
758         * modules/wctype-h (Makefile.am): Likewise.
759         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
760
761 2011-05-29  Bruno Haible  <bruno@clisp.org>
762
763         assert-h: Allow multiple gnulib generated replacements to coexist.
764         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
765
766 2011-05-29  Bruno Haible  <bruno@clisp.org>
767
768         argp: Allow coexistence with strerror_r-posix module.
769         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
770         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
771         by gnulib's <string.h> replacement), assume it has the POSIX signature,
772         not the glibc signature.
773
774 2011-05-28  Bruno Haible  <bruno@clisp.org>
775
776         gnulib-tool: Alternative structure of testdirs, similar to --import.
777         * gnulib-tool: New option --single-configure.
778         (func_usage): Document it.
779         (single_configure): New variable.
780         (func_modules_transitive_closure_separately,
781         func_modules_transitive_closure_separately,
782         func_determine_use_libtests, func_modules_add_dummy_separately,
783         func_modules_to_filelist_separately): New functions, extracted from
784         func_import.
785         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
786         (func_import): Use the new functions.
787         (func_create_testdir): Set final_modules. Handle $single_configure =
788         true case.
789
790 2011-05-28  Bruno Haible  <bruno@clisp.org>
791
792         getloadavg: Remove an unreliable safety check.
793         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
794         getloadavg.c is in place.
795         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
796         Reported by Sam Steingold <sds@gnu.org>.
797
798 2011-05-28  Bruno Haible  <bruno@clisp.org>
799
800         doc: Cleanup yet another file produced by texinfo.tex.
801         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
802
803 2011-05-28  Bruno Haible  <bruno@clisp.org>
804
805         Finish the conditional dependencies mechanism.
806         * gnulib-tool: New option --no-conditional-dependencies.
807         (func_usage): Document it. Don't mark --conditional-dependencies as
808         experimental.
809         (cond_dependencies): The possible values can now be true, false, empty.
810         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
811         (func_import): Store setting in gnulib-cache.m4 and read it from there.
812         * doc/gnulib-tool.texi (Conditional dependencies): New section.
813
814 2011-05-28  Bruno Haible  <bruno@clisp.org>
815
816         doc: Use a recent texinfo.tex.
817         * doc/Makefile (tex_opts): New variable.
818         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
819
820 2011-05-28  Jim Meyering  <meyering@redhat.com>
821
822         intprops.h: adjust comment to match code change
823         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
824         only once, it *may* have side effects.  Also fix an unrelated typo.
825         (_GL_INT_SIGNED): Likewise.
826
827 2011-05-26  Simon Josefsson  <simon@josefsson.org>
828
829         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
830
831 2011-05-26  Bruno Haible  <bruno@clisp.org>
832
833         mbsrchr: Avoid collision with system function on Interix.
834         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
835         Reported by Markus Duft <mduft@gentoo.org>.
836
837 2011-05-15  James Youngman  <jay@gnu.org>
838
839         getopt: for ambiguous options, enumerate the possibilities.
840         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
841         the ambiguous options when an ambiguous prefix is given. This was
842         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
843         glibc change was
844         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
845
846 2011-05-25  Eric Blake  <eblake@redhat.com>
847
848         getcwd: work around mingw bug
849         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
850         * doc/posix-functions/getcwd.texi (getcwd): Document it.
851         Reported by Matthias Bolte.
852
853 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
854
855         test-intprops: disable -Wtype-limits diagnostics
856         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
857         diagnostics.  Otherwise, the integer overflow macros generate many
858         diagnostics.  Reported by Jim Meyering in
859         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
860
861         intprops: shorten, to pacify gcc -Woverlength-strings
862         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
863         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
864         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
865         likely to run afoul of C compiler limits for string constant lengths.
866         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
867
868 2011-05-24  Eric Blake  <eblake@redhat.com>
869
870         docs: document recently fixed glibc printf bug
871         * doc/posix-functions/fprintf.texi (fprintf): Document it.
872         * doc/posix-functions/printf.texi (printf): Likewise.
873         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
874         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
875
876         closein-tests: convert to init.sh
877         * modules/closein-tests (Files): Add init.sh
878         * tests/test-closein.sh Use it.
879
880         yesno-tests: convert to init.sh
881         * modules/yesno-tests (Files): Add init.sh.
882         * tests/test-yesno.sh: Use it.
883
884         atexit-tests: ensure reliable exit status
885         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
886         Reported by Bruno Haible.
887
888 2011-05-24  Bruno Haible  <bruno@clisp.org>
889
890         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
891         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
892         gl_PREREQ_STRERROR_R invocations from here...
893         * modules/strerror_r-posix (configure.ac): ... to here.
894
895 2011-05-24  Eric Blake  <eblake@redhat.com>
896
897         strerror_r: fix missing header
898         * lib/strerror_r.c: Avoid compiler warning about snprintf.
899
900         strerror_r: fix AIX test failures
901         * lib/strerror_r.c (strerror_r): Convert silent truncation to
902         ERANGE failure.
903
904         strerror_r: fix Solaris test failures
905         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
906         failures.
907         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
908
909         strerror_r: enforce POSIX recommendations
910         * lib/strerror_r.c (safe_copy): New helper method.
911         (strerror_r): Guarantee a non-empty string.
912         * tests/test-strerror_r.c (main): Enhance tests to incorporate
913         recent POSIX rulings and to match our strerror guarantees.
914         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
915
916 2011-05-24  Jim Meyering  <meyering@redhat.com>
917
918         test-perror2.c: avoid warning about unused variable
919         * tests/test-perror2.c (main): Remove declaration of unused "fp".
920
921 2011-05-24  Eric Blake  <eblake@redhat.com>
922
923         perror: avoid spurious test failure on HP-UX
924         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
925
926         tests: fix logic bug in init.sh
927         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
928         shell.
929
930 2011-05-24  Jim Meyering  <meyering@redhat.com>
931
932         utimensat: do not reference an out-of-scope buffer
933         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
934         declared in an inner scope, yet "times" would be dereferenced outside
935         the scope in which "ts" was valid.
936         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
937         of ts[2] "out/up", so that the use of aliased "times" (via
938         "times = ts;") does not end up referencing an out-of-scope "ts"
939
940         opendir-safer.c: don't clobber errno; don't close negative FD
941         * lib/opendir-safer.c (opendir_safer):
942         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
943         file descriptor, and more importantly, don't clobber the
944         offending errno value with EINVAL.  Before, upon failure
945         of dup_safer, we would pass the negative file descriptor to
946         fdopendir, which would clobber errno.
947
948 2011-05-23  Bruno Haible  <bruno@clisp.org>
949
950         idcache: Fix module description.
951         * modules/idcache (Include): Set to "idcache.h".
952
953 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
954
955         gnulib-tool: fix portability problem with MacOS sed
956         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
957         before the "}".  Problem reported by Leo in
958         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
959         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
960         sed_extract_condition1, sed_extract_condition2.
961
962 2011-05-23  Bruno Haible  <bruno@clisp.org>
963
964         hash: Simplify autoconf macro.
965         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
966
967 2011-05-23  Bruno Haible  <bruno@clisp.org>
968
969         getugroups: Fix module description.
970         * modules/getugroups (Include): Set to "getugroups.h".
971
972 2011-05-23  Bruno Haible  <bruno@clisp.org>
973
974         linkat: Simplify autoconf macro.
975         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
976
977 2011-05-23  Bruno Haible  <bruno@clisp.org>
978             Eric Blake  <eblake@redhat.com>
979
980         linkat, renameat: Update dependencies.
981         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
982         * modules/linkat (Depends-on): Likewise. Remove also readlink,
983         symlinkat.
984
985 2011-05-23  Jim Meyering  <meyering@redhat.com>
986
987         maint.mk: more tight_scope improvements
988         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
989         (_gl_TS_headers): Define only in if-0'd block.
990         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
991         sometimes we must *not* use it.  Adjust uses accordingly.
992         (sc_tight_scope): Use much simpler grep-based test to determine
993         whether we skip this rule.
994
995         maint.mk: generalize/improve the tight-scope rule
996         * top/maint.mk: Emit a warning when the test is skipped.
997         (_gl_TS_dir): Add $(srcdir)/ prefix.
998         (_gl_TS_function_match): Simplify, rather than trying
999         to enumerate common types.  Otherwise, it would fail to match an
1000         "extern unsigned char const *" declaration in idutils.
1001         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
1002         a way to support use of that type of macro.
1003         (_gl_TS_var_match): Simplify regexp.
1004         (_gl_TS_obj_files): New configurable variable.
1005         (_gl_TS_headers): Likewise.
1006
1007 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
1008
1009         verify: fix bug when gnulib <assert.h> is also included
1010         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
1011         is defined, not if _GL_STATIC_ASSERT_H is not defined.
1012         Perhaps there's a better way, but this fixes the immediate problem.
1013         Problem reported by Bruno Haible in
1014         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
1015
1016 2011-05-22  Bruno Haible  <bruno@clisp.org>
1017
1018         xgetcwd: Simplify autoconf macro.
1019         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
1020
1021 2011-05-22  Bruno Haible  <bruno@clisp.org>
1022
1023         New module 'mktime-internal'.
1024         * modules/mktime-internal: New file.
1025         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
1026         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
1027         mktime_internal as a C macro if libc has __mktime_internal.
1028         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
1029         conditions.
1030         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
1031
1032 2011-05-22  Bruno Haible  <bruno@clisp.org>
1033
1034         timegm: Correct mktime replacement statements.
1035         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
1036         defining mktime as a C macro. This completes a 2009-07-28 commit.
1037
1038 2011-05-22  Bruno Haible  <bruno@clisp.org>
1039
1040         timegm: Simplify autoconf macro.
1041         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
1042
1043 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
1044
1045         clock-time: change to LGPLv2+.
1046         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
1047         BSD-like but we have no mark for that; this is good enough for now.
1048
1049 2011-05-21  Bruno Haible  <bruno@clisp.org>
1050
1051         strerror_r: Fix comments.
1052         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
1053
1054 2011-05-21  Bruno Haible  <bruno@clisp.org>
1055
1056         relocatable-prog-wrapper: Fix possible link error.
1057         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
1058         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
1059         (gl_FUNC_SETENV): ... to here.
1060         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
1061         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
1062
1063 2011-05-21  Bruno Haible  <bruno@clisp.org>
1064
1065         relocatable-prog-wrapper: Assume strerror() exists.
1066         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
1067         m4/strerror.m4.
1068         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
1069         * lib/relocwrapper.c: Remove mention of strerror module.
1070         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
1071         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
1072         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
1073         C macro.
1074
1075 2011-05-21  Bruno Haible  <bruno@clisp.org>
1076
1077         select: Simplify replacement idiom.
1078         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
1079         Win32 platforms.
1080         * lib/sys_select.in.h (select): Simplify accordingly.
1081         * modules/select (Depends-on): Likewise.
1082
1083 2011-05-21  Bruno Haible  <bruno@clisp.org>
1084
1085         mkdir-p: Simplify autoconf macro.
1086         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
1087         gl_FUNC_LCHOWN.
1088
1089 2011-05-21  Eric Blake  <eblake@redhat.com>
1090
1091         strerror_r: avoid clobbering strerror on cygwin
1092         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
1093         fall back instead to sys_errlist.
1094         * modules/strerror (configure.ac): Add witness.
1095         * tests/test-strerror_r.c (main): Enhance test.
1096         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1097         * tests/test-perror2.c (main): Free memory before exit.
1098
1099 2011-05-21  Bruno Haible  <bruno@clisp.org>
1100
1101         mkdtemp: Use gnulib naming conventions.
1102         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
1103         * modules/mkdtemp (configure.ac): Update.
1104
1105 2011-05-20  Eric Blake  <eblake@redhat.com>
1106
1107         strerror_r: avoid corrupting errno on Solaris
1108         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
1109         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1110
1111         strerror_r: avoid compiler warning
1112         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
1113
1114         strerror_r: simplify AIX code
1115         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
1116
1117         test-perror: avoid spurious failure on FreeBSD
1118         * modules/perror-tests (Depends-on): Add strerror, now that
1119         strerror_r no longer pulls it in.
1120
1121 2011-05-20  Bruno Haible  <bruno@clisp.org>
1122
1123         strerror_r-posix: Remove unused dependencies.
1124         * modules/strerror_r-posix (Depends-on): Remove strerror.
1125         Reported by Eric Blake.
1126
1127 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
1128
1129         intprops: remove assumption about A|B representation
1130         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
1131         is a valid integer if both A and B are.  Although this is true for
1132         all known practical hosts, the C standard doesn't guarantee it,
1133         and the code need not assume it.  Also, this change may work around
1134         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
1135         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
1136
1137 2011-05-20  Eric Blake  <eblake@redhat.com>
1138
1139         perror: work around FreeBSD bug
1140         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
1141         is broken.  Move AC_LIBOBJ...
1142         * modules/perror (configure.ac): Here.
1143         * doc/posix-functions/perror.texi (perror): Document this.
1144         * tests/test-perror2.c (main): Enhance test.
1145
1146         test-perror: check for strerror interactions
1147         * tests/macros.h (STREQ): Add macro.
1148         * modules/perror-tests (Files): Add second test.
1149         * tests/test-perror2.c (main): New file.
1150         * doc/posix-functions/perror.texi (perror): Document glibc bug.
1151
1152         test-perror: rewrite to use init script
1153         * modules/perror-tests (Files): Add init.sh.
1154         * tests/test-perror.sh: Use temporary directory.
1155
1156 2011-05-20  Jim Meyering  <meyering@redhat.com>
1157
1158         maint: replace misused "a" with "an"
1159         * doc/intprops.texi: "a integer"
1160         * doc/regex.texi: "a explanation"
1161         * lib/alignof.h: "a object"
1162         * lib/argmatch.h: "a explanation"
1163         * lib/argp-help.c: "a option" and "a OPTION_DOC"
1164         * lib/stdint.in.h: "a integer"
1165         * lib/userspec.c: "a owner"
1166         * doc/gnulib.texi: Fix "a idea", and reword.
1167
1168 2011-05-19  Jim Meyering  <meyering@redhat.com>
1169
1170         maint: correct misuse of "a" and "an"
1171         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
1172         * lib/argp-help.c: "an docum...": s/an/a/
1173         * lib/argp-parse.c: "An vector": s/An/A/
1174         * lib/execute.c: "an native": s/an/a/
1175         * lib/spawn-pipe.c: Likewise.
1176         * lib/gc.h: "an Gc_rc": s/an/a/
1177         * lib/unigbrk.in.h: "an grapheme": s/an/a/
1178         * lib/fts.c: "an stat.st_dev": s/an/a/
1179
1180 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1181
1182         intprops-tests: work around HP-UX 11.23 cc bug with constants
1183         * tests/test-intprops.c (VERIFY): New macro.
1184         (main): Use it, instead of verify, to work around the compiler bug; see
1185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1186
1187         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
1188         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
1189         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
1190         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
1191         (_GL_REMAINDER_OVERFLOW): Use it.
1192
1193         intprops-tests: revert unsigned part of previous change
1194         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
1195         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
1196         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
1197         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
1198
1199 2011-05-19  Bruno Haible  <bruno@clisp.org>
1200
1201         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
1202         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
1203         strerror_r() returned without filling the buffer.
1204         Reported by Eric Blake.
1205
1206 2011-05-19  Eric Blake  <eblake@redhat.com>
1207
1208         strerror_r: guarantee unchanged errno
1209         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
1210         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
1211         failure.
1212         * tests/test-strerror_r.c (main): Enhance test.
1213
1214 2011-05-19  Bruno Haible  <bruno@clisp.org>
1215
1216         strerror_r: Reorder #if blocks.
1217         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
1218         for consistency with the previous commit.
1219
1220 2011-05-19  Bruno Haible  <bruno@clisp.org>
1221
1222         perror: Avoid clobbering the strerror buffer when possible.
1223         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
1224         * lib/strerror.c: Include it.
1225         * modules/strerror (Files): Add lib/strerror-impl.h.
1226         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
1227         (my_strerror): New function, defined through lib/strerror-impl.h.
1228         (perror): Use it instead of strerror.
1229         * modules/perror (Files): Add lib/strerror-impl.h.
1230         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
1231
1232 2011-05-19  Eric Blake  <eblake@redhat.com>
1233
1234         strerror_r: fix on newer cygwin
1235         * lib/strerror_r.c (strerror_r): Cygwin now has
1236         __xpg_strerror_r, use it.
1237
1238 2011-05-19  Bruno Haible  <bruno@clisp.org>
1239
1240         strerror_r: Avoid clobbering the strerror buffer when possible.
1241         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
1242         (sys_nerr, sys_errlist): New declarations.
1243         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
1244         HP-UX, native Win32, IRIX, and 32-bit Solaris.
1245         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
1246
1247 2011-05-19  Bruno Haible  <bruno@clisp.org>
1248
1249         strerror_r: Fix test failure on mingw.
1250         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
1251         EXTEND_STRERROR_R.
1252         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
1253         macros from errno.in.h instead.
1254
1255 2011-05-19  Eric Blake  <eblake@redhat.com>
1256
1257         strerror: relax test for Solaris
1258         * tests/test-strerror.c (main): Permit Solaris behavior.
1259         * tests/test-strerror_r.c (main): Likewise.
1260
1261         strerror: enforce POSIX ruling on strerror(0)
1262         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
1263         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
1264         * lib/strerror_r.c (rpl_strerror_r): Work around it.
1265         * doc/posix-functions/strerror.texi (strerror): Document it.
1266         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
1267         * tests/test-strerror.c (main): Strengthen test.
1268         * tests/test-strerror_r.c (main): Likewise.
1269
1270 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1271
1272         intprop-tests: port to older and more-pedantic compilers
1273         * modules/intprops-tests (Files): Add tests/macros.h.
1274         * tests/test-intprops.c: Include macros.h.
1275         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
1276         it's no longer documented to expand to an integer constant expression.
1277         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
1278         argument is floating point, as it's no longer documented to expand
1279         to an integer constant expression in that case.
1280         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
1281         compiler bugs reported by Bruno Haible.  See
1282         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1283         (U0, U1): New constants, to work around the same bugs.  Also,
1284         in tests, use e.g., "(unsigned int) 39" rather than "39u".
1285
1286         intprops: work around C compiler bugs
1287         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
1288         bug in Sun C 5.11 2010/08/13 and other compilers; see
1289         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
1290
1291         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
1292         * doc/intprops.texi (Integer Type Determination): Fix
1293         documentation for TYPE_IS_INTEGER: it returns an constant
1294         expression, not an integer constant expression.  Fix doc for
1295         TYPE_SIGNED: it returns an integer constant expression only if its
1296         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
1297         hardly worth documented that way....)
1298
1299 2011-05-18  Bruno Haible  <bruno@clisp.org>
1300
1301         strerror_r: Avoid clobbering the strerror buffer when possible.
1302         * lib/strerror_r.c (strerror_r): Merge the three implementations.
1303         Handle gnulib defined errno values here. When strerror() returns NULL
1304         or an empty string, return EINVAL.
1305         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
1306         gnulib defined errno values here.
1307         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
1308
1309 2011-05-18  Eric Blake  <eblake@redhat.com>
1310
1311         fnmatch: avoid compiler warning
1312         * lib/fnmatch_loop.c (FCT): Use correct type.
1313         Reported by Matthias Bolte.
1314
1315 2011-05-13  Jim Meyering  <meyering@redhat.com>
1316
1317         maint.mk: three new prohibit_<HDR>_without_use rules
1318         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
1319         (sc_prohibit_stdio-safer_without_use): Likewise.
1320         (sc_prohibit_xfreopen_without_use): Likewise.
1321
1322 2011-05-17  Jim Meyering  <meyering@redhat.com>
1323
1324         announce-gen: fail if the NEWS delta is empty
1325         If there's nothing noteworthy in NEWS, then either you forgot
1326         or you shouldn't be releasing.
1327         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
1328
1329 2011-05-17  Pádraig Brady <P@draigBrady.com>
1330
1331         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
1332         reserved symbols starting with double underscore from the check.
1333
1334 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1335
1336         intprops: add doc
1337         * doc/intprops.texi: New file, documenting intprops.
1338         * doc/gnulib.texi (Particular Modules): Include it.
1339
1340         verify: add doc to gnulib manual and fix example
1341         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
1342         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
1343         (Compile-time Assertions): Fix example so it can't overflow.
1344
1345 2011-05-17  Jim Meyering  <meyering@redhat.com>
1346
1347         warnings.m4: don't usurp save_CPPFLAGS variable name
1348         * m4/warnings.m4: Prefix local temporary variable name with gl_.
1349
1350         doc: fix typo
1351         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
1352
1353 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1354             Bruno Haible  <bruno@clisp.org>
1355
1356         doc: Tweak recent change.
1357         * README (Portability guidelines): Tweak new text.
1358         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
1359         Interix 6.1.
1360
1361 2011-05-16  Eric Blake  <eblake@redhat.com>
1362
1363         inttypes: avoid autoconf warning
1364         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
1365         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1366
1367 2011-05-16  Sam Steingold <sds@gnu.org>
1368         and Eric Blake  <eblake@redhat.com>
1369
1370         vc-list-files: accept multiple directory operands
1371         * build-aux/vc-list-files: Iterate over all remaining operands.
1372
1373 2011-05-16  Bruno Haible  <bruno@clisp.org>
1374
1375         Fix confusion regarding deprecated modules.
1376         * modules/calloc (Status, Notice): Mark module as deprecated, not
1377         obsolete.
1378         * modules/fnmatch-posix (Status, Notice): Likewise.
1379         * modules/getdate (Status, Notice): Likewise.
1380         * modules/getopt (Status, Notice): Likewise.
1381         * modules/malloc (Status, Notice): Likewise.
1382         * modules/pipe (Status, Notice): Likewise.
1383         * modules/realloc (Status, Notice): Likewise.
1384         * modules/rename-dest-slash (Status, Notice): Likewise.
1385         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
1386         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
1387         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
1388         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
1389         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
1390
1391 2011-05-16  Bruno Haible  <bruno@clisp.org>
1392
1393         doc: List the target platforms.
1394         * doc/gnulib-intro.texi (Target Platforms): New section.
1395         * doc/gnulib.texi (Introduction): Update menu.
1396         * README (Portability guidelines): Refer to the new section. Update
1397         statement about oldest supported environment. Remove rationale why
1398         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
1399         unportable C89 function.
1400         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
1401         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
1402
1403 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1404
1405         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
1406
1407 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
1408
1409         intprops-tests: new module
1410         * modules/intprops-tests, tests/test-intprops.c: New files.
1411
1412         intprops: add safe, portable integer overflow checking
1413         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
1414         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
1415         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
1416         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
1417         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
1418         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
1419         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
1420         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
1421         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
1422         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
1423         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
1424
1425 2011-05-12  James Youngman  <jay@gnu.org>
1426
1427         Add a test for glibc's Bugzilla bug #12378.
1428         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
1429         doesn't allow the literal matching of a lone "[" (which is
1430         required by POSIX).
1431         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
1432
1433 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
1434
1435         Sync glibc change fixing Bugzilla bug #12378.
1436         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
1437         beginning and fall back to matching as normal character if the
1438         string ends before the matching ']' is found.  This is what POSIX
1439         requires.
1440
1441 2011-05-13  Eric Blake  <eblake@redhat.com>
1442
1443         getcwd-lgpl: relax test for FreeBSD
1444         * doc/posix-functions/getcwd.texi (getcwd): Document portability
1445         issue.
1446         * tests/test-getcwd-lgpl.c (main): Relax test.
1447         Reported by Matthias Bolte.
1448
1449 2011-05-11  Eric Blake  <eblake@redhat.com>
1450
1451         test-fflush: silence compiler warning
1452         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
1453
1454 2011-05-11  Bruno Haible  <bruno@clisp.org>
1455
1456         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
1457         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
1458         * modules/canonicalize (Depends-on): Add 'nocrash'.
1459         * modules/canonicalize-lgpl (Depends-on): Likewise.
1460         * doc/posix-functions/realpath.texi: Update platforms list.
1461         Reported by Ryan Schmidt <ryandesign@macports.org>.
1462
1463 2011-05-11  Bruno Haible  <bruno@clisp.org>
1464
1465         group-member: Declare function in <unistd.h>.
1466         * lib/unistd.in.h (group_member): New declaration.
1467         * lib/group-member.h: Remove file.
1468         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
1469         * tests/test-unistd-c++.cc: Check signature of group_member.
1470         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
1471         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
1472         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
1473         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
1474         HAVE_GROUP_MEMBER.
1475         * modules/group-member (Files): Remove lib/group-member.h.
1476         (Depends-on): Add unistd. Specify conditions.
1477         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
1478         (Include): Change to <unistd.h>.
1479         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
1480         HAVE_GROUP_MEMBER.
1481         * NEWS: Mention the change.
1482         * lib/euidaccess.c: Don't include group-member.h.
1483
1484 2011-05-11  Bruno Haible  <bruno@clisp.org>
1485
1486         group-member: Document module.
1487         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
1488         module.
1489
1490 2011-05-11  Bruno Haible  <bruno@clisp.org>
1491
1492         fclose: Fix mistake earlier today.
1493         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
1494
1495 2011-05-11  Eric Blake  <eblake@redhat.com>
1496
1497         fclose: preserve fflush errors
1498         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
1499         Reported by Jim Meyering.
1500
1501         bootstrap: support a prereq of 'rpcgen -' on RHEL5
1502         * build-aux/bootstrap (check_versions): When no specific version
1503         is required, merely check that the app produces an exit status
1504         that indicates its existence.
1505
1506         maint.mk: drop redundant check
1507         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
1508         the same but better.
1509
1510 2011-05-11  Bruno Haible  <bruno@clisp.org>
1511
1512         fclose: Fix possible link error.
1513         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
1514         unregister_shadow_fd. Improve comments.
1515         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
1516         Eric Blake.
1517
1518 2011-05-11  Jim Meyering  <meyering@redhat.com>
1519
1520         maint.mk: improve "can not" detection and generalize rule name
1521         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
1522         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
1523         Use the same technique as in sc_prohibit_doubled_word, so that
1524         we recognize "can not" also when the words are separated by a newline.
1525         Suggested by Eric Blake.
1526         (perl_filename_lineno_text_): Define.  Factored out of...
1527         (prohibit_doubled_word_): ...here.  Use the new definition.
1528         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
1529         (prohibit_undesirable_word_seq_RE_): New overridable variable.
1530         (ignore_undesirable_word_sequence_RE_): New overridable variable.
1531
1532 2011-05-10  Eric Blake  <eblake@redhat.com>
1533
1534         fclose: avoid double close race when possible
1535         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
1536         all but WINDOWS_SOCKETS.
1537
1538 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
1539
1540         openat: correct new comment
1541         * lib/openat-proc.c (openat_proc_name): Correct the comment.
1542
1543 2011-05-10  Jim Meyering  <meyering@redhat.com>
1544
1545         openat: add comments
1546         * lib/openat-proc.c (openat_proc_name): Add comments,
1547         mostly from Eric Blake.
1548
1549 2011-05-09  Eric Blake  <eblake@redhat.com>
1550
1551         openat: reduce syscalls in first probe of /proc
1552         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
1553         be a directory.  Simplify the probe for .. bugs.
1554         * modules/openat (Depends-on): Drop same-inode.
1555         Reported by Bastien ROUCARIES.
1556
1557 2011-05-09  Jim Meyering  <meyering@redhat.com>
1558
1559         maint.mk: change semantics/name of tight_scope variables
1560         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
1561         Rename variables to align with semantics that make them more useful.
1562
1563         maint.mk: tweak new rule's name not to impinge
1564         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
1565         (sc_tight_scope): Use new rule name rather than $@-0.
1566
1567         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
1568         * top/maint.mk (sc_tight_scope): New rule.
1569         (sc_tight_scope-0): New rule, ifdef'd out.
1570         (_gl_TS_dir): Default.
1571         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
1572         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
1573
1574 2011-05-09  Simon Josefsson  <simon@josefsson.org>
1575
1576         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
1577         Haible <bruno@clisp.org>.
1578
1579 2011-05-08  Bruno Haible  <bruno@clisp.org>
1580
1581         Comments.
1582         * m4/isnanf.m4: Add comment.
1583         * m4/isnanl.m4: Likewise.
1584
1585 2011-05-08  Bruno Haible  <bruno@clisp.org>
1586
1587         glob: Remove obsolete macro.
1588         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
1589
1590 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
1591
1592         intprops: Sun C 5.11 supports __typeof__
1593         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
1594         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
1595         which is new.
1596         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
1597
1598         intprops: switch to usual gnulib indenting and naming
1599         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
1600         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
1601
1602         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
1603
1604 2011-05-08  Jim Meyering  <meyering@redhat.com>
1605
1606         maint.mk: suppress "Entering/Leaving directory" diag in announcement
1607         * top/maint.mk (release-prep): Use make's --no-print-directory
1608         option when generating the announcement.  This eliminates the
1609         pesky "make[2]: Entering/Leaving directory" diagnostics in the
1610         generated announcement template.
1611
1612 2011-05-08  Bruno Haible  <bruno@clisp.org>
1613
1614         tzset: Fix gettimeofday wrapper on Solaris 2.6.
1615         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
1616         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
1617
1618 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1619
1620         ignore-value, verify: Omit include files from lib_SOURCES.
1621         * modules/ignore-value, modules/verify (Makefile.am):
1622         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
1623         that leads Automake to duplicate use of am__objects_... variables
1624         in Makefile.in.  See
1625         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
1626
1627 2011-05-07  Bruno Haible  <bruno@clisp.org>
1628
1629         fclose: Simplify autoconf macro.
1630         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
1631         defined.
1632
1633 2011-05-07  Bruno Haible  <bruno@clisp.org>
1634
1635         canonicalize-lgpl: Fix autoconf macro ordering bug.
1636         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
1637         gl_STDLIB_H_DEFAULTS.
1638
1639 2011-05-06  Eric Blake  <eblake@redhat.com>
1640
1641         maintainer-makefile: make sc_po_check easier to tune
1642         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
1643         to probe for strings, such as an alternate location for gnulib.
1644
1645         fclose: guarantee behavior on seekable stdin
1646         * modules/fclose (Depends-on): Add fflush.
1647         * doc/posix-functions/fclose.texi (fclose): Document this.
1648         * tests/test-fclose.c (main): Make test for this unconditional.
1649
1650 2011-05-06  Bruno Haible  <bruno@clisp.org>
1651
1652         fflush, fpurge: Relicense under LGPLv2+.
1653         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
1654         * modules/fpurge (License): Likewise.
1655         With permission from Eric Blake and Jim Meyering.
1656         Suggested by Eric Blake.
1657
1658 2011-05-06  Karl Berry  <karl@gnu.org>
1659
1660         * MODULES.html.sh (func_all_modules): remove exit.
1661
1662 2011-05-06  Jim Meyering  <meyering@redhat.com>
1663
1664         maint.mk: use info-gnu@ as the default only for a stable release
1665         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
1666         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
1667         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
1668         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
1669
1670 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1671
1672         assert-h: new module, which supports C1X-style static_assert
1673         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
1674         * lib/verify.h: Revamp so that this can be copied into assert.h,
1675         while retaining the ability to use it standalone as before.
1676         Rename private identifiers so as not to encroach on the
1677         standard C namespace, since this is now used by assert.h.
1678         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
1679         the old verify_true.
1680         (_GL_VERIFY_TRUE): New macro, with much of the contents of
1681         the old verify_true.  Use _GL_VERIFY_TYPE.
1682         (_GL_VERIFY): New macro, with much of the contents of the old verify.
1683         (static_assert): New macro, if _GL_STATIC_ASSERT_H
1684         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
1685         defined when this file is copied into the replacement assert.h.
1686         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
1687         and _Static_assert is not built in.
1688         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
1689         defined, and use the new macros mentioned above.
1690         * doc/posix-headers/assert.texi: Document this.
1691
1692 2011-05-05  Bruno Haible  <bruno@clisp.org>
1693
1694         fclose, fflush: Respect rules for use of AC_LIBOBJ.
1695         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
1696         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
1697         gl_REPLACE_FCLOSE here.
1698         * modules/fflush (Depends-on): Remove fclose.
1699         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
1700         combination with module 'fclose'.
1701
1702 2011-05-05  Bruno Haible  <bruno@clisp.org>
1703
1704         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
1705         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
1706         gl_FUNC_FFLUSH.
1707         (gl_FUNC_FFLUSH): Use it.
1708         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
1709         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
1710         gl_REPLACE_FSEEKO here.
1711
1712 2011-05-05  Bruno Haible  <bruno@clisp.org>
1713
1714         tzset: Relicense under LGPL.
1715         * modules/tzset (License): Change to LGPL.
1716         No agreement needed; it's a no-op.
1717
1718         strtoimax, strtoumax: Relicense under LGPL.
1719         * modules/strtoimax (License): Change to LGPL.
1720         * modules/strtoumax (License): Likewise.
1721         With permission from Jim Meyering, Paul Eggert:
1722         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
1723         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
1724
1725         getgroups: Relicense under LGPL.
1726         * modules/getgroups (License): Change to LGPL.
1727         With permission from Jim Meyering, Paul Eggert, Eric Blake:
1728         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1730         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1731
1732         nanosleep: Relicense under LGPL.
1733         * modules/nanosleep (License): Change to LGPL.
1734         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
1735         Haible:
1736         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1737         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1738         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1739         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1740
1741         futimens: Relicense under LGPL.
1742         * modules/futimens (License): Change to LGPL.
1743         With permission from Eric Blake:
1744         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1745
1746         fflush: Relicense under LGPL.
1747         * modules/fflush (License): Change to LGPL.
1748         With permission from Eric Blake, Bruno Haible, Jim Meyering:
1749         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1750         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1751         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
1752
1753         tmpfile: Relicense under LGPL.
1754         * modules/tmpfile (License): Change to LGPL.
1755         With permission from Ben Pfaff:
1756         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1757
1758         isfinite: Relicense under LGPL.
1759         * modules/isfinite (License): Change to LGPL.
1760         With permission from Ben Pfaff, Bruno Haible:
1761         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1762         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
1763
1764         acosl..tanl: Relicense under LGPL.
1765         * modules/acosl (License): Change to LGPL.
1766         * modules/asinl (License): Likewise.
1767         * modules/atanl (License): Likewise.
1768         * modules/cosl (License): Likewise.
1769         * modules/expl (License): Likewise.
1770         * modules/logl (License): Likewise.
1771         * modules/sinl (License): Likewise.
1772         * modules/sqrtl (License): Likewise.
1773         * modules/tanl (License): Likewise.
1774         Source code originally from glibc and Paolo Bonzini. Agreements:
1775         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
1776         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
1777
1778 2011-05-05  Bruno Haible  <bruno@clisp.org>
1779
1780         signal: Define sighandler_t.
1781         * lib/signal.in.h (sighandler_t): New type.
1782         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
1783         whether sighandler_t is defined.
1784         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
1785         * modules/signal (Depends-on): Add extensions.
1786         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
1787         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
1788         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
1789
1790 2011-05-05  Eric Blake  <eblake@redhat.com>
1791
1792         maint: remove useless REPLACE_*_H macros
1793         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
1794         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
1795         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
1796         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
1797         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
1798         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
1799         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
1800         * m4/btowc.m4: Update callers.
1801         * m4/dirfd.m4: Likewise.
1802         * m4/duplocale.m4: Likewise.
1803         * m4/fchdir.m4: Likewise.
1804         * m4/fdopendir.m4: Likewise.
1805         * m4/inet_ntop.m4: Likewise.
1806         * m4/inet_pton.m4: Likewise.
1807         * m4/ioctl.m4: Likewise.
1808         * m4/mbrlen.m4: Likewise.
1809         * m4/mbrtowc.m4: Likewise.
1810         * m4/mbsinit.m4: Likewise.
1811         * m4/mbsnrtowcs.m4: Likewise.
1812         * m4/mbsrtowcs.m4: Likewise.
1813         * m4/poll.m4: Likewise.
1814         * m4/setlocale.m4: Likewise.
1815         * m4/wcrtomb.m4: Likewise.
1816         * m4/wcsnrtombs.m4: Likewise.
1817         * m4/wcsrtombs.m4: Likewise.
1818         * m4/wctob.m4: Likewise.
1819         * m4/wcwidth.m4: Likewise.
1820         * modules/posix_spawn: Likewise.
1821         * modules/posix_spawn_file_actions_addclose: Likewise.
1822         * modules/posix_spawn_file_actions_adddup2: Likewise.
1823         * modules/posix_spawn_file_actions_addopen: Likewise.
1824         * modules/posix_spawn_file_actions_destroy: Likewise.
1825         * modules/posix_spawn_file_actions_init: Likewise.
1826         * modules/posix_spawnattr_destroy: Likewise.
1827         * modules/posix_spawnattr_getflags: Likewise.
1828         * modules/posix_spawnattr_getpgroup: Likewise.
1829         * modules/posix_spawnattr_getschedparam: Likewise.
1830         * modules/posix_spawnattr_getschedpolicy: Likewise.
1831         * modules/posix_spawnattr_getsigdefault: Likewise.
1832         * modules/posix_spawnattr_getsigmask: Likewise.
1833         * modules/posix_spawnattr_init: Likewise.
1834         * modules/posix_spawnattr_setflags: Likewise.
1835         * modules/posix_spawnattr_setpgroup: Likewise.
1836         * modules/posix_spawnattr_setschedparam: Likewise.
1837         * modules/posix_spawnattr_setschedpolicy: Likewise.
1838         * modules/posix_spawnattr_setsigdefault: Likewise.
1839         * modules/posix_spawnattr_setsigmask: Likewise.
1840         * modules/posix_spawnp: Likewise.
1841
1842 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
1843
1844         Add option to do-release-commit-and-tag to specify branch.
1845         * build-aux/do-release-commit-and-tag: Add --branch.
1846
1847 2011-05-03  Bruno Haible  <bruno@clisp.org>
1848
1849         Avoid unnecessary compilation units, through conditional dependencies.
1850         * modules/accept (Depends-on): Add conditions to the dependencies.
1851         * modules/acosl (Depends-on): Likewise.
1852         * modules/argz (Depends-on): Likewise.
1853         * modules/asinl (Depends-on): Likewise.
1854         * modules/atanl (Depends-on): Likewise.
1855         * modules/atoll (Depends-on): Likewise.
1856         * modules/bind (Depends-on): Likewise.
1857         * modules/btowc (Depends-on): Likewise.
1858         * modules/canonicalize-lgpl (Depends-on): Likewise.
1859         * modules/ceil (Depends-on): Likewise.
1860         * modules/ceilf (Depends-on): Likewise.
1861         * modules/ceill (Depends-on): Likewise.
1862         * modules/chdir-long (Depends-on): Likewise.
1863         * modules/chown (Depends-on): Likewise.
1864         * modules/close (Depends-on): Likewise.
1865         * modules/connect (Depends-on): Likewise.
1866         * modules/cosl (Depends-on): Likewise.
1867         * modules/dirfd (Depends-on): Likewise.
1868         * modules/dprintf (Depends-on): Likewise.
1869         * modules/dprintf-posix (Depends-on): Likewise.
1870         * modules/error (Depends-on): Likewise.
1871         * modules/euidaccess (Depends-on): Likewise.
1872         * modules/expl (Depends-on): Likewise.
1873         * modules/faccessat (Depends-on): Likewise.
1874         * modules/fchdir (Depends-on): Likewise.
1875         * modules/fclose (Depends-on): Likewise.
1876         * modules/fcntl (Depends-on): Likewise.
1877         * modules/fdopendir (Depends-on): Likewise.
1878         * modules/fflush (Depends-on): Likewise.
1879         * modules/floor (Depends-on): Likewise.
1880         * modules/floorf (Depends-on): Likewise.
1881         * modules/floorl (Depends-on): Likewise.
1882         * modules/fnmatch (Depends-on): Likewise.
1883         * modules/fopen (Depends-on): Likewise.
1884         * modules/fprintf-posix (Depends-on): Likewise.
1885         * modules/frexp (Depends-on): Likewise.
1886         * modules/frexp-nolibm (Depends-on): Likewise.
1887         * modules/frexpl (Depends-on): Likewise.
1888         * modules/frexpl-nolibm (Depends-on): Likewise.
1889         * modules/fseek (Depends-on): Likewise.
1890         * modules/fsusage (Depends-on): Likewise.
1891         * modules/ftell (Depends-on): Likewise.
1892         * modules/ftello (Depends-on): Likewise.
1893         * modules/futimens (Depends-on): Likewise.
1894         * modules/getcwd (Depends-on): Likewise.
1895         * modules/getcwd-lgpl (Depends-on): Likewise.
1896         * modules/getdelim (Depends-on): Likewise.
1897         * modules/getdomainname (Depends-on): Likewise.
1898         * modules/getgroups (Depends-on): Likewise.
1899         * modules/gethostname (Depends-on): Likewise.
1900         * modules/getline (Depends-on): Likewise.
1901         * modules/getlogin_r (Depends-on): Likewise.
1902         * modules/getopt-posix (Depends-on): Likewise.
1903         * modules/getpeername (Depends-on): Likewise.
1904         * modules/getsockname (Depends-on): Likewise.
1905         * modules/getsockopt (Depends-on): Likewise.
1906         * modules/getsubopt (Depends-on): Likewise.
1907         * modules/getusershell (Depends-on): Likewise.
1908         * modules/glob (Depends-on): Likewise.
1909         * modules/grantpt (Depends-on): Likewise.
1910         * modules/iconv_open (Depends-on): Likewise.
1911         * modules/iconv_open-utf (Depends-on): Likewise.
1912         * modules/inet_ntop (Depends-on): Likewise.
1913         * modules/inet_pton (Depends-on): Likewise.
1914         * modules/ioctl (Depends-on): Likewise.
1915         * modules/isapipe (Depends-on): Likewise.
1916         * modules/isfinite (Depends-on): Likewise.
1917         * modules/isinf (Depends-on): Likewise.
1918         * modules/lchown (Depends-on): Likewise.
1919         * modules/ldexpl (Depends-on): Likewise.
1920         * modules/link (Depends-on): Likewise.
1921         * modules/linkat (Depends-on): Likewise.
1922         * modules/listen (Depends-on): Likewise.
1923         * modules/logl (Depends-on): Likewise.
1924         * modules/lstat (Depends-on): Likewise.
1925         * modules/mbrlen (Depends-on): Likewise.
1926         * modules/mbrtowc (Depends-on): Likewise.
1927         * modules/mbsinit (Depends-on): Likewise.
1928         * modules/mbsnrtowcs (Depends-on): Likewise.
1929         * modules/mbsrtowcs (Depends-on): Likewise.
1930         * modules/mbtowc (Depends-on): Likewise.
1931         * modules/memcmp (Depends-on): Likewise.
1932         * modules/mkdir (Depends-on): Likewise.
1933         * modules/mkdtemp (Depends-on): Likewise.
1934         * modules/mkfifo (Depends-on): Likewise.
1935         * modules/mkfifoat (Depends-on): Likewise.
1936         * modules/mknod (Depends-on): Likewise.
1937         * modules/mkostemp (Depends-on): Likewise.
1938         * modules/mkostemps (Depends-on): Likewise.
1939         * modules/mkstemp (Depends-on): Likewise.
1940         * modules/mkstemps (Depends-on): Likewise.
1941         * modules/mktime (Depends-on): Likewise.
1942         * modules/nanosleep (Depends-on): Likewise.
1943         * modules/open (Depends-on): Likewise.
1944         * modules/openat (Depends-on): Likewise.
1945         * modules/perror (Depends-on): Likewise.
1946         * modules/poll (Depends-on): Likewise.
1947         * modules/popen (Depends-on): Likewise.
1948         * modules/posix_spawn (Depends-on): Likewise.
1949         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
1950         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
1951         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
1952         * modules/posix_spawnp (Depends-on): Likewise.
1953         * modules/pread (Depends-on): Likewise.
1954         * modules/printf-posix (Depends-on): Likewise.
1955         * modules/ptsname (Depends-on): Likewise.
1956         * modules/putenv (Depends-on): Likewise.
1957         * modules/pwrite (Depends-on): Likewise.
1958         * modules/readline (Depends-on): Likewise.
1959         * modules/readlink (Depends-on): Likewise.
1960         * modules/readlinkat (Depends-on): Likewise.
1961         * modules/recv (Depends-on): Likewise.
1962         * modules/recvfrom (Depends-on): Likewise.
1963         * modules/regex (Depends-on): Likewise.
1964         * modules/remove (Depends-on): Likewise.
1965         * modules/rename (Depends-on): Likewise.
1966         * modules/renameat (Depends-on): Likewise.
1967         * modules/rmdir (Depends-on): Likewise.
1968         * modules/round (Depends-on): Likewise.
1969         * modules/roundf (Depends-on): Likewise.
1970         * modules/roundl (Depends-on): Likewise.
1971         * modules/rpmatch (Depends-on): Likewise.
1972         * modules/select (Depends-on): Likewise.
1973         * modules/send (Depends-on): Likewise.
1974         * modules/sendto (Depends-on): Likewise.
1975         * modules/setenv (Depends-on): Likewise.
1976         * modules/setlocale (Depends-on): Likewise.
1977         * modules/setsockopt (Depends-on): Likewise.
1978         * modules/shutdown (Depends-on): Likewise.
1979         * modules/sigaction (Depends-on): Likewise.
1980         * modules/signbit (Depends-on): Likewise.
1981         * modules/sigprocmask (Depends-on): Likewise.
1982         * modules/sinl (Depends-on): Likewise.
1983         * modules/sleep (Depends-on): Likewise.
1984         * modules/snprintf (Depends-on): Likewise.
1985         * modules/snprintf-posix (Depends-on): Likewise.
1986         * modules/socket (Depends-on): Likewise.
1987         * modules/sprintf-posix (Depends-on): Likewise.
1988         * modules/sqrtl (Depends-on): Likewise.
1989         * modules/stat (Depends-on): Likewise.
1990         * modules/strchrnul (Depends-on): Likewise.
1991         * modules/strdup-posix (Depends-on): Likewise.
1992         * modules/strerror (Depends-on): Likewise.
1993         * modules/strerror_r-posix (Depends-on): Likewise.
1994         * modules/strndup (Depends-on): Likewise.
1995         * modules/strnlen (Depends-on): Likewise.
1996         * modules/strptime (Depends-on): Likewise.
1997         * modules/strsep (Depends-on): Likewise.
1998         * modules/strsignal (Depends-on): Likewise.
1999         * modules/strstr-simple (Depends-on): Likewise.
2000         * modules/strtod (Depends-on): Likewise.
2001         * modules/strtoimax (Depends-on): Likewise.
2002         * modules/strtok_r (Depends-on): Likewise.
2003         * modules/strtoumax (Depends-on): Likewise.
2004         * modules/symlink (Depends-on): Likewise.
2005         * modules/symlinkat (Depends-on): Likewise.
2006         * modules/tanl (Depends-on): Likewise.
2007         * modules/tcgetsid (Depends-on): Likewise.
2008         * modules/tmpfile (Depends-on): Likewise.
2009         * modules/trunc (Depends-on): Likewise.
2010         * modules/truncf (Depends-on): Likewise.
2011         * modules/truncl (Depends-on): Likewise.
2012         * modules/uname (Depends-on): Likewise.
2013         * modules/unlink (Depends-on): Likewise.
2014         * modules/unlockpt (Depends-on): Likewise.
2015         * modules/unsetenv (Depends-on): Likewise.
2016         * modules/usleep (Depends-on): Likewise.
2017         * modules/utimensat (Depends-on): Likewise.
2018         * modules/vasprintf (Depends-on): Likewise.
2019         * modules/vdprintf (Depends-on): Likewise.
2020         * modules/vdprintf-posix (Depends-on): Likewise.
2021         * modules/vfprintf-posix (Depends-on): Likewise.
2022         * modules/vprintf-posix (Depends-on): Likewise.
2023         * modules/vsnprintf (Depends-on): Likewise.
2024         * modules/vsnprintf-posix (Depends-on): Likewise.
2025         * modules/vsprintf-posix (Depends-on): Likewise.
2026         * modules/wcrtomb (Depends-on): Likewise.
2027         * modules/wcscasecmp (Depends-on): Likewise.
2028         * modules/wcscspn (Depends-on): Likewise.
2029         * modules/wcsdup (Depends-on): Likewise.
2030         * modules/wcsncasecmp (Depends-on): Likewise.
2031         * modules/wcsnrtombs (Depends-on): Likewise.
2032         * modules/wcspbrk (Depends-on): Likewise.
2033         * modules/wcsrtombs (Depends-on): Likewise.
2034         * modules/wcsspn (Depends-on): Likewise.
2035         * modules/wcsstr (Depends-on): Likewise.
2036         * modules/wcstok (Depends-on): Likewise.
2037         * modules/wcswidth (Depends-on): Likewise.
2038         * modules/wctob (Depends-on): Likewise.
2039         * modules/wctomb (Depends-on): Likewise.
2040         * modules/wctype (Depends-on): Likewise.
2041         * modules/wcwidth (Depends-on): Likewise.
2042         * modules/write (Depends-on): Likewise.
2043
2044 2011-05-03  Bruno Haible  <bruno@clisp.org>
2045
2046         Support for conditional dependencies.
2047         * doc/gnulib.texi (Module description): Document the syntax of
2048         conditional dependencies.
2049         * gnulib-tool: New option --conditional-dependencies.
2050         (func_usage): Document it.
2051         (cond_dependencies): New variable.
2052         (func_get_automake_snippet_conditional,
2053         func_get_automake_snippet_unconditional): New functions, extracted from
2054         func_get_automake_snippet.
2055         (func_get_automake_snippet): Use them.
2056         (sed_first_32_chars): New variable.
2057         (func_module_shellfunc_name): New function.
2058         (func_module_shellvar_name): New function.
2059         (func_module_conditional_name): New function.
2060         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
2061         func_cond_module_condition): New functions.
2062         (func_modules_transitive_closure): Add support for conditional
2063         dependencies.
2064         (func_emit_lib_Makefile_am): For a conditional module, enclose the
2065         conditional automake snippet in an automake conditional.
2066         (func_emit_autoconf_snippets): Emit shell functions that contain the
2067         code for conditional modules.
2068         (func_import, func_create_testdir): Update specification.
2069
2070 2011-05-03  Eric Blake  <eblake@redhat.com>
2071
2072         test-getaddrinfo: report error information
2073         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
2074
2075 2011-05-03  Jim Meyering  <meyering@redhat.com>
2076
2077         bootstrap: avoid build failure when $GZIP is set
2078         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
2079         program name.  If defined at all, it is supposed to list gzip options.
2080         Reported by Alan Curry in http://debbugs.gnu.org/8609
2081
2082 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
2083
2084         readme-release: new module with release instructions
2085         * modules/readme-release: New module.
2086         * top/README-release: New file, from coreutils, grep, diffutils.
2087         * MODULES.html.sh (Support for maintaining and releasing): Add it.
2088
2089 2011-05-02  Eric Blake  <eblake@redhat.com>
2090
2091         fflush: also replace fclose when fixing fflush
2092         * modules/fflush (Depends-on): Add fclose.
2093         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
2094         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
2095         memstreams with no backing fd.
2096         * doc/posix-functions/fclose.texi (fclose): Document the use of
2097         fflush module to fix the bug.
2098         * tests/test-fclose.c (main): Relax test when fclose is used in
2099         isolation.
2100
2101         fclose: add some tests
2102         * modules/fclose-tests: New test module.
2103         * tests/test-fclose.c: New file.
2104         * doc/posix-functions/fclose.texi (fclose): Document the bug.
2105
2106         fclose: reduced dependencies
2107         * modules/fclose (Depends-on): Switch from fflush/fseeko to
2108         simpler lseek.
2109         * lib/fclose.c (rpl_fclose): Likewise.
2110         Reported by Simon Josefsson.
2111
2112         exit: drop remaining clients
2113         * modules/argmatch (Depends-on): Replace exit with stdlib.
2114         * modules/copy-file (Depends-on): Likewise.
2115         * modules/execute (Depends-on): Likewise.
2116         * modules/exitfail (Depends-on): Likewise.
2117         * modules/obstack (Depends-on): Likewise.
2118         * modules/pagealign_alloc (Depends-on): Likewise.
2119         * modules/pipe-filter-gi (Depends-on): Likewise.
2120         * modules/pipe-filter-ii (Depends-on): Likewise.
2121         * modules/savewd (Depends-on): Likewise.
2122         * modules/spawn-pipe (Depends-on): Likewise.
2123         * modules/wait-process (Depends-on): Likewise.
2124         * modules/xsetenv (Depends-on): Likewise.
2125         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
2126         * modules/git-merge-changelog (Depends-on): Likewise.
2127         * modules/long-options (Depends-on): Likewise.
2128         * modules/pt_chown (Depends-on): Likewise.
2129         * modules/sysexits (Depends-on): Likewise.
2130
2131         freading: relax license from LGPLv3+ to LGPLv2+
2132         * modules/freading (License): Relax LGPL version.
2133
2134 2011-05-02  Bruno Haible  <bruno@clisp.org>
2135
2136         fchdir: Remove unused dependencies.
2137         * modules/fchdir (Depends-on): Remove include_next.
2138
2139 2011-05-02  Bruno Haible  <bruno@clisp.org>
2140
2141         gnulib-tool: Refactor.
2142         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
2143         from func_emit_autoconf_snippets.
2144         (func_emit_autoconf_snippets): Use it.
2145
2146 2011-05-02  Simon Josefsson  <simon@josefsson.org>
2147
2148         * NEWS: Document removal of 'exit'.
2149         * modules/exit: Remove file.
2150
2151 2011-05-01  Bruno Haible  <bruno@clisp.org>
2152
2153         Update DEPENDENCIES.
2154         * DEPENDENCIES (gettext): Recommend the newest release.
2155         Reported by Simon Josefsson.
2156
2157 2011-05-01  Bruno Haible  <bruno@clisp.org>
2158
2159         gnulib-tool: Reduce code duplication.
2160         * gnulib-tool (func_emit_autoconf_snippets): New function.
2161         (func_import, func_create_testdir): Use it.
2162
2163 2011-04-30  Eric Blake  <eblake@redhat.com>
2164
2165         fclose: don't fail on non-seekable input stream
2166         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
2167         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
2168         since fflush is allowed to fail in that case.
2169
2170 2011-04-30  Bruno Haible  <bruno@clisp.org>
2171
2172         dup3: cleanup
2173         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
2174
2175 2011-04-30  Bruno Haible  <bruno@clisp.org>
2176
2177         netdb: Make it work in C++ mode.
2178         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
2179         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
2180         module.
2181         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
2182         gl_MODULE_INDICATOR_FOR_TESTS.
2183         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
2184         * modules/netdb-c++-tests: New file.
2185         * tests/test-netdb-c++.cc: New file.
2186
2187 2011-04-30  Bruno Haible  <bruno@clisp.org>
2188
2189         New modules 'vfscanf', 'vscanf'.
2190         * modules/vfscanf: New file.
2191         * modules/vscanf: New file.
2192         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
2193         here.
2194         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
2195         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
2196
2197 2011-04-30  Bruno Haible  <bruno@clisp.org>
2198
2199         passfd: Add comments.
2200         * lib/passfd.c: Add comments about platforms.
2201
2202 2011-04-30  Bruno Haible  <bruno@clisp.org>
2203
2204         sys_uio: Make <sys/uio.h> self-contained.
2205         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
2206         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
2207
2208 2011-04-30  Bruno Haible  <bruno@clisp.org>
2209
2210         sys_socket: Ensure 'struct iovec' definition.
2211         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
2212         <sys/socket.h>.
2213         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
2214
2215 2011-04-30  Bruno Haible  <bruno@clisp.org>
2216
2217         sys_uio: Protect definition of 'struct iovec'.
2218         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
2219         it as a C struct.
2220
2221 2011-04-30  Bruno Haible  <bruno@clisp.org>
2222
2223         manywarnings: fix indentation
2224         * m4/manywarnings.m4: Indent by 2 spaces consistently.
2225
2226 2011-04-30  Pádraig Brady <P@draigBrady.com>
2227
2228         manywarnings: add -Wno-missing-field-initializers if needed.
2229         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
2230         option if it's needed to allow initialization with { 0, }
2231
2232 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
2233
2234         announce-gen: cosmetic improvement
2235         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
2236
2237 2011-04-29  Jim Meyering  <meyering@redhat.com>
2238
2239         vc-list-files: indent with spaces, not TABs
2240         * build-aux/vc-list-files: Convert leading TABs to spaces,
2241         to match the style of most other files in gnulib.
2242
2243         announce-gen: indent with spaces, not TABs
2244         * build-aux/announce-gen: Convert all TABs to spaces, to match
2245         the style of most other files in gnulib.
2246
2247 2011-04-29  Eric Blake  <eblake@redhat.com>
2248
2249         quotearg: avoid uninitialized variable use
2250         * lib/quotearg.c (quoting_options_from_style): Initialize
2251         remaining fields, and ensure that custom styles are only used via
2252         quoting_options rather than quoting_style.
2253
2254 2011-04-29  Jim Meyering  <meyering@redhat.com>
2255
2256         maint.mk: remove unused VC-tag variable
2257         * top/maint.mk (VC-tag): Remove unused variable.
2258
2259 2011-04-29  Bruno Haible  <bruno@clisp.org>
2260
2261         netdb: fix gai_strerror replacements
2262         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
2263         * modules/netdb: Substitute it.
2264
2265 2011-04-29  Jim Meyering  <meyering@redhat.com>
2266
2267         test-getcwd.c: avoid new set-but-not-used warning
2268         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
2269         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
2270         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
2271         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
2272
2273         test-hash.c: avoid a new shadowing warning
2274         * tests/test-hash.c (main): Don't shadow "dup".
2275
2276 2011-04-28  Eric Blake  <eblake@redhat.com>
2277
2278         getaddrinfo: fix gai_strerror signature
2279         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
2280         and work around mingw with UNICODE defined.
2281         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
2282         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
2283         * modules/netdb (Makefile.am): Substitute it.
2284         * lib/netdb.in.h (gai_strerror): Declare replacement.
2285         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
2286         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
2287         the fix.
2288
2289         getsockopt: avoid compiler warning
2290         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
2291         Reported by Matthias Bolte.
2292
2293         tests: drop unused link dependency
2294         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
2295         * modules/dirent-safer-tests (Makefile.am): Likewise.
2296         * modules/fdopendir-tests (Makefile.am): Likewise.
2297         * modules/mkfifoat-tests (Makefile.am): Likewise.
2298         * modules/openat-safer-tests (Makefile.am): Likewise.
2299         * modules/openat-tests (Makefile.am): Likewise.
2300         * modules/readlinkat-tests (Makefile.am): Likewise.
2301         * modules/symlinkat-tests (Makefile.am): Likewise.
2302         * modules/linkat-tests (Makefile.am): Likewise.
2303         (Depends-on): Switch to filenamecat-lgpl.
2304         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
2305         LIBINTL.
2306         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
2307         * tests/test-linkat.c (main): Don't require xalloc.
2308
2309         hash, mgetgroups: drop xalloc dependency
2310         * lib/hash.c (includes): Adjust includes.
2311         * lib/mgetgroups.c (includes): Likewise.
2312         (xgetgroups): Move...
2313         * lib/xgetgroups.c: ...to new file.
2314         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
2315         * modules/xgetgroups: New file, split from...
2316         * modules/mgetgroups: ...here.
2317         (Depends-on): Add xalloc-oversized.
2318         * modules/hash (Depends-on): Likewise.
2319         * modules/hash-tests (Depends-on): Drop xalloc.
2320         (test_hash_LDADD): Drop unused library.
2321         * tests/test-hash.c (main): Break xalloc dependency.
2322         (includes): Drop unused include.
2323
2324         xalloc-oversized: new module
2325         * modules/xalloc-oversized: New module.
2326         * modules/xalloc (Depends-on): Add it.
2327         * lib/xalloc.h (xalloc_oversized): Move...
2328         * lib/xalloc-oversized.h: ...into new file.
2329
2330         utimecmp: drop dependency on xmalloc
2331         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
2332         due to memory pressure.
2333         * modules/utimecmp (Depends-on): Drop xalloc.
2334
2335 2011-04-27  Eric Blake  <eblake@redhat.com>
2336
2337         getcwd: fix mingw bugs
2338         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
2339         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
2340         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
2341
2342 2011-04-27  Bruno Haible  <bruno@clisp.org>
2343
2344         mkstemps: Ensure declaration on MacOS X 10.5.
2345         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
2346         * doc/glibc-functions/mkstemps.texi: Document header file problem on
2347         MacOS X.
2348
2349 2011-04-27  Bruno Haible  <bruno@clisp.org>
2350
2351         mkstemp: More documentation.
2352         * doc/posix-functions/mkstemp.texi: Document header file problem on
2353         MacOS X.
2354
2355 2011-04-27  Bruno Haible  <bruno@clisp.org>
2356
2357         mkstemp: Tweak configure message when cross-compiling.
2358         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
2359         result as a guess.
2360
2361 2011-04-27  Bruno Haible  <bruno@clisp.org>
2362
2363         clean-temp: Clarify what it does.
2364         * lib/clean-temp.h: Add more comments.
2365         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
2366         module.
2367         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
2368         * doc/glibc-functions/mkstemps.texi: Likewise.
2369         * doc/glibc-functions/mkostemps.texi: Likewise.
2370
2371 2011-04-27  Eric Blake  <eblake@redhat.com>
2372
2373         fchdir: avoid extra chdir and fix test
2374         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
2375         getcwd-lgpl.
2376         * lib/fchdir.c (get_name): Any absolute name will do; it does not
2377         have to be canonical.
2378         (canonicalize_file_name): Drop unused macro.
2379         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
2380
2381         filenamecat-lgpl: fix licence
2382         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
2383         when it was first created.
2384
2385         linkat, renameat: add missing dependency
2386         * modules/linkat (Depends-on): Require getcwd-lgpl.
2387         * modules/renameat (Depends-on): Likewise.
2388
2389         tests: reduce dependencies
2390         * tests/test-linkat.c (main): Use lighter-weight getcwd.
2391         * tests/test-renameat.c (main): Likewise.
2392         * modules/linkat-tests (Depends-on): Relax dependency.
2393         * modules/renameat-tests (Depends-on): Likewise.
2394         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
2395         dependency explicit.
2396
2397         save-cwd: reduce default dependency
2398         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
2399         * lib/save-cwd.c: Update comments.
2400         * NEWS: Document the semantic change.
2401
2402         getcwd: enhance tests
2403         * tests/test-getcwd-lgpl.c: New file, taken from...
2404         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
2405         repeat long path stress tests from m4 probe.
2406         * modules/getcwd-lgpl-tests: New module.
2407         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
2408         * m4/getcwd-abort-bug.m4: Update comment.
2409         * m4/getcwd-path-max.m4: Likewise.
2410
2411         getcwd-lgpl: new module
2412         * modules/getcwd-lgpl: New module.
2413         * lib/getcwd-lgpl.c: New file.
2414         * doc/posix-functions/getcwd.texi (getcwd): Document it.
2415         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2416         * modules/getcwd (configure.ac): Set C witness.
2417         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
2418
2419         getcwd: tweak comments
2420         * m4/getcwd-abort-bug.m4: Fix comments.
2421         * m4/getcwd-path-max.m4: Likewise.
2422         * m4/getcwd.m4: Likewise.
2423
2424 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2425         and Eric Blake  <eblake@redhat.com>
2426
2427         mkstemp: replace if system version uses wrong permissions
2428         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
2429         read/write mode bits set in file created by mkstemp.
2430         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
2431
2432 2011-04-27  Eric Blake  <eblake@redhat.com>
2433
2434         passfd: avoid compiler warning
2435         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
2436         Reported by Laine Stump.
2437
2438 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
2439
2440         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
2441         required by the NetBSD (and perhaps other 4.4BSD derived) join.
2442
2443 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
2444         and Eric Blake  <eblake@redhat.com>
2445
2446         mkstemp: mention clean-temp module
2447         * lib/mkstemp.c: Add comment.
2448         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
2449
2450 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
2451
2452         inttypes: also provide default values for 32-bit tests
2453         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
2454         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
2455
2456 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
2457
2458         strtoumax: remove dependency on strtoimax
2459         This is like the strtoull change of yesterday.
2460         * modules/strtoumax (Files): Add lib/strtoimax.c.
2461         (Depends-on): Remove strtoimax and add verify.
2462
2463         inttypes-incomplete: new module
2464         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
2465         all but the PRI* and SCN* parts of gl_INTTYPES_H.
2466         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
2467         of gl_INTTYPES_H.
2468         (gl_INTTYPES_H): Rewrite in terms of these new macros.
2469         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
2470         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
2471         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
2472         * modules/strtoumax, modules/xstrtol (Depends-on):
2473         Depend on inttypes-incomplete, not inttypes.
2474         * modules/inttypes-incomplete: New module, containing the contents
2475         of the old modules/inttypes module, except that the Files: section
2476         omits m4/inttypes-pri.m4, and the configure.ac section invokes
2477         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
2478         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
2479         (Depends-on): Depend only on inttypes-incomplete.
2480         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
2481
2482         inttypes: omit now-redundant strtoimax and strtoumax work
2483         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
2484         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
2485
2486         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
2487         This supports apps that need pointers to strtoimax and strtoumax,
2488         and ports to HP-UX 11.00 64.bit, which has macros that expand to
2489         nonexistent functions.  See
2490         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
2491         et seq.
2492         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
2493         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
2494         a macro.
2495         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
2496
2497 2011-04-25  Simon Josefsson  <simon@josefsson.org>
2498
2499         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
2500
2501 2011-04-25  Bruno Haible  <bruno@clisp.org>
2502
2503         strtol, strtoul: Mark modules as obsolete.
2504         * modules/strtol (Status, Notice): New sections.
2505         * modules/strtoul (Status, Notice): New sections.
2506
2507 2011-04-25  Bruno Haible  <bruno@clisp.org>
2508
2509         strtod: Remove check for strtod, unless supporting old platforms.
2510         * modules/strtod-obsolete: New file.
2511         * m4/strtod-obsolete.m4: New file.
2512         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
2513         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
2514         * modules/strtod (Depends-on): Add strtod-obsolete.
2515         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
2516
2517 2011-04-25  Bruno Haible  <bruno@clisp.org>
2518
2519         strcase: Make module obsolete.
2520         * modules/strcase (Status, Notice): New sections.
2521
2522 2011-04-25  Bruno Haible  <bruno@clisp.org>
2523
2524         dup2: Remove check for dup2, unless supporting old obsolete platforms.
2525         * modules/dup2-obsolete: New file.
2526         * m4/dup2-obsolete.m4: New file.
2527         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
2528         gl_FUNC_DUP2_OBSOLETE is not also defined.
2529         * modules/dup2 (Depends-on): Add dup2-obsolete.
2530         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
2531
2532 2011-04-25  Bruno Haible  <bruno@clisp.org>
2533
2534         strnlen: Avoid memchr related link error on old obsolete platforms.
2535         * modules/memchr-obsolete: New file.
2536         * m4/memchr-obsolete.m4: New file.
2537         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
2538         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
2539         * modules/memchr (Depends-on): Add memchr-obsolete.
2540         * modules/strnlen (Depends-on): Likewise.
2541         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
2542
2543 2011-04-25  Jim Meyering  <meyering@redhat.com>
2544
2545         maint.mk: makefile_at_at_check extend and clean up
2546         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
2547         in addition to */Makefile.am.
2548         Exempt legitimate uses of @VAR@ notation, e.g.,
2549         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
2550         Remove obsolete coreutils-specific comment.
2551         Prompted by discussion here:
2552         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
2553
2554 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
2555
2556         strtoul: remove dependency on strtol
2557         This is so that 'configure' need not check for strtol merely because
2558         the application needs strtoul.
2559         * modules/strtoul (Files): Add lib/strtol.c.
2560         (Depends-on): Remove strtol.
2561
2562         strtoull: remove dependency on strtoul
2563         This is like the strtoll change.
2564         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
2565         (Depends-on): Remove strtoul.
2566
2567         strtoll: remove dependency on strtol
2568         This is so that 'configure' need not check for strtol merely because
2569         the application needs strtoll.
2570         * modules/strtoll (Files): Add lib/strtol.c.
2571         (Depends-on): Remove strtol.
2572
2573 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2574
2575         inttypes: Move some configure check to module 'imaxdiv'.
2576         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
2577         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
2578         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
2579
2580 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2581
2582         inttypes: Move some configure check to module 'imaxabs'.
2583         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
2584         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
2585         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
2586
2587 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2588
2589         inttypes: Remove configure tests that are not needed since 2009-12-31.
2590         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
2591         gl_cv_header_working_inttypes_h.
2592
2593 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2594
2595         * modules/strnlen (Depends-on): Remove memchr.
2596         The strnlen implementation doesn't need the memchr module's fixes; see
2597         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
2598
2599         strtol: remove dependency on wchar
2600         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
2601         * modules/strtol (Depends-on): Remove wchar.
2602
2603 2011-04-21  Eric Blake  <eblake@redhat.com>
2604
2605         passfd: fix test regression on Linux
2606         * modules/passfd-tests (configure.ac): Correct socketpair check.
2607
2608         passfd: speed up configure and drop unused code
2609         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
2610         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
2611         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
2612         Instead of probing at configure for unix_scm_rights_bsd44_way,
2613         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
2614         check to a struct member probe.
2615         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
2616         (sendfd, recvfd): Update preprocessor checks.
2617         * modules/passfd (Files): Reflect rename, and drop unused file.
2618         (Depends-on): Drop unused dependency.
2619
2620         passfd: allow compilation on mingw
2621         * modules/sys_socket (Depends-on): Add sys_uio.
2622         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
2623         iovec and a minimal struct msghdr.
2624         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
2625         * tests/test-sys_socket.c (main): Enhance test.
2626         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
2627         guaranteed to provide what we need.
2628         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
2629         * modules/passfd-tests (Depends-on): Add sys_wait.
2630         * tests/test-passfd.c (main): Skip test on mingw, for now.
2631         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
2632         partial 'struct msghdr' implementation.
2633
2634         sys_uio: new module
2635         * modules/sys_uio: New module.
2636         * modules/sys_uio-tests: Likewise.
2637         * lib/sys_uio.in.h: New file.
2638         * m4/sys_uio_h.m4: Likewise.
2639         * tests/test-sys_uio.c: Likewise.
2640         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
2641         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
2642
2643 2011-04-20  Jim Meyering  <meyering@redhat.com>
2644
2645         useless-if-before-free: avoid false-positive
2646         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
2647         disjunct so that it too requires a terminating ";".  Without that,
2648         this script would identify as useless one statement from gcc that
2649         was not:
2650           if (aligned_ptr)
2651             free (((void **) aligned_ptr) [-1]);
2652
2653 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
2654
2655         doc: update users.txt.
2656         * users.txt: Add barcode.
2657
2658 2011-04-19  Bruno Haible  <bruno@clisp.org>
2659
2660         ioctl: Remove link dependency on native Windows.
2661         * lib/fd-hook.h: Renamed from lib/close-hook.h.
2662         (gl_close_fn, gl_ioctl_fn): New types.
2663         (struct fd_hook): Renamed from struct close_hook. Change type of
2664         private_close_fn field. Add private_ioctl_fn field.
2665         (close_hook_fn): Add parameter for primary close method.
2666         (execute_close_hooks, execute_all_close_hooks): Likewise.
2667         (ioctl_hook_fn): New type.
2668         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
2669         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2670         argument.
2671         (unregister_fd_hook): Renamed from unregister_close_hook.
2672         * lib/fd-hook.c: Renamed from lib/close-hook.c.
2673         Don't include <unistd.h>.
2674         (close): Remove undef.
2675         (anchor): Update.
2676         (execute_close_hooks): Add argument for primary close method.
2677         (execute_all_close_hooks): Likewise.
2678         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
2679         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2680         argument. Allow each argument to be NULL.
2681         (unregister_fd_hook): Renamed from unregister_close_hook.
2682         * lib/close.c (rpl_close): Pass 'close' function pointer to
2683         execute_all_close_hooks.
2684         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
2685         (primary_ioctl): New function.
2686         (ioctl): Don't call ioctlsocket here. Instead, call
2687         execute_all_ioctl_hooks.
2688         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
2689         close method.
2690         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
2691         (fd_sockets_hook): Renamed from close_sockets_hook.
2692         (gl_sockets_startup, gl_sockets_cleanup): Update.
2693         * modules/fd-hook: Renamed from modules/close-hook. Update.
2694         * modules/close (Depends-on): Add fd-hook, remove close-hook.
2695         * modules/sockets (Depends-on): Likewise.
2696         * modules/ioctl (Depends-on): Add fd-hook.
2697         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
2698         GNULIB_SOCKET.
2699
2700 2011-04-19  Bruno Haible  <bruno@clisp.org>
2701
2702         Move the support of O_NONBLOCK in open() to the 'open' module.
2703         * modules/nonblocking (Depends-on): Remove 'open'.
2704         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
2705         gl_cv_have_open_O_NONBLOCK.
2706         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
2707         O_NONBLOCK support.
2708         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
2709
2710 2011-04-17  Bruno Haible  <bruno@clisp.org>
2711
2712         pipe2: Simplify code.
2713         * lib/pipe2.c (pipe2): Reduce code duplication.
2714
2715 2011-04-17  Bruno Haible  <bruno@clisp.org>
2716
2717         nonblocking: Add comment.
2718         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
2719
2720 2011-04-17  Bruno Haible  <bruno@clisp.org>
2721
2722         nonblocking: Add tests for sockets.
2723         * tests/test-nonblocking-socket.sh: New file.
2724         * tests/test-nonblocking-socket-main.c: New file.
2725         * tests/test-nonblocking-socket-child.c: New file.
2726         * tests/test-nonblocking-socket.h: New file.
2727         * tests/socket-server.h: New file.
2728         * tests/socket-client.h: New file.
2729         * modules/nonblocking-socket-tests: New file.
2730         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
2731
2732 2011-04-17  Bruno Haible  <bruno@clisp.org>
2733
2734         nonblocking: Add tests for pipes.
2735         * tests/test-nonblocking-pipe.sh: New file.
2736         * tests/test-nonblocking-pipe-main.c: New file.
2737         * tests/test-nonblocking-pipe-child.c: New file.
2738         * tests/test-nonblocking-pipe.h: New file.
2739         * tests/test-nonblocking-writer.h: New file.
2740         * tests/test-nonblocking-reader.h: New file.
2741         * tests/test-nonblocking-misc.h: New file.
2742         * modules/nonblocking-pipe-tests: New file.
2743         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
2744
2745 2011-04-16  Bruno Haible  <bruno@clisp.org>
2746
2747         gettext: Clarify the needed programmer actions.
2748         * modules/gettext (Notice): New field.
2749         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
2750
2751 2011-04-16  Bruno Haible  <bruno@clisp.org>
2752
2753         strchrnul: Tweak last commit.
2754         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
2755         bug.
2756         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
2757         as in _GL_FUNCDECL_SYS.
2758         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
2759         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
2760
2761 2011-04-15  Eric Blake  <eblake@redhat.com>
2762
2763         strchrnul: work around cygwin bug
2764         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
2765         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
2766         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
2767         * modules/string (Makefile.am): Substitute it.
2768         * lib/string.in.h (strchrnul): Use it.
2769
2770 2011-04-15  Bruno Haible  <bruno@clisp.org>
2771
2772         Don't require lib/stdio-write.c when only module 'stdio' is used.
2773         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
2774         invocation.
2775         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
2776
2777 2011-04-14  Bruno Haible  <bruno@clisp.org>
2778
2779         Support non-blocking pipe I/O in read() on native Windows.
2780         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
2781         (read): New declaration.
2782         * lib/read.c: New file.
2783         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
2784         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
2785         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
2786         vscanf): New declarations.
2787         * lib/stdio-read.c: New file.
2788         * m4/read.m4: New file.
2789         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
2790         REPLACE_READ.
2791         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
2792         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2793         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
2794         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
2795         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
2796         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2797         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2798         * modules/read: New file.
2799         * modules/nonblocking (Files): Add lib/stdio-read.c.
2800         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
2801         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
2802         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2803         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2804         * modules/pread (Depends-on): Add read.
2805         * modules/safe-read (Depends-on): Likewise.
2806         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
2807         gets, scanf, vfscanf, vscanf): Verify signatures.
2808         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
2809         problem with non-blocking pipes.
2810         * doc/posix-functions/fgetc.texi: Likewise.
2811         * doc/posix-functions/fgets.texi: Likewise.
2812         * doc/posix-functions/fread.texi: Likewise.
2813         * doc/posix-functions/fscanf.texi: Likewise.
2814         * doc/posix-functions/getc.texi: Likewise.
2815         * doc/posix-functions/getchar.texi: Likewise.
2816         * doc/posix-functions/gets.texi: Likewise.
2817         * doc/posix-functions/scanf.texi: Likewise.
2818         * doc/posix-functions/vfscanf.texi: Likewise.
2819         * doc/posix-functions/vscanf.texi: Likewise.
2820
2821 2011-04-14  Bruno Haible  <bruno@clisp.org>
2822
2823         Support non-blocking pipe I/O in write() on native Windows.
2824         * lib/write.c (rpl_write): Split a write request that failed merely
2825         because the byte count was larger than the pipe buffer's size.
2826         * doc/posix-functions/write.texi: Mention the problem with large byte
2827         counts.
2828
2829 2011-04-14  Bruno Haible  <bruno@clisp.org>
2830
2831         wchar: Ensure that wchar_t gets defined on uClibc.
2832         * lib/wchar.in.h: On uClibc, include <stddef.h>.
2833         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
2834
2835 2011-04-13  Bruno Haible  <bruno@clisp.org>
2836
2837         safe-write, full-read: Avoid unnecessary compilation units.
2838         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
2839         (Depends-on): Remove safe-read. Add ssize_t.
2840         * modules/full-read (Files): Add lib/full-write.c.
2841         (Depends-on): Add full-write.
2842
2843 2011-04-13  Bruno Haible  <bruno@clisp.org>
2844
2845         Support non-blocking pipe I/O and SIGPIPE in pwrite().
2846         * modules/pwrite (Depends-on): Add 'write'.
2847
2848 2011-04-13  Bruno Haible  <bruno@clisp.org>
2849
2850         Support non-blocking pipe I/O in write() on native Windows.
2851         * lib/unistd.in.h (write): Enable replacement also if
2852         GNULIB_UNISTD_H_NONBLOCKING is 1.
2853         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
2854         (rpl_write): When failing to write on a non-blocking pipe, change
2855         errno from ENOSPC to EAGAIN.
2856         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
2857         putchar, puts, vfprintf, vprintf): Enable replacement also if
2858         GNULIB_STDIO_H_NONBLOCKING is 1.
2859         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
2860         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
2861         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
2862         CALL_WITH_SIGPIPE_EMULATION.
2863         (CALL_WITH_SIGPIPE_EMULATION): Use them.
2864         * m4/nonblocking.m4: New file.
2865         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
2866         for non-blocking I/O support.
2867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2868         GNULIB_UNISTD_H_NONBLOCKING.
2869         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
2870         required for non-blocking I/O support.
2871         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
2872         * modules/nonblocking (Files): Add m4/nonblocking.m4,
2873         lib/stdio-write.c, m4/asm-underscore.m4.
2874         (Depends-on): Add stdio, unistd.
2875         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
2876         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
2877         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
2878         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
2879         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
2880         problem with non-blocking pipes.
2881         * doc/posix-functions/fputc.texi: Likewise.
2882         * doc/posix-functions/fputs.texi: Likewise.
2883         * doc/posix-functions/fwrite.texi: Likewise.
2884         * doc/posix-functions/printf.texi: Likewise.
2885         * doc/posix-functions/putc.texi: Likewise.
2886         * doc/posix-functions/putchar.texi: Likewise.
2887         * doc/posix-functions/puts.texi: Likewise.
2888         * doc/posix-functions/vfprintf.texi: Likewise.
2889         * doc/posix-functions/vprintf.texi: Likewise.
2890         * doc/posix-functions/write.texi: Likewise.
2891
2892 2011-04-10  Jim Meyering  <meyering@redhat.com>
2893
2894         maint.mk: prohibit doubled words
2895         Detect them also when they're separated by a newline.
2896         There are 3 ways to customize it:
2897           - disable the test on a per file basis, as usual with rules using
2898             $(VC_LIST_EXCEPT)
2899           - replace the default doubled-word-selecting regexp (affects all files)
2900           - ignore a particular file-vs-doubled-word match
2901         I nearly used that last one to ignore the "is is" match in
2902         coreutils' NEWS file, since the text was "ls -is is ..."
2903         To do that, I would have added this line to cfg.mk:
2904           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
2905         but it would have ignored any "is is" match in NEWS.
2906         Low probability, but still...
2907         Instead, I changed the text, slightly:
2908           -  ls -is is now consistent with ls -lis in ignoring values returned
2909           +  "ls -is" is now consistent with ls -lis in ignoring values returned
2910         * top/maint.mk (prohibit_double_word_RE_): Provide default.
2911         (prohibit_doubled_word_): Define.
2912         (sc_prohibit_doubled_word): New rule.
2913         (sc_prohibit_the_the): Remove.  Subsumed by the above.
2914
2915 2011-04-10  Jim Meyering  <meyering@redhat.com>
2916
2917         maint: fix doubled-word typo in comment
2918         * m4/gethostname.m4: s/is is/it is/
2919         * m4/getdomainname.m4: Likewise.
2920
2921 2011-04-10  Jim Meyering  <meyering@redhat.com>
2922
2923         maint: remove doubled word: s/it it/it/
2924         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
2925
2926 2011-04-10  Jim Meyering  <meyering@redhat.com>
2927
2928         maint.mk: remove useless semicolon and backslash
2929         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
2930         semicolon and backslash.
2931
2932 2011-04-10  Bruno Haible  <bruno@clisp.org>
2933
2934         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
2935         * modules/stdint-tests (Depends-on): Add wchar.
2936
2937 2011-04-10  Jim Meyering  <meyering@redhat.com>
2938
2939         maint: remove doubled words in comments, e.g., s/a a/a/
2940         * lib/strptime.c (day_of_the_week): s/the the/the/
2941         * tests/test-chown.h (test_chown): s/a a/a/
2942
2943         test-chown.h: correct a cast
2944         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
2945         when the destination is a stat.st_gid.
2946
2947 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
2948
2949         getaddrinfo: Fix test for sa_len member.
2950         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
2951         include <sys/types.h> before <sys/socket.h>.
2952
2953 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
2954
2955         maint: change "can not" to "cannot"
2956         * doc/posix-functions/iconv.texi (iconv): This one crossed line
2957         boundaries.
2958
2959 2011-04-09  Jim Meyering  <meyering@redhat.com>
2960
2961         maint: change "a a" to "a"
2962         * tests/test-lchown.h (test_lchown): s/a a/a/
2963
2964         maint.mk: prohibit \<the the\>
2965         * top/maint.mk (sc_prohibit_the_the): New rule.
2966
2967         maint: fix "the the" in comment
2968         * lib/count-one-bits.h: s/the the/the/
2969
2970         maint: change "can not" to "cannot"
2971         But do not change the occurrences in maintain.texi or in
2972         build-aux/po/Makefile.in.in, which I presume comes from gettext.
2973         * doc/gnulib-tool.texi: s/can not/cannot/
2974         * doc/posix-functions/accept.texi (accept): Likewise.
2975         * doc/posix-functions/socket.texi (socket): Likewise.
2976         * lib/mbrtowc.c: Likewise.
2977
2978         maint.mk: prohibit use of "can not"
2979         * top/maint.mk (sc_prohibit_can_not): New rule.
2980         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
2981
2982 2011-04-09  Bruno Haible  <bruno@clisp.org>
2983
2984         careadlinkat: Guard against misuse of careadlinkatcwd.
2985         * lib/careadlinkat.c: Include <stdlib.h>.
2986         (careadlinkatcwd): Check that the fd argument is as expected.
2987
2988 2011-04-09  Bruno Haible  <bruno@clisp.org>
2989
2990         careadlinkat: Use common coding style.
2991         * lib/careadlinkat.c: Move gnulib includes after system includes.
2992
2993 2011-04-09  Bruno Haible  <bruno@clisp.org>
2994
2995         careadlinkat: Clarify specification.
2996         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
2997         (careadlinkatcwd): Add comment.
2998         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
2999
3000 2011-04-09  Bruno Haible  <bruno@clisp.org>
3001
3002         areadlinkat: Avoid link error on many platforms.
3003         * modules/areadlinkat (Depends-on): Add areadlink.
3004
3005 2011-04-09  Bruno Haible  <bruno@clisp.org>
3006
3007         allocator, careadlinkat: Fix double-inclusion guard.
3008         * lib/allocator.h: Fix double-inclusion guard.
3009         * lib/careadlinkat.h: Likewise.
3010
3011 2011-04-09  Bruno Haible  <bruno@clisp.org>
3012
3013         relocatable-prog-wrapper: Update after module 'areadlink' changed.
3014         * lib/relocwrapper.c: Update dependencies hierarchy.
3015         * build-aux/install-reloc: Update list of files to be compiled.
3016         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
3017         lib/allocator.[hc].
3018
3019 2011-04-08  Eric Blake  <eblake@redhat.com>
3020
3021         strftime: silence gnulib-tool warning
3022         * modules/strftime-tests (Depends-on): Drop automatic dependency.
3023
3024 2011-04-08  Bruno Haible  <bruno@clisp.org>
3025
3026         verify: Fix syntax error with GCC 4.6 in C++ mode.
3027         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
3028         (HAVE_STATIC_ASSERT): New macro.
3029         (verify_true, verify): Use 'static_assert' if it is supported and
3030         '_Static_assert' is not supported.
3031
3032 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
3033
3034         allocator: New module.
3035         * modules/allocator, lib/allocator.c: New files.
3036         * lib/allocator.h (stdlib_allocator): New decl.
3037         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
3038         Remove.  Do not include <stdlib.h>.
3039         (careadlinkat): Use stdlib_allocator instead of rolling our own.
3040         * modules/careadlinkat (Files): Remove lib/allocator.h.
3041         (Depends-on): Add allocator.
3042
3043         stdlib: let modules use system malloc, realloc
3044         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
3045         if !_GL_USE_STDLIB_ALLOC.
3046         (malloc, realloc): Limit this change to a smaller scope.
3047
3048         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
3049         (malloc, realloc): Don't #undef; no longer needed.
3050         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3051         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3052         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3053         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3054         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3055         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3056         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
3057         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
3058
3059         careadlinkat: rename members to avoid problem
3060         * lib/allocator.h (struct allocator): Rename members from
3061         malloc/realloc to allocate/reallocate, to avoid problems if malloc
3062         and realloc are #define'd.  Reported by Eric Blake in
3063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
3064         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
3065
3066 2011-04-08  Eric Blake  <eblake@redhat.com>
3067
3068         nonblocking: reduce dependency
3069         * tests/test-nonblocking.c: Only test sockets when in use.
3070         * modules/nonblocking-tests (Depends-on): Drop socket.
3071         (Makefile.am): Link even if sockets are not present.
3072         * modules/pipe2-tests (Makefile.am): Likewise.
3073         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
3074
3075         pipe2: fix O_NONBLOCK support on mingw
3076         * modules/pipe2 (Depends-on): Add nonblocking.
3077         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
3078         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
3079         * tests/test-nonblocking.c (main): Likewise.
3080         * modules/pipe2-tests (Makefile.am): Avoid link failure.
3081
3082         fcntl-h: fix O_ACCMODE on cygwin
3083         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
3084         * lib/fcntl.in.h (O_ACCMODE): Fix it.
3085
3086         pipe-filter: drop O_NONBLOCK workarounds
3087         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
3088         * modules/pipe-filter-ii (Depends-on): Likewise.
3089         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
3090
3091         nonblocking: provide O_NONBLOCK for mingw
3092         * modules/nonblocking (Depends-on): Add open.
3093         (configure.ac): Set new witness macro.
3094         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
3095         * modules/fcntl-h (Makefile.am): Substitute it.
3096         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
3097         nonblocking module is in use.
3098         * lib/nonblocking.c: Adjust portability test.
3099         * lib/open.c (open): Don't let native open see gnulib flag.
3100         * tests/test-fcntl-h.c (main): Enhance test.
3101         * tests/test-open.h (test_open): Likewise.
3102         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
3103
3104         careadlinkat: fix compilation error on mingw
3105         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
3106         within struct allocator.
3107
3108 2011-04-06  Eric Blake  <eblake@redhat.com>
3109
3110         binary-io: relicense under LGPLv2+
3111         * modules/binary-io (License): Relax to LGPLv2+.
3112         Requested for libvirt, and required by pipe2.
3113
3114 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
3115
3116         verify: use _Static_assert if available
3117         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
3118         (verify_true, verify): Use it if available.  This generates better
3119         diagnostics with GCC 4.6.0 and later.
3120
3121 2011-04-05  Bruno Haible  <bruno@clisp.org>
3122
3123         Remove leftover generated .h files after config.status changed.
3124
3125         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
3126         GL_GENERATE_ALLOCA_H.
3127         * modules/alloca-opt (Makefile.am): Remove alloca.h if
3128         GL_GENERATE_ALLOCA_H evaluates to false.
3129
3130         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
3131         GL_GENERATE_ARGZ_H.
3132         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
3133         evaluates to false.
3134
3135         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
3136         GL_GENERATE_BYTESWAP_H.
3137         * modules/byteswap (Makefile.am): Remove byteswap.h if
3138         GL_GENERATE_BYTESWAP_H evaluates to false.
3139
3140         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
3141         GL_GENERATE_ERRNO_H.
3142         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
3143         evaluates to false.
3144
3145         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
3146         GL_GENERATE_FLOAT_H.
3147         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
3148         evaluates to false.
3149
3150         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
3151         GL_GENERATE_FNMATCH_H.
3152         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
3153         GL_GENERATE_FNMATCH_H evaluates to false.
3154
3155         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
3156         GL_GENERATE_GLOB_H.
3157         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
3158         evaluates to false.
3159
3160         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
3161         automake conditional GL_GENERATE_ICONV_H.
3162         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
3163         evaluates to false.
3164
3165         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
3166         GL_GENERATE_NETINET_IN_H.
3167         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
3168         GL_GENERATE_NETINET_IN_H evaluates to false.
3169
3170         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
3171         conditional GL_GENERATE_PTHREAD_H.
3172         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
3173         * modules/pthread (Makefile.am): Remove pthread.h if
3174         GL_GENERATE_PTHREAD_H evaluates to false.
3175
3176         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
3177         GL_GENERATE_SCHED_H.
3178         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
3179         evaluates to false.
3180
3181         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
3182         conditional GL_GENERATE_SELINUX_CONTEXT_H.
3183         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
3184         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
3185
3186         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
3187         GL_GENERATE_STDARG_H.
3188         * modules/stdarg (Makefile.am): Remove stdarg.h if
3189         GL_GENERATE_STDARG_H evaluates to false.
3190
3191         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
3192         GL_GENERATE_STDBOOL_H.
3193         * modules/stdbool (Makefile.am): Remove stdbool.h if
3194         GL_GENERATE_STDBOOL_H evaluates to false.
3195
3196         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
3197         conditional GL_GENERATE_STDDEF_H.
3198         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
3199         * modules/stddef (Makefile.am): Remove stddef.h if
3200         GL_GENERATE_STDDEF_H evaluates to false.
3201
3202         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
3203         GL_GENERATE_STDINT_H.
3204         * modules/stdint (Makefile.am): Remove stdint.h if
3205         GL_GENERATE_STDINT_H evaluates to false.
3206
3207         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
3208         GL_GENERATE_SYSEXITS_H.
3209         * modules/sysexits (Makefile.am): Remove sysexits.h if
3210         GL_GENERATE_SYSEXITS_H evaluates to false.
3211
3212         Reported by Karl Berry and Ralf Wildenhues.
3213
3214 2011-04-05  Bruno Haible  <bruno@clisp.org>
3215
3216         Ensure to rebuild generated .h files when config.status has changed.
3217         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
3218         config.status.
3219         * modules/ctype (Makefile.am): Likewise.
3220         * modules/dirent (Makefile.am): Likewise.
3221         * modules/errno (Makefile.am): Likewise.
3222         * modules/fcntl-h (Makefile.am): Likewise.
3223         * modules/float (Makefile.am): Likewise.
3224         * modules/getopt-posix (Makefile.am): Likewise.
3225         * modules/glob (Makefile.am): Likewise.
3226         * modules/iconv-h (Makefile.am): Likewise.
3227         * modules/inttypes (Makefile.am): Likewise.
3228         * modules/langinfo (Makefile.am): Likewise.
3229         * modules/locale (Makefile.am): Likewise.
3230         * modules/math (Makefile.am): Likewise.
3231         * modules/netdb (Makefile.am): Likewise.
3232         * modules/netinet_in (Makefile.am): Likewise.
3233         * modules/poll-h (Makefile.am): Likewise.
3234         * modules/pthread (Makefile.am): Likewise.
3235         * modules/pty (Makefile.am): Likewise.
3236         * modules/sched (Makefile.am): Likewise.
3237         * modules/search (Makefile.am): Likewise.
3238         * modules/selinux-h (Makefile.am): Likewise.
3239         * modules/signal (Makefile.am): Likewise.
3240         * modules/spawn (Makefile.am): Likewise.
3241         * modules/stdarg (Makefile.am): Likewise.
3242         * modules/stdbool (Makefile.am): Likewise.
3243         * modules/stddef (Makefile.am): Likewise.
3244         * modules/stdint (Makefile.am): Likewise.
3245         * modules/stdio (Makefile.am): Likewise.
3246         * modules/stdlib (Makefile.am): Likewise.
3247         * modules/string (Makefile.am): Likewise.
3248         * modules/strings (Makefile.am): Likewise.
3249         * modules/sys_file (Makefile.am): Likewise.
3250         * modules/sys_ioctl (Makefile.am): Likewise.
3251         * modules/sys_select (Makefile.am): Likewise.
3252         * modules/sys_socket (Makefile.am): Likewise.
3253         * modules/sys_stat (Makefile.am): Likewise.
3254         * modules/sys_time (Makefile.am): Likewise.
3255         * modules/sys_times (Makefile.am): Likewise.
3256         * modules/sys_utsname (Makefile.am): Likewise.
3257         * modules/sys_wait (Makefile.am): Likewise.
3258         * modules/sysexits (Makefile.am): Likewise.
3259         * modules/termios (Makefile.am): Likewise.
3260         * modules/time (Makefile.am): Likewise.
3261         * modules/unistd (Makefile.am): Likewise.
3262         * modules/wchar (Makefile.am): Likewise.
3263         * modules/wctype-h (Makefile.am): Likewise.
3264         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
3265
3266 2011-04-05  Bruno Haible  <bruno@clisp.org>
3267
3268         pipe2: Relicense under LGPLv2+.
3269         * modules/pipe2 (License): Change to LGPLv2+.
3270         Requested by Eric Blake, for libvirt.
3271
3272 2011-04-05  Bruce Korb  <bkorb@gnu.org>
3273
3274         bootstrap: compute gnulib_extra_files after updating build_aux
3275         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
3276         change build_aux or also supply gnulib_extra_files.  Handle correctly.
3277
3278 2011-04-05  Eric Blake  <eblake@redhat.com>
3279
3280         bootstrap: preserve git whitelist item sorting
3281         * build-aux/bootstrap (sort_patterns): New function.
3282         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
3283
3284 2011-04-05  Simon Josefsson  <simon@josefsson.org>
3285
3286         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
3287         sc_space_tab check.
3288
3289 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3290
3291         areadlink, areadlinkat: rewrite in terms of careadlinkat
3292         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
3293         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
3294         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
3295         (malloc, realloc): Remove #undefs.
3296         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
3297         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
3298         readlink, ssize_t, stdint, unistd.
3299         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
3300         areadlink, stdint.
3301
3302         careadlinkat: new module
3303         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
3304         * modules/careadlinkat: New files, written by me with
3305         a review and feedback from Ben Pfaff in
3306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
3307
3308 2011-04-01  Bruno Haible  <bruno@clisp.org>
3309
3310         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
3311         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
3312         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
3313         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3314         Reported by Bruce Korb <bruce.korb@gmail.com>.
3315
3316 2011-04-01  Bruno Haible  <bruno@clisp.org>
3317
3318         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
3319         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
3320         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
3321         * modules/wcpcpy (Depends-on): Add extensions.
3322         * modules/wcpncpy (Depends-on): Likewise.
3323         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
3324         systems.
3325         * doc/posix-functions/wcpncpy.texi: Likewise.
3326         * doc/posix-functions/wcwidth.texi: Likewise.
3327
3328 2011-03-31  Eric Blake  <eblake@redhat.com>
3329
3330         nonblocking: fix mingw test failures
3331         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
3332         non-blocking flag on regular file.
3333         (get_nonblocking_flag): Set errno on invalid fd.
3334         * tests/test-nonblocking.c (main): Avoid test failure on
3335         directories if fchdir is not active.
3336         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
3337
3338 2011-03-31  Bruno Haible  <bruno@clisp.org>
3339
3340         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
3341         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
3342         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
3343         Reported by Simon Josefsson <simon@josefsson.org>.
3344
3345 2011-03-31  Bruno Haible  <bruno@clisp.org>
3346         and Eric Blake  <eblake@redhat.com>
3347
3348         nonblocking: new module
3349         * modules/nonblocking: New module.
3350         * modules/nonblocking-tests: Likewise.
3351         * lib/nonblocking.h: New file.
3352         * lib/nonblocking.c: Likewise.
3353         * tests/test-nonblocking.c: New test.
3354         * lib/ioctl.c (ioctl) [mingw]: Update comment.
3355
3356 2011-03-30  Bruno Haible  <bruno@clisp.org>
3357
3358         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
3359         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
3360         instead of 'printf' format for GCC >= 4.4.
3361         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
3362         (fprintf, printf, vfprintf, vprintf): Declare with
3363         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
3364         the system's vfprintf() function.
3365         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
3366
3367 2011-03-30  Eric Blake  <eblake@redhat.com>
3368
3369         passfd: fix scoping bug
3370         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
3371         before sendmsg/recvmsg.
3372
3373         passfd: standardize coding conventions
3374         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
3375         can be learned at compile time.
3376         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
3377         ifdefs.
3378         (sendfd, recvfd): Follow gnulib code conventions.
3379
3380         passfd: fix incorrect sendmsg arguments
3381         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
3382         incorrect msg_controllen value.
3383         * modules/passfd-tests (Depends-on): Check for alarm.
3384         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
3385         Reported by Bastien ROUCARIES.
3386
3387 2011-03-30  Bruno Haible  <bruno@clisp.org>
3388
3389         c-strcasestr: Relicense under LGPLv2+.
3390         * modules/c-strcasestr (License): Change to LGPLv2+.
3391         Requested by Eric Blake, for libvirt.
3392
3393 2011-03-30  Simon Josefsson  <simon@josefsson.org>
3394
3395         * users.txt: Add libidn2.  Fix libtasn1 link.
3396
3397 2011-03-30  Jim Meyering  <meyering@redhat.com>
3398
3399         tests: readlink* ("",... fails with EINVAL on newer kernels
3400         readlink and readlinkat have typically failed with ENOENT for
3401         the invalid, empty file name,  "".  However, with the advent
3402         of linux-2.6.39, they fail with EINVAL.
3403         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
3404         when operating on the empty file name.
3405         * tests/test-readlink.h (test_readlink): Likewise.
3406
3407 2011-03-29  Bruno Haible  <bruno@clisp.org>
3408
3409         Relicense some modules under LGPLv2+, for libidn2.
3410         * modules/array-mergesort (License): Change to LGPLv2+.
3411         * modules/c-strcaseeq (License): Likewise.
3412         * modules/striconveh (License): Likewise.
3413         * modules/striconveha (License): Likewise.
3414         * modules/uniconv/base (License): Likewise.
3415         * modules/uniconv/u8-conv-from-enc (License): Likewise.
3416         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
3417         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
3418         * modules/unictype/base (License): Likewise.
3419         * modules/unictype/bidiclass-of (License): Likewise.
3420         * modules/unictype/category-M (License): Likewise.
3421         * modules/unictype/category-none (License): Likewise.
3422         * modules/unictype/category-of (License): Likewise.
3423         * modules/unictype/category-test (License): Likewise.
3424         * modules/unictype/category-test-withtable (License): Likewise.
3425         * modules/unictype/combining-class (License): Likewise.
3426         * modules/unictype/joiningtype-of (License): Likewise.
3427         * modules/unictype/scripts (License): Likewise.
3428         * modules/uninorm/base (License): Likewise.
3429         * modules/uninorm/canonical-decomposition (License): Likewise.
3430         * modules/uninorm/composition (License): Likewise.
3431         * modules/uninorm/decompose-internal (License): Likewise.
3432         * modules/uninorm/decomposition-table (License): Likewise.
3433         * modules/uninorm/nfc (License): Likewise.
3434         * modules/uninorm/nfd (License): Likewise.
3435         * modules/uninorm/u32-normalize (License): Likewise.
3436         * modules/unistr/base (License): Likewise.
3437         * modules/unistr/u32-cpy (License): Likewise.
3438         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
3439         * modules/unistr/u32-to-u8 (License): Likewise.
3440         * modules/unistr/u32-uctomb (License): Likewise.
3441         * modules/unistr/u8-check (License): Likewise.
3442         * modules/unistr/u8-mblen (License): Likewise.
3443         * modules/unistr/u8-mbtouc (License): Likewise.
3444         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
3445         * modules/unistr/u8-mbtoucr (License): Likewise.
3446         * modules/unistr/u8-prev (License): Likewise.
3447         * modules/unistr/u8-strlen (License): Likewise.
3448         * modules/unistr/u8-to-u32 (License): Likewise.
3449         * modules/unistr/u8-uctomb (License): Likewise.
3450         * modules/unitypes (License): Likewise.
3451         Requested by Simon Josefsson.
3452
3453 2011-03-29  Simon Josefsson  <simon@josefsson.org>
3454
3455         lib-symbol-visibility: Add a notice.
3456         * modules/lib-symbol-visibility (Notice): New field.
3457
3458 2011-03-29  Bruno Haible  <bruno@clisp.org>
3459
3460         getaddrinfo: Doc fix.
3461         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
3462         section "fixed in Gnulib".
3463
3464 2011-03-28  Simon Josefsson  <simon@josefsson.org>
3465
3466         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
3467         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
3468
3469 2011-03-26  Bruno Haible  <bruno@clisp.org>
3470
3471         unictype/property-byname: Reduce the number of load-time relocations.
3472         * lib/unictype/pr_byname.c: Include <stdlib.h>.
3473         (UC_PROPERTY_INDEX_*): New enumeration values.
3474         (uc_property_byname): Convert an index from the lookup table to an
3475         uc_property_t.
3476         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
3477         values.
3478
3479 2011-03-26  Bruno Haible  <bruno@clisp.org>
3480
3481         unictype/property-byname: Allow omitted word separators and aliases.
3482         * lib/unictype/pr_byname.gperf: Add property names without word
3483         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
3484         for 'space'.
3485
3486 2011-03-26  Bruno Haible  <bruno@clisp.org>
3487
3488         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
3489         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
3490         also hyphens to space.
3491         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
3492         without spaces.
3493         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
3494
3495 2011-03-26  Bruno Haible  <bruno@clisp.org>
3496
3497         unictype/joiningtype-byname: Recognize long names as well.
3498         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
3499         a long name.
3500         * lib/unictype/joiningtype_byname.c: Include <string.h>,
3501         unictype/joiningtype_byname.h.
3502         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
3503         * lib/unictype/joiningtype_byname.gperf: New file.
3504         * modules/unictype/joiningtype-byname (Files): Add
3505         lib/unictype/joiningtype_byname.gperf.
3506         (Depends-on): Add gperf.
3507         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
3508         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
3509         long names.
3510
3511         Tests for module 'unictype/joiningtype-longname'.
3512         * modules/unictype/joiningtype-longname-tests: New file.
3513         * tests/unictype/test-joiningtype_longname.c: New file.
3514
3515         New module 'unictype/joiningtype-longname'.
3516         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
3517         * lib/unictype/joiningtype_longname.c: New file.
3518         * modules/unictype/joiningtype-longname: New file.
3519         * modules/unictype/joiningtype-all (Depends-on): Add
3520         unictype/joiningtype-longname.
3521
3522 2011-03-26  Bruno Haible  <bruno@clisp.org>
3523
3524         unictype/bidiclass-byname: Recognize long names as well.
3525         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
3526         name.
3527         * lib/unictype/bidi_byname.c: Include <string.h>,
3528         unictype/bidi_byname.h.
3529         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
3530         * lib/unictype/bidi_byname.gperf: New file.
3531         * modules/unictype/bidiclass-byname (Files): Add
3532         lib/unictype/bidi_byname.gperf.
3533         (Depends-on): Add gperf.
3534         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
3535         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
3536         long names.
3537
3538         Tests for module 'unictype/bidiclass-longname'.
3539         * modules/unictype/bidiclass-longname-tests: New file.
3540         * tests/unictype/test-bidi_longname.c: New file.
3541
3542         New module 'unictype/bidiclass-longname'.
3543         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
3544         * lib/unictype/bidi_longname.c: New file.
3545         * modules/unictype/bidiclass-longname: New file.
3546         * modules/unictype/bidiclass-all (Depends-on): Add
3547         unictype/bidiclass-longname.
3548
3549 2011-03-26  Bruno Haible  <bruno@clisp.org>
3550
3551         unictype/bidi*: Rename modules.
3552         * modules/unictype/bidiclass-all: Renamed from
3553         modules/unictype/bidicategory-all.
3554         * modules/unictype/bidiclass-name: Renamed from
3555         modules/unictype/bidiclass-name.
3556         (Description): Update.
3557         * modules/unictype/bidiclass-name-tests: Renamed from
3558         modules/unictype/bidicategory-name-tests.
3559         * modules/unictype/bidiclass-byname: Renamed from
3560         modules/unictype/bidicategory-byname.
3561         (Description): Update.
3562         * modules/unictype/bidiclass-byname-tests: Renamed from
3563         modules/unictype/bidicategory-byname-tests.
3564         * modules/unictype/bidiclass-of: Renamed from
3565         modules/unictype/bidicategory-of.
3566         (Description): Update.
3567         * modules/unictype/bidiclass-of-tests: Renamed from
3568         modules/unictype/bidicategory-of-tests.
3569         * modules/unictype/bidiclass-test: Renamed from
3570         modules/unictype/bidicategory-test.
3571         (Description): Update.
3572         * modules/unictype/bidiclass-test-tests: Renamed from
3573         modules/unictype/bidicategory-test-tests.
3574         * modules/unictype/bidicategory-all: New file, a simple redirection.
3575         * modules/unictype/bidicategory-name: Likewise.
3576         * modules/unictype/bidicategory-byname: Likewise.
3577         * modules/unictype/bidicategory-of: Likewise.
3578         * modules/unictype/bidicategory-test: Likewise.
3579         * modules/unictype/property-bidi-* (Dependencies): Update.
3580         * lib/unictype/bidi_*.c: Update comment.
3581
3582 2011-03-26  Bruno Haible  <bruno@clisp.org>
3583
3584         unictype/bidi*: Rename functions, part 2.
3585         * modules/unictype/bidicategory-name (configure.ac): Update required
3586         libunistring version.
3587         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
3588
3589 2011-03-25  Bruno Haible  <bruno@clisp.org>
3590
3591         New module 'unictype/combining-class-all'.
3592         * modules/unictype/combining-class-all: New file.
3593
3594         Tests for module 'unictype/combining-class-byname'.
3595         * modules/unictype/combining-class-byname-tests: New file.
3596         * tests/unictype/test-combiningclass_byname.c: New file.
3597
3598         New module 'unictype/combining-class-byname'.
3599         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
3600         * lib/unictype/combiningclass_byname.c: New file.
3601         * lib/unictype/combiningclass_byname.gperf: New file.
3602         * modules/unictype/combining-class-byname: New file.
3603
3604         Tests for module 'unictype/combining-class-longname'.
3605         * modules/unictype/combining-class-longname-tests: New file.
3606         * tests/unictype/test-combiningclass_longname.c: New file.
3607
3608         New module 'unictype/combining-class-longname'.
3609         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
3610         * lib/unictype/combiningclass_longname.c: New file.
3611         * modules/unictype/combining-class-longname: New file.
3612
3613         Tests for module 'unictype/combining-class-name'.
3614         * modules/unictype/combining-class-name-tests: New file.
3615         * tests/unictype/test-combiningclass_name.c: New file.
3616
3617         New module 'unictype/combining-class-name'.
3618         * lib/unictype.in.h (uc_combining_class_name): New declaration.
3619         * lib/unictype/combiningclass_name.c: New file.
3620         * modules/unictype/combining-class-name: New file.
3621
3622 2011-03-25  Bruno Haible  <bruno@clisp.org>
3623
3624         unictype/combining-class: Rename source files.
3625         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
3626         of unictype/combining.h.
3627         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
3628         Update.
3629         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
3630         * modules/unictype/combining-class (Description): Fix.
3631         (Files, Makefile.am): Update.
3632         * tests/unictype/test-combiningclass.c: Renamed from
3633         tests/unictype/test-combining.c.
3634         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
3635
3636 2011-03-25  Bruno Haible  <bruno@clisp.org>
3637
3638         unictype: Update list of canonical combining classes.
3639         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
3640
3641 2011-03-25  Bruno Haible  <bruno@clisp.org>
3642
3643         unictype/category-byname: Recognize long names as well.
3644         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
3645         a long name.
3646         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
3647         unictype/categ_byname.h.
3648         (UC_CATEGORY_INDEX_*): New enumeration values.
3649         (uc_general_category_byname): Use uc_general_category_lookup and
3650         convert from index to value.
3651         * lib/unictype/categ_byname.gperf: New file.
3652         * modules/unictype/category-byname (Files): Add
3653         lib/unictype/categ_byname.gperf.
3654         (Depends-on): Add gperf.
3655         (Makefile.am): Add rule for generating unictype/categ_byname.h.
3656         * tests/unictype/test-categ_byname.c (main): Test the recognition of
3657         long names.
3658
3659         Tests for module 'unictype/category-longname'.
3660         * modules/unictype/category-longname-tests: New file.
3661         * tests/unictype/test-categ_longname.c: New file.
3662
3663         New module 'unictype/category-longname'.
3664         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
3665         * lib/unictype/categ_longname.c: New file.
3666         * modules/unictype/category-longname: New file.
3667         * modules/unictype/category-all (Depends-on): Add it.
3668
3669 2011-03-25  Bruno Haible  <bruno@clisp.org>
3670
3671         Tests for module 'unictype/category-LC'.
3672         * modules/unictype/category-LC-tests: New file.
3673         * tests/unictype/test-categ_LC.c: New file, automatically generated.
3674
3675         New module 'unictype/category-LC'.
3676         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
3677         (UC_CATEGORY_LC): New declaration.
3678         (UC_CASED_LETTER): New macro.
3679         * lib/gen-uni-tables.c (is_category_LC): New function.
3680         (output_categories): Also handle category LC.
3681         (UC_CATEGORY_MASK_LC): New enumeration value.
3682         (general_category_byname): Also handle category LC.
3683         * lib/unictype/categ_LC.c: New file.
3684         * lib/unictype/categ_LC.h: New file, automatically generated.
3685         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
3686         category LC.
3687         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
3688         * modules/unictype/category-LC: New file.
3689         * modules/unictype/category-byname (Depends-on): Add
3690         unictype/category-LC.
3691         * modules/unictype/category-all (Depends-on): Likewise.
3692
3693 2011-03-25  Eric Blake  <eblake@redhat.com>
3694
3695         xmalloc: revert yesterday's regression
3696         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
3697         realloc's underlying behavior (allowing allocation of zero-size
3698         objects, especially if malloc-gnu is also in use).
3699
3700 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
3701
3702         maint.mk: add missing version to VC-tag
3703         * top/maint.mk: git tag was missing actual tag name; add it.
3704
3705         valgrind: do leak checking, and exit with code 1 on error (not 0)
3706         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
3707         to VALGRIND.
3708
3709 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
3710
3711         posix-modules: say what it does.
3712         * posix-modules: Add a line to the --help output saying what it does.
3713
3714 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
3715
3716         xmalloc: Do not leak if underlying realloc is C99 compatible.
3717         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
3718         This avoids a leak on C99-based systems.  See
3719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
3720
3721 2011-03-24  Eric Blake  <eblake@redhat.com>
3722
3723         realloc: document portability problem
3724         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
3725         passing 0 size to realloc.
3726
3727 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
3728
3729         doc: update users.txt
3730         * users.txt: Add cvsps, tmpwatch
3731
3732 2011-03-23  Matt Rice  <ratmice@gmail.com>
3733
3734         doc: update users.txt
3735         * users.txt: Add gdb.
3736
3737 2011-03-23  Jim Meyering  <meyering@redhat.com>
3738
3739         doc: update users.txt
3740         Looking through matches up to the following URL (there are still
3741         several more pages), I found several projects that use gnulib:
3742         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
3743         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
3744         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
3745
3746 2011-03-22  Bruno Haible  <bruno@clisp.org>
3747
3748         unictype/bidi*: Rename functions.
3749         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
3750         uc_bidi_class, uc_is_bidi_class): New declarations.
3751         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
3752         uc_bidi_category_byname.
3753         (uc_bidi_category_byname): New function.
3754         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
3755         u_bidi_category_name.
3756         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
3757         (uc_bidi_category_name): New function.
3758         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
3759         uc_bidi_category.
3760         (uc_bidi_category): New function.
3761         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
3762         uc_is_bidi_category. Invoke uc_bidi_class.
3763         (uc_is_bidi_category): New function.
3764         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
3765         instead of uc_bidi_category_byname.
3766         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
3767         instead of uc_bidi_category_name.
3768         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
3769         uc_bidi_category.
3770         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
3771         instead of uc_is_bidi_category.
3772
3773 2011-03-21  Bruno Haible  <bruno@clisp.org>
3774
3775         New module 'unictype/joininggroup-all'.
3776         * modules/unictype/joininggroup-all: New file.
3777
3778         Tests for module 'unictype/joininggroup-of'.
3779         * modules/unictype/joininggroup-of-tests: New file.
3780         * tests/unictype/test-joininggroup_of.c: New file.
3781         * tests/unictype/test-joininggroup_of.h: New file, automatically
3782         generated by gen-uni-tables.
3783
3784         New module 'unictype/joininggroup-of'.
3785         * modules/unictype/joininggroup-of: New file.
3786         * lib/unictype/joininggroup_of.c: New file.
3787         * lib/unictype/joininggroup_of.h: New file, automatically generated by
3788         gen-uni-tables.
3789
3790         Tests for module 'unictype/joininggroup-byname'.
3791         * modules/unictype/joininggroup-byname-tests: New file.
3792         * tests/unictype/test-joininggroup_byname.c: New file.
3793
3794         New module 'unictype/joininggroup-byname'.
3795         * modules/unictype/joininggroup-byname: New file.
3796         * lib/unictype/joininggroup_byname.c: New file.
3797         * lib/unictype/joininggroup_byname.gperf: New file.
3798
3799         Tests for module 'unictype/joininggroup-name'.
3800         * modules/unictype/joininggroup-name-tests: New file.
3801         * tests/unictype/test-joininggroup_name.c: New file.
3802
3803         New module 'unictype/joininggroup-name'.
3804         * modules/unictype/joininggroup-name: New file.
3805         * lib/unictype/joininggroup_name.c: New file.
3806         * lib/unictype/joininggroup_name.h: New file.
3807
3808         New module 'unictype/joiningtype-all'.
3809         * modules/unictype/joiningtype-all: New file.
3810
3811         Tests for module 'unictype/joiningtype-of'.
3812         * modules/unictype/joiningtype-of-tests: New file.
3813         * tests/unictype/test-joiningtype_of.c: New file.
3814         * tests/unictype/test-joiningtype_of.h: New file, automatically
3815         generated by gen-uni-tables.
3816
3817         New module 'unictype/joiningtype-of'.
3818         * modules/unictype/joiningtype-of: New file.
3819         * lib/unictype/joiningtype_of.c: New file.
3820         * lib/unictype/joiningtype_of.h: New file, automatically generated by
3821         gen-uni-tables.
3822
3823         Tests for module 'unictype/joiningtype-byname'.
3824         * modules/unictype/joiningtype-byname-tests: New file.
3825         * tests/unictype/test-joiningtype_byname.c: New file.
3826
3827         New module 'unictype/joiningtype-byname'.
3828         * modules/unictype/joiningtype-byname: New file.
3829         * lib/unictype/joiningtype_byname.c: New file.
3830
3831         Tests for module 'unictype/joiningtype-name'.
3832         * modules/unictype/joiningtype-name-tests: New file.
3833         * tests/unictype/test-joiningtype_name.c: New file.
3834
3835         New module 'unictype/joiningtype-name'.
3836         * modules/unictype/joiningtype-name: New file.
3837         * lib/unictype/joiningtype_name.c: New file.
3838
3839         unictype: Add support for Arabic shaping properties.
3840         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
3841         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
3842         declarations.
3843         (UC_JOINING_GROUP_*): New enumeration values.
3844         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
3845         declarations.
3846         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
3847         (unicode_joining_type): New variable.
3848         (UC_JOINING_GROUP_*): New enumeration values.
3849         (unicode_joining_group): New variable.
3850         (fill_arabicshaping, joining_type_as_c_identifier,
3851         output_joining_type_test, output_joining_type,
3852         joining_group_as_c_identifier, output_joining_group_test,
3853         output_joining_group): New functions.
3854         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
3855         fill_arabicshaping and output_joining_type_test, output_joining_type,
3856         output_joining_group_test, output_joining_group.
3857         Reported by Simon Josefsson.
3858
3859 2011-03-21  Jim Meyering  <meyering@redhat.com>
3860
3861         strftime: fix a bug in yesterday's change
3862         * lib/strftime.c (add): Accommodate width's initial value of -1.
3863         Otherwise, nstrftime would copy uninitialized data into
3864         the result buffer.
3865
3866 2011-03-21  Jim Meyering  <meyering@redhat.com>
3867
3868         tests: add strftime-tests module
3869         * tests/test-strftime.c: New file.
3870         * modules/strftime-tests: New module.
3871
3872 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3873
3874         strftime: don't assume a byte count fits in 'int'
3875         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
3876         found this problem by static analysis, using gcc -Wstrict-overflow
3877         (GCC 4.5.2, x86-64).  This reported an optimization that depended
3878         on an integer overflow having undefined behavior, but it turns out
3879         that the argument is a size, which might not fit in 'int' anyway,
3880
3881 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3882
3883         stdio: don't require ignore_value around fwrite
3884
3885         This patch works around libc bug 11959
3886         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
3887         Without this patch, applications must often write
3888         ignore_value (fwrite (...)) even though the ignore_value is
3889         not helpful here.  It's common to write many objects, using
3890         fwrite/printf/etc., and then use ferror to detect output error.
3891
3892         I considered making this patch optional, but decided against it,
3893         because libc is obviously being inconsistent here: there is no
3894         reason libc should insist that user code must inspect fwrite
3895         return's value without also insisting that it inspect printf's,
3896         putchar's, etc.  If user code wants to have a strict style where
3897         all these functions' values are checked (so that ferror need not
3898         be checked), we could add support for that style in a new gnulib
3899         module, but in the meantime it's better to be consistent and to
3900         support common usage.
3901
3902         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
3903         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
3904         that we are compiling in checking mode, and if not C++, and
3905         if not already wrapping fwrite for some other reason.
3906         (fwrite): #define to rpl_fwrite if the latter is defined.
3907
3908 2011-03-20  Bruno Haible  <bruno@clisp.org>
3909
3910         verror: Fix compilation error introduced on 2011-02-13.
3911         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
3912         instead of __attribute__.
3913         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3914
3915 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3916             Bruno Haible  <bruno@clisp.org>
3917
3918         socklen: do not depend on sys_socket
3919         While trying to modify Emacs to use gnulib's socklen module,
3920         I discovered a circular dependency: socklen depends on sys_socket
3921         and vice versa.  Emacs can use socklen, but it does not need
3922         sys_socket because it has its own substitute for sys/socket.h.
3923         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
3924         gl_TYPE_SOCKLEN_T.
3925         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
3926         gl_PREREQ_SYS_H_SOCKET.
3927         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
3928         gl_PREREQ_SYS_H_SOCKET.
3929         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
3930         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
3931         * modules/socklen (Depends-on): Do not depend on sys_socket.
3932         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
3933
3934 2011-03-20  Jim Meyering  <meyering@redhat.com>
3935
3936         maint.mk: sort file names *after* new transformation
3937         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
3938         prefix would have led to an unwarranted failure in GNU parted.
3939         Sort after that transformation.
3940
3941 2011-03-19  Jim Meyering  <meyering@redhat.com>
3942
3943         maint.mk: fix po-file syntax-check rule
3944         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
3945         Patch by Bruno Haible.
3946
3947 2011-03-19  Bruno Haible  <bruno@clisp.org>
3948
3949         socklen: Update comment.
3950         * m4/socklen.m4: Update comment about platforms.
3951
3952 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3953             Bruno Haible  <bruno@clisp.org>
3954
3955         inet_ntop, inet_pton: Simplify.
3956         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
3957         documented to provide socklen_t and we already depend on sys_socket.
3958         * modules/inet_pton (Depends-on): Likewise.
3959         * lib/arpa_inet.in.h: Adjust comment.
3960
3961 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3962             Bruno Haible  <bruno@clisp.org>
3963
3964         netdb: Simplify.
3965         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
3966         documented to provide socklen_t and we already depend on sys_socket.
3967         * lib/netdb.in.h: Adjust comment.
3968
3969 2011-03-19  Bruno Haible  <bruno@clisp.org>
3970
3971         sys_socket, netdb: Document problem with socklen_t.
3972         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
3973         platforms.
3974         * doc/posix-headers/netdb.texi: Likewise.
3975
3976 2011-03-18  Eric Blake  <eblake@redhat.com>
3977
3978         maint.mk: let po check work in VPATH build
3979         * top/maint.mk (po_file): Allow cfg.mk override.
3980         (sc_po_check): Allow VPATH use.
3981         Reported by Jiri Denemark.
3982
3983 2011-03-16  Jim Meyering  <meyering@redhat.com>
3984
3985         maint.mk: allow fine-grained syntax-check exclusion via Make variables
3986         Before, you would have had to create one .x-sc_ file per rule in order
3987         to exempt offending files.  Now, you may instead use a Make variable --
3988         usually defined in cfg.mk -- whose name identifies the affected rule.
3989         * top/maint.mk (_sc_excl): Define.
3990         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
3991         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
3992
3993 2011-03-13  Bruno Haible  <bruno@clisp.org>
3994
3995         ignore-value tests: Avoid warnings.
3996         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
3997         empty for gcc < 3.4.
3998
3999 2011-03-13  Bruno Haible  <bruno@clisp.org>
4000
4001         passfd: Fix link error on Solaris.
4002         * modules/passfd (Description): Correct.
4003         (Depends-on): Add socketlib.
4004         (Link): New section.
4005         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
4006
4007 2011-03-13  Bruno Haible  <bruno@clisp.org>
4008
4009         passfd: Fix link error on AIX 5.2.
4010         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
4011
4012 2011-03-13  Bruno Haible  <bruno@clisp.org>
4013
4014         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
4015         * lib/sys_socket.in.h: Include <stddef.h>.
4016         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
4017         CMSG_FIRSTHDR. Remove unused variable.
4018
4019 2011-03-13  Bruno Haible  <bruno@clisp.org>
4020
4021         passfd: Fix compilation error on OpenBSD.
4022         * lib/passfd.c: Include <sys/uio.h>.
4023
4024 2011-03-13  Bruno Haible  <bruno@clisp.org>
4025
4026         passfd test: Fix warnings.
4027         * tests/test-passfd.c: Include <sys/wait.h>.
4028         (main): Fix typo.
4029
4030 2011-03-13  Bruno Haible  <bruno@clisp.org>
4031
4032         passfd module, part 4, tweaks.
4033         * tests/test-passfd.c: Reorder includes.
4034         (main): Fix perror and printf calls.
4035
4036 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4037
4038         passfd module, part 4.
4039         * modules/passfd-tests: New file.
4040         * tests/test-passfd.c: New file.
4041
4042 2011-03-13  Jim Meyering  <meyering@redhat.com>
4043
4044         Makefile: rely on GNU make; derive syntax-check rule names
4045         Rather than requiring that each sc_ rule be listed as a dependent
4046         of "check", use features of GNU make to derive the list.
4047         * Makefile (syntax-check-rules): Define.
4048         (check): Depend on the new variable, not the hard-coded list.
4049
4050 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
4051             Bruno Haible  <bruno@clisp.org>
4052
4053         passfd module, part 3.
4054         * lib/passfd.h (recvfd): Add a flags argument.
4055         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
4056         (recvfd): Add a flags argument.
4057         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
4058         exists.
4059         * modules/passfd (Depends-on): Add cloexec.
4060         Suggested by Eric Blake.
4061
4062 2011-03-13  Bruno Haible  <bruno@clisp.org>
4063
4064         passfd module, part 2, tweaks.
4065         * modules/passfd (Files): Reorder.
4066         (Depends-on): Remove errno.
4067         (Include): Remove <sys/socket.h>, <sys/un.h>.
4068         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
4069         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
4070         specification header. Include <sys/socket.h> always. Don't include
4071         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
4072         (sendfd): Clarify that it sets errno when it fails.
4073         (recvfd): Fix specification.
4074
4075 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4076
4077         passfd module, part 2.
4078         * modules/passfd: New file.
4079         * lib/passfd.h: New file.
4080         * lib/passfd.c: New file.
4081
4082 2011-03-12  Bruno Haible  <bruno@clisp.org>
4083
4084         wcswidth, mbswidth: Avoid integer overflow.
4085         * lib/wcswidth.c: Include <limits.h>.
4086         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
4087         * lib/mbswidth.c: Include <limits.h>.
4088         (mbsnwidth): Avoid 'int' overflow.
4089         Reported by Jim Meyering.
4090
4091 2011-03-12  Bruno Haible  <bruno@clisp.org>
4092
4093         futimens, utimensat: Avoid endless recursion on Solaris 10.
4094         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
4095         Solaris.
4096         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
4097         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
4098
4099 2011-03-11  Jim Meyering  <meyering@redhat.com>
4100
4101         maint.mk: relax a regexp to accommodate other formatting styles
4102         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
4103         between "ngettext" and the following "(".
4104
4105 2011-03-11  Pádraig Brady <P@draigBrady.com>
4106
4107         maint.mk: suppress a false positive warning
4108         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
4109         diagnostics are marked with ngettext.
4110
4111 2011-03-10  Eric Blake  <eblake@redhat.com>
4112
4113         wchar: add explicit dependencies, for Tru64
4114         * modules/mbmemcasecoll (Depends-on): Add wchar.
4115         * modules/mbtowc (Depends-on): Likewise.
4116         * modules/vasnprintf (Depends-on): Likewise.
4117         * modules/unistdio/u-printf-args (Depends-on): Likewise.
4118         * modules/wctomb (Depends-on): Likewise.
4119         Reported by Peter O'Gorman.
4120
4121 2011-03-08  Bruno Haible  <bruno@clisp.org>
4122
4123         passfd module, part 1, tweaks.
4124         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
4125         Improve indentation. Improve AC_MSG_CHECKING messages.
4126         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
4127         gl_SOCKET_FAMILIES.
4128
4129 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
4130
4131         passfd module, part 1.
4132         * m4/afunix.m4: New file.
4133         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
4134         sockets.
4135
4136 2011-03-08  Bruno Haible  <bruno@clisp.org>
4137
4138         regex-quote: New API.
4139         * lib/regex-quote.h: Include <stdbool.h>.
4140         (struct regex_quote_spec): New type.
4141         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
4142         New declarations.
4143         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4144         'const struct regex_quote_spec *' argument.
4145         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
4146         (pcre_special): New constant.
4147         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
4148         New functions.
4149         (regex_quote_length, regex_quote_copy, regex_quote): Take a
4150         'const struct regex_quote_spec *' argument.
4151         * modules/regex-quote (Depends-on): Add stdbool.
4152         * tests/test-regex-quote.c (check): Update for new API. Add test for
4153         anchored results.
4154         * NEWS: Mention the API change.
4155         Reported by Reuben Thomas and Eric Blake.
4156
4157 2011-03-06  Bruno Haible  <bruno@clisp.org>
4158
4159         regex-quote: Fix creation of POSIX extended regular expressions.
4160         * lib/regex-quote.c (ere_special): Add grouping and alternation
4161         operators.
4162
4163 2011-03-05  Bruno Haible  <bruno@clisp.org>
4164
4165         doc: Improve doc regarding autopoint vs. gnulib.
4166         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
4167         disable autopoint while running autoreconf.
4168         Suggested by Ralf Wildenhues.
4169
4170 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4171
4172         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
4173         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
4174
4175 2011-03-03  Bruce Korb  <bkorb@gnu.org>
4176
4177         parse-duration: remove xalloc.h dependency
4178         * lib/parse-duration.c (parse_period): handle NULL return from
4179         strdup instead of calling xstrdup().
4180         * modules/parse-duration: remove "xalloc" dependency
4181
4182 2011-03-03  Matthew Booth  <mbooth@redhat.com>
4183
4184         bootstrap: honor m4_base when running aclocal
4185         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
4186
4187 2011-03-02  Jim Meyering  <meyering@redhat.com>
4188
4189         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
4190         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
4191         on request from Matt Booth.
4192
4193 2011-03-01  Eric Blake  <eblake@redhat.com>
4194
4195         test-link: work on Hurd
4196         * tests/test-link.h (test_link): Hurd rejects linking directories
4197         with EISDIR instead of the POSIX-mandated EPERM.
4198
4199 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
4200
4201         stdio: simplify by moving files to printf-posix, sigpipe
4202         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
4203         since this symbol is needed only if printf is replaced.
4204         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
4205         Require gl_ASM_SYMBOL_PREFIX.
4206         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
4207         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
4208         (Depends-on): Add 'raise'.
4209         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
4210         * modules/stdio (Files): Remove lib/stdio-write.c,
4211         m4/asm-underscore.m4.
4212         (Depends-on): Remove 'raise'.
4213
4214         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
4215         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
4216         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
4217         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
4218
4219 2011-02-28  Bruno Haible  <bruno@clisp.org>
4220
4221         localcharset: Assume ANSI C behaviour of free().
4222         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
4223         calling free().
4224         Suggested by Simon Josefsson <simon@josefsson.org>.
4225
4226 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
4227             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
4228             Bruno Haible  <bruno@clisp.org>  (tiny change)
4229
4230         On Cygwin, use /proc file system instead of win32 API.
4231         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
4232         Win32 file names.
4233         (DllMain): Simplify by removing Cygwin specific code.
4234         (find_shared_library_fullname): Use Linux specific implementation also
4235         for Cygwin.
4236         (get_shared_library_fullname): Update accordingly.
4237         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
4238         Win32 file names.
4239         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
4240         Cygwin specific code.
4241
4242 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
4243             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
4244
4245         Fix OpenMP flag detection for various Fortran compilers.
4246         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
4247         OpenMP-conditional compilation construct, to force compile
4248         failure with missing OpenMP flag.
4249         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
4250
4251 2011-02-25  Eric Blake  <eblake@redhat.com>
4252
4253         strstr: expand test coverage
4254         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
4255         compilation.
4256         * tests/test-memmem.c (main): Duplicate tests.
4257         * tests/test-strcasestr.c (main): Likewise.
4258         * tests/test-c-strcasestr.c (main): Likewise.
4259
4260 2011-02-25  Jim Meyering  <meyering@redhat.com>
4261
4262         maint.mk: detect missing-NL-at-EOF, too
4263         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
4264         it also detects when a file lacks a newline at EOF.
4265         (require_exactly_one_NL_at_EOF_): Renamed from
4266         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
4267         since people may well have .x-sc_... file names tied to the
4268         existing name.  Suggested by Eric Blake.
4269
4270 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
4271
4272         dirname: move m4/dos.m4 functionality into lib/dosname.h
4273
4274         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
4275         extracts symbols from it, puts them into config.h; but it's much
4276         easier to use the symbols directly.  filename.h already does this,
4277         but it disagrees with dos.m4 in some respects.  This patch
4278         introduces a different include file dosname.h that packages up
4279         dos.m4, and then later we can work on merging filename.h and
4280         dosname.h.  Applications that need only the easy-to-configure
4281         symbols should consider including dosname.h rather than dirname.h.
4282         * NEWS: Mention incompatible changes.
4283         * m4/dos.m4: Remove.
4284         * lib/dosname.h, modules/dosname: New files.
4285         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
4286         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
4287         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
4288         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
4289         Include dosname.h, not dirname.h.
4290         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
4291         Include dosname.h, for definitions of symbols like ISSLASH
4292         that used to be in config.h.
4293         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
4294         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4295         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
4296         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4297         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
4298         * modules/rmdir (Files): Likewise.
4299         * modules/stat (Files): Likewise.
4300         * modules/unlink (Files): Likewise.
4301         * modules/dirname-lgpl (Depends-on): Add dosname.
4302         * modules/lstat (Depends-on): Likewise.
4303         * modules/openat (Depends-on): Likewise.
4304         * modules/rmdir (Depends-on): Likewise.
4305         * modules/savewd (Depends-on): Likewise.
4306         * modules/stat (Depends-on): Likewise.
4307         * modules/unlink (Depends-on): Likewise.
4308         * modules/openat (Depends-on): Remove dirname-lgpl.
4309         * modules/savewd (Depends-on): Likewise.
4310         * tests/test-dirname.c: Do not use removed symbols like
4311         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
4312         the remaining symbols, e.g., ISSLASH ('\\').
4313
4314 2011-02-25  Eric Blake  <eblake@redhat.com>
4315
4316         strstr: revert patches that introduced bug and pessimization
4317         * lib/str-two-way.h: Add another reference.
4318         (two_way_short_needle, two_way_long_needle): Revert changes from
4319         2011-02-24; they pessimize search speed.
4320         (critical_factorization): Partially revert changes from
4321         2010-06-22; they violate the requirement that the left half of the
4322         needle be smaller than the period of the needle.
4323
4324 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4325
4326         filenamecat: remove unnecessary dependency on dirname-lgpl
4327         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
4328         is no direct dependency, just an indirect one via filenamecat-lgpl.
4329
4330         remove: remove unnecessary use of m4/dos.m4
4331         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
4332         * modules/remove (FILES): Remove m4/dos.m4.
4333
4334         * lib/openat-proc.c: Don't include dirname.h; not needed.
4335
4336         backupfile: remove unnecessary use of m4/dos.m4
4337         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
4338         of its symbols are used by the backupfile code.  backupfile.c does
4339         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
4340         for the rare case of programs that want all their backup file
4341         names to live within 8+3 limits, and dos.m4 doesn't address that.
4342         * modules/backupfile (Files): Remove m4/dos.m4.
4343
4344 2011-02-24  Jim Meyering  <meyering@redhat.com>
4345
4346         strstr: fix a bug whereby strstr would mistakenly return NULL
4347         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
4348         in period calculation.
4349         (two_way_long_needle): Likewise.
4350         The original problem was reported by Mike Stump in
4351         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
4352         Ralf Wildenhues provided the short needle and haystack.
4353         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
4354         Add a more involved test to trigger the bug in two_way_long_needle.
4355
4356 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
4357
4358         gnulib-tool: remove use of bold display in help screen
4359         * gnulib-tool (func_usage): Do not use bold display anymore in the
4360         help screen.  That was just meant to be a temporary emphasis for a
4361         backward-incompatible change.
4362
4363 2011-02-23  Bruno Haible  <bruno@clisp.org>
4364
4365         Fix misindentation of preprocessor directives.
4366         * lib/argp-namefrob.h: Reindent preprocessor directives.
4367         * lib/getopt_int.h (struct _getopt_data): Likewise.
4368         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
4369         * lib/vasnprintf.c (decode_long_double): Likewise.
4370         * tests/test-argmatch.c: Insert blank lines, for clarity.
4371         * tests/test-exclude.c: Likewise.
4372
4373 2011-02-22  Bruno Haible  <bruno@clisp.org>
4374
4375         ioctl: Fix for MacOS X in 64-bit mode.
4376         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
4377         value.
4378         Suggested by Eric Blake.
4379         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
4380
4381 2011-02-22  Jim Meyering  <meyering@redhat.com>
4382
4383         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
4384         * Makefile (sc_cpp_indent_check): Don't limit the check to files
4385         in lib/.
4386
4387 2011-02-22  Eric Blake  <eblake@redhat.com>
4388
4389         maint: avoid any CDPATH issue
4390         * Makefile (sc_cpp_indent_check): Anchor cd argument.
4391
4392         maint: adjust cpp indentation for my modules, as well
4393         * Makefile (sc_cpp_indent_check): Add my name.
4394         * lib/fbufmode.c: Filter through cppi.
4395         * lib/fpurge.c: Likewise.
4396         * lib/freadable.c: Likewise.
4397         * lib/freading.c: Likewise.
4398         * lib/fwritable.c: Likewise.
4399         * lib/fwriting.c: Likewise.
4400         * lib/sigaction.c: Likewise.
4401
4402 2011-02-22  Jim Meyering  <meyering@redhat.com>
4403
4404         maint: adjust cpp indentation to reflect nesting depth
4405         I.e., in a block of code that begins with an unnested "#if",
4406         put one space between the "#" in column 1 and following token.
4407         For example,
4408         -#include <sys/vfs.h>
4409         +# include <sys/vfs.h>
4410         Do this only in .c files that are part of a module I maintain.
4411         * lib/linkat.c: Filter through cppi.
4412         * lib/nanosleep.c: Likewise.
4413         * lib/openat.c: Likewise.
4414         * lib/openat-die.c: Likewise.
4415         * lib/dup3.c: Likewise.
4416         * lib/fchownat.c: Likewise.
4417         * lib/flock.c: Likewise.
4418         * lib/fsync.c: Likewise.
4419         * lib/fts.c: Likewise.
4420         * lib/getpass.c: Likewise.
4421         * lib/gettimeofday.c: Likewise.
4422         * lib/userspec.c: Likewise.
4423         * Makefile (sc_cpp_indent_check): New rule, to check this.
4424
4425 2011-02-22  Bruno Haible  <bruno@clisp.org>
4426
4427         New module 'wctomb'.
4428         * lib/stdlib.in.h (wctomb): New declaration.
4429         * lib/wctomb.c: New file.
4430         * lib/wctomb-impl.h: New file.
4431         * m4/wctomb.m4: New file.
4432         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
4433         REPLACE_WCTOMB.
4434         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
4435         REPLACE_WCTOMB.
4436         * modules/wctomb: New file.
4437         * tests/test-stdlib-c++.cc: Test signature of wctomb.
4438         * doc/posix-functions/wctomb.texi: Mention the new module.
4439         * modules/wctob (Depends-on): Add wctomb.
4440
4441 2011-02-22  Bruno Haible  <bruno@clisp.org>
4442
4443         New module 'mbtowc'.
4444         * lib/stdlib.in.h (mbtowc): New declaration.
4445         * lib/mbtowc.c: New file.
4446         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
4447         * m4/mbtowc.m4: New file.
4448         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
4449         REPLACE_MBTOWC.
4450         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
4451         REPLACE_MBTOWC.
4452         * modules/mbtowc: New file.
4453         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
4454         * doc/posix-functions/mbtowc.texi: Mention the new module.
4455         * modules/btowc (Depends-on): Add mbtowc.
4456
4457 2011-02-22  Bruno Haible  <bruno@clisp.org>
4458
4459         wcrtomb: Add more tests for native Windows platforms.
4460         * tests/test-wcrtomb-w32-1.sh: New file.
4461         * tests/test-wcrtomb-w32-2.sh: New file.
4462         * tests/test-wcrtomb-w32-3.sh: New file.
4463         * tests/test-wcrtomb-w32-4.sh: New file.
4464         * tests/test-wcrtomb-w32-5.sh: New file.
4465         * tests/test-wcrtomb-w32.c: New file.
4466         * modules/wcrtomb-tests (Files): Add them.
4467         (Makefile.am): Arrange to run these tests.
4468         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
4469         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
4470
4471 2011-02-20  Bruno Haible  <bruno@clisp.org>
4472
4473         wcrtomb: Enhance test.
4474         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
4475
4476 2011-02-20  Bruno Haible  <bruno@clisp.org>
4477
4478         mbrtowc: Tiny optimization.
4479         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
4480
4481 2011-02-20  Jim Meyering  <meyering@redhat.com>
4482
4483         test-exclude.c: remove unmatched #endif
4484         * tests/test-exclude.c: Remove stray #endif, left over from
4485         the change of a week ago.
4486
4487 2011-02-19  Jim Meyering  <meyering@redhat.com>
4488
4489         git-version-gen: skip "-dirty" check when appropriate
4490         * build-aux/git-version-gen: Don't run any git commands when the
4491         version string comes from .tarball-version.  Prior to this, we
4492         would run git update-index --refresh even from a just-unpacked
4493         tarball directory, and that could affect a .git/ directory in a
4494         parent of the build directory.  Reported by Mike Frysinger.
4495
4496 2011-02-19  Bruno Haible  <bruno@clisp.org>
4497
4498         unictype/property-byname: Reduce the size of the 'data' segment.
4499         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
4500
4501 2011-02-19  Bruno Haible  <bruno@clisp.org>
4502
4503         unictype/scripts: Reduce the size of the 'data' segment.
4504         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
4505         '%pic'.
4506         * lib/unictype/scripts_byname.gperf: Regenerated.
4507
4508 2011-02-19  Bruno Haible  <bruno@clisp.org>
4509
4510         stdint: Update documentation.
4511         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
4512
4513 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
4514
4515         stdint: omit redundant check for wchar.h
4516         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
4517         always tests whether wchar.h exists, so remove the now-redundant test.
4518
4519 2011-02-18  Bruno Haible  <bruno@clisp.org>
4520
4521         stdint: Cut dependency to module 'wchar'.
4522         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
4523         include the necessary prerequisites.
4524         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
4525         * modules/stdint (Depends-on): Remove wchar.
4526         (Makefile.am): Substitute HAVE_WCHAR_H.
4527         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
4528
4529 2011-02-18  Eric Blake  <eblake@redhat.com>
4530
4531         longlong: skip, rather than fail, on cross-compilation
4532         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
4533         when cross-compiling; regression from 2011-02-16.
4534
4535 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4536
4537         * NEWS: Mention 2011-02-08 change to stdlib.
4538
4539 2011-02-17  Bruno Haible  <bruno@clisp.org>
4540
4541         getloadavg: Add comments about platforms.
4542         * m4/getloadavg.m4: Add comment.
4543         * lib/getloadavg.c: Likewise.
4544
4545 2011-02-17  Bruno Haible  <bruno@clisp.org>
4546
4547         getloadavg: Fix link error on Solaris 2.6.
4548         * modules/getloadavg (Link): New section.
4549         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
4550         linking test-getloadavg.
4551         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
4552         getloadavg.
4553
4554 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
4555
4556         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
4557         It was 'int', but this doesn't match the IRIX 6.5 manual.
4558         Suggested by Bruno Haible in
4559         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
4560
4561 2011-02-17  Bruno Haible  <bruno@clisp.org>
4562
4563         havelib: Fix comments.
4564         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
4565         change.
4566
4567 2011-02-17  Bruno Haible  <bruno@clisp.org>
4568
4569         havelib: Update config.rpath.
4570         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
4571
4572 2011-02-17  Bruno Haible  <bruno@clisp.org>
4573
4574         getloadavg test: Add some plausibility checks.
4575         * tests/test-getloadavg.c (check_avg): Print a warning when the value
4576         is improbable.
4577
4578 2011-02-16  Eric Blake  <eblake@redhat.com>
4579
4580         maintainer-makefile: make syntax-check a no-op from tarballs
4581         * top/maint.mk (no-vc-detected): New rule.
4582         (local-checks-available): Use it to avoid hanging if someone tries
4583         'make syntax-check' from a tarball.  Also append to any non-syntax
4584         checks already defined in cfg.mk.
4585
4586 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
4587
4588         longlong: tune, particularly for common case of c99
4589
4590         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
4591         or running anything if c99, or if unsigned long long int does not
4592         work.  In either case, we know the answer without further tests.
4593         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
4594         it at most once, and use its results for both long long int and
4595         unsigned long long int.  This is more likely to be efficient in
4596         the common case where the program wants to check for both long
4597         long int and unsigned long long int.
4598         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
4599         since the answer is already known.
4600
4601 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
4602
4603         getloadavg: set errno
4604         * lib/getloadavg.c: Set errno when returning -1.  If no other
4605         error number looks appropriate, set it to ENOSYS if the getloadavg
4606         looks like it can't possibly ever work, ENOTSUP otherwise.
4607         Suggested by Bruno Haible in
4608         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
4609
4610         getloadavg: trim unused parts and speed up 'configure'
4611         * NEWS: Document this.
4612         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
4613         always compiled if getloadavg is absent.
4614         Move test code to ...
4615         * tests/test-getloadavg.c: New file, containing previous
4616         contents of test from lib/getloadavg.c.  It also contains
4617         suggestions by Bruno Haible in
4618         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
4619         * modules/getloadavg-tests: New file.
4620         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
4621         Do tests in the same order as they're needed for getloadavg.c.
4622         Omit setgid-related tests that generate symbols KMEM_GROUP,
4623         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
4624         Do only the tests that are needed to see whether the system has
4625         getloadavg, moving the other tests into ...
4626         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
4627         NLIST_NAME_UNION; nobody should be using it.  Do not define
4628         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
4629         relevant, as the user of this module shouldn't care how getloadavg
4630         is implemented.
4631
4632         getloadavg: omit unused var
4633         * lib/getloadavg.c (getloadavg): Omit unused local variable.
4634
4635 2011-02-15  Jim Meyering  <meyering@redhat.com>
4636
4637         doc: update users.txt
4638         * users.txt: Update iwhd's URL.
4639
4640 2011-02-13  Bruno Haible  <bruno@clisp.org>
4641
4642         Consistent macro naming for macros that use GCC __attribute__.
4643         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
4644         _ATTRIBUTE_NONNULL_.
4645         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
4646         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
4647         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
4648         ATTRIBUTE_DEPRECATED.
4649         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
4650         ATTRIBUTE_NORETURN.
4651         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4652         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4653         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4654         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4655         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
4656         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
4657         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
4658         ATTRIBUTE_SENTINEL.
4659         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
4660         ATTRIBUTE_RETURN_CHECK.
4661         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
4662         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
4663         ATTRIBUTE_NORETURN.
4664         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
4665         Reported by Paul Eggert.
4666
4667 2011-02-13  Bruno Haible  <bruno@clisp.org>
4668
4669         Don't interfere with a program's definition of __attribute__.
4670         * lib/argp.h (__attribute__): Remove definition.
4671         (_GL_ATTRIBUTE_FORMAT): New macro.
4672         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
4673         * lib/argp-fmtstream.h (__attribute__): Remove definition.
4674         (_GL_ATTRIBUTE_FORMAT): New macro.
4675         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
4676         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
4677         GCC 3 or newer.
4678         * lib/error.h (__attribute__): Remove definition.
4679         (_GL_ATTRIBUTE_FORMAT): New macro.
4680         (error, error_at_line): Use it.
4681         * lib/hash.h (__attribute__): Remove definition.
4682         (ATTRIBUTE_WUR): Update definition. Define always.
4683         * lib/openat.h (__attribute__): Remove definition.
4684         (ATTRIBUTE_NORETURN): Update definition. Define always.
4685         * lib/sigpipe-die.h (__attribute__): Remove definition.
4686         (ATTRIBUTE_NORETURN): Update definition. Define always.
4687         * lib/vasnprintf.h (__attribute__): Remove definition.
4688         (_GL_ATTRIBUTE_FORMAT): New macro.
4689         (asnprintf, vasnprintf): Use it.
4690         * lib/xalloc.h (__attribute__): Remove definition.
4691         (ATTRIBUTE_NORETURN): Update definition. Define always.
4692         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
4693         * lib/xmemdup0.h (__attribute__): Remove definition.
4694         (ATTRIBUTE_NORETURN): Update definition. Define always.
4695         * lib/xprintf.h (__attribute__): Remove definition.
4696         (_GL_ATTRIBUTE_FORMAT): New macro.
4697         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
4698         * lib/xstrtol.h (__attribute__): Remove definition.
4699         (ATTRIBUTE_NORETURN): Update definition. Define always.
4700         * lib/xvasprintf.h (__attribute__): Remove definition.
4701         (_GL_ATTRIBUTE_FORMAT): New macro.
4702         (xasprintf, xvasprintf): Use it.
4703         * tests/test-argmatch.c (__attribute__): Remove definition.
4704         (ATTRIBUTE_NORETURN): Update definition. Define always.
4705         * tests/test-exclude.c (__attribute__): Remove definition.
4706         (ATTRIBUTE_NORETURN): Update definition. Define always.
4707         Reported by Paul Eggert.
4708
4709 2011-02-13  Bruno Haible  <bruno@clisp.org>
4710
4711         mbrtowc: Add more tests for native Windows platforms.
4712         * tests/test-mbrtowc-w32-1.sh: New file.
4713         * tests/test-mbrtowc-w32-2.sh: New file.
4714         * tests/test-mbrtowc-w32-3.sh: New file.
4715         * tests/test-mbrtowc-w32-4.sh: New file.
4716         * tests/test-mbrtowc-w32-5.sh: New file.
4717         * tests/test-mbrtowc-w32.c: New file.
4718         * modules/mbrtowc-tests (Files): Add them.
4719         (Makefile.am): Arrange to run these tests.
4720         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
4721         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
4722
4723 2011-02-13  Bruno Haible  <bruno@clisp.org>
4724
4725         mbrtowc: Work around native Windows bug.
4726         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
4727         guess when no suitable locale for testing was found.
4728         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
4729
4730 2011-02-13  Bruno Haible  <bruno@clisp.org>
4731
4732         mbsinit: Work around mingw bug.
4733         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
4734         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
4735         Windows.
4736         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
4737
4738 2011-02-13  Bruno Haible  <bruno@clisp.org>
4739
4740         mbsinit: Don't crash for a NULL argument.
4741         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
4742         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
4743
4744 2011-02-13  Bruno Haible  <bruno@clisp.org>
4745
4746         Don't interfere with a program's definition of __attribute__.
4747         * lib/stdio.in.h (__attribute__): Remove definition.
4748         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
4749         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
4750         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
4751         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
4752         * lib/string.in.h (__attribute__): Remove definition.
4753         Reported by Paul Eggert.
4754
4755 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4756
4757         stdlib: don't get in the way of non-GCC __attribute__
4758         See thread starting at
4759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
4760         Revert previous stdlib change, installing the following instead:
4761         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
4762         to get in the way of a non-GCC compiler that supports __attribute__.
4763         (_GL_ATTRIBUTE_RETURN): New macro.
4764         (_Exit): Use it instead of __attribute__.
4765
4766 2011-02-12  Bruno Haible  <bruno@clisp.org>
4767
4768         quotearg test: Avoid test failure on mingw.
4769         * tests/test-quotearg.sh: Convert the locale identifier from native
4770         Windows syntax to Unix syntax.
4771
4772 2011-02-12  Bruno Haible  <bruno@clisp.org>
4773
4774         setlocale: Prefer gnulib's override over libintl's override.
4775         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
4776         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
4777         GNULIB_defined_setlocale is set.
4778
4779 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4780
4781         stdlib: support non-GCC __attribute__
4782
4783         Fix a serious and tricky problem encountered when attempting to
4784         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
4785         5.5, but it crashed due to memory corruption on Solaris 10 with
4786         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
4787         bits that are otherwise zero.  This tagging is optional inside
4788         Emacs but is preferred and is used when __attribute__ ((__aligned
4789         (8))) works, as it does with both recent-enough GCC and with Sun C
4790         5.11.  However, Sun C 5.11 is not GCC and does not #define
4791         __GNUC__ and __GNUC_MINOR__.
4792
4793         When I added the getloadavg module to Emacs, it brought in
4794         stdlib.in.h, which contained this fragment:
4795
4796            #ifndef __attribute__
4797            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
4798            #  define __attribute__(Spec)   /* empty */
4799            # endif
4800            #endif
4801
4802         When files that include <stdlib.h> were compiled with Sun C 5.11,
4803         the above code disabled __attribute__ ((__aligned (8))), which
4804         caused variables to not be properly aligned, which eventually led
4805         to the pointer corruption mentioned above.  (This was a bit hard
4806         to diagnose, unfortunately.)
4807
4808         Several "#define __attribute__(X) /* empty */" code snippets need
4809         to be eradicated from Gnulib to work with non-GCC compilers that
4810         support __attribute__.  The Autoconf way to do this is to test for
4811         each kind of attribute that we want support for, and selectively
4812         enable that in source code.
4813
4814         Fix this problem just for stdlib.h, by adding a test for the
4815         __noreturn__ attribute, and change stdlib.in.h to use that test
4816         when needed.  This technique can be easily generalized to the
4817         other *.in.h files and attributes, and a similar technique can be
4818         used for *.h and *.c files.  This patch is enough to solve the
4819         problem for Emacs + getloadavg, and I thought I'd publish it for
4820         feedback before undertaking further, similar fixes in other
4821         modules.
4822
4823         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
4824         because it's not needed for stdlib.h.  It merely substitutes the
4825         value directly into stdlib.h.  We may well need to #define it, or
4826         similar symbols, for other modules, but it's nice to also have an
4827         option to not #define it for applications like Emacs that do not
4828         need it.
4829
4830         * lib/stdlib.in.h (__attribute__): Do not #define.
4831         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
4832         be defined only if the _Exit module is also used.
4833         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
4834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
4835         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
4836         platforms.
4837         * modules/_Exit (Files): Add m4/attribute.m4.
4838         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
4839         * m4/attribute.m4: New file.
4840
4841 2011-02-12  Bruno Haible  <bruno@clisp.org>
4842
4843         wcsrtombs: Work around bug on native Windows.
4844         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
4845         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
4846         instead of len.
4847         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
4848
4849 2011-02-12  Bruno Haible  <bruno@clisp.org>
4850
4851         mbsrtowcs: Work around bug on native Windows.
4852         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
4853         against mingw bug.
4854         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
4855
4856 2011-02-12  Bruno Haible  <bruno@clisp.org>
4857
4858         Avoid setlocale bugs in tests.
4859         * modules/btowc (Dependencies): Add setlocale.
4860         * modules/c-strcase (Dependencies): Likewise.
4861         * modules/mbmemcasecmp (Dependencies): Likewise.
4862         * modules/mbmemcasecoll (Dependencies): Likewise.
4863         * modules/mbrtowc (Dependencies): Likewise.
4864         * modules/mbscasecmp (Dependencies): Likewise.
4865         * modules/mbscasestr (Dependencies): Likewise.
4866         * modules/mbschr (Dependencies): Likewise.
4867         * modules/mbscspn (Dependencies): Likewise.
4868         * modules/mbsinit (Dependencies): Likewise.
4869         * modules/mbsncasecmp (Dependencies): Likewise.
4870         * modules/mbsnrtowcs (Dependencies): Likewise.
4871         * modules/mbspbrk (Dependencies): Likewise.
4872         * modules/mbspcasecmp (Dependencies): Likewise.
4873         * modules/mbsrchr (Dependencies): Likewise.
4874         * modules/mbsrtowcs (Dependencies): Likewise.
4875         * modules/mbsspn (Dependencies): Likewise.
4876         * modules/mbsstr (Dependencies): Likewise.
4877         * modules/nl_langinfo (Dependencies): Likewise.
4878         * modules/quotearg (Dependencies): Likewise.
4879         * modules/unicase/locale-language (Dependencies): Likewise.
4880         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
4881         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
4882         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
4883         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
4884         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
4885         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
4886         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
4887         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
4888         * modules/vasnprintf-posix (Dependencies): Likewise.
4889         * modules/wcrtomb (Dependencies): Likewise.
4890         * modules/wcsnrtombs (Dependencies): Likewise.
4891         * modules/wcsrtombs (Dependencies): Likewise.
4892
4893 2011-02-12  Bruno Haible  <bruno@clisp.org>
4894
4895         setlocale: Workaround native Windows bug.
4896         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
4897         succeeds but sets LC_CTYPE to "C", report a failure.
4898         * tests/test-setlocale2.sh: New file.
4899         * tests/test-setlocale2.c: New file.
4900         * modules/setlocale-tests (Files): Add the new files.
4901         (Makefile.am): Enable test-setlocale2.sh test.
4902         * doc/posix-functions/setlocale.texi: Mention workaround.
4903
4904 2011-02-11  Bruno Haible  <bruno@clisp.org>
4905
4906         Tests for module 'setlocale'.
4907         * modules/setlocale-tests: New file.
4908         * tests/test-setlocale1.sh: New file.
4909         * tests/test-setlocale1.c: New file.
4910
4911         New module 'setlocale'.
4912         * lib/locale.in.h (setlocale): New declaration.
4913         * lib/setlocale.c: New file, based on
4914         gettext/gettext-runtime/intl/setlocale.c.
4915         * m4/setlocale.m4: New file.
4916         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
4917         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
4918         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
4919         REPLACE_SETLOCALE.
4920         * modules/setlocale: New file.
4921         * tests/test-locale-c++.cc: Test the declaration of setlocale.
4922         * doc/posix-functions/setlocale.texi: Mention the new module.
4923
4924 2011-02-11  Bruno Haible  <bruno@clisp.org>
4925
4926         Prepare for locale dependent tests on mingw.
4927         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
4928         because it has the wrong locale encoding.
4929         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
4930         French_France.1252 instead of "fr".
4931         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
4932         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
4933         because it has the wrong locale encoding.
4934         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
4935         native Windows, try Turkish_Turkey.65001.
4936         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
4937         Chinese_China.54936.
4938
4939         Prepare for locale dependent tests on mingw.
4940         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
4941         differently.
4942         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
4943         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
4944         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
4945         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4946
4947 2011-02-11  Eric Blake  <eblake@redhat.com>
4948
4949         strptime: avoid compiler warnings
4950         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
4951         compiler warnings about dead code.
4952         Reported by Daniel P. Berrange.
4953
4954 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
4955
4956         doc: update users.txt
4957         * users.txt: Add rcs.
4958
4959 2011-02-10  John W. Eaton  <jwe@gnu.org>
4960
4961         doc: update users.txt
4962         * users.txt: Add octave.
4963
4964 2011-02-10  Jim Meyering  <meyering@redhat.com>
4965
4966         doc: update users.txt
4967         * users.txt: Add iwhd.
4968
4969 2011-02-09  Bruno Haible  <bruno@clisp.org>
4970
4971         gnulib-tool: Make copyright notice adjustment more robust.
4972         * gnulib-tool (func_import): In sed_transform_main_lib_file,
4973         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
4974         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
4975         License".
4976         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
4977
4978 2011-02-06  Bruno Haible  <bruno@clisp.org>
4979
4980         New module 'towctrans'.
4981         * modules/towctrans: New file.
4982         * lib/wctype.in.h (towctrans): New declaration.
4983         * lib/towctrans.c: New file.
4984         * lib/towctrans-impl.h: New file.
4985         * m4/towctrans.m4: New file.
4986         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
4987         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
4988         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
4989         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
4990         * doc/posix-functions/towctrans.texi: Mention the new module.
4991
4992 2011-02-06  Bruno Haible  <bruno@clisp.org>
4993
4994         New module 'wctrans'.
4995         * modules/wctrans: New file.
4996         * lib/wctype.in.h (wctrans): New declaration.
4997         * lib/wctrans.c: New file.
4998         * lib/wctrans-impl.h: New file.
4999         * m4/wctrans.m4: New file.
5000         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
5001         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
5002         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
5003         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
5004         * doc/posix-functions/wctrans.texi: Mention the new module.
5005
5006 2011-02-06  Bruno Haible  <bruno@clisp.org>
5007
5008         New module 'iswctype'.
5009         * modules/iswctype: New file.
5010         * lib/wctype.in.h (iswctype): New declaration.
5011         * lib/iswctype.c: New file.
5012         * lib/iswctype-impl.h: New file.
5013         * m4/iswctype.m4: New file.
5014         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
5015         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
5016         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
5017         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
5018         * doc/posix-functions/iswctype.texi: Mention the new module and the
5019         HP-UX 11.00 problem.
5020
5021 2011-02-06  Bruno Haible  <bruno@clisp.org>
5022
5023         New module 'wctype'.
5024         * modules/wctype: Change to represent the wctype() substitute.
5025         * lib/wctype.in.h (wctype): New declaration.
5026         * lib/wctype.c: New file.
5027         * lib/wctype-impl.h: New file.
5028         * m4/wctype.m4: New file.
5029         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
5030         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
5031         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
5032         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
5033         * doc/posix-functions/wctype.texi: Mention the new module and the
5034         HP-UX 11.00 problem.
5035
5036 2011-02-06  Bruno Haible  <bruno@clisp.org>
5037
5038         wctype-h: Ensure wctype_t and wctrans_t are defined.
5039         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
5040         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5041         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
5042         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
5043         HAVE_WCTRANS_T.
5044         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
5045
5046 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5047
5048         flock: fix license typo
5049
5050         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
5051         omitted.
5052
5053 2011-02-08  Bruno Haible  <bruno@clisp.org>
5054
5055         Split large sed scripts, for HP-UX sed.
5056         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
5057         to avoid HP-UX limit of 99 commands, in the near future.
5058         * modules/stdlib (Makefile.am): Likewise.
5059         * modules/unistd (Makefile.am): Likewise.
5060         * modules/wchar (Makefile.am): Likewise.
5061         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5062         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
5063         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
5064
5065 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5066             Bruno Haible  <bruno@clisp.org>
5067
5068         stdlib: improve random_r modularization
5069         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
5070         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
5071         you also need the random_r module to get this material right.
5072         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
5073         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
5074         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
5075
5076 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
5077
5078         stdlib: don't depend on stdint
5079         * lib/stdlib.in.h: Don't include <stdint.h> merely because
5080         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
5081         be independent of whether stdint.h is needed.
5082         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
5083         here, instead of ...
5084         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
5085         struct random_data should be using the random_r module, not just
5086         the stdlib module (which wouldn't make sense: what package needs
5087         just struct random_data without also needing random_r?).
5088         * modules/stdlib (Depends-on): Remove stdint.
5089
5090         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
5091         See the thread rooted at
5092         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
5093         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
5094         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
5095         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
5096         __VMS)); previously it was always included (via fcntl--.h).
5097         (getloadavg): Do not use c_strtod.  Instead, approximate it by
5098         hand; this is good enough for load averages.  Also, do not use
5099         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
5100         flags directly if available and don't bother otherwise.  (Packages
5101         that need the extra reliability should use the modules that define
5102         these flags on older platforms that lack them.)
5103         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
5104         fcntl-safer.
5105
5106 2011-02-08  Jim Meyering  <meyering@redhat.com>
5107
5108         di-set.h, ino-map.h: add multiple-inclusion guard
5109         Technically, the guard is required only for ino-map.h, due to its
5110         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
5111         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
5112         * lib/ino-map.h: Likewise.
5113
5114 2011-02-06  Bruno Haible  <bruno@clisp.org>
5115
5116         iswblank: Ensure declaration on glibc systems.
5117         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
5118         * modules/iswblank (Dependencies): Add 'extensions'.
5119         * doc/posix-functions/iswblank.texi: Document the glibc problem.
5120
5121 2011-02-06  Bruno Haible  <bruno@clisp.org>
5122
5123         New module 'iswblank'.
5124         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
5125         * modules/iswblank: New file.
5126         * modules/wctype-h (Files): Remove lib/iswblank.c.
5127         (Makefile.am): Substitute GNULIB_ISWBLANK.
5128         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
5129         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
5130         (gl_WCTYPE_H_DEFAULTS): New macro.
5131         (gl_WCTYPE_H): Require it. Remove iswblank related code.
5132         * modules/iswblank-tests: New file.
5133         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
5134         * tests/test-wctype-h.c (main): Remove iswblank tests.
5135         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
5136         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
5137         of 'wctype-h'.
5138         * NEWS: Mention the change.
5139         * modules/mbchar (Depends-on): Add iswblank.
5140
5141 2011-02-08  Bruno Haible  <bruno@clisp.org>
5142
5143         di-set tests: Refactor.
5144         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
5145         unnecessary includes.
5146         (ASSERT): Remove macro.
5147         (main): Make C90 compliant by avoiding variable declaration after
5148         statement.
5149         * modules/di-set-tests (Files): Add tests/macros.h.
5150
5151 2011-02-08  Bruno Haible  <bruno@clisp.org>
5152
5153         ino-map tests: Refactor.
5154         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
5155         unnecessary includes.
5156         (ASSERT): Remove macro.
5157         (main): Make C90 compliant by avoiding variable declaration after
5158         statement.
5159         * modules/ino-map-tests (Files): Add tests/macros.h.
5160
5161 2011-02-08  Jim Meyering  <meyering@redhat.com>
5162
5163         di-set: add "const" to a cast
5164         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
5165         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
5166
5167 2011-02-06  Bruno Haible  <bruno@clisp.org>
5168
5169         Rename module 'wctype' to 'wctype-h'.
5170         * modules/wctype-h: Renamed from modules/wctype.
5171         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
5172         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
5173         (Files, Depends-on, Makefile.am): Update.
5174         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
5175         (Files, Makefile.am): Update.
5176         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
5177         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
5178         * doc/posix-headers/wctype.texi: Update.
5179         * doc/posix-functions/iswalnum.texi: Update.
5180         * doc/posix-functions/iswalpha.texi: Update.
5181         * doc/posix-functions/iswblank.texi: Update.
5182         * doc/posix-functions/iswcntrl.texi: Update.
5183         * doc/posix-functions/iswdigit.texi: Update.
5184         * doc/posix-functions/iswgraph.texi: Update.
5185         * doc/posix-functions/iswlower.texi: Update.
5186         * doc/posix-functions/iswprint.texi: Update.
5187         * doc/posix-functions/iswpunct.texi: Update.
5188         * doc/posix-functions/iswspace.texi: Update.
5189         * doc/posix-functions/iswupper.texi: Update.
5190         * doc/posix-functions/iswxdigit.texi: Update.
5191         * doc/posix-functions/towlower.texi: Update.
5192         * doc/posix-functions/towupper.texi: Update.
5193         * NEWS: Mention the change.
5194         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
5195         * modules/mbchar (Dependencies): Likewise.
5196         * modules/mbswidth (Dependencies): Likewise.
5197         * modules/quotearg (Dependencies): Likewise.
5198         * modules/regex (Dependencies): Likewise.
5199         * modules/wcscasecmp (Dependencies): Likewise.
5200         * modules/wcsncasecmp (Dependencies): Likewise.
5201         * modules/wcwidth (Dependencies): Likewise.
5202
5203 2011-02-06  Bruno Haible  <bruno@clisp.org>
5204
5205         New module 'wcswidth'.
5206         * modules/wcswidth: New file.
5207         * lib/wchar.in.h (wcswidth): New declaration.
5208         * lib/wcswidth.c: New file.
5209         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
5210         * m4/wcswidth.m4: New file.
5211         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
5212         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
5213         REPLACE_WCSWIDTH.
5214         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
5215         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
5216         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
5217         * doc/posix-functions/wcswidth.texi: Mention the new module.
5218
5219 2011-02-06  Bruno Haible  <bruno@clisp.org>
5220
5221         New module 'wcstok'.
5222         * modules/wcstok: New file.
5223         * lib/wchar.in.h (wcstok): New declaration.
5224         * lib/wcstok.c: New file.
5225         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
5226         * m4/wcstok.m4: New file.
5227         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
5228         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
5229         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
5230         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
5231         * doc/posix-functions/wcstok.texi: Mention the new module.
5232
5233 2011-02-06  Bruno Haible  <bruno@clisp.org>
5234
5235         New module 'wcsstr'.
5236         * modules/wcsstr: New file.
5237         * lib/wchar.in.h (wcsstr): New declaration.
5238         * lib/wcsstr.c: New file.
5239         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
5240         * m4/wcsstr.m4: New file.
5241         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
5242         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
5243         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
5244         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
5245         * doc/posix-functions/wcsstr.texi: Mention the new module.
5246
5247 2011-02-06  Bruno Haible  <bruno@clisp.org>
5248
5249         New module 'wcspbrk'.
5250         * modules/wcspbrk: New file.
5251         * lib/wchar.in.h (wcspbrk): New declaration.
5252         * lib/wcspbrk.c: New file.
5253         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
5254         * m4/wcspbrk.m4: New file.
5255         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
5256         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
5257         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
5258         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
5259         * doc/posix-functions/wcspbrk.texi: Mention the new module.
5260
5261 2011-02-06  Bruno Haible  <bruno@clisp.org>
5262
5263         New module 'wcsspn'.
5264         * modules/wcsspn: New file.
5265         * lib/wchar.in.h (wcsspn): New declaration.
5266         * lib/wcsspn.c: New file.
5267         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
5268         * m4/wcsspn.m4: New file.
5269         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
5270         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
5271         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
5272         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
5273         * doc/posix-functions/wcsspn.texi: Mention the new module.
5274
5275 2011-02-06  Bruno Haible  <bruno@clisp.org>
5276
5277         New module 'wcscspn'.
5278         * modules/wcscspn: New file.
5279         * lib/wchar.in.h (wcscspn): New declaration.
5280         * lib/wcscspn.c: New file.
5281         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
5282         * m4/wcscspn.m4: New file.
5283         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
5284         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
5285         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
5286         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
5287         * doc/posix-functions/wcscspn.texi: Mention the new module.
5288
5289 2011-02-06  Bruno Haible  <bruno@clisp.org>
5290
5291         New module 'wcsrchr'.
5292         * modules/wcsrchr: New file.
5293         * lib/wchar.in.h (wcsrchr): New declaration.
5294         * lib/wcsrchr.c: New file.
5295         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
5296         * m4/wcsrchr.m4: New file.
5297         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
5298         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
5299         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
5300         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
5301         * doc/posix-functions/wcsrchr.texi: Mention the new module.
5302
5303 2011-02-06  Bruno Haible  <bruno@clisp.org>
5304
5305         New module 'wcschr'.
5306         * modules/wcschr: New file.
5307         * lib/wchar.in.h (wcschr): New declaration.
5308         * lib/wcschr.c: New file.
5309         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
5310         * m4/wcschr.m4: New file.
5311         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
5312         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
5313         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
5314         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
5315         * doc/posix-functions/wcschr.texi: Mention the new module.
5316
5317 2011-02-06  Bruno Haible  <bruno@clisp.org>
5318
5319         New module 'wcsdup'.
5320         * modules/wcsdup: New file.
5321         * lib/wchar.in.h (wcsdup): New declaration.
5322         * lib/wcsdup.c: New file.
5323         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
5324         * m4/wcsdup.m4: New file.
5325         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
5326         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
5327         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
5328         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
5329         * doc/posix-functions/wcsdup.texi: Mention the new module.
5330
5331 2011-02-06  Bruno Haible  <bruno@clisp.org>
5332
5333         New module 'wcsxfrm'.
5334         * modules/wcsxfrm: New file.
5335         * lib/wchar.in.h (wcsxfrm): New declaration.
5336         * lib/wcsxfrm.c: New file.
5337         * lib/wcsxfrm-impl.h: New file.
5338         * m4/wcsxfrm.m4: New file.
5339         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
5340         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
5341         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
5342         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
5343         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
5344
5345 2011-02-06  Bruno Haible  <bruno@clisp.org>
5346
5347         New module 'wcscoll'.
5348         * modules/wcscoll: New file.
5349         * lib/wchar.in.h (wcscoll): New declaration.
5350         * lib/wcscoll.c: New file.
5351         * lib/wcscoll-impl.h: New file.
5352         * m4/wcscoll.m4: New file.
5353         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
5354         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
5355         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
5356         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
5357         * doc/posix-functions/wcscoll.texi: Mention the new module.
5358
5359 2011-02-06  Bruno Haible  <bruno@clisp.org>
5360
5361         New module 'wcsncasecmp'.
5362         * modules/wcsncasecmp: New file.
5363         * lib/wchar.in.h (wcsncasecmp): New declaration.
5364         * lib/wcsncasecmp.c: New file.
5365         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
5366         * m4/wcsncasecmp.m4: New file.
5367         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
5368         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
5369         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
5370         HAVE_WCSNCASECMP.
5371         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
5372         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
5373
5374 2011-02-06  Bruno Haible  <bruno@clisp.org>
5375
5376         New module 'wcscasecmp'.
5377         * modules/wcscasecmp: New file.
5378         * lib/wchar.in.h (wcscasecmp): New declaration.
5379         * lib/wcscasecmp.c: New file.
5380         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
5381         * m4/wcscasecmp.m4: New file.
5382         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
5383         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
5384         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
5385         HAVE_WCSCASECMP.
5386         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
5387         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
5388
5389 2011-02-05  Bruno Haible  <bruno@clisp.org>
5390
5391         New module 'wcsncmp'.
5392         * modules/wcsncmp: New file.
5393         * lib/wchar.in.h (wcsncmp): New declaration.
5394         * lib/wcsncmp.c: New file.
5395         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
5396         * m4/wcsncmp.m4: New file.
5397         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
5398         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
5399         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
5400         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
5401         * doc/posix-functions/wcsncmp.texi: Mention the new module.
5402
5403 2011-02-05  Bruno Haible  <bruno@clisp.org>
5404
5405         New module 'wcscmp'.
5406         * modules/wcscmp: New file.
5407         * lib/wchar.in.h (wcscmp): New declaration.
5408         * lib/wcscmp.c: New file.
5409         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
5410         * m4/wcscmp.m4: New file.
5411         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
5412         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
5413         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
5414         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
5415         * doc/posix-functions/wcscmp.texi: Mention the new module.
5416
5417 2011-02-05  Bruno Haible  <bruno@clisp.org>
5418
5419         New module 'wcsncat'.
5420         * modules/wcsncat: New file.
5421         * lib/wchar.in.h (wcsncat): New declaration.
5422         * lib/wcsncat.c: New file.
5423         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
5424         * m4/wcsncat.m4: New file.
5425         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
5426         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
5427         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
5428         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
5429         * doc/posix-functions/wcsncat.texi: Mention the new module.
5430
5431 2011-02-05  Bruno Haible  <bruno@clisp.org>
5432
5433         New module 'wcscat'.
5434         * modules/wcscat: New file.
5435         * lib/wchar.in.h (wcscat): New declaration.
5436         * lib/wcscat.c: New file.
5437         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
5438         * m4/wcscat.m4: New file.
5439         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
5440         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
5441         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
5442         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
5443         * doc/posix-functions/wcscat.texi: Mention the new module.
5444
5445 2011-02-05  Bruno Haible  <bruno@clisp.org>
5446
5447         New module 'wcpncpy'.
5448         * modules/wcpncpy: New file.
5449         * lib/wchar.in.h (wcpncpy): New declaration.
5450         * lib/wcpncpy.c: New file.
5451         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
5452         * m4/wcpncpy.m4: New file.
5453         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
5454         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
5455         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
5456         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
5457         * doc/posix-functions/wcpncpy.texi: Mention the new module.
5458
5459 2011-02-05  Bruno Haible  <bruno@clisp.org>
5460
5461         New module 'wcsncpy'.
5462         * modules/wcsncpy: New file.
5463         * lib/wchar.in.h (wcsncpy): New declaration.
5464         * lib/wcsncpy.c: New file.
5465         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
5466         * m4/wcsncpy.m4: New file.
5467         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
5468         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
5469         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
5470         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
5471         * doc/posix-functions/wcsncpy.texi: Mention the new module.
5472
5473 2011-02-05  Bruno Haible  <bruno@clisp.org>
5474
5475         New module 'wcpcpy'.
5476         * modules/wcpcpy: New file.
5477         * lib/wchar.in.h (wcpcpy): New declaration.
5478         * lib/wcpcpy.c: New file.
5479         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
5480         * m4/wcpcpy.m4: New file.
5481         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
5482         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
5483         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
5484         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
5485         * doc/posix-functions/wcpcpy.texi: Mention the new module.
5486
5487 2011-02-05  Bruno Haible  <bruno@clisp.org>
5488
5489         New module 'wcscpy'.
5490         * modules/wcscpy: New file.
5491         * lib/wchar.in.h (wcscpy): New declaration.
5492         * lib/wcscpy.c: New file.
5493         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
5494         * m4/wcscpy.m4: New file.
5495         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
5496         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
5497         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
5498         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
5499         * doc/posix-functions/wcscpy.texi: Mention the new module.
5500
5501 2011-02-05  Bruno Haible  <bruno@clisp.org>
5502
5503         New module 'wcsnlen'.
5504         * modules/wcsnlen: New file.
5505         * lib/wchar.in.h (wcsnlen): New declaration.
5506         * lib/wcsnlen.c: New file.
5507         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
5508         * m4/wcsnlen.m4: New file.
5509         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
5510         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
5511         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
5512         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
5513         * doc/posix-functions/wcsnlen.texi: Mention the new module.
5514
5515 2011-02-05  Bruno Haible  <bruno@clisp.org>
5516
5517         New module 'wcslen'.
5518         * modules/wcslen: New file.
5519         * lib/wchar.in.h (wcslen): New declaration.
5520         * lib/wcslen.c: New file.
5521         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
5522         * m4/wcslen.m4: New file.
5523         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
5524         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
5525         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
5526         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
5527         * doc/posix-functions/wcslen.texi: Mention the new module.
5528
5529 2011-02-05  Bruno Haible  <bruno@clisp.org>
5530
5531         New module 'wmemset'.
5532         * modules/wmemset: New file.
5533         * lib/wchar.in.h (wmemset): New declaration.
5534         * lib/wmemset.c: New file.
5535         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
5536         * m4/wmemset.m4: New file.
5537         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
5538         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
5539         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
5540         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
5541         * doc/posix-functions/wmemset.texi: Mention the new module.
5542
5543 2011-02-05  Bruno Haible  <bruno@clisp.org>
5544
5545         New module 'wmemmove'.
5546         * modules/wmemmove: New file.
5547         * lib/wchar.in.h (wmemmove): New declaration.
5548         * lib/wmemmove.c: New file.
5549         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
5550         * m4/wmemmove.m4: New file.
5551         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
5552         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
5553         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
5554         HAVE_WMEMMOVE.
5555         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
5556         * doc/posix-functions/wmemmove.texi: Mention the new module.
5557
5558 2011-02-05  Bruno Haible  <bruno@clisp.org>
5559
5560         New module 'wmemcpy'.
5561         * modules/wmemcpy: New file.
5562         * lib/wchar.in.h (wmemcpy): New declaration.
5563         * lib/wmemcpy.c: New file.
5564         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
5565         * m4/wmemcpy.m4: New file.
5566         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
5567         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
5568         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
5569         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
5570         * doc/posix-functions/wmemcpy.texi: Mention the new module.
5571
5572 2011-02-05  Bruno Haible  <bruno@clisp.org>
5573
5574         New module 'wmemcmp'.
5575         * modules/wmemcmp: New file.
5576         * lib/wchar.in.h (wmemcmp): New declaration.
5577         * lib/wmemcmp.c: New file.
5578         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
5579         * m4/wmemcmp.m4: New file.
5580         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
5581         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
5582         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
5583         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
5584         * doc/posix-functions/wmemcmp.texi: Mention the new module.
5585
5586 2011-02-07  Jim Meyering  <meyering@redhat.com>
5587
5588         di-set, ino-map: new modules, from coreutils
5589         * lib/di-set.c: New file.
5590         * lib/di-set.h: Likewise.
5591         * lib/ino-map.c: Likewise.
5592         * lib/ino-map.h: Likewise.
5593         * modules/di-set: Likewise.
5594         * modules/di-set-tests: Likewise.
5595         * modules/ino-map: Likewise.
5596         * modules/ino-map-tests: Likewise.
5597         * tests/test-di-set.c: Likewise.
5598         * tests/test-ino-map.c: Likewise.
5599
5600 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
5601
5602         getloadavg: merge minor changes from Emacs
5603
5604         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
5605         (getloadavg): Use memset, not bzero.
5606
5607         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
5608         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
5609         clash (bug#86).
5610
5611 2010-11-14  Bruno Haible  <bruno@clisp.org>
5612
5613         Allow multiple gnulib generated replacements to coexist.
5614         * lib/getopt.in.h (struct option): Avoid identical redefinition.
5615         * lib/inttypes.in.h (imaxdiv_t): Likewise.
5616         * lib/langinfo.in.h (nl_item): Likewise.
5617         * lib/math.in.h (_NaN, NAN): Likewise.
5618         * lib/netdb.in.h (struct addrinfo): Likewise.
5619         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
5620         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
5621         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
5622         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
5623         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
5624         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
5625         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
5626         pthread_mutexattr_init, pthread_mutexattr_settype,
5627         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
5628         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
5629         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
5630         pthread_spin_trylock, pthread_spin_unlock): Likewise.
5631         * lib/sched.in.h (struct sched_param): Likewise.
5632         * lib/se-selinux.in.h (security_class_t, security_context_t,
5633         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
5634         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
5635         lsetfilecon, fsetfilecon, security_check_context,
5636         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
5637         Likewise.
5638         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
5639         Likewise.
5640         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
5641         _gl_function_taking_int_returning_void_t, union sigval,
5642         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
5643         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
5644         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
5645         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
5646         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
5647         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
5648         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
5649         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
5650         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
5651         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
5652         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
5653         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
5654         socklen_t, rpl_fd_isset): Likewise.
5655         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
5656         * lib/sys_time.in.h (struct timeval): Likewise.
5657         * lib/sys_times.in.h (struct tms): Likewise.
5658         * lib/sys_utsname.in.h (struct utsname):
5659         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
5660         * lib/unistd.in.h (getpagesize): Likewise.
5661         * lib/wchar.in.h (mbstate_t): Likewise.
5662         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
5663         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
5664         towlower, towupper): Likewise.
5665         Reported by Sam Steingold <sds@gnu.org>.
5666
5667 2011-02-05  Eric Blake  <eblake@redhat.com>
5668
5669         unsetenv: work around Haiku issues
5670         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
5671         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
5672
5673 2010-12-30  Bruce Korb  <bkorb@gnu.org>
5674
5675         libposix: avoid calling error() within libposix
5676         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
5677         is defined.
5678
5679 2011-02-05  Eric Blake  <eblake@redhat.com>
5680
5681         strerror_r-posix: port to cygwin
5682         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
5683         implementation.
5684         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
5685         * tests/test-strerror_r.c (main): Fix test.
5686         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
5687         issue.
5688
5689 2011-02-05  Bruno Haible  <bruno@clisp.org>
5690
5691         New module 'wmemchr'.
5692         * modules/wmemchr: New file.
5693         * lib/wchar.in.h (wmemchr): New declaration.
5694         * lib/wmemchr.c: New file.
5695         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
5696         * m4/wmemchr.m4: New file.
5697         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
5698         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
5699         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
5700         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
5701         * doc/posix-functions/wmemchr.texi: Mention the new module.
5702
5703 2011-02-04  Eric Blake  <eblake@redhat.com>
5704
5705         fdopendir: detect FreeBSD bug
5706         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
5707         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
5708
5709 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5710
5711         stdbool: do not define HAVE_STDBOOL_H
5712         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
5713         AC_HEADER_STDBOOL.  All uses changed.  Do not define
5714         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
5715         imported from the latest Autoconf git.  It was motivated by Emacs,
5716         which uses gnulib but does not need HAVE_STDBOOL_H.
5717
5718 2011-02-04  Bruno Haible  <bruno@clisp.org>
5719
5720         wcsnrtombs: Prepare for new module wwcsnrtombs.
5721         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
5722         * lib/wcsnrtombs.c: Include it.
5723         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
5724
5725         wcsrtombs: Prepare for new module wwcsrtombs.
5726         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
5727         * lib/wcsrtombs.c: Include it.
5728         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
5729
5730         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
5731         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
5732         * lib/mbsnrtowcs.c: Include it.
5733         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
5734
5735         mbsrtowcs: Prepare for new module mbsrtowwcs.
5736         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
5737         * lib/mbsrtowcs.c: Include it.
5738         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
5739
5740 2011-02-04  Bruno Haible  <bruno@clisp.org>
5741
5742         vasnprintf: Reduce use of malloc for small format strings.
5743         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
5744         (arguments): Add room for the first 7 arguments.
5745         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
5746         (char_directives, u8_directives, u16_directives, u32_directives): Add
5747         room for the first 7 directives.
5748         * lib/printf-parse.c: Include <string.h>.
5749         (PRINTF_PARSE): Change memory handling code so that it uses the first
5750         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
5751         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
5752         Reported by Pádraig Brady <P@draigbrady.com>.
5753
5754 2011-01-31  Eric Blake  <eblake@redhat.com>
5755
5756         dup2: work around Haiku bug
5757         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
5758         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
5759         * doc/posix-functions/dup2.texi (dup2): Document the bug.
5760         * tests/test-dup2.c (main): Enhance test.
5761
5762 2011-01-31  Simon Josefsson  <simon@josefsson.org>
5763
5764         doc: off_t is not available in eglibc 2.11.2 stdio.h.
5765         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
5766         declared by eglibc 2.11.2.
5767         * lib/stdio.in.h: Likewise.
5768
5769 2011-01-31  Eric Blake  <eblake@redhat.com>
5770
5771         ignore-value: add missing test dependency
5772         * tests/test-ignore-value.c: Revert previous change; stdio.h
5773         provides off_t.
5774         * modules/ignore-value-tests (Depends-on): Add missing dependency.
5775
5776 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
5777
5778         mktime: clarify long_int width checking
5779         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
5780         the top level, to make it clearer that the assumption about
5781         long_int width is being checked.  See
5782         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
5783
5784 2011-01-30  Simon Josefsson  <simon@josefsson.org>
5785
5786         ignore-value: Fix self-test.
5787         * tests/test-ignore-value.c: Include sys/types.h for off_t.
5788
5789 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
5790
5791         TYPE_MAXIMUM: avoid theoretically undefined behavior
5792         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
5793         negative number, which the C Standard says has undefined behavior.
5794         In practice this is not a problem, but might as well do it by the book.
5795         Reported by Rich Felker and Eric Blake; see
5796         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
5797         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
5798         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5799         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5800         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
5801         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5802         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
5803
5804         mktime: #undef mktime before #defining it
5805         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
5806
5807         mktime: systematically normalize tm_isdst comparisons
5808         * lib/mktime.c (isdst_differ): New function.
5809         (__mktime_internal): Use it systematically for all isdst comparisons.
5810         This completes the fix for libc BZ #6723, and removes the need for
5811         normalizing tm_isdst.  See
5812         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
5813         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
5814
5815         mktime: fix some integer overflow issues and sidestep the rest
5816
5817         This was prompted by a bug report by Benjamin Lindner for MinGW
5818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
5819         His bug is due to signed integer overflow (0 - INT_MIN), and I
5820         I scanned through mktime.c looking for other integer overflow
5821         problems, fixing all the bugs I found.
5822
5823         Although the C Standard says the resulting code is still not safe
5824         in the presence of integer overflow, in practice it should be good
5825         enough for all real-world two's-complement implementations, except
5826         for debugging environments that deliberately trap on integer
5827         overflow (e.g., gcc -ftrapv).
5828
5829         * lib/mktime.c (WRAPV): New macro.
5830         (SHR): Also check that long_int and time_t shift right in the
5831         usual way, before using the fast-but-unportable method.
5832         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
5833         used.  The code already assumed two's complement, so there's
5834         no need to test for alternatives.  All uses removed.
5835         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
5836         the C standard.  Problem reported by Rich Felker in
5837         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
5838         (twos_complement_arithmetic): Also check long_int and time_t.
5839         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
5840         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
5841         (__mktime_internal): Avoid integer overflow with unary subtraction
5842         in two instances where -1 - X is an adequate replacement for -X,
5843         since the calculations are approximate.
5844
5845 2011-01-29  Eric Blake  <eblake@redhat.com>
5846
5847         mktime: avoid infinite loop
5848         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
5849         type; behavior is still undefined but portable to all known targets.
5850         Reported by Rich Felker.
5851
5852 2011-01-29  Simon Josefsson  <simon@josefsson.org>
5853
5854         rename, unlink, same-inode: Relicense.
5855         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
5856         * modules/unlink (License): Likewise.
5857         * modules/same-inode (License): Likewise.
5858
5859 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5860
5861         mktime: avoid problems on NetBSD 5 / i386
5862         * lib/mktime.c (long_int): New type.  This works around a problem
5863         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
5864         but time_t is 64 bits, and where I expect the existing code is
5865         wrong in some cases.
5866         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
5867         (ydhms_diff): Bring back the compile-time check for wide-enough
5868         year and yday.
5869
5870         mktime: fix misspelling in comment
5871         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
5872         This merges all recent glibc changes of importance.
5873
5874 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5875
5876         move-if-change: cope with concurrent mv of identical file.
5877         * build-aux/move-if-change (CMPPROG): Accept environment
5878         variable as an override for `cmp'.
5879         (usage): Document CMPPROG.
5880         Adjust comparison to drop stdout.  Cope with failure of mv if
5881         the target file exists and is identical to the source, for
5882         parallel builds.
5883         Report from H.J. Lu against binutils in PR binutils/12283.
5884
5885 2011-01-28  Bruce Korb  <bkorb@gnu.org>
5886
5887         * users.txt: Mention sharutils.
5888
5889 2011-01-28  Simon Josefsson  <simon@josefsson.org>
5890
5891         * users.txt: Mention OATH Toolkit.
5892
5893 2011-01-27  Bruno Haible  <bruno@clisp.org>
5894
5895         Prepare for supporting FreeBSD 10.
5896         * build-aux/config.libpath: Remove handling of freebsd1*.
5897
5898 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
5899
5900         Prepare for supporting FreeBSD 10.
5901         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
5902         match FreeBSD 10.0.
5903
5904 2011-01-27  Bruno Haible  <bruno@clisp.org>
5905
5906         vma-iter, get-rusage-as: Add OpenBSD support.
5907         * modules/vma-iter (configure.ac): Test for mquery.
5908         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
5909         * lib/vma-iter.c: Include <sys/mman.h>.
5910         (vma_iterate): Add an implementation based on mquery().
5911         * lib/resource-ext.h (get_rusage_as): Update comments.
5912         * lib/get-rusage-as.c: Likewise.
5913         * lib/get-rusage-data.c: Likewise.
5914
5915 2011-01-26  Karl Berry  <karl@gnu.org>
5916
5917         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
5918         variables to make it easier to override the makeinfo program used.
5919
5920 2011-01-26  Eric Blake  <eblake@redhat.com>
5921
5922         fcntl: work around Haiku F_DUPFD bugs
5923         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
5924         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
5925         cloexec bit on duplication.
5926         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
5927
5928 2011-01-26  Bruno Haible  <bruno@clisp.org>
5929
5930         Enable memory leak tests on AIX.
5931         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
5932         * tests/test-fprintf-posix3.c (main): Likewise.
5933
5934 2011-01-26  Bruno Haible  <bruno@clisp.org>
5935
5936         Tests for module 'get-rusage-data'.
5937         * modules/get-rusage-data-tests: New file.
5938         * tests/test-get-rusage-data.c: New file.
5939
5940         New module 'get-rusage-data'.
5941         * lib/resource-ext.h (get_rusage_data): New declaration.
5942         * lib/get-rusage-data.c: New file.
5943         * modules/get-rusage-data: New file.
5944
5945 2011-01-25  Bruno Haible  <bruno@clisp.org>
5946
5947         get-rusage-as: Allow for easier testing.
5948         * lib/resource-ext.h (get_rusage_as): Add comment.
5949         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
5950         (main): New function for interactive testing.
5951
5952 2011-01-25  Bruno Haible  <bruno@clisp.org>
5953
5954         vma-iter: Treat Haiku like BeOS.
5955         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
5956         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
5957
5958 2011-01-25  Eric Blake  <eblake@redhat.com>
5959
5960         c-stack: fix regression on cygwin when libsigsegv is present
5961         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
5962
5963 2011-01-24  Bruno Haible  <bruno@clisp.org>
5964
5965         vma-iter: Avoid empty intervals.
5966         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
5967         on an empty interval.
5968
5969 2011-01-24  Jim Meyering  <meyering@redhat.com>
5970
5971         u64: remove unnecessary #include
5972         * lib/u64.h: Don't include <stddef.h>.  It was not used.
5973
5974 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5975
5976         Allow the user to avoid the HAVE_RAW_DECL_* macros.
5977         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
5978
5979 2011-01-23  Bruno Haible  <bruno@clisp.org>
5980
5981         New module 'vma-iter'.
5982         * lib/vma-iter.h: New file.
5983         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
5984         * modules/vma-iter: New file.
5985         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
5986         for get_rusage_as_via_iterator.
5987         (vma_iterate_callback): New function.
5988         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
5989         * modules/get-rusage-as (Depends-on): Add vma-iter.
5990
5991 2011-01-23  Bruno Haible  <bruno@clisp.org>
5992
5993         uninorm: Tweak includes.
5994         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
5995         Reported by Jim Meyering.
5996
5997 2011-01-23  Bruno Haible  <bruno@clisp.org>
5998
5999         get-rusage-as: Improve on NetBSD.
6000         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
6001         /proc, like on FreeBSD.
6002
6003 2011-01-23  Jim Meyering  <meyering@redhat.com>
6004
6005         xreadlink.h: remove unnecessary #include
6006         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
6007
6008         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
6009         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
6010
6011 2011-01-23  Bruno Haible  <bruno@clisp.org>
6012
6013         get-rusage-as: Fix bug.
6014         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
6015         original limit when aborting the first loop.
6016
6017 2011-01-23  Bruno Haible  <bruno@clisp.org>
6018
6019         wctype: Ensure valid C syntax.
6020         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
6021         unconditionally, instead of gl_NEXT_HEADERS conditionally.
6022
6023 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
6024
6025         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
6026         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
6027         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
6028         as they are needed only for configure's test case.
6029         This removes two unnecessary symbols from config.h.
6030
6031         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
6032         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
6033         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
6034         AC_CHECK_HEADERS_ONCE on a header that we also invoke
6035         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
6036         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
6037         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
6038         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6039         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6040         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6041         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
6042         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6043         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6044         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6045         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6046         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6047         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6048         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6049
6050 2011-01-21  Eric Blake  <eblake@redhat.com>
6051
6052         maintainer-makefile: work with older git for submodule check
6053         * top/maint.mk (public-submodule-commit): Rewrite to avoid
6054         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
6055         Reported by Matthias Bolte.
6056
6057         bootstrap: minor portability fixes
6058         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
6059         (usage): Omit leading capital and trailing . on help phrases, per
6060         GNU Coding Standards.
6061         (check_versions, top level): Prefix messages with script name.
6062
6063 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
6064
6065         bootstrap: support --no-git option
6066         * build-aux/bootstrap: Add --no-git option, to be used when
6067         --gnulib-srcdir points to the exact desired checkout.
6068
6069 2011-01-21  Eric Blake  <eblake@redhat.com>
6070
6071         strerror_r-posix: work with glibc 2.13
6072         * lib/strerror_r.c (strerror_r): Fix return type.
6073
6074 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6075             Bruno Haible  <bruno@clisp.org>
6076
6077         uN_strstr: New unit tests.
6078         * modules/unistr/u8-strstr-tests: New file.
6079         * modules/unistr/u16-strstr-tests: New file.
6080         * modules/unistr/u32-strstr-tests: New file.
6081         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
6082         * tests/unistr/test-u8-strstr.c: New file.
6083         * tests/unistr/test-u16-strstr.c: New file.
6084         * tests/unistr/test-u32-strstr.c: New file.
6085
6086 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6087             Bruno Haible  <bruno@clisp.org>
6088
6089         Make uN_strstr functions O(n) worst-case.
6090         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
6091         16-bit and 32-bit unit cases, use the unibyte algorithm from
6092         lib/mbsstr.c.
6093         * lib/unistr/u8-strstr.c: Include <string.h>.
6094         (UNIT_IS_UINT8_T): New macro.
6095         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
6096         (U_STRLEN, U_STRNLEN): New macros.
6097         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
6098         (U_STRLEN, U_STRNLEN): New macros.
6099         * modules/unistr/u8-strstr (Depends-on): Add strstr.
6100         (configure.ac): Update required libunistring version.
6101         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
6102         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
6103         malloca.
6104         (configure.ac): Update required libunistring version.
6105         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
6106         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
6107         malloca.
6108         (configure.ac): Update required libunistring version.
6109
6110 2011-01-21  Pádraig Brady  <P@draigBrady.com>
6111             Bruno Haible  <bruno@clisp.org>
6112
6113         Prepare for faster uN_strstr functions.
6114         * lib/str-kmp.h: Support definable UNITs.
6115         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
6116         needle_len argument.
6117         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
6118         * lib/mbscasestr.c (mbscasestr): Likewise.
6119
6120 2011-01-21  Pádraig Brady <P@draigBrady.com>
6121
6122         malloca-tests: make faster by unsetting MALLOC_PERTURB_
6123         * tests/test-malloca.c (main): Unset the environment variable
6124         to greatly speed up the test.
6125         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
6126         * modules/malloca-tests: Depend on unsetenv.
6127
6128 2011-01-21  Pádraig Brady <P@draigBrady.com>
6129
6130         ignore-value: remove stdint dependency
6131         * lib/ignore-value.h: Remove <stdint.h>
6132         * modules/ignore-value: Remove stdint dependency.
6133
6134 2011-01-21  Jim Meyering  <meyering@redhat.com>
6135
6136         maint.mk: adjust variable name to be consistent with other gl_ vars
6137         * top/maint.mk (gl_public_submodule_commit): Rename the variable
6138         to be lower case.
6139
6140 2011-01-20  Jim Meyering  <meyering@redhat.com>
6141
6142         maint.mk: make "check" depend on public-submodule-commit by default
6143         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
6144
6145 2011-01-20  Bruno Haible  <bruno@clisp.org>
6146
6147         mbfile, mbiter: Complete change from 2008-12-21.
6148         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
6149         * m4/mbiter.m4 (gl_MBITER): Likewise.
6150
6151 2011-01-20  Jim Meyering  <meyering@redhat.com>
6152
6153         init.sh: insert space between each function name and "()"
6154         * tests/init.sh: Make it a little easier to see that a function's
6155         name is "warn_", and not "warn" when looking at the first part of
6156         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
6157
6158 2011-01-20  Jim Meyering  <meyering@redhat.com>
6159
6160         mountlist: clean up code formatting
6161         * lib/mountlist.c (read_file_system_list): Split a long line,
6162         correct bracing style, use NULL in place of "(struct statfs *)0",
6163         don't parenthesize return value, add spaces around "=" and after
6164         ";-in-for-stmt".
6165
6166 2011-01-14  Markus Duft <mduft@gentoo.org>
6167
6168         mountlist: add support for Interix
6169         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
6170         Apply statvfs to all entries of /dev/fs.
6171         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
6172         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
6173
6174 2011-01-20  Jim Meyering  <meyering@redhat.com>
6175
6176         maint.mk: improve the public-submodule-commit rule
6177         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
6178         to suppress printing of its commands... unless V=1.
6179         Add git submodule's --quiet option to suppress printing of e.g.,
6180         "Entering gnulib" output.
6181         "cd" into $(srcdir) before running git submodule.
6182
6183 2011-01-20  Bruno Haible  <bruno@clisp.org>
6184
6185         include_next: Fix bug introduced on 2011-01-18.
6186         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
6187         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
6188         ac_cv_header_... variable if the second argument is not 'check'.
6189         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
6190         gl_NEXT_HEADERS_INTERNAL.
6191
6192 2011-01-20  Bruno Haible  <bruno@clisp.org>
6193
6194         Allow the user to avoid the GNULIB_TEST_* macros.
6195         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
6196         Suggested by Paul Eggert.
6197
6198 2011-01-14  Jim Meyering  <meyering@redhat.com>
6199
6200         bootstrap: avoid failure when there is no .gitmodules file
6201         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
6202         has been assigned to, even when its value is the empty string.
6203         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
6204         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
6205         Reported by John W. Eaton <jwe@gnu.org>.
6206
6207 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
6208
6209         assume <ctype.h>, ..., <time.h> exist
6210         For years gnulib has been assuming the existence of the headers
6211         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
6212         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
6213         them, since they don't appear to be needed.
6214         * README (Portability guidelines): Document this.
6215         * lib/flock.c: Assume <fcntl.h> exists.
6216         * lib/regex_internal.h: Assume <locale.h> exists.
6217         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
6218         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
6219         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
6220         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
6221         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
6222         * m4/regex.m4 (gl_REGEX): Likewise.
6223         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
6224         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
6225         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
6226         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
6227         * tests/test-argp.c: Likewise.
6228         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
6229
6230         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
6231         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
6232         AA_APPLE_UNIVERSAL_BUILD.  See
6233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
6234         * NEWS: Document this.
6235
6236 2011-01-19  Eric Blake  <eblake@redhat.com>
6237
6238         c-stack: assume stack overflow if SA_SIGINFO unsupported
6239         * lib/c-stack.c (SIGACTION_WORKS): Rename...
6240         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
6241         sigaction will work.
6242         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
6243         behavior match Linux.
6244         * tests/test-c-stack.c (main): Prefer NULL for pointers.
6245
6246         stdbool-tests: accomodate Haiku
6247         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
6248
6249         binary-io: fix O_TEXT on Haiku
6250         * modules/binary-io (Depends-on): Add fcntl-h.
6251         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
6252         than blindly undefining O_TEXT.
6253         Reported by Scott McCreary.
6254
6255 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6256
6257         include_next: do not check for standard headers like stddef.h
6258
6259         I found this problem when modifying Emacs to use gnulib.
6260         I noticed that it added HAVE_STDDEF_H to config.h, even though
6261         gnulib always assumes <stddef.h> exists as per README and this
6262         symbol is unnecessary.
6263         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
6264         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
6265         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
6266         faster for headers like stddef.h that are known to exist.
6267         (gl_CHECK_NEXT_HEADERS): Use it.
6268         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
6269         rather than gl_CHECK_NEXT_HEADERS.
6270         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
6271         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
6272
6273 2011-01-18  Eric Blake  <eblake@redhat.com>
6274
6275         ansi-c++-opt: skip C++ dependency style if C++ is unused
6276         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
6277         tests when we know C++ compilation is not desired.
6278         Reported by Scott McCreary.
6279
6280 2011-01-18  Bruno Haible  <bruno@clisp.org>
6281
6282         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
6283         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
6284         (main): Perform test also when getrlimit and setrlimit don't exist or
6285         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
6286         limiting the address space size using setrlimit, compare the address
6287         space size before and after the the test.
6288         * tests/test-dprintf-posix2.c: Likewise.
6289         * tests/test-fprintf-posix3.sh: Update skip messages.
6290         * tests/test-dprintf-posix2.sh: Likewise.
6291         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
6292         * modules/dprintf-posix-tests (Depends-on): Likewise.
6293         Reported by Bruce Korb <bkorb@gnu.org> and
6294         Gary V. Vaughan <gary@gnu.org>.
6295
6296 2011-01-18  Bruno Haible  <bruno@clisp.org>
6297
6298         get-rusage-as: Improvement for Cygwin.
6299         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
6300         areas that are merely reserved.
6301
6302 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
6303
6304         strftime: remove dependencies on multibyte modules
6305
6306         strftime depended on mbrlen, mbsinit, and wchar, but these modules
6307         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
6308         only if __osf__ is defined, and I suspect OSF doesn't need these
6309         other modules.  If my guess is wrong, we'll need to come up with a
6310         variant of strftime that doesn't need the multibyte modules.
6311
6312         I discovered this problem when attempting modify Emacs to use the
6313         strftime module.  With the previous gnulib, this caused Emacs to
6314         need 31 new files, ranging from lib/config.charset to
6315         m4/wint_t.m4.  This was overkill and I expect would be offputting
6316         to the Emacs maintainers.  After this change, only 6 new files are
6317         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
6318         stdbool.m4, and tm_gmtoff.m4.
6319
6320         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
6321         Suggested by Bruno Haible in
6322         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
6323         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
6324         and do not check for wchar.h.
6325         * modules/strftime (Files): Remove m4/mbstate_t.m4.
6326         (Depends-on): Remove mbrlen, mbsinit, wchar.
6327
6328 2011-01-18  Bruno Haible  <bruno@clisp.org>
6329
6330         Tests for module 'get-rusage-as'.
6331         * modules/get-rusage-as-tests: New file.
6332         * tests/test-get-rusage-as.c: New file.
6333
6334         New module 'get-rusage-as'.
6335         * modules/get-rusage-as: New file.
6336         * lib/resource-ext.h: New file.
6337         * lib/get-rusage-as.c: New file.
6338
6339 2011-01-17  Eric Blake  <eblake@redhat.com>
6340
6341         sigaction: relax license from LGPLv3+ to LGPLv2+
6342         * modules/sigaction (License): Relax to LGPLv2+.
6343
6344 2011-01-14  Bruno Haible  <bruno@clisp.org>
6345
6346         filemode: Make function declarations usable in C++ mode.
6347         * lib/filemode.h: Enclose function declarations in extern "C" block.
6348         Reported by John W. Eaton <jwe@gnu.org>.
6349
6350 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
6351
6352         save-cwd: no longer include "xgetcwd.h"
6353         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
6354         This avoids a compilation failure in projects that use save-cwd
6355         without also using the xgetcwd module.
6356
6357 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6358
6359         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
6360         This is so that a program like Emacs, which needs only dtoastr,
6361         does not have to bother with distributing and compiling ftoastr
6362         and ldtoastr.
6363         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
6364         * modules/dtoastr, modules/ldtoastr: New files.
6365         * modules/ftoastr: Now works just for 'float'.
6366         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
6367         (Makefile.am): Remove ftoastr.h (not needed and no effect),
6368         dtoastr.c, ldtoastr.c.
6369
6370 2011-01-11  Jim Meyering  <meyering@redhat.com>
6371
6372         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
6373         There is no need to work around the lack of the fchdir function,
6374         since gnulib can now provide a replacement when required.
6375         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
6376         * modules/save-cwd (Depends-on): Add fchdir.
6377
6378 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6379
6380         openat, save-cwd: avoid xmalloc
6381
6382         This removes a direct (but undocumented) dependency of openat on
6383         xalloc, along with an indirect dependency via save-cwd.  It also
6384         removes a dependency of save-cwd on xgetcwd, and thereby
6385         indirectly on xalloc.  This change causes the openat substitute
6386         to fall back on save_cwd when memory is tight, and for save_cwd to
6387         fail instead of dying when memory is tight, but that's good enough.
6388         Problem and initial idea for fix reported by Bastien Roucaries in
6389         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
6390
6391         * lib/openat-proc.c: Include stdlib.h (for malloc), not
6392         xalloc.h (for xmalloc).
6393         (openat_proc_name): Use malloc, not xmalloc.
6394         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
6395         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
6396
6397         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
6398         This avoids heap allocation for file names whose lengths are in
6399         the range 512..1023, with the upper bound increasing to at most
6400         4031 depending on the platform's PATH_MAX.  (We do not want
6401         pathmax.h here as it might supply a non-constant PATH_MAX.)
6402         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
6403         Perhaps they should be moved to malloca.h?
6404         (OPENAT_BUFFER_SIZE): Use them.
6405
6406 2011-01-10  Bruno Haible  <bruno@clisp.org>
6407
6408         doc: Update users.txt.
6409         * users.txt: Add recutils.
6410
6411 2011-01-09  Karl Berry  <karl@gnu.org>
6412
6413         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
6414
6415         * doc/configmake.texi: New file.
6416         * doc/gnulib.texi: Include it.
6417         * modules/configmake: Move documentation from here.
6418
6419 2011-01-09  Bruno Haible  <bruno@clisp.org>
6420
6421         Update to Unicode 6.0.0.
6422         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
6423         (get_lbp): Update for Unicode 6.0.0.
6424         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
6425         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
6426         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
6427         U+11001, U+11038..U+11046. Remove U+06DE.
6428         (uc_width): Fix bounds of planes.
6429         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6430         lib/uniwidth/width.c.
6431         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
6432         trailing whitespace removed.
6433         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
6434         without comments, but with the original copyright notice.
6435         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
6436         * lib/unicase/ignorable.h: Likewise.
6437         * lib/unicase/tocasefold.h: Likewise.
6438         * lib/unicase/tolower.h: Likewise.
6439         * lib/unicase/totitle.h: Likewise.
6440         * lib/unicase/toupper.h: Likewise.
6441         * lib/unictype/bidi_of.h: Likewise.
6442         * lib/unictype/blocks.h: Likewise.
6443         * lib/unictype/categ_C.h: Likewise.
6444         * lib/unictype/categ_Cn.h: Likewise.
6445         * lib/unictype/categ_L.h: Likewise.
6446         * lib/unictype/categ_Ll.h: Likewise.
6447         * lib/unictype/categ_Lm.h: Likewise.
6448         * lib/unictype/categ_Lo.h: Likewise.
6449         * lib/unictype/categ_Lu.h: Likewise.
6450         * lib/unictype/categ_M.h: Likewise.
6451         * lib/unictype/categ_Mc.h: Likewise.
6452         * lib/unictype/categ_Me.h: Likewise.
6453         * lib/unictype/categ_Mn.h: Likewise.
6454         * lib/unictype/categ_N.h: Likewise.
6455         * lib/unictype/categ_Nd.h: Likewise.
6456         * lib/unictype/categ_No.h: Likewise.
6457         * lib/unictype/categ_P.h: Likewise.
6458         * lib/unictype/categ_Po.h: Likewise.
6459         * lib/unictype/categ_S.h: Likewise.
6460         * lib/unictype/categ_Sc.h: Likewise.
6461         * lib/unictype/categ_Sk.h: Likewise.
6462         * lib/unictype/categ_Sm.h: Likewise.
6463         * lib/unictype/categ_So.h: Likewise.
6464         * lib/unictype/categ_of.h: Likewise.
6465         * lib/unictype/combining.h: Likewise.
6466         * lib/unictype/ctype_alnum.h: Likewise.
6467         * lib/unictype/ctype_alpha.h: Likewise.
6468         * lib/unictype/ctype_graph.h: Likewise.
6469         * lib/unictype/ctype_lower.h: Likewise.
6470         * lib/unictype/ctype_print.h: Likewise.
6471         * lib/unictype/ctype_punct.h: Likewise.
6472         * lib/unictype/ctype_upper.h: Likewise.
6473         * lib/unictype/decdigit.h: Likewise.
6474         * lib/unictype/digit.h: Likewise.
6475         * lib/unictype/numeric.h: Likewise.
6476         * lib/unictype/pr_alphabetic.h: Likewise.
6477         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6478         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
6479         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
6480         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6481         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6482         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6483         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6484         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6485         * lib/unictype/pr_case_ignorable.h: Likewise.
6486         * lib/unictype/pr_cased.h: Likewise.
6487         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
6488         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
6489         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
6490         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
6491         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
6492         * lib/unictype/pr_combining.h: Likewise.
6493         * lib/unictype/pr_composite.h: Likewise.
6494         * lib/unictype/pr_currency_symbol.h: Likewise.
6495         * lib/unictype/pr_decimal_digit.h: Likewise.
6496         * lib/unictype/pr_deprecated.h: Likewise.
6497         * lib/unictype/pr_format_control.h: Likewise.
6498         * lib/unictype/pr_grapheme_base.h: Likewise.
6499         * lib/unictype/pr_grapheme_extend.h: Likewise.
6500         * lib/unictype/pr_grapheme_link.h: Likewise.
6501         * lib/unictype/pr_id_continue.h: Likewise.
6502         * lib/unictype/pr_id_start.h: Likewise.
6503         * lib/unictype/pr_ideographic.h: Likewise.
6504         * lib/unictype/pr_lowercase.h: Likewise.
6505         * lib/unictype/pr_math.h: Likewise.
6506         * lib/unictype/pr_numeric.h: Likewise.
6507         * lib/unictype/pr_other_alphabetic.h: Likewise.
6508         * lib/unictype/pr_other_id_continue.h: Likewise.
6509         * lib/unictype/pr_other_math.h: Likewise.
6510         * lib/unictype/pr_punctuation.h: Likewise.
6511         * lib/unictype/pr_sentence_terminal.h: Likewise.
6512         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6513         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6514         * lib/unictype/pr_unified_ideograph.h: Likewise.
6515         * lib/unictype/pr_uppercase.h: Likewise.
6516         * lib/unictype/pr_xid_continue.h: Likewise.
6517         * lib/unictype/pr_xid_start.h: Likewise.
6518         * lib/unictype/scripts.h: Likewise.
6519         * lib/unictype/scripts_byname.gperf: Likewise.
6520         * lib/unictype/sy_java_ident.h: Likewise.
6521         * lib/unigbrk/gbrkprop.h: Likewise.
6522         * lib/unilbrk/lbrkprop1.h: Likewise.
6523         * lib/unilbrk/lbrkprop2.h: Likewise.
6524         * lib/uninorm/decomposition-table2.h: Likewise.
6525         * lib/uniwbrk/wbrkprop.h: Likewise.
6526         * tests/unicase/test-cased.c: Likewise.
6527         * tests/unicase/test-ignorable.c: Likewise.
6528         * tests/unicase/test-uc_tolower.c: Likewise.
6529         * tests/unicase/test-uc_totitle.c: Likewise.
6530         * tests/unicase/test-uc_toupper.c: Likewise.
6531         * tests/unictype/test-categ_C.c: Likewise.
6532         * tests/unictype/test-categ_Cn.c: Likewise.
6533         * tests/unictype/test-categ_L.c: Likewise.
6534         * tests/unictype/test-categ_Ll.c: Likewise.
6535         * tests/unictype/test-categ_Lm.c: Likewise.
6536         * tests/unictype/test-categ_Lo.c: Likewise.
6537         * tests/unictype/test-categ_Lu.c: Likewise.
6538         * tests/unictype/test-categ_M.c: Likewise.
6539         * tests/unictype/test-categ_Mc.c: Likewise.
6540         * tests/unictype/test-categ_Me.c: Likewise.
6541         * tests/unictype/test-categ_Mn.c: Likewise.
6542         * tests/unictype/test-categ_N.c: Likewise.
6543         * tests/unictype/test-categ_Nd.c: Likewise.
6544         * tests/unictype/test-categ_No.c: Likewise.
6545         * tests/unictype/test-categ_P.c: Likewise.
6546         * tests/unictype/test-categ_Po.c: Likewise.
6547         * tests/unictype/test-categ_S.c: Likewise.
6548         * tests/unictype/test-categ_Sc.c: Likewise.
6549         * tests/unictype/test-categ_Sk.c: Likewise.
6550         * tests/unictype/test-categ_Sm.c: Likewise.
6551         * tests/unictype/test-categ_So.c: Likewise.
6552         * tests/unictype/test-ctype_alnum.c: Likewise.
6553         * tests/unictype/test-ctype_alpha.c: Likewise.
6554         * tests/unictype/test-ctype_graph.c: Likewise.
6555         * tests/unictype/test-ctype_lower.c: Likewise.
6556         * tests/unictype/test-ctype_print.c: Likewise.
6557         * tests/unictype/test-ctype_punct.c: Likewise.
6558         * tests/unictype/test-ctype_upper.c: Likewise.
6559         * tests/unictype/test-decdigit.h: Likewise.
6560         * tests/unictype/test-digit.h: Likewise.
6561         * tests/unictype/test-numeric.h: Likewise.
6562         * tests/unictype/test-pr_alphabetic.c: Likewise.
6563         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6564         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
6565         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
6566         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6567         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6568         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6569         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6570         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6571         * tests/unictype/test-pr_case_ignorable.c: Likewise.
6572         * tests/unictype/test-pr_cased.c: Likewise.
6573         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
6574         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
6575         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
6576         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
6577         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
6578         * tests/unictype/test-pr_combining.c: Likewise.
6579         * tests/unictype/test-pr_composite.c: Likewise.
6580         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6581         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6582         * tests/unictype/test-pr_deprecated.c: Likewise.
6583         * tests/unictype/test-pr_format_control.c: Likewise.
6584         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6585         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6586         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6587         * tests/unictype/test-pr_id_continue.c: Likewise.
6588         * tests/unictype/test-pr_id_start.c: Likewise.
6589         * tests/unictype/test-pr_ideographic.c: Likewise.
6590         * tests/unictype/test-pr_lowercase.c: Likewise.
6591         * tests/unictype/test-pr_math.c: Likewise.
6592         * tests/unictype/test-pr_numeric.c: Likewise.
6593         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6594         * tests/unictype/test-pr_other_id_continue.c: Likewise.
6595         * tests/unictype/test-pr_other_math.c: Likewise.
6596         * tests/unictype/test-pr_punctuation.c: Likewise.
6597         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6598         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6599         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6600         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6601         * tests/unictype/test-pr_uppercase.c: Likewise.
6602         * tests/unictype/test-pr_xid_continue.c: Likewise.
6603         * tests/unictype/test-pr_xid_start.c: Likewise.
6604         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6605         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6606         changes.
6607         * lib/unictype/categ_Cc.h: Likewise.
6608         * lib/unictype/categ_Cf.h: Likewise.
6609         * lib/unictype/categ_Co.h: Likewise.
6610         * lib/unictype/categ_Cs.h: Likewise.
6611         * lib/unictype/categ_Lt.h: Likewise.
6612         * lib/unictype/categ_Nl.h: Likewise.
6613         * lib/unictype/categ_Pc.h: Likewise.
6614         * lib/unictype/categ_Pd.h: Likewise.
6615         * lib/unictype/categ_Pe.h: Likewise.
6616         * lib/unictype/categ_Pf.h: Likewise.
6617         * lib/unictype/categ_Pi.h: Likewise.
6618         * lib/unictype/categ_Ps.h: Likewise.
6619         * lib/unictype/categ_Z.h: Likewise.
6620         * lib/unictype/categ_Zl.h: Likewise.
6621         * lib/unictype/categ_Zp.h: Likewise.
6622         * lib/unictype/categ_Zs.h: Likewise.
6623         * lib/unictype/ctype_blank.h: Likewise.
6624         * lib/unictype/ctype_cntrl.h: Likewise.
6625         * lib/unictype/ctype_digit.h: Likewise.
6626         * lib/unictype/ctype_space.h: Likewise.
6627         * lib/unictype/ctype_xdigit.h: Likewise.
6628         * lib/unictype/mirror.h: Likewise.
6629         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6630         * lib/unictype/pr_bidi_block_separator.h: Likewise.
6631         * lib/unictype/pr_bidi_common_separator.h: Likewise.
6632         * lib/unictype/pr_bidi_control.h: Likewise.
6633         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
6634         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
6635         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6636         * lib/unictype/pr_bidi_pdf.h: Likewise.
6637         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
6638         * lib/unictype/pr_bidi_whitespace.h: Likewise.
6639         * lib/unictype/pr_dash.h: Likewise.
6640         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
6641         * lib/unictype/pr_diacritic.h: Likewise.
6642         * lib/unictype/pr_extender.h: Likewise.
6643         * lib/unictype/pr_hex_digit.h: Likewise.
6644         * lib/unictype/pr_hyphen.h: Likewise.
6645         * lib/unictype/pr_ids_binary_operator.h: Likewise.
6646         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
6647         * lib/unictype/pr_ignorable_control.h: Likewise.
6648         * lib/unictype/pr_iso_control.h: Likewise.
6649         * lib/unictype/pr_join_control.h: Likewise.
6650         * lib/unictype/pr_left_of_pair.h: Likewise.
6651         * lib/unictype/pr_line_separator.h: Likewise.
6652         * lib/unictype/pr_logical_order_exception.h: Likewise.
6653         * lib/unictype/pr_non_break.h: Likewise.
6654         * lib/unictype/pr_not_a_character.h: Likewise.
6655         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
6656         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
6657         * lib/unictype/pr_other_id_start.h: Likewise.
6658         * lib/unictype/pr_other_lowercase.h: Likewise.
6659         * lib/unictype/pr_other_uppercase.h: Likewise.
6660         * lib/unictype/pr_paired_punctuation.h: Likewise.
6661         * lib/unictype/pr_paragraph_separator.h: Likewise.
6662         * lib/unictype/pr_pattern_syntax.h: Likewise.
6663         * lib/unictype/pr_pattern_white_space.h: Likewise.
6664         * lib/unictype/pr_private_use.h: Likewise.
6665         * lib/unictype/pr_quotation_mark.h: Likewise.
6666         * lib/unictype/pr_radical.h: Likewise.
6667         * lib/unictype/pr_soft_dotted.h: Likewise.
6668         * lib/unictype/pr_space.h: Likewise.
6669         * lib/unictype/pr_titlecase.h: Likewise.
6670         * lib/unictype/pr_variation_selector.h: Likewise.
6671         * lib/unictype/pr_white_space.h: Likewise.
6672         * lib/unictype/pr_zero_width.h: Likewise.
6673         * lib/unictype/sy_c_ident.h: Likewise.
6674         * lib/unictype/sy_c_whitespace.h: Likewise.
6675         * lib/unictype/sy_java_whitespace.h: Likewise.
6676         * lib/uninorm/composition-table.gperf: Likewise.
6677         * lib/uninorm/decomposition-table1.h: Likewise.
6678         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
6679         LB8.
6680         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6681         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6682         * modules/unictype/*: Bump version number of expected libunistring
6683         version.
6684
6685 2011-01-09  Bruno Haible  <bruno@clisp.org>
6686
6687         Update to Unicode 5.2.0.
6688         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
6689         trailing whitespace removed.
6690
6691 2011-01-09  Bruno Haible  <bruno@clisp.org>
6692
6693         New Unicode character properties, from Unicode 5.2.0.
6694         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
6695         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
6696         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
6697         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
6698         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
6699         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
6700         uc_is_property_cased, uc_is_property_case_ignorable,
6701         uc_is_property_changes_when_lowercased,
6702         uc_is_property_changes_when_uppercased,
6703         uc_is_property_changes_when_titlecased,
6704         uc_is_property_changes_when_casefolded,
6705         uc_is_property_changes_when_casemapped): New declarations.
6706         * lib/unictype/pr_byname.gperf: Add the new properties.
6707         * modules/unictype/property-byname (Depends-on): Depend on the new
6708         properties modules.
6709         * modules/unictype/property-all (Depends-on): Likewise.
6710         * MODULES.html.sh (Unicode string functions): Add
6711         unictype/property-case-ignorable, unictype/property-cased,
6712         unictype/property-changes-when-casefolded,
6713         unictype/property-changes-when-casemapped,
6714         unictype/property-changes-when-lowercased,
6715         unictype/property-changes-when-titlecased,
6716         unictype/property-changes-when-uppercased.
6717
6718         New module 'unictype/property-changes-when-casemapped'.
6719         * modules/unictype/property-changes-when-casemapped: New file.
6720         * lib/unictype/pr_changes_when_casemapped.c: New file.
6721         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
6722         generated by gen-uni-tables.
6723         * modules/unictype/property-changes-when-casemapped-tests: New file.
6724         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
6725         automatically generated by gen-uni-tables.
6726
6727         New module 'unictype/property-changes-when-casefolded'.
6728         * modules/unictype/property-changes-when-casefolded: New file.
6729         * lib/unictype/pr_changes_when_casefolded.c: New file.
6730         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
6731         generated by gen-uni-tables.
6732         * modules/unictype/property-changes-when-casefolded-tests: New file.
6733         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
6734         automatically generated by gen-uni-tables.
6735
6736         New module 'unictype/property-changes-when-titlecased'.
6737         * modules/unictype/property-changes-when-titlecased: New file.
6738         * lib/unictype/pr_changes_when_titlecased.c: New file.
6739         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
6740         generated by gen-uni-tables.
6741         * modules/unictype/property-changes-when-titlecased-tests: New file.
6742         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
6743         automatically generated by gen-uni-tables.
6744
6745         New module 'unictype/property-changes-when-uppercased'.
6746         * modules/unictype/property-changes-when-uppercased: New file.
6747         * lib/unictype/pr_changes_when_uppercased.c: New file.
6748         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
6749         generated by gen-uni-tables.
6750         * modules/unictype/property-changes-when-uppercased-tests: New file.
6751         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
6752         automatically generated by gen-uni-tables.
6753
6754         New module 'unictype/property-changes-when-lowercased'.
6755         * modules/unictype/property-changes-when-lowercased: New file.
6756         * lib/unictype/pr_changes_when_lowercased.c: New file.
6757         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
6758         generated by gen-uni-tables.
6759         * modules/unictype/property-changes-when-lowercased-tests: New file.
6760         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
6761         automatically generated by gen-uni-tables.
6762
6763         New module 'unictype/property-case-ignorable'.
6764         * modules/unictype/property-case-ignorable: New file.
6765         * lib/unictype/pr_case_ignorable.c: New file.
6766         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
6767         by gen-uni-tables.
6768         * modules/unictype/property-case-ignorable-tests: New file.
6769         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
6770         generated by gen-uni-tables.
6771
6772         New module 'unictype/property-cased'.
6773         * modules/unictype/property-cased: New file.
6774         * lib/unictype/pr_cased.c: New file.
6775         * lib/unictype/pr_cased.h: New file, automatically generated by
6776         gen-uni-tables.
6777         * modules/unictype/property-cased-tests: New file.
6778         * tests/unictype/test-pr_cased.c: New file, automatically generated by
6779         gen-uni-tables.
6780
6781 2011-01-09  Bruno Haible  <bruno@clisp.org>
6782
6783         Update to Unicode 5.2.0.
6784         * lib/gen-uni-tables.c (output_predicate, output_category,
6785         output_combclass, output_bidi_category, output_decimal_digit_test,
6786         output_decimal_digit, output_digit_test, output_digit,
6787         output_numeric_test, output_numeric, output_mirror, output_scripts,
6788         output_scripts_byname, output_blocks, output_ident_category): Fix
6789         comment header.
6790         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
6791         get_wbp.
6792         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
6793         items.
6794         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
6795         Changes_When_Lowercased, Changes_When_Uppercased,
6796         Changes_When_Titlecased, Changes_When_Casefolded,
6797         Changes_When_Casemapped.
6798         (is_property_alphabetic, is_property_default_ignorable_code_point):
6799         Update for Unicode 5.2.0.
6800         (is_property_cased, is_property_case_ignorable,
6801         is_property_changes_when_lowercased,
6802         is_property_changes_when_uppercased,
6803         is_property_changes_when_titlecased,
6804         is_property_changes_when_casefolded,
6805         is_property_changes_when_casemapped): New functions.
6806         (output_properties): Output also the properties cased, case_ignorable,
6807         changes_when_lowercased, changes_when_uppercased,
6808         changes_when_titlecased, changes_when_casefolded,
6809         changes_when_casemapped.
6810         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
6811         Unicode TR#11 revision 17 -> 19.
6812         (LBP_CP): New enumeration value.
6813         (LBP_*): Adjust values accordingly.
6814         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6815         TR#14 revision 22 -> 24.
6816         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
6817         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
6818         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6819         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
6820         is_WBP_MIDLETTER.
6821         (output_composition_tables): Allow for 24 bits instead of 16 bits in
6822         the code1 and code2 of each composition rule.
6823         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
6824         * lib/unicase/ignorable.h: Likewise.
6825         * lib/unicase/tocasefold.h: Likewise.
6826         * lib/unicase/tolower.h: Likewise.
6827         * lib/unicase/totitle.h: Likewise.
6828         * lib/unicase/toupper.h: Likewise.
6829         * lib/unictype/bidi_of.h: Likewise.
6830         * lib/unictype/blocks.h: Likewise.
6831         * lib/unictype/categ_C.h: Likewise.
6832         * lib/unictype/categ_Cf.h: Likewise.
6833         * lib/unictype/categ_Cn.h: Likewise.
6834         * lib/unictype/categ_L.h: Likewise.
6835         * lib/unictype/categ_Ll.h: Likewise.
6836         * lib/unictype/categ_Lm.h: Likewise.
6837         * lib/unictype/categ_Lo.h: Likewise.
6838         * lib/unictype/categ_Lu.h: Likewise.
6839         * lib/unictype/categ_M.h: Likewise.
6840         * lib/unictype/categ_Mc.h: Likewise.
6841         * lib/unictype/categ_Mn.h: Likewise.
6842         * lib/unictype/categ_N.h: Likewise.
6843         * lib/unictype/categ_Nd.h: Likewise.
6844         * lib/unictype/categ_Nl.h: Likewise.
6845         * lib/unictype/categ_No.h: Likewise.
6846         * lib/unictype/categ_P.h: Likewise.
6847         * lib/unictype/categ_Pd.h: Likewise.
6848         * lib/unictype/categ_Po.h: Likewise.
6849         * lib/unictype/categ_S.h: Likewise.
6850         * lib/unictype/categ_Sc.h: Likewise.
6851         * lib/unictype/categ_So.h: Likewise.
6852         * lib/unictype/categ_of.h: Likewise.
6853         * lib/unictype/combining.h: Likewise.
6854         * lib/unictype/ctype_alnum.h: Likewise.
6855         * lib/unictype/ctype_alpha.h: Likewise.
6856         * lib/unictype/ctype_graph.h: Likewise.
6857         * lib/unictype/ctype_lower.h: Likewise.
6858         * lib/unictype/ctype_print.h: Likewise.
6859         * lib/unictype/ctype_punct.h: Likewise.
6860         * lib/unictype/ctype_upper.h: Likewise.
6861         * lib/unictype/decdigit.h: Likewise.
6862         * lib/unictype/digit.h: Likewise.
6863         * lib/unictype/numeric.h: Likewise.
6864         * lib/unictype/pr_alphabetic.h: Likewise.
6865         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6866         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6867         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6868         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6869         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6870         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6871         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6872         * lib/unictype/pr_combining.h: Likewise.
6873         * lib/unictype/pr_composite.h: Likewise.
6874         * lib/unictype/pr_currency_symbol.h: Likewise.
6875         * lib/unictype/pr_dash.h: Likewise.
6876         * lib/unictype/pr_decimal_digit.h: Likewise.
6877         * lib/unictype/pr_deprecated.h: Likewise.
6878         * lib/unictype/pr_diacritic.h: Likewise.
6879         * lib/unictype/pr_extender.h: Likewise.
6880         * lib/unictype/pr_grapheme_base.h: Likewise.
6881         * lib/unictype/pr_grapheme_extend.h: Likewise.
6882         * lib/unictype/pr_grapheme_link.h: Likewise.
6883         * lib/unictype/pr_id_continue.h: Likewise.
6884         * lib/unictype/pr_id_start.h: Likewise.
6885         * lib/unictype/pr_ideographic.h: Likewise.
6886         * lib/unictype/pr_ignorable_control.h: Likewise.
6887         * lib/unictype/pr_logical_order_exception.h: Likewise.
6888         * lib/unictype/pr_lowercase.h: Likewise.
6889         * lib/unictype/pr_numeric.h: Likewise.
6890         * lib/unictype/pr_other_alphabetic.h: Likewise.
6891         * lib/unictype/pr_punctuation.h: Likewise.
6892         * lib/unictype/pr_sentence_terminal.h: Likewise.
6893         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6894         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6895         * lib/unictype/pr_unified_ideograph.h: Likewise.
6896         * lib/unictype/pr_uppercase.h: Likewise.
6897         * lib/unictype/pr_xid_continue.h: Likewise.
6898         * lib/unictype/pr_xid_start.h: Likewise.
6899         * lib/unictype/pr_zero_width.h: Likewise.
6900         * lib/unictype/scripts.h: Likewise.
6901         * lib/unictype/scripts_byname.gperf: Likewise.
6902         * lib/unictype/sy_java_ident.h: Likewise.
6903         * lib/unigbrk/gbrkprop.h: Likewise.
6904         * lib/unilbrk/lbrkprop1.h: Likewise.
6905         * lib/unilbrk/lbrkprop2.h: Likewise.
6906         * lib/unilbrk/lbrktables.h: Likewise.
6907         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
6908         LBP_CP. Implement rule LB30.
6909         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
6910         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
6911         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
6912         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
6913         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
6914         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
6915         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
6916         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
6917         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
6918         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
6919         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
6920         bits instead of 16 bits in the code1 and code2 of each composition
6921         rule.
6922         (uc_composition): Update for Unicode 5.2.0.
6923         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
6924         * lib/uninorm/decomposition-table2.h: Likewise.
6925         * lib/uniwbrk/wbrkprop.h: Likewise.
6926         * tests/unicase/test-cased.c: Likewise.
6927         * tests/unicase/test-ignorable.c: Likewise.
6928         * tests/unicase/test-uc_tolower.c: Likewise.
6929         * tests/unicase/test-uc_totitle.c: Likewise.
6930         * tests/unicase/test-uc_toupper.c: Likewise.
6931         * tests/unictype/test-categ_C.c: Likewise.
6932         * tests/unictype/test-categ_Cf.c: Likewise.
6933         * tests/unictype/test-categ_Cn.c: Likewise.
6934         * tests/unictype/test-categ_L.c: Likewise.
6935         * tests/unictype/test-categ_Ll.c: Likewise.
6936         * tests/unictype/test-categ_Lm.c: Likewise.
6937         * tests/unictype/test-categ_Lo.c: Likewise.
6938         * tests/unictype/test-categ_Lu.c: Likewise.
6939         * tests/unictype/test-categ_M.c: Likewise.
6940         * tests/unictype/test-categ_Mc.c: Likewise.
6941         * tests/unictype/test-categ_Mn.c: Likewise.
6942         * tests/unictype/test-categ_N.c: Likewise.
6943         * tests/unictype/test-categ_Nd.c: Likewise.
6944         * tests/unictype/test-categ_Nl.c: Likewise.
6945         * tests/unictype/test-categ_No.c: Likewise.
6946         * tests/unictype/test-categ_P.c: Likewise.
6947         * tests/unictype/test-categ_Pd.c: Likewise.
6948         * tests/unictype/test-categ_Po.c: Likewise.
6949         * tests/unictype/test-categ_S.c: Likewise.
6950         * tests/unictype/test-categ_Sc.c: Likewise.
6951         * tests/unictype/test-categ_So.c: Likewise.
6952         * tests/unictype/test-ctype_alnum.c: Likewise.
6953         * tests/unictype/test-ctype_alpha.c: Likewise.
6954         * tests/unictype/test-ctype_graph.c: Likewise.
6955         * tests/unictype/test-ctype_lower.c: Likewise.
6956         * tests/unictype/test-ctype_print.c: Likewise.
6957         * tests/unictype/test-ctype_punct.c: Likewise.
6958         * tests/unictype/test-ctype_upper.c: Likewise.
6959         * tests/unictype/test-decdigit.h: Likewise.
6960         * tests/unictype/test-digit.h: Likewise.
6961         * tests/unictype/test-numeric.h: Likewise.
6962         * tests/unictype/test-pr_alphabetic.c: Likewise.
6963         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6964         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6965         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
6966         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6967         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6968         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6969         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6970         * tests/unictype/test-pr_combining.c: Likewise.
6971         * tests/unictype/test-pr_composite.c: Likewise.
6972         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6973         * tests/unictype/test-pr_dash.c: Likewise.
6974         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6975         * tests/unictype/test-pr_deprecated.c: Likewise.
6976         * tests/unictype/test-pr_diacritic.c: Likewise.
6977         * tests/unictype/test-pr_extender.c: Likewise.
6978         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6979         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6980         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6981         * tests/unictype/test-pr_id_continue.c: Likewise.
6982         * tests/unictype/test-pr_id_start.c: Likewise.
6983         * tests/unictype/test-pr_ideographic.c: Likewise.
6984         * tests/unictype/test-pr_ignorable_control.c: Likewise.
6985         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
6986         * tests/unictype/test-pr_lowercase.c: Likewise.
6987         * tests/unictype/test-pr_numeric.c: Likewise.
6988         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6989         * tests/unictype/test-pr_punctuation.c: Likewise.
6990         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6991         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6992         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6993         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6994         * tests/unictype/test-pr_uppercase.c: Likewise.
6995         * tests/unictype/test-pr_xid_continue.c: Likewise.
6996         * tests/unictype/test-pr_xid_start.c: Likewise.
6997         * tests/unictype/test-pr_zero_width.c: Likewise.
6998         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6999         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
7000         changed behaviour: line breaking is now disallowed between a letter
7001         or '=' and '('.
7002         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
7003         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
7004         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
7005         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
7006         * tests/uniwidth/test-uc_width2.sh: Same updates as in
7007         lib/uniwidth/width.c.
7008         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
7009         without comments, but with the original copyright notice.
7010         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
7011         changes.
7012         * lib/unictype/categ_Cc.h: Likewise.
7013         * lib/unictype/categ_Co.h: Likewise.
7014         * lib/unictype/categ_Cs.h: Likewise.
7015         * lib/unictype/categ_Lt.h: Likewise.
7016         * lib/unictype/categ_Me.h: Likewise.
7017         * lib/unictype/categ_Pc.h: Likewise.
7018         * lib/unictype/categ_Pe.h: Likewise.
7019         * lib/unictype/categ_Pf.h: Likewise.
7020         * lib/unictype/categ_Pi.h: Likewise.
7021         * lib/unictype/categ_Ps.h: Likewise.
7022         * lib/unictype/categ_Sk.h: Likewise.
7023         * lib/unictype/categ_Sm.h: Likewise.
7024         * lib/unictype/categ_Z.h: Likewise.
7025         * lib/unictype/categ_Zl.h: Likewise.
7026         * lib/unictype/categ_Zp.h: Likewise.
7027         * lib/unictype/categ_Zs.h: Likewise.
7028         * lib/unictype/ctype_blank.h: Likewise.
7029         * lib/unictype/ctype_cntrl.h: Likewise.
7030         * lib/unictype/ctype_digit.h: Likewise.
7031         * lib/unictype/ctype_space.h: Likewise.
7032         * lib/unictype/ctype_xdigit.h: Likewise.
7033         * lib/unictype/mirror.h: Likewise.
7034         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
7035         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
7036         * lib/unictype/pr_bidi_block_separator.h: Likewise.
7037         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
7038         * lib/unictype/pr_bidi_common_separator.h: Likewise.
7039         * lib/unictype/pr_bidi_control.h: Likewise.
7040         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
7041         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
7042         * lib/unictype/pr_bidi_pdf.h: Likewise.
7043         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
7044         * lib/unictype/pr_bidi_whitespace.h: Likewise.
7045         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
7046         * lib/unictype/pr_format_control.h: Likewise.
7047         * lib/unictype/pr_hex_digit.h: Likewise.
7048         * lib/unictype/pr_hyphen.h: Likewise.
7049         * lib/unictype/pr_ids_binary_operator.h: Likewise.
7050         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
7051         * lib/unictype/pr_iso_control.h: Likewise.
7052         * lib/unictype/pr_join_control.h: Likewise.
7053         * lib/unictype/pr_left_of_pair.h: Likewise.
7054         * lib/unictype/pr_line_separator.h: Likewise.
7055         * lib/unictype/pr_math.h: Likewise.
7056         * lib/unictype/pr_non_break.h: Likewise.
7057         * lib/unictype/pr_not_a_character.h: Likewise.
7058         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
7059         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
7060         * lib/unictype/pr_other_id_continue.h: Likewise.
7061         * lib/unictype/pr_other_id_start.h: Likewise.
7062         * lib/unictype/pr_other_lowercase.h: Likewise.
7063         * lib/unictype/pr_other_math.h: Likewise.
7064         * lib/unictype/pr_other_uppercase.h: Likewise.
7065         * lib/unictype/pr_paired_punctuation.h: Likewise.
7066         * lib/unictype/pr_paragraph_separator.h: Likewise.
7067         * lib/unictype/pr_pattern_syntax.h: Likewise.
7068         * lib/unictype/pr_pattern_white_space.h: Likewise.
7069         * lib/unictype/pr_private_use.h: Likewise.
7070         * lib/unictype/pr_quotation_mark.h: Likewise.
7071         * lib/unictype/pr_radical.h: Likewise.
7072         * lib/unictype/pr_soft_dotted.h: Likewise.
7073         * lib/unictype/pr_space.h: Likewise.
7074         * lib/unictype/pr_titlecase.h: Likewise.
7075         * lib/unictype/pr_variation_selector.h: Likewise.
7076         * lib/unictype/pr_white_space.h: Likewise.
7077         * lib/unictype/sy_c_ident.h: Likewise.
7078         * lib/unictype/sy_c_whitespace.h: Likewise.
7079         * lib/unictype/sy_java_whitespace.h: Likewise.
7080         * modules/uni*/*: Bump version number of expected libunistring version.
7081         Reported by Simon Josefsson.
7082
7083 2011-01-09  Karl Heuer  <kwzh@gnu.org>
7084
7085         useless-if-before-free: fix typo in --help and make the internal,
7086         automatic version date update process work once again.
7087         --help output contained a NUL character instead of the
7088         backslash-zero that was intended.  Also, the "must lie within
7089         the first 8 lines" line is on line 9, and hence not getting
7090         automatically updated.
7091         * build-aux/useless-if-before-free: Fix the former by adding a
7092         backslash, and the latter by condensing the three lines of what-it-does
7093         to a single line, leaving one line of slack for the future.
7094
7095 2011-01-09  Bruno Haible  <bruno@clisp.org>
7096
7097         uniwidth/width: Fix width of U+1D173..U+1D17A.
7098         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
7099         symbolic_width, output_width_property_test): New functions.
7100         (main): Invoke output_nonspacing_property, output_width_property_test.
7101         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
7102         U+1D173..U+1D17A.
7103         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
7104         1.
7105         * modules/uniwidth/*: Bump version number of expected libunistring
7106         version.
7107         * modules/unilbrk/*: Likewise.
7108
7109 2011-01-08  Bruno Haible  <bruno@clisp.org>
7110
7111         uninorm tests: Preserve copyright of Unicode data file.
7112         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
7113         Mention modifications.
7114
7115 2011-01-08  Bruno Haible  <bruno@clisp.org>
7116
7117         gen-uni-tables: Prepare for Unicode 5.2.0.
7118         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
7119         (debug_output_lbp, output_lbp): Update.
7120
7121 2011-01-08  Bruno Haible  <bruno@clisp.org>
7122
7123         unilbrk: Clarify gen-uni-tables.c code.
7124         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
7125         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
7126         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
7127
7128 2011-01-07  Bruno Haible  <bruno@clisp.org>
7129
7130         strtod: Restore errno when successfully parsing Infinity or NaN.
7131         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
7132         restore the original errno.
7133
7134 2011-01-07  Bruno Haible  <bruno@clisp.org>
7135
7136         remove test: Avoid failure on HP-UX 11.
7137         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
7138
7139 2011-01-07  Bruno Haible  <bruno@clisp.org>
7140
7141         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
7142         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
7143         error code.
7144
7145 2011-01-07  Pádraig Brady <P@draigBrady.com>
7146
7147         ignore-value: fixup comments, and add Eric Blake
7148         as an author since he rewrote the macros.
7149         * lib/ignore-value.h (ignore_value):  State that
7150         we now support aggregates.  Also specify exactly
7151         when the GCC warn_unused_result feature was added.
7152
7153 2011-01-06  Eric Blake  <eblake@redhat.com>
7154
7155         ignore-value: support aggregate types
7156         * lib/ignore-value.h (ignore_value): Provide separate gcc
7157         definition.
7158         * modules/ignore-value-tests: New test module.
7159         * tests/test-ignore-value.c: New test.
7160
7161         maint.mk: improve sc_prohibit_strcmp regex
7162         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
7163         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
7164         definition of STRNEQ.
7165
7166         signal: work around Haiku issue with SIGBUS
7167         * lib/siglist.h: Add comment.
7168         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
7169         strsignal's favoring of SIGSEGV.
7170         * tests/test-signal.c (main): Avoid test failure.
7171         * doc/posix-headers/signal.texi (signal.h): Document the issue.
7172         Reported by Scott McCreary.
7173
7174         maint.mk: add pre-release check to ensure submodule commits are public
7175         * top/maint.mk (public-submodule-commit): New rule.
7176         (submodule-checks): New variable.
7177         (alpha beta stable): Depend on the variable.
7178
7179 2011-01-05  Pádraig Brady <P@draigBrady.com>
7180         and Jim Meyering  <meyering@redhat.com>
7181
7182         ignore-value: make ignore_value more generic; deprecate ignore_ptr
7183         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
7184         (ATTRIBUTE_DEPRECATED): Define.
7185         (_ignore_case): New function.
7186         (ignore_value): New macro, to replace the old function.
7187         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
7188         * modules/ignore-value (Depends-on): Add stdint.
7189
7190 2011-01-04  Eric Blake  <eblake@redhat.com>
7191
7192         doc: regenerate INSTALL
7193         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
7194         @firstparagraphindent support, now that autoconf dropped it.
7195         (INSTALL_PRELUDE): Reinstate old macro.
7196         * doc/install.texi: Resync from autoconf.
7197         * doc/INSTALL: Reflect recent autoconf update.
7198         * doc/INSTALL.ISO: Likewise.
7199         * doc/INSTALL.UTF-8: Likewise.
7200         Reported by Karl Berry.
7201
7202 2011-01-04  Bruce Korb  <address@hidden>
7203
7204         git-version-gen: avoid a sub-shell
7205         * build-aux/git-version-gen: Redirect stderr in `...` via
7206         "exec 2>...", rather than via an added sub-shell.
7207
7208 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
7209
7210         git-version-gen: use (...) rather than sh -c '...'
7211         * build-aux/git-version-gen: Rather than hard-coding a shell's name
7212         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
7213
7214 2011-01-03  Jim Meyering  <meyering@redhat.com>
7215
7216         git-version-gen: convert leading TABs to spaces
7217         * build-aux/git-version-gen: Expand leading TABs.
7218
7219         git-version-gen: handle failed "git rev-list"
7220         * build-aux/git-version-gen: Rather than leaking a "fatal" error
7221         from git and proceeding as if it had succeeded but printed no SHA1
7222         checksums, suppress the diagnostic and handle the failure.
7223         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
7224
7225         git-version-gen: include command name in one more diagnostic
7226         * build-aux/git-version-gen: When the required .tarball-version file
7227         was missing or unreadable, you might see the diagnostic from "cat",
7228         but no trace of the name of the invoking script.  Now, you still see
7229         the diagnostic from cat, but also get one from "git-version-gen: ".
7230         Inspired by a patch from Bruce Korb.
7231
7232         update-copyright: adjust test to match changed code
7233         * tests/test-update-copyright.sh: Change test's expected output
7234         to match new actual output.
7235
7236 2011-01-02  Bruno Haible  <bruno@clisp.org>
7237
7238         getlogin_r: Avoid test failure on HP-UX 11.
7239         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
7240         ERANGE when the second argument is zero.
7241         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
7242         portability problem.
7243
7244 2011-01-02  Bruce Korb  <bkorb@gnu.org>
7245
7246         * build-aux/update-copyright: doc Simon's changes
7247
7248 2011-01-02  Simon Josefsson  <simon@josefsson.org>
7249
7250         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
7251         environment variable.
7252
7253 2011-01-02  Bruno Haible  <bruno@clisp.org>
7254
7255         unigbrk: Avoid gcc warnings.
7256         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
7257         unused variable.
7258         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
7259         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
7260         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
7261         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
7262         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
7263         Change type of first argument to 'const char *'.
7264         (main): Remove unused variable.
7265         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
7266         type of first argument to 'const char *'.
7267         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
7268         Likewise.
7269         (main): Change type of variable 's'.
7270         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
7271         to 'int'.
7272
7273 2011-01-02  Bruno Haible  <bruno@clisp.org>
7274
7275         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
7276         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
7277         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
7278         bug.
7279         * lib/pwrite.c: Undo 2010-12-31 patch.
7280         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
7281
7282 2011-01-02  Bruno Haible  <bruno@clisp.org>
7283
7284         pread: Fix test whether it works.
7285         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
7286
7287 2011-01-02  Bruno Haible  <bruno@clisp.org>
7288
7289         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
7290         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
7291         ends in "6". Don't require a specific month name. Try also the locale
7292         names found on HP-UX 11 and Solaris 7.
7293
7294 2011-01-02  Bruno Haible  <bruno@clisp.org>
7295
7296         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
7297         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
7298         C linkage.
7299         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
7300
7301 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7302
7303         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
7304         for consistency, since the "cluster" term is not used elsewhere.
7305         * lib/unigbrk.in.h: Update name.
7306         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
7307         * lib/unigbrk/u16-grapheme-next.c: Update name.
7308         * lib/unigbrk/u16-grapheme-prev.c: Update name.
7309         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
7310         * lib/unigbrk/u32-grapheme-next.c: Update name.
7311         * lib/unigbrk/u32-grapheme-prev.c: Update name.
7312         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
7313         * lib/unigbrk/u8-grapheme-next.c: Update name.
7314         * lib/unigbrk/u8-grapheme-prev.c: Update name.
7315         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
7316         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
7317         Suggested by Bruno Haible.
7318
7319 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7320
7321         Remove module 'u8-grapheme-len' as too redundant with
7322         'u8-grapheme-next'.
7323         * modules/unigbrk/u8-grapheme-len: Delete file.
7324         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
7325         * lib/unigbrk.in.h: Remove prototype for deleted function.
7326         * lib/unigbrk/u8-grapheme-len.c: Delete file.
7327         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
7328
7329         Remove module 'u16-grapheme-len' as too redundant with
7330         'u16-grapheme-next'.
7331         * modules/unigbrk/u16-grapheme-len: Delete file.
7332         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
7333         * lib/unigbrk.in.h: Remove prototype for deleted function.
7334         * lib/unigbrk/u16-grapheme-len.c: Delete file.
7335         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
7336
7337         Remove module 'u32-grapheme-len' as too redundant with
7338         'u32-grapheme-next'.
7339         * modules/unigbrk/u32-grapheme-len: Delete file.
7340         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
7341         * lib/unigbrk.in.h: Remove prototype for deleted function.
7342         * lib/unigbrk/u32-grapheme-len.c: Delete file.
7343         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
7344
7345         Suggested by Bruno Haible.
7346
7347 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
7348
7349         * unigbrk.in.h: Fix typo: "ben" => "been".
7350         Reported by Bruno Haible.
7351
7352 2011-01-01  Jim Meyering  <meyering@redhat.com>
7353
7354         maint: update almost all copyright ranges to include 2011
7355         Run the new "make update-copyright" rule.
7356
7357 2011-01-01  Jim Meyering  <meyering@redhat.com>
7358
7359         maint: update-copyright: exempt doc/INSTALL*
7360         * Makefile (update-copyright): Also exclude doc/INSTALL*,
7361         since they are generated.  Suggested by Bruno Haible.
7362
7363 2011-01-01  Jim Meyering  <meyering@redhat.com>
7364
7365         maint: refine the update-copyright rule
7366         * Makefile (update-copyright): Also exclude any file that includes
7367         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
7368         code that merely generates the comment.
7369
7370 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7371
7372         New module 'u8-grapheme-len'.
7373         * modules/unigbrk/u8-grapheme-len: New file.
7374         * modules/unigbrk/u8-grapheme-len-tests: New file.
7375         * lib/unigbrk.in.h: Add prototype for new function.
7376         * lib/unigbrk/u8-grapheme-len.c: New file.
7377         * tests/unigbrk/test-u8-grapheme-len.c: New file.
7378
7379         New module 'u16-grapheme-len'.
7380         * modules/unigbrk/u16-grapheme-len: New file.
7381         * modules/unigbrk/u16-grapheme-len-tests: New file.
7382         * lib/unigbrk.in.h: Add prototype for new function.
7383         * lib/unigbrk/u16-grapheme-len.c: New file.
7384         * tests/unigbrk/test-u16-grapheme-len.c: New file.
7385
7386         New module 'u32-grapheme-len'.
7387         * modules/unigbrk/u32-grapheme-len: New file.
7388         * modules/unigbrk/u32-grapheme-len-tests: New file.
7389         * lib/unigbrk.in.h: Add prototype for new function.
7390         * lib/unigbrk/u32-grapheme-len.c: New file.
7391         * tests/unigbrk/test-u32-grapheme-len.c: New file.
7392
7393         New module 'u8-grapheme-next'.
7394         * modules/unigbrk/u8-grapheme-next: New file.
7395         * modules/unigbrk/u8-grapheme-next-tests: New file.
7396         * lib/unigbrk.in.h: Add prototype for new function.
7397         * lib/unigbrk/u8-grapheme-next.c: New file.
7398         * tests/unigbrk/test-u8-grapheme-next.c: New file.
7399
7400         New module 'u16-grapheme-next'.
7401         * modules/unigbrk/u16-grapheme-next: New file.
7402         * modules/unigbrk/u16-grapheme-next-tests: New file.
7403         * lib/unigbrk.in.h: Add prototype for new function.
7404         * lib/unigbrk/u16-grapheme-next.c: New file.
7405         * tests/unigbrk/test-u16-grapheme-next.c: New file.
7406
7407         New module 'u32-grapheme-next'.
7408         * modules/unigbrk/u32-grapheme-next: New file.
7409         * modules/unigbrk/u32-grapheme-next-tests: New file.
7410         * lib/unigbrk.in.h: Add prototype for new function.
7411         * lib/unigbrk/u32-grapheme-next.c: New file.
7412         * tests/unigbrk/test-u32-grapheme-next.c: New file.
7413
7414         New module 'u8-grapheme-prev'.
7415         * modules/unigbrk/u8-grapheme-prev: New file.
7416         * modules/unigbrk/u8-grapheme-prev-tests: New file.
7417         * lib/unigbrk.in.h: Add prototype for new function.
7418         * lib/unigbrk/u8-grapheme-prev.c: New file.
7419         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
7420
7421         New module 'u16-grapheme-prev'.
7422         * modules/unigbrk/u16-grapheme-prev: New file.
7423         * modules/unigbrk/u16-grapheme-prev-tests: New file.
7424         * lib/unigbrk.in.h: Add prototype for new function.
7425         * lib/unigbrk/u16-grapheme-prev.c: New file.
7426         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
7427
7428         New module 'u32-grapheme-prev'.
7429         * modules/unigbrk/u32-grapheme-prev: New file.
7430         * modules/unigbrk/u32-grapheme-prev-tests: New file.
7431         * lib/unigbrk.in.h: Add prototype for new function.
7432         * lib/unigbrk/u32-grapheme-prev.c: New file.
7433         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
7434
7435         New module 'u8-grapheme-breaks'.
7436         * modules/unigbrk/u8-grapheme-breaks: New file.
7437         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
7438         * lib/unigbrk.in.h: Add prototype for new function.
7439         * lib/unigbrk/u8-grapheme-breaks.c: New file.
7440         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
7441
7442         New module 'u16-grapheme-breaks'.
7443         * modules/unigbrk/u16-grapheme-breaks: New file.
7444         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
7445         * lib/unigbrk.in.h: Add prototype for new function.
7446         * lib/unigbrk/u16-grapheme-breaks.c: New file.
7447         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
7448
7449         New module 'u32-grapheme-breaks'.
7450         * modules/unigbrk/u32-grapheme-breaks: New file.
7451         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
7452         * lib/unigbrk.in.h: Add prototype for new function.
7453         * lib/unigbrk/u32-grapheme-breaks.c: New file.
7454         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
7455
7456         New module 'ulc-grapheme-breaks'.
7457         * modules/unigbrk/ulc-grapheme-breaks: New file.
7458         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
7459         * m4/locale-ar.m4: New file.
7460         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
7461         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
7462         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
7463
7464 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
7465
7466         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
7467         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
7468         modified how this file was generated before I initially submitted
7469         the module, but failed to regenerate it.  This meant that several
7470         of the level2 entries were wrong.
7471         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
7472         Remove the division-by-2 that is folded into the table now that
7473         gbrkprop.h has been regenerated properly.  Now -1 entries are
7474         handled correctly.
7475
7476         New module 'unigbrk/uc-gbrk-prop-tests'.
7477         * modules/unigbrk/uc-gbrk-prop-tests: New file.
7478         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
7479         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
7480         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
7481
7482 2011-01-01  Bruno Haible  <bruno@clisp.org>
7483
7484         Avoid use of hexadecimal escapes.
7485         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
7486         instead of hexadecimal escapes.
7487
7488 2011-01-01  Jim Meyering  <meyering@redhat.com>
7489
7490         maint: new rule to update copyright year ranges
7491         * Makefile (update-copyright): New rule.
7492
7493         maint: indent with TABs in Makefile
7494         * Makefile: Expand leading sequences of spaces to TABs
7495
7496         version-etc: update the copyright year it reports
7497         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
7498
7499 2010-12-31  Bruno Haible  <bruno@clisp.org>
7500
7501         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
7502         * lib/isfinite.c (zerof, zerod, zerol): New variables.
7503         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
7504         zero.
7505
7506 2010-12-31  Bruno Haible  <bruno@clisp.org>
7507
7508         pwrite: Work around HP-UX 11.11 bug.
7509         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
7510         works and set REPLACE_PWRITE if not.
7511         * lib/pwrite.c (pwrite): Add an implementation that uses the system
7512         function.
7513         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
7514
7515 2010-12-31  Bruno Haible  <bruno@clisp.org>
7516
7517         pread: Work around HP-UX 11 bugs.
7518         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
7519         and set REPLACE_PREAD if not.
7520         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
7521
7522 2010-12-31  Eric Blake  <eblake@redhat.com>
7523
7524         nl_langinfo: fix YESEXPR on Irix 6.5
7525         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
7526         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
7527         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
7528         it.
7529
7530 2010-12-31  Bruno Haible  <bruno@clisp.org>
7531
7532         iconv: Document HP-UX 11 bug.
7533         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
7534
7535 2010-12-31  Bruno Haible  <bruno@clisp.org>
7536
7537         ldexpl: Fix link error on HP-UX 11.
7538         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
7539         LDEXPL_LIBM, using $ISNANL_LIBM.
7540
7541 2010-12-31  Eric Blake  <eblake@redhat.com>
7542
7543         ftello: avoid compilation failure with SunStudio c89
7544         * lib/ftello.c (ftello): Use lseek, not llseek.
7545
7546         tests: avoid failing coreutils tests on cygwin
7547         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
7548         (create_exe_shims_): Return 0 when skipping.
7549
7550 2010-12-31  Bruno Haible  <bruno@clisp.org>
7551
7552         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
7553         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
7554
7555 2010-12-31  Bruno Haible  <bruno@clisp.org>
7556
7557         waitpid: Fix link error in C++ mode.
7558         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
7559
7560 2010-12-31  Bruno Haible  <bruno@clisp.org>
7561
7562         isnan: Use GCC built-ins when possible.
7563         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
7564         __builtin_isnan.
7565         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
7566         (isnan): Define using GCC built-ins for GCC >= 4.0.
7567
7568 2010-12-31  Bruno Haible  <bruno@clisp.org>
7569
7570         isnand: Fix mistake.
7571         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
7572         __builtin_isnand.
7573
7574 2010-12-31  Bruno Haible  <bruno@clisp.org>
7575
7576         open: Avoid C++ error on HP-UX 11.
7577         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
7578
7579 2010-12-31  Bruno Haible  <bruno@clisp.org>
7580
7581         time_r: Add missing declarations on HP-UX 11.
7582         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
7583         instead of HAVE_LOCALTIME_R.
7584         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
7585         HAVE_LOCALTIME_R always.
7586         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
7587         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
7588         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
7589         HAVE_LOCALTIME_R.
7590         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
7591         * doc/posix-functions/localtime_r.texi: Likewise.
7592
7593 2010-12-29  Eric Blake  <eblake@redhat.com>
7594
7595         mountlist: tweak previous commit
7596         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
7597         Reported by Paul Eggert.
7598
7599         mountlist: fix local drive detection on cygwin
7600         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
7601         that works for cygwin.
7602
7603 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
7604
7605         ftoastr, snprintf: ftoastr + snprintf module
7606         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
7607         since the snprintf module now should be good enough here.
7608         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
7609         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
7610         and gl_MODULE_INDICATOR([snprintf]), but the former enables
7611         GNULIB_SNPRINTF only for the test directory, and the latter
7612         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
7613         seems to suffice by itself.
7614
7615 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
7616
7617         alloca: one step towards thread-safety
7618         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
7619         need for a static variable.  All callers changed.  This does not
7620         make the alloca replacement thread-safe, but it's one step.
7621
7622         tests: minor indenting change
7623         * tests/init.sh: Sync from coreutils housekeeping patch
7624         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
7625         to keep lines within 80 columns.
7626
7627 2010-12-28  Jim Meyering  <meyering@redhat.com>
7628
7629         regex: don't infloop on persistent failing calloc
7630         * lib/regexec.c (build_trtable): Return failure indication upon
7631         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
7632         In glibc, this was fixed for version 2.13:
7633         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
7634
7635 2010-12-28  Bruno Haible  <bruno@clisp.org>
7636             Paul Eggert <eggert@cs.ucla.edu>
7637
7638         linkat: Make implementation robust against system behaviour variations.
7639         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
7640         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
7641         way, and to -2 if it needs a generic runtime test.
7642         * lib/linkat.c (solaris_optimized_link_immediate,
7643         solaris_optimized_link_follow): New functions.
7644         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
7645         (check_same_link): Use it.
7646
7647 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
7648
7649         New module 'unigbrk/base'.
7650         * modules/unigbrk/base: New file.
7651         * lib/unigbrk.in.h: New file.
7652
7653         New module 'unigbrk/uc-gbrk-prop'.
7654         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
7655         * modules/unigbrk/uc-gbrk-prop: New file.
7656         * lib/unigbrk/gbrkprop.h: New file.
7657         * lib/unigbrk/uc-gbrk-prop.c: New file.
7658
7659         New module 'unigbrk/uc-is-grapheme-break'.
7660         * modules/unigbrk/uc-is-grapheme-break: New file.
7661         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
7662         * lib/unigbrk/uc-is-grapheme-break.c: New file.
7663         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
7664         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
7665         * tests/unigbrk/GraphemeBreakTest.txt: New file.
7666
7667         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
7668
7669 2010-12-27  Bruno Haible  <bruno@clisp.org>
7670
7671         linkat test: Avoid failure on Solaris 11 2010-11.
7672         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
7673
7674 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7675
7676         utimens: work around glibc rounding bug on more platforms
7677         * lib/utimens.c (fdutimens): Work around rounding bug even if
7678         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
7679         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
7680
7681 2010-12-27  Bruno Haible  <bruno@clisp.org>
7682
7683         select tests: Improve comments.
7684         * tests/test-select.c (do_select): Add comments.
7685
7686 2010-12-27  Bruno Haible  <bruno@clisp.org>
7687
7688         select tests: Safer way of handling timeout.
7689         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
7690         at every invocation.
7691
7692 2010-12-27  Bruno Haible  <bruno@clisp.org>
7693
7694         select tests: Use 'bool' where appropriate.
7695         * tests/test-select.c (connect_to_socket): Change argument type to
7696         'bool'.
7697
7698 2010-12-27  Bruno Haible  <bruno@clisp.org>
7699
7700         select tests: Use existing modules.
7701         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
7702         (configure.ac): Don't test for unistd.h.
7703         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
7704         declared in <unistd.h>.
7705
7706 2010-12-27  Bruno Haible  <bruno@clisp.org>
7707
7708         mbrtowc: Work around a Solaris 7 bug.
7709         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
7710         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
7711         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
7712         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
7713         MBRTOWC_NULL_ARG1_BUG.
7714         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
7715         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
7716         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
7717         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
7718
7719 2010-12-27  Jim Meyering  <meyering@redhat.com>
7720
7721         read-file.c: tweak syntax
7722         * lib/read-file.c (fread_file): Remove space after "*" in function
7723         definitions.
7724
7725 2010-12-27  Bruno Haible  <bruno@clisp.org>
7726
7727         times test: Avoid gcc warnings on OSF/1.
7728         * tests/test-times.c (main): Cast printf arguments from clock_t to
7729         'long int'.
7730
7731 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7732
7733         utimens: work around glibc rounding bug on older Linux kernels
7734         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
7735         on Linux with a glibc whose utimes might not work, then work
7736         around a longstanding glibc bug involving rounding rather than
7737         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
7738         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7739
7740 2010-12-26  Bruno Haible  <bruno@clisp.org>
7741
7742         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
7743         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
7744         _GL_CXXALIAS_SYS.
7745         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7746
7747 2010-12-26  Bruno Haible  <bruno@clisp.org>
7748
7749         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
7750         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
7751         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7752         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
7753         looking for the declaration.
7754         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7755         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
7756         problem.
7757         * doc/posix-functions/inet_pton.texi: Likewise.
7758
7759 2010-12-26  Bruno Haible  <bruno@clisp.org>
7760
7761         arpa_inet: Use the common idioms with C++ support.
7762         * lib/arpa_inet.in.h: Include c++defs.h.
7763         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
7764         support.
7765         * modules/arpa_inet (Depends-on): Add c++defs.
7766         (Makefile.am): Substitute the contents of c++defs.h.
7767         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
7768         * modules/arpa_inet-c++-tests: New file.
7769         * tests/test-arpa_inet-c++.cc: New file.
7770
7771 2010-12-25  Bruno Haible  <bruno@clisp.org>
7772
7773         Fix more C++ link errors on Solaris 8.
7774         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
7775         $(LIB_EACCESS).
7776         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
7777         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
7778         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
7779         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
7780         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
7781
7782 2010-12-25  Bruno Haible  <bruno@clisp.org>
7783
7784         printf-posix: Fix link error when a non-GCC compiler is used.
7785         * lib/stdio.in.h (printf): When not using GCC, override printf
7786         correctly.
7787         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7788
7789 2010-12-25  Bruno Haible  <bruno@clisp.org>
7790
7791         strerror_r-posix: Update doc.
7792         * doc/posix-functions/strerror_r.texi: Update doc about the return
7793         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
7794
7795 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7796
7797         utimens: simplify the logic of the previous change
7798         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
7799         This should not affect whether the test succeeds or fails.
7800
7801         utimens: configure better on hosts with NFS clock skew
7802         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
7803         uses the clock of the local host.  It might use the clock of the
7804         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
7805         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7806
7807 2010-12-25  Bruno Haible  <bruno@clisp.org>
7808
7809         ptsname test: Avoid failure on Solaris.
7810         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
7811         open a pseudo-terminal; don't use BSD-style ptys.
7812         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
7813
7814 2010-12-25  Bruno Haible  <bruno@clisp.org>
7815
7816         ptsname: Avoid ERANGE failure on some systems.
7817         * lib/ptsname.c (buffer): Increase size.
7818
7819 2010-12-25  Bruno Haible  <bruno@clisp.org>
7820
7821         rename, renameat: Avoid test failures at NFS mounted locations.
7822         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
7823         so that subsequent mkdir calls succeed.
7824
7825 2010-12-25  Bruno Haible  <bruno@clisp.org>
7826
7827         iswblank: Fix C++ link error on Solaris 8.
7828         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
7829         _GL_FUNCDECL_SYS.
7830
7831 2010-12-25  Bruno Haible  <bruno@clisp.org>
7832
7833         unistd: Fix C++ link error on Solaris 8.
7834         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
7835
7836 2010-12-25  Bruno Haible  <bruno@clisp.org>
7837
7838         readlink doc: Mention an old glibc bug.
7839         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
7840
7841 2010-12-25  Bruno Haible  <bruno@clisp.org>
7842
7843         fcntl-h: Fix for use of C++ on glibc systems.
7844         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7845         also on glibc systems in C++ mode.
7846         Reported by Gary V. Vaughan <gary@gnu.org>.
7847
7848 2010-12-25  Bruno Haible  <bruno@clisp.org>
7849
7850         roundl-ieee: Make it work on OSF/1 5.1 with cc.
7851         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
7852
7853 2010-12-25  Bruno Haible  <bruno@clisp.org>
7854
7855         truncl-ieee: Make it work on OSF/1 5.1 with cc.
7856         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
7857         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
7858         test whether truncl works according to ISO C 99 with IEC 60559.
7859         * m4/truncl-ieee.m4: New file.
7860         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
7861         m4/signbit.m4.
7862         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
7863
7864 2010-12-25  Bruno Haible  <bruno@clisp.org>
7865
7866         ceill-ieee: Make it work on OSF/1 5.1 with cc.
7867         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
7868         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
7869         test whether ceill works according to ISO C 99 with IEC 60559.
7870         * m4/ceill-ieee.m4: New file.
7871         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
7872         m4/signbit.m4.
7873         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
7874
7875 2010-12-25  Bruno Haible  <bruno@clisp.org>
7876
7877         Ensure all prerequisites of <wchar.h> are included.
7878         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
7879         before <wchar.h>.
7880         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
7881         gl_MBRLEN_NUL_RETVAL): Likewise.
7882         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
7883         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
7884         AC_FUNC_MBRTOWC): Likewise.
7885         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7886         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
7887         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7888         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
7889         Likewise.
7890         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7891         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
7892         (gl_WCHAR_H): Improve comments.
7893         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
7894
7895 2010-12-25  Bruno Haible  <bruno@clisp.org>
7896
7897         strtok_r: Fix C syntax error in autoconf macro.
7898         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
7899         characters in test program.
7900
7901 2010-12-24  Bruno Haible  <bruno@clisp.org>
7902
7903         ceil, trunc, round: Fix gcc warnings.
7904         * lib/ceil.c (MIN): Undefine before redefining.
7905         * lib/trunc.c (MIN): Likewise.
7906         * lib/round.c (MIN): Likewise.
7907         Include <math.h> first.
7908
7909 2010-12-24  Bruno Haible  <bruno@clisp.org>
7910
7911         select tests: Avoid failures on OSF/1 5.1.
7912         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
7913         failure of closing the last socket; it may fail with ECONNRESET.
7914
7915 2010-12-24  Eric Blake  <eblake@redhat.com>
7916
7917         stdint: avoid HP-UX 10.20 preprocessor bug
7918         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
7919         than #if.
7920         * tests/test-floor2.c (main): Likewise.
7921         Reported by Peter O'Gorman.
7922
7923         pipe: make obsoletion transition easier
7924         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
7925         * modules/pipe (Files): Include revived file.
7926         (Include): Drop reference, to mirror getdate's behavior.
7927
7928 2010-12-24  Bruno Haible  <bruno@clisp.org>
7929
7930         sys_socket: Hide mismatch of declarations on NonStop Kernel.
7931         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
7932         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
7933         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7934
7935 2010-12-24  Bruno Haible  <bruno@clisp.org>
7936
7937         gethostname: Ensure declaration on NonStop Kernel.
7938         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
7939         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7940
7941 2010-12-24  Bruno Haible  <bruno@clisp.org>
7942
7943         sys_select: Ensure all necessary types on NonStop Kernel.
7944         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
7945         include <sys/time.h>.
7946         * doc/posix-headers/sys_select.texi: Mention that it's missing on
7947         NonStop Kernel.
7948         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7949
7950 2010-12-24  Bruno Haible  <bruno@clisp.org>
7951
7952         sys_select: Remove unneeded include.
7953         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
7954         have <sys/select.h>.
7955
7956 2010-12-24  Bruno Haible  <bruno@clisp.org>
7957
7958         gethostname: Provide a fallback for HOST_NAME_MAX.
7959         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
7960         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
7961         instead.
7962         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7963
7964 2010-12-24  Bruno Haible  <bruno@clisp.org>
7965
7966         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
7967         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
7968         (SA_RESTART): Likewise.
7969         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7970
7971 2010-12-24  Bruno Haible  <bruno@clisp.org>
7972
7973         signal: Define NSIG.
7974         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
7975         * tests/test-signal.c (nsig): New variable.
7976         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7977
7978 2010-12-24  Bruno Haible  <bruno@clisp.org>
7979
7980         rename, renameat: Avoid test failures on OSF/1 5.1.
7981         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
7982         alternative error codes.
7983         * tests/test-renameat.c (main): Likewise.
7984
7985 2010-12-24  Bruno Haible  <bruno@clisp.org>
7986
7987         *printf: Detect large precisions bug on Solaris 10/SPARC.
7988         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
7989         by Paul Eggert.
7990         * tests/test-snprintf-posix.h (test_function): Add this test code here
7991         too.
7992         * tests/test-sprintf-posix.h (test_function): Likewise.
7993         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7994         * tests/test-vasprintf-posix.c (test_function): Likewise.
7995         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
7996         around by gnulib.
7997         * doc/posix-functions/printf.texi: Likewise.
7998         * doc/posix-functions/snprintf.texi: Likewise.
7999         * doc/posix-functions/sprintf.texi: Likewise.
8000         * doc/posix-functions/vfprintf.texi: Likewise.
8001         * doc/posix-functions/vprintf.texi: Likewise.
8002         * doc/posix-functions/vsnprintf.texi: Likewise.
8003         * doc/posix-functions/vsprintf.texi: Likewise.
8004         * doc/posix-functions/dprintf.texi: Undo last commit.
8005         * doc/posix-functions/vdprintf.texi: Likewise.
8006
8007 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
8008
8009         tests: port test-fdutimensat.c to Solaris 8
8010         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
8011         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
8012         On Solaris 8, it fails with errno == ENOSYS, because there is no
8013         futimens (so it can't use the fd), and there is no lutimens (so it
8014         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
8015
8016         vsnprintf: make more consistent with snprintf; doc fixes
8017
8018         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
8019         the byte count return problem was promoted from the snprintf-posix
8020         to the snprintf module.
8021         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8022         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
8023         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
8024         * tests/test-snprintf.c (main): Check the byte count returned.
8025         * tests/test-vsnprintf.c (main): Likewise.
8026
8027 2010-12-23  Eric Blake  <eblake@redhat.com>
8028
8029         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
8030         * modules/sigpipe (License): Relax license.
8031
8032 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8033
8034         doc: document Solaris printf bug with large float precisions
8035         * doc/posix-functions/dprintf.texi (dprintf):
8036         * doc/posix-functions/fprintf.texi (fprintf):
8037         * doc/posix-functions/printf.texi (printf):
8038         * doc/posix-functions/snprintf.texi (snprintf):
8039         * doc/posix-functions/sprintf.texi (sprintf):
8040         * doc/posix-functions/vdprintf.texi (vdprintf):
8041         * doc/posix-functions/vfprintf.texi (vfprintf):
8042         * doc/posix-functions/vprintf.texi (vprintf):
8043         * doc/posix-functions/vsnprintf.texi (vsnprintf):
8044         * doc/posix-functions/vsprintf.texi (vsprintf):
8045         Mention that these functions mishandle large floating point
8046         precisions on Solaris 10.  The same bug is also present in Solaris
8047         8, and I assume earlier.  This causes "cd gnulib-tests; make
8048         check" to fail on Solaris 8 (and I assume, later) when building
8049         the latest coreutils, in test-vasprintf-posix's call to
8050         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
8051         the wide flavors (e.g., wprintf) so this patch just updates the
8052         documentation for the narrow ones.
8053
8054         test-posixtm.c: add two tests
8055         * tests/test-posixtm.c: Add two tests, to highlight the
8056         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
8057         around this bug; this is merely to document it.
8058
8059 2010-12-22  Bruno Haible  <bruno@clisp.org>
8060
8061         getlogin_r: Work around portability problem on OSF/1.
8062         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
8063         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
8064         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
8065         test for a truncated result.
8066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
8067         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
8068         * modules/getlogin_r (Depends-on): Add memchr.
8069         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
8070
8071 2010-12-22  Bruno Haible  <bruno@clisp.org>
8072
8073         ptsname: Avoid test failure on OSF/1 5.1.
8074         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
8075         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
8076         (same_slave): New function.
8077         (main): Use it to compare ptsname's result with the expected file name.
8078
8079 2010-12-22  Bruno Haible  <bruno@clisp.org>
8080
8081         Port extended stdio modules to HP NonStop Kernel.
8082         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
8083         macros.
8084         * lib/fbufmode.c: Update comments.
8085         * lib/fflush.c: Likewise.
8086         * lib/fpurge.c: Likewise.
8087         * lib/freadable.c: Likewise.
8088         * lib/freadahead.c: Likewise.
8089         * lib/freading.c: Likewise.
8090         * lib/freadptr.c: Likewise.
8091         * lib/freadseek.c: Likewise.
8092         * lib/fseeko.c: Likewise.
8093         * lib/fseterr.c: Likewise.
8094         * lib/fwritable.c: Likewise.
8095         * lib/fwriting.c: Likewise.
8096         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
8097
8098 2010-12-22  Bruno Haible  <bruno@clisp.org>
8099
8100         ttyname_r: Work around bug on OSF/1 5.1.
8101         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
8102         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
8103         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
8104         present.
8105         * lib/ttyname_r.c (ttyname_r): Update comments.
8106
8107 2010-12-22  Bruno Haible  <bruno@clisp.org>
8108
8109         round: Implement result sign according to IEEE 754.
8110         * lib/round.c (MIN, MINUS_ZERO): New macros.
8111         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
8112         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
8113         * tests/test-round-ieee.c (main): Likewise.
8114         * tests/test-roundl-ieee.c (main): Likewise.
8115
8116         trunc: Implement result sign according to IEEE 754.
8117         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
8118         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
8119         * tests/test-trunc2.c: Include minus-zero.h.
8120         (MINUS_ZERO): New macro.
8121         (trunc_reference): Keep in sync with lib/trunc.c.
8122         * tests/test-truncf2.c: Include minus-zero.h.
8123         (MINUS_ZERO): New macro.
8124         (truncf_reference): Keep in sync with lib/trunc.c.
8125         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
8126         * tests/test-trunc-ieee.c (main): Likewise.
8127         * tests/test-truncl-ieee.c (main): Likewise.
8128
8129         ceil: Implement result sign according to IEEE 754.
8130         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
8131         (FUNC): Return -0.0 for -1 < x < 0.
8132         * tests/test-ceil2.c: Include minus-zero.h.
8133         (MINUS_ZERO): New macro.
8134         (ceil_reference): Keep in sync with lib/ceil.c.
8135         * tests/test-ceilf2.c: Include minus-zero.h.
8136         (MINUS_ZERO): New macro.
8137         (ceilf_reference): Keep in sync with lib/ceil.c.
8138         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
8139         * tests/test-ceil-ieee.c (main): Likewise.
8140         * tests/test-ceill-ieee.c (main): Likewise.
8141
8142         floor: Implement result sign according to IEEE 754.
8143         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
8144         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
8145         * tests/test-floorf2.c (floorf_reference): Likewise.
8146         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
8147         * tests/test-floor-ieee.c (main): Likewise.
8148         * tests/test-floorl-ieee.c (main): Likewise.
8149
8150 2010-12-22  Bruno Haible  <bruno@clisp.org>
8151
8152         getaddrinfo: Update doc.
8153         * doc/posix-functions/gai_strerror.texi: Return type is also different
8154         on AIX and HP-UX.
8155
8156 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8157
8158         getaddrinfo, inet_ntop: Update doc for Solaris.
8159         * doc/posix-functions/gai_strerror.texi: Return type is also an
8160         issue on Solaris 9 and earlier.
8161         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
8162         on Solaris 10 and earlier.
8163
8164 2010-12-21  Bruno Haible  <bruno@clisp.org>
8165
8166         New module 'roundl-ieee'.
8167         * modules/roundl-ieee: New file.
8168         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
8169         test whether roundl works according to ISO C 99 with IEC 60559.
8170         * m4/roundl-ieee.m4: New file.
8171         * modules/roundl-ieee-tests: New file.
8172         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
8173         * tests/test-roundl.c (main): Remove signbit tests.
8174         * modules/roundl-tests (Depends-on): Remove signbit.
8175         * doc/posix-functions/roundl.texi: Mention the new module.
8176
8177 2010-12-21  Bruno Haible  <bruno@clisp.org>
8178
8179         New module 'truncl-ieee'.
8180         * modules/truncl-ieee: New file.
8181         * modules/truncl-ieee-tests: New file.
8182         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
8183         * tests/test-truncl.c (main): Remove signbit tests.
8184         * modules/truncl-tests (Depends-on): Remove signbit.
8185         * doc/posix-functions/truncl.texi: Mention the new module.
8186
8187 2010-12-21  Bruno Haible  <bruno@clisp.org>
8188
8189         New module 'ceill-ieee'.
8190         * modules/ceill-ieee: New file.
8191         * modules/ceill-ieee-tests: New file.
8192         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
8193         * tests/test-ceill.c (main): Remove signbit tests.
8194         * modules/ceill-tests (Depends-on): Remove signbit.
8195         * doc/posix-functions/ceill.texi: Mention the new module.
8196
8197 2010-12-21  Bruno Haible  <bruno@clisp.org>
8198
8199         New module 'floorl-ieee'.
8200         * modules/floorl-ieee: New file.
8201         * modules/floorl-ieee-tests: New file.
8202         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
8203         * tests/test-floorl.c (main): Remove signbit tests.
8204         * modules/floorl-tests (Depends-on): Remove signbit.
8205         * doc/posix-functions/floorl.texi: Mention the new module.
8206
8207 2010-12-21  Bruno Haible  <bruno@clisp.org>
8208
8209         New module 'round-ieee'.
8210         * modules/round-ieee: New file.
8211         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
8212         whether round works according to ISO C 99 with IEC 60559.
8213         * m4/round-ieee.m4: New file.
8214         * modules/round-ieee-tests: New file.
8215         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
8216         * tests/test-round1.c (main): Remove signbit tests.
8217         * modules/round-tests (Depends-on): Remove 'signbit'.
8218         * doc/posix-functions/round.texi: Mention the new module.
8219
8220 2010-12-21  Bruno Haible  <bruno@clisp.org>
8221
8222         New module 'trunc-ieee'.
8223         * modules/trunc-ieee: New file.
8224         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
8225         whether trunc works according to ISO C 99 with IEC 60559.
8226         * m4/trunc-ieee.m4: New file.
8227         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
8228         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
8229         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
8230         * modules/trunc-ieee-tests: New file.
8231         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
8232         * tests/test-trunc1.c (main): Remove signbit tests.
8233         * modules/trunc-tests (Depends-on): Remove 'signbit'.
8234         * doc/posix-functions/trunc.texi: Mention the new module.
8235
8236 2010-12-21  Bruno Haible  <bruno@clisp.org>
8237
8238         New module 'ceil-ieee'.
8239         * modules/ceil-ieee: New file.
8240         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
8241         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
8242         ISO C 99 with IEC 60559.
8243         * m4/ceil-ieee.m4: New file.
8244         * modules/ceil (Files): Add lib/ceil.c.
8245         (Depends-on): Add 'float'.
8246         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8247         * lib/math.in.h (ceil): New declaration.
8248         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
8249         REPLACE_CEIL.
8250         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
8251         * modules/ceil-ieee-tests: New file.
8252         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
8253         * tests/test-math-c++.cc: Check the signature of 'ceil'.
8254         * doc/posix-functions/ceil.texi: Mention the new module.
8255
8256 2010-12-21  Bruno Haible  <bruno@clisp.org>
8257
8258         New module 'floor-ieee'.
8259         * modules/floor-ieee: New file.
8260         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
8261         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
8262         ISO C 99 with IEC 60559.
8263         * m4/floor-ieee.m4: New file.
8264         * modules/floor (Files): Add lib/floor.c.
8265         (Depends-on): Add 'float'.
8266         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
8267         * lib/math.in.h (floor): New declaration.
8268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
8269         REPLACE_FLOOR.
8270         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
8271         * modules/floor-ieee-tests: New file.
8272         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
8273         * tests/test-math-c++.cc: Check the signature of 'floor'.
8274         * doc/posix-functions/floor.texi: Mention the new module.
8275
8276 2010-12-21  Bruno Haible  <bruno@clisp.org>
8277
8278         New module 'roundf-ieee'.
8279         * modules/roundf-ieee: New file.
8280         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
8281         test whether roundf works according to ISO C 99 with IEC 60559.
8282         * m4/roundf-ieee.m4: New file.
8283         * modules/roundf-ieee-tests: New file.
8284         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
8285         * tests/test-roundf1.c (main): Remove signbit tests.
8286         * modules/roundf-tests (Depends-on): Remove 'signbit'.
8287         * doc/posix-functions/roundf.texi: Mention the new module.
8288
8289 2010-12-21  Bruno Haible  <bruno@clisp.org>
8290
8291         New module 'truncf-ieee'.
8292         * modules/truncf-ieee: New file.
8293         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
8294         test whether truncf works according to ISO C 99 with IEC 60559.
8295         * m4/truncf-ieee.m4: New file.
8296         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
8297         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
8298         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
8299         * modules/truncf-ieee-tests: New file.
8300         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
8301         * tests/test-truncf1.c (main): Remove signbit tests.
8302         * modules/truncf-tests (Depends-on): Remove 'signbit'.
8303         * doc/posix-functions/truncf.texi: Mention the new module.
8304
8305 2010-12-21  Bruno Haible  <bruno@clisp.org>
8306
8307         New module 'ceilf-ieee'.
8308         * modules/ceilf-ieee: New file.
8309         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
8310         test whether ceilf works according to ISO C 99 with IEC 60559.
8311         * m4/ceilf-ieee.m4: New file.
8312         * modules/ceilf-ieee-tests: New file.
8313         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
8314         * tests/test-ceilf1.c (main): Remove signbit tests.
8315         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
8316         * doc/posix-functions/ceilf.texi: Mention the new module.
8317
8318 2010-12-21  Bruno Haible  <bruno@clisp.org>
8319
8320         New module 'floorf-ieee'.
8321         * modules/floorf-ieee: New file.
8322         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
8323         test whether floorf works according to ISO C 99 with IEC 60559.
8324         * m4/floorf-ieee.m4: New file.
8325         * modules/floorf-ieee-tests: New file.
8326         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
8327         * tests/test-floorf1.c (main): Remove signbit tests.
8328         * modules/floorf-tests (Depends-on): Remove 'signbit'.
8329         * doc/posix-functions/floorf.texi: Mention the new module.
8330
8331 2010-12-21  Bruno Haible  <bruno@clisp.org>
8332
8333         Support for minus zero in autoconf macros.
8334         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
8335         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
8336         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
8337         * tests/minus-zero.h: Update comments.
8338
8339 2010-12-21  Bruno Haible  <bruno@clisp.org>
8340
8341         Tests for module 'ceil'.
8342         * modules/ceil-tests: New file.
8343         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
8344         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
8345
8346 2010-12-21  Bruno Haible  <bruno@clisp.org>
8347
8348         Tests for module 'floor'.
8349         * modules/floor-tests: New file.
8350         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
8351         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
8352
8353 2010-12-21  Bruno Haible  <bruno@clisp.org>
8354
8355         math: Fix indentation.
8356         * lib/math.in.h (floorf): Fix indentation.
8357
8358 2010-12-21  Bruno Haible  <bruno@clisp.org>
8359
8360         Fix cross-compilation guesses on Solaris.
8361         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
8362         not match "solaris2.10".
8363         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8364         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
8365         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
8366
8367 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
8368
8369         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
8370         This fixes a problem observed with the latest coreutils snapshot
8371         that caused a test to fail on Solaris 8.  src/csplit.c's call
8372         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
8373         earlier, instead of returning the number of bytes that would have
8374         been generated; this causes csplit to incorrectly report memory
8375         exhaustion.
8376         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
8377         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
8378         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
8379         comments to match.
8380         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
8381         Fix typo in matching older versions of Solaris: "solaris2.10"
8382         is matched by the shell pattern "solaris2.[0-9]*".  This matters
8383         only for guessing while cross-compiling.
8384         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
8385
8386 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
8387
8388         ftoastr: fix comment again
8389         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8390         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
8391         Also, simplify example a bit by using flags = 0.
8392
8393 2010-12-20  Bruno Haible  <bruno@clisp.org>
8394
8395         round*, trunc*: Update documentation regarding glibc.
8396         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
8397         * doc/posix-functions/round.texi: Likewise.
8398         * doc/posix-functions/roundl.texi: Likewise.
8399         * doc/posix-functions/truncf.texi: Likewise.
8400         * doc/posix-functions/trunc.texi: Likewise.
8401         * doc/posix-functions/truncl.texi: Likewise.
8402
8403 2010-12-20  Bruno Haible  <bruno@clisp.org>
8404
8405         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
8406         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
8407         * doc/posix-functions/round.texi: Likewise.
8408         * doc/posix-functions/roundl.texi: Likewise.
8409
8410 2010-12-20  Bruno Haible  <bruno@clisp.org>
8411
8412         ttyname_r: Add missing declaration on HP-UX 11.
8413         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
8414         HAVE_TTYNAME_R.
8415         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
8416         declared. Set HAVE_TTYNAME_R always.
8417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8418         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
8419         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
8420         HAVE_TTYNAME_R.
8421         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
8422
8423 2010-12-20  Bruno Haible  <bruno@clisp.org>
8424
8425         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
8426         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
8427         * doc/posix-functions/getlogin_r.texi: Likewise.
8428         * tests/test-getlogin.c: Include <errno.h>.
8429         (main): Avoid test failure on HP-UX 11.11.
8430         * tests/test-getlogin_r.c (main): Likewise.
8431
8432 2010-12-20  Bruno Haible  <bruno@clisp.org>
8433
8434         getlogin_r: Add missing declaration on HP-UX 11.
8435         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
8436         declared also when it exists as a function.
8437         * doc/posix-functions/getlogin_r.texi: Document this workaround.
8438
8439 2010-12-20  Bruno Haible  <bruno@clisp.org>
8440
8441         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
8442         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
8443         through wcrtomb.
8444
8445 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
8446
8447         ftoastr: fix comment
8448         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
8449         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
8450
8451 2010-12-19  Bruno Haible  <bruno@clisp.org>
8452
8453         isnan: Ensure it is a macro.
8454         * lib/math.in.h (isnan): Define as a macro if not already a macro.
8455         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
8456         Solaris.
8457
8458 2010-12-19  Bruno Haible  <bruno@clisp.org>
8459
8460         ldexpl test: Fix link error on OSF/1 5.1.
8461         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
8462
8463 2010-12-19  Bruno Haible  <bruno@clisp.org>
8464
8465         wctype: Make it work in C++ mode on OSF/1 5.1.
8466         * lib/wctype.in.h (iswblank): Declare but not define here.
8467         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
8468         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
8469         * modules/wctype (Files): Add lib/iswblank.c.
8470
8471 2010-12-19  Bruno Haible  <bruno@clisp.org>
8472
8473         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
8474         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
8475         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
8476
8477 2010-12-19  Bruno Haible  <bruno@clisp.org>
8478
8479         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
8480         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
8481         _POSIX_PII_SOCKET.
8482         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
8483         * doc/posix-functions/recvfrom.texi: Likewise.
8484         * doc/posix-functions/send.texi: Likewise.
8485         * doc/posix-functions/sendto.texi: Likewise.
8486
8487 2010-12-19  Bruno Haible  <bruno@clisp.org>
8488
8489         tcgetsid: Add missing declaration on OSF/1 5.1.
8490         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
8491         HAVE_TCGETSID.
8492         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
8493         Don't set HAVE_TCGETSID.
8494         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
8495         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
8496         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
8497         HAVE_TCGETSID.
8498         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
8499
8500 2010-12-19  Bruno Haible  <bruno@clisp.org>
8501
8502         stdio: Fix problem with popen() declaration on OSF/1 5.1.
8503         * lib/stdio.in.h: During the include_next statement, let recursive
8504         includes of this file include only the system header file.
8505
8506 2010-12-19  Bruno Haible  <bruno@clisp.org>
8507
8508         iconv_open: Fix regression from 2010-12-04.
8509         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
8510         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
8511
8512 2010-12-19  Bruno Haible  <bruno@clisp.org>
8513
8514         stdbool test: Avoid a gcc warning.
8515         * tests/test-stdbool.c (main): Fail if e1 is false.
8516         Reported by Jim Meyering.
8517
8518 2010-12-19  Jim Meyering  <meyering@redhat.com>
8519
8520         setenv: restore to working order
8521         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
8522         mistakenly removed.
8523         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
8524         HAVE_SETENV.
8525         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
8526         HAVE_SETENV.
8527
8528 2010-12-19  Bruno Haible  <bruno@clisp.org>
8529
8530         Document some different function declarations on OSF/1 5.1.
8531         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
8532         * doc/posix-functions/inet_ntop.texi: Likewise.
8533         * doc/posix-functions/gethostname.texi: Likewise.
8534         * lib/unistd.in.h (gethostname): Update comment.
8535
8536 2010-12-19  Bruno Haible  <bruno@clisp.org>
8537
8538         doc: Mention vasprintf-posix module.
8539         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
8540         the 'vasprintf-posix' module.
8541         * doc/glibc-functions/vasprintf.texi: Likewise.
8542
8543 2010-12-19  Bruno Haible  <bruno@clisp.org>
8544
8545         unsetenv: Add missing declaration on OSF/1 5.1.
8546         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
8547         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
8548         Don't set HAVE_UNSETENV. In the test program, set _BSD.
8549         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
8550         not HAVE_UNSETENV.
8551         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
8552         HAVE_UNSETENV.
8553         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
8554
8555 2010-12-19  Bruno Haible  <bruno@clisp.org>
8556
8557         setenv: Add missing declaration on OSF/1 5.1.
8558         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
8559         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
8560         declared. Don't set HAVE_SETENV.
8561         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
8562         not HAVE_SETENV.
8563         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
8564         HAVE_SETENV.
8565         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
8566
8567 2010-12-19  Bruno Haible  <bruno@clisp.org>
8568
8569         nl_langinfo tests: Avoid gcc warning.
8570         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
8571
8572 2010-12-19  Bruno Haible  <bruno@clisp.org>
8573
8574         mknod: Avoid error in C++ mode on OSF/1 with GCC.
8575         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
8576         _GL_CXXALIAS_SYS.
8577
8578 2010-12-19  Bruno Haible  <bruno@clisp.org>
8579
8580         stdbool: Relax test.
8581         * tests/test-stdbool.c (e): Don't require that casts from a variable's
8582         address to 'bool' work in static initializer, for compilers other than
8583         GCC.
8584
8585 2010-12-19  Bruno Haible  <bruno@clisp.org>
8586
8587         ftello: Add missing declaration on OSF/1 5.1.
8588         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
8589         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
8590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
8591         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
8592         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
8593
8594 2010-12-19  Bruno Haible  <bruno@clisp.org>
8595
8596         fseeko: Add missing declaration on OSF/1 5.1.
8597         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
8598         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
8599         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
8600         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
8601         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
8602
8603 2010-12-19  Bruno Haible  <bruno@clisp.org>
8604
8605         fchdir: Add missing declaration on OSF/1 5.1.
8606         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
8607         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
8608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
8609         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
8610         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
8611
8612 2010-12-19  Bruno Haible  <bruno@clisp.org>
8613
8614         relocatable-prog-wrapper: Separate from relocatable-prog.
8615         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
8616         uninstall-relocwrapper rule here.
8617         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
8618         Reported by Ian Beckwith <ianb@erislabs.net>.
8619
8620 2010-12-19  Bruno Haible  <bruno@clisp.org>
8621
8622         unistr/u8-mbsnlen: Add missing dependency.
8623         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
8624         Reported by Ian Beckwith <ianb@erislabs.net>.
8625
8626 2010-12-19  Bruno Haible  <bruno@clisp.org>
8627
8628         iconv: Make it possible again to use this module without 'iconv-h'.
8629         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
8630         if it is not defined.
8631         Reported by Ian Beckwith <ianb@erislabs.net>.
8632
8633 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8634
8635         acl: port to Solaris 8 when copying from tmpfs to ufs
8636         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
8637         error number.  Problem observed on Solaris 8 with latest
8638         coreutils, with "mv A B", where A is on a tmpfs file system and B
8639         is on a ufs file system.  This caused coreutils' mv/part-symlink
8640         test to fail.
8641
8642         tests: set fail=0 at start
8643         * tests/init.sh (setup_): Move fail=0 initialization here ...
8644         (mktempd_): ... from here, so that tests can rely on fail being
8645         set to 0 initially.  This fixes a problem in coreutils; see:
8646         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
8647
8648 2010-12-18  Bruno Haible  <bruno@clisp.org>
8649
8650         memmem-simple: Stylistic changes.
8651         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
8652         Fix preprocessor directive indentation.
8653
8654 2010-12-15  Pádraig Brady <P@draigBrady.com>
8655
8656         memmem, memmem-simple: reorganize and expand empty needle check
8657         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
8658         functional checks to memmem-simple so that one has a fully functional
8659         memmem by using just this module.
8660         Restrict the performance only check to the memmem module.
8661         Also expand the empty needle check to ensure the correct
8662         pointer is returned, not just a non NULL pointer.
8663         * doc/glibc-functions/memmem.texi: Rearrange the portability
8664         documentation to correlate with the rearranged checks.
8665         Clarify exactly how the memmem and memmem-simple modules
8666         relate to each other.
8667
8668 2010-12-15  Pádraig Brady <P@draigBrady.com>
8669             Bruno Haible  <bruno@clisp.org>
8670
8671         Improve cross-compilation guesses for uClibc.
8672         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
8673         that uClibc does not have the glibc bug.
8674         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
8675         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
8676
8677 2010-12-14  Eric Blake  <eblake@redhat.com>
8678
8679         configmake: provide fallbacks for oldest supported autotools
8680         * m4/configmake.m4: New file.
8681         * modules/configmake (Files): Ship it.
8682         (configure.ac): Use it to guarantee fallbacks.
8683
8684 2010-12-13  Pádraig Brady <P@draigBrady.com>
8685
8686         read-file: Improve handling of large files
8687         * lib/read-file.c (fread_file): Minimize realloc()s
8688         for regular files, and better manage sizes around SIZE_MAX.
8689
8690 2010-12-13  Eric Blake  <eblake@redhat.com>
8691
8692         cloexec, fcntl: relax license
8693         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
8694         consent from all contributors.
8695         * modules/fcntl (License): Likewise.
8696
8697 2010-12-10  Bruno Haible  <bruno@clisp.org>
8698
8699         Tests for module 'pipe-posix'.
8700         * modules/pipe-posix-tests: New file.
8701         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
8702
8703 2010-12-10  Bruno Haible  <bruno@clisp.org>
8704
8705         pipe-posix: Make it work in C++ mode.
8706         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
8707         (pipe): Use common idiom, not a macro definition.
8708         * lib/pipe.c: New file.
8709         * m4/pipe.m4: New file.
8710         * modules/pipe-posix (Description): Enhance.
8711         (Files): Add lib/pipe.c, m4/pipe.m4.
8712         (configure.ac): Invoke gl_FUNC_PIPE.
8713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
8714         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
8715         * tests/test-unistd-c++.cc: Check the signature of pipe.
8716
8717 2010-12-10  Bruno Haible  <bruno@clisp.org>
8718
8719         Rename module 'pipe' to 'spawn-pipe'.
8720         * modules/spawn-pipe: New file, renamed from modules/pipe.
8721         (Files, configure.ac, Makefile.am): Update.
8722         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
8723         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
8724         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
8725         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
8726         "spawn-pipe.h" instead of "pipe.h".
8727         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
8728         to gl_SPAWN_PIPE.
8729         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
8730         (Files, Makefile.am): Update.
8731         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
8732         Update.
8733         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
8734         Include "spawn-pipe.h" instead of "pipe.h".
8735         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
8736         * lib/javacomp.c: Likewise.
8737         * lib/javaversion.c: Likewise.
8738         * lib/pipe-filter-gi.c: Likewise.
8739         * lib/pipe-filter-ii.c: Likewise.
8740         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
8741         * modules/javacomp (Depends-on): Likewise.
8742         * modules/javaversion (Depends-on): Likewise.
8743         * modules/pipe-filter-gi (Depends-on): Likewise.
8744         * modules/pipe-filter-ii (Depends-on): Likewise.
8745         * MODULES.html.sh (Executing programs): Update.
8746         * NEWS: Mention the change.
8747
8748 2010-12-10  Eric Blake  <eblake@redhat.com>
8749
8750         pipe-posix: new module
8751         * modules/pipe-posix: New file.
8752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
8753         (gl_UNISTD_H): Check for declaration.
8754         * modules/unistd (Makefile.am): Substitute it.
8755         * lib/unistd.in.h (pipe): Provide it for mingw.
8756         * doc/posix-functions/pipe.texi (pipe): Update documentation.
8757         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
8758
8759 2010-12-07  Bruno Haible  <bruno@clisp.org>
8760
8761         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
8762         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
8763         u8_strcmp_gnu.
8764         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
8765
8766 2010-12-06  Bruno Haible  <bruno@clisp.org>
8767
8768         Update internal documentation.
8769         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
8770
8771 2010-12-04  Bruno Haible  <bruno@clisp.org>
8772
8773         Put more information about failed tests into the test return codes.
8774         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
8775         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
8776         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8777         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8778         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
8779         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8780         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8781         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8782         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
8783         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8784         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
8785         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8786         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8787         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8788         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
8789         returns a bit mask.
8790         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
8791         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
8792         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
8793         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
8794         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8795         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8796         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8797         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8798         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8799         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8800         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8801         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8802         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8803         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8804         * m4/link.m4 (gl_FUNC_LINK): Likewise.
8805         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
8806         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
8807         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
8808         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8809         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
8810         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8811         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
8812         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
8813         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
8814         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8815         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8816         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
8817         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8818         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8819         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
8820         gl_PRINTF_PRECISION): Likewise.
8821         * m4/regex.m4 (gl_REGEX): Likewise.
8822         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
8823         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8824         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
8825         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8826         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8827         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8828         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
8829         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
8830         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
8831         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8832         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
8833         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8834         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8835         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
8836         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8837         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8838         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
8839         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8840         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8841         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
8842         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
8843         enumerated value.
8844         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
8845
8846 2010-12-04  Bruno Haible  <bruno@clisp.org>
8847
8848         Update for Solaris 11 2010-11.
8849         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
8850         Express, released in November 2010.
8851
8852 2010-12-04  Bruno Haible  <bruno@clisp.org>
8853
8854         nproc: Relax license.
8855         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
8856         and Paul Eggert.
8857         Requested by Ludovic Courtès <ludo@gnu.org>.
8858
8859 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
8860
8861         utimecmp: fine-grained src to nearby coarse-grained dest
8862
8863         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
8864         and the source is on a file system with higher-resolution time
8865         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
8866         not work, and the time stamps are close together, the algorithm to
8867         determine the exact resolution from the read-back mtime was buggy:
8868         it had a "!=" where it should have had an "==".  This bug has been
8869         in the code ever since it was introduced to gnulib.
8870         Problem reported by Dan Jacobson in
8871         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
8872
8873 2010-11-30  Bruno Haible  <bruno@clisp.org>
8874
8875         strerror_r-posix: Fix autoconf test.
8876         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
8877
8878 2010-11-28  Bruno Haible  <bruno@clisp.org>
8879             Paul Eggert  <eggert@cs.ucla.edu>
8880
8881         Tests for module 'getdomainname'.
8882         * modules/getdomainname-tests: New file.
8883         * tests/test-getdomainname.c: New file, based on
8884         tests/test-gethostname.c.
8885
8886 2010-11-28  Bruno Haible  <bruno@clisp.org>
8887             Paul Eggert  <eggert@cs.ucla.edu>
8888
8889         getdomainname: Use the system function when possible.
8890         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
8891         (getdomainname): Replace if needed. Provide the declaration if it is
8892         missing. Don't use _GL_CXXALIAS_SYS_CAST.
8893         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
8894         (getdomainname): When the system has getdomainname, call the system
8895         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
8896         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
8897         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
8898         found in libnsl. Look for the declaration also in <netdb.h>. Replace
8899         the function if its second argument is of type 'int' or if it is found
8900         in libnsl.
8901         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
8902         <sys/systeminfo.h> and sysinfo().
8903         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
8904         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8905         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
8906         HAVE_GETDOMAINNAME.
8907         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
8908         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
8909         * doc/glibc-functions/getdomainname.texi: Document the problems with
8910         the getdomainname declaration.
8911
8912 2010-11-28  Bruno Haible  <bruno@clisp.org>
8913
8914         sys_socket: Ensure ss_family field on AIX.
8915         * lib/sys_socket.in.h (ss_family): New macro definition.
8916         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
8917         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
8918         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
8919         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8920         * modules/sys_socket (Makefile.am): Substitute
8921         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8922         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
8923
8924 2010-11-27  Bruno Haible  <bruno@clisp.org>
8925
8926         readline: Improve configure output.
8927         * m4/readline.m4 (gl_FUNC_READLINE): Make the
8928         "checking for readline..." result understandable.
8929
8930 2010-11-27  Bruno Haible  <bruno@clisp.org>
8931
8932         *printf-posix: Detect a bug on Solaris 10/x86.
8933         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
8934         for floating-point output.
8935         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
8936         directive.
8937         * tests/test-snprintf-posix.h (test_function): Likewise.
8938         * tests/test-sprintf-posix.h (test_function): Likewise.
8939         * tests/test-vasprintf-posix.c (test_function): Likewise.
8940         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
8941         * doc/posix-functions/printf.texi: Likewise.
8942         * doc/posix-functions/snprintf.texi: Likewise.
8943         * doc/posix-functions/sprintf.texi: Likewise.
8944         * doc/posix-functions/vfprintf.texi: Likewise.
8945         * doc/posix-functions/vprintf.texi: Likewise.
8946         * doc/posix-functions/vsnprintf.texi: Likewise.
8947         * doc/posix-functions/vsprintf.texi: Likewise.
8948         * doc/glibc-functions/obstack_printf.texi: Likewise.
8949         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8950
8951 2010-11-27  Bruno Haible  <bruno@clisp.org>
8952
8953         Fix link error when module libunistring-optional is in use.
8954         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
8955         * modules/striconveha-tests (Makefile.am): Likewise.
8956
8957 2010-11-27  Bruno Haible  <bruno@clisp.org>
8958
8959         regex: Mention link dependencies.
8960         * modules/regex (Link): New section.
8961         * modules/rpmatch (Link): Likewise.
8962         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
8963
8964 2010-11-27  Bruno Haible  <bruno@clisp.org>
8965
8966         ftoastr: Fix compilation error on Solaris.
8967         * lib/ftoastr.c: Include <config.h>.
8968
8969 2010-11-27  Bruno Haible  <bruno@clisp.org>
8970
8971         getloadavg: Update documentation.
8972         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
8973
8974 2010-11-27  Bruno Haible  <bruno@clisp.org>
8975
8976         sys_socket: Fix test whether the functions are declared.
8977         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
8978         not <sys/select.h>.
8979
8980 2010-11-27  Bruno Haible  <bruno@clisp.org>
8981
8982         getpass: Make sure to get system declaration on some platforms.
8983         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
8984         gl_USE_SYSTEM_EXTENSIONS.
8985         * modules/getpass (Depends-on): Add extensions.
8986
8987 2010-11-26  Bruno Haible  <bruno@clisp.org>
8988
8989         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
8990         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
8991         'iconv' module is present.
8992         (ICONV_CONST): New macro.
8993         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
8994         ICONV_CONST.
8995         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
8996         set ICONV_CONST.
8997         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
8998         here.
8999         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
9000         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
9001         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
9002         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
9003         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
9004         present.
9005
9006 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9007
9008         ftoastr: comment fix
9009         * lib/ftoastr.c: "little" -> "little or no" in comment
9010
9011 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
9012
9013         stdint: port to GCC 4.3 + OSX + Octave
9014         On this platform, stdint.h is buggy and defines int64_t to long
9015         long int.  The replacement defined it to long int, causing
9016         problems with C++ style name mangling.  Instead, trust the system
9017         definition if INT64_MAX is defined, and likewise for the unsigned
9018         variant.   Problem reported by Jarno Rajahalme in
9019         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
9020         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
9021         and don't mess with int64_t and INT64_MAX in this case.
9022         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
9023
9024 2010-11-24  Bruno Haible  <bruno@clisp.org>
9025
9026         doc: Corrections regarding MacOS X 10.4 and 10.5.
9027         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
9028         MacOS X.
9029         Reported by Simon Josefsson.
9030
9031 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
9032
9033         Uninstall ".bin" files installed by relocwrapper.
9034         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
9035         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
9036         unless it is already there.
9037
9038 2010-11-21  Bruno Haible  <bruno@clisp.org>
9039
9040         Update for NetBSD 5.0.
9041         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9042         NetBSD; the test fails on NetBSD 5.0.
9043         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9044         about NetBSD.
9045
9046 2010-11-21  Bruno Haible  <bruno@clisp.org>
9047
9048         Update for HP-UX 11.23 and HP-UX 11.31.
9049         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
9050         HP-UX.
9051
9052 2010-11-21  Bruno Haible  <bruno@clisp.org>
9053
9054         Update for MacOS X 10.5.
9055         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
9056         MacOS X; the test fails on MacOS X 10.5.8.
9057         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
9058         about MacOS X.
9059
9060 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
9061
9062         bootstrap: add bootstrap_sync option.
9063         See discussion at
9064         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
9065         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
9066         * build-aux/bootstrap: Accept --bootstrap-sync to update
9067         bootstrap if it is not identical to the local gnulib's
9068         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
9069         enable this by default.  Accept --no-bootstrap-sync to disable
9070         it.
9071
9072 2010-11-20  Bruno Haible  <bruno@clisp.org>
9073
9074         Ensure that <features.h> is included before __GLIBC__ is tested.
9075         * lib/printf-parse.h: Include <features.h>.
9076         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
9077         Reported by Mike Frysinger <vapier@gentoo.org>.
9078
9079         Ensure that <features.h> is included before __GLIBC__ is tested.
9080         * lib/wchar.in.h: Include <features.h>.
9081         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
9082         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
9083         Reported by Mike Frysinger <vapier@gentoo.org>.
9084
9085         Ensure that <features.h> is included before __GLIBC__ is tested.
9086         * lib/arpa_inet.in.h: Include <features.h>.
9087         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
9088         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
9089         Reported by Mike Frysinger <vapier@gentoo.org>.
9090
9091         Ensure that <features.h> is included before __GLIBC__ is tested.
9092         * build-aux/link-warning.h: Include <features.h>.
9093         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
9094         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
9095         Reported by Mike Frysinger <vapier@gentoo.org>.
9096
9097         Ensure that <features.h> is included before __GLIBC__ is tested.
9098         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
9099         Reported by Mike Frysinger <vapier@gentoo.org>.
9100
9101 2010-11-20  Bruno Haible  <bruno@clisp.org>
9102
9103         memmem: Fix autoconf test.
9104         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
9105
9106 2010-11-20  Bruno Haible  <bruno@clisp.org>
9107
9108         Port to uClibc.
9109         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
9110         * lib/fcntl.in.h: Likewise.
9111         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
9112         * lib/mbrtowc.c (mbrtowc): Likewise.
9113         * lib/relocatable.c (find_shared_library_fullname): Likewise.
9114         * lib/strerror_r.c: Likewise.
9115         * lib/unistr/u8-strnlen.c: Likewise.
9116         * lib/vasnprintf.c (decimal_point_char): Likewise.
9117         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
9118         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9119         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
9120         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
9121         * tests/test-sigaction.c (handler, main): Likewise.
9122         * lib/freading.h: Treat uClibc like a non-glibc platform.
9123         * lib/freading.c: Likewise.
9124         * lib/gettext.h: Likewise.
9125         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
9126         Likewise.
9127         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
9128         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9129         * lib/propername.c (proper_name_utf8): Likewise.
9130         * lib/spawn.in.h: Likewise.
9131         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
9132         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
9133         mem_cd_iconveh_internal): Likewise.
9134         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
9135         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
9136         strstr, strcasestr): Likewise.
9137         * lib/unicodeio.c (unicode_to_mb): Likewise.
9138         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
9139         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
9140         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
9141         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
9142         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
9143         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
9144         * lib/unistr/u8-stpncpy.c: Likewise.
9145         * lib/vasnprintf.c (VASNPRINTF): Likewise.
9146         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
9147         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
9148         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
9149         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
9150         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
9151         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
9152         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
9153         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
9154         Likewise.
9155         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9156         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
9157         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
9158         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
9159         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
9160         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9161         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9162         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9163         * tests/test-getopt.h (OPTIND_MIN): Likewise.
9164         * tests/test-striconveha.c (main): Likewise.
9165         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9166         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
9167         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
9168         * doc/posix-functions/getline.texi: Likewise.
9169         Reported by Mike Frysinger <vapier@gentoo.org>.
9170
9171 2010-11-20  Bruno Haible  <bruno@clisp.org>
9172
9173         nproc: Fix condition.
9174         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
9175         HAVE_PTHREAD_AFFINITY_NP.
9176
9177 2010-11-20  Bruno Haible  <bruno@clisp.org>
9178
9179         Fix a comment.
9180         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
9181
9182 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
9183
9184         ftoastr: don't assume snprintf
9185         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
9186         Implement a subset of snprintf here, by using sprintf safely.
9187         * modules/ftoastr (Depends-on): Remove snprintf.
9188
9189 2010-11-19  Jim Meyering  <meyering@redhat.com>
9190
9191         test-rename.h: fix compilation failure
9192         * tests/test-rename.h (test_rename): Add omitted "}".
9193
9194 2010-11-17  Jim Meyering  <meyering@redhat.com>
9195
9196         maint.mk: add a URL discussing the no-@acronym policy
9197         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
9198
9199 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9200
9201         ftoastr: depend on snprintf, improve comments
9202         * lib/ftoastr.c: Also mention Loitsch's draft.
9203         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
9204         needed in the current implementation, but it might simplify
9205         speeding up the code later.
9206         * modules/ftoastr: Depend on snprintf; this improves portability.
9207         Suggested by Bruno Haible in the same email.
9208
9209         ftoastr: port to hosts lacking strtof and strtold
9210         Problem reported by Bruno Haible in
9211         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
9212         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
9213         environment and strtold (and presumably strtof) are not available.
9214         * modules/ftoastr (Files): Add m4/c-strtod.m4.
9215         (configure.ac): Require gl_C99_STRTOLD.
9216
9217 2010-11-18  Bruno Haible  <bruno@clisp.org>
9218
9219         c-strtold: Avoid link error on AIX 7.
9220         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
9221         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
9222         (gl_C_STRTOLD): Test whether strtold_l exists.
9223         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9224
9225 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9226
9227         intprops: new macro INT_BITS_STRLEN_BOUND
9228         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
9229         ftoastr.h.  This exposes an internal of intprops.h that was formerly
9230         not exposed.  Also, it uses a slightly tighter bound than before;
9231         though this makes no practical difference, we might as well be as
9232         tight as we easily can.
9233
9234         ftoastr: new module, for lossless conversion of floats to short strings
9235         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
9236         * modules/ftoastr: New files.
9237
9238 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9239
9240         bootstrap: port to Solaris sed
9241         * build-aux/bootstrap (get_version): Port to Solaris sed.
9242         See Ralf Wildenhues's note in
9243         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
9244
9245 2010-11-14  Jim Meyering  <meyering@redhat.com>
9246
9247         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
9248         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
9249         and move definition closer to sole use.
9250
9251 2010-11-13  Jim Meyering  <meyering@redhat.com>
9252
9253         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
9254         Now we require at least autoconf-2.59, which means the work-around
9255         is no longer needed.
9256         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
9257         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9258         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
9259         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
9260         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
9261
9262 2010-11-13  Bruno Haible  <bruno@clisp.org>
9263
9264         rename, renameat: Avoid test failures at NFS mounted locations.
9265         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
9266         functions.
9267         (test_rename): Use assert_nonexistent.
9268         * tests/test-rename.c: Include <dirent.h>.
9269         * tests/test-renameat.c: Likewise.
9270         Reported by Gary V. Vaughan <gary@gnu.org>.
9271
9272         rename, renameat: Document Linux bug with NFS
9273         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
9274         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
9275         * doc/posix-functions/renameat.texi: Likewise.
9276         Suggested by Eric Blake.
9277
9278 2010-11-13  Bruno Haible  <bruno@clisp.org>
9279
9280         rename test: Add comments.
9281         * tests/test-rename.h (test_rename): Add structure and comments.
9282
9283 2010-11-13  Eric Blake  <eblake@redhat.com>
9284
9285         maintainer-makefile: cover a few more files
9286         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
9287         scripts generated within C files, for libvirt.
9288
9289 2010-11-13  Bruno Haible  <bruno@clisp.org>
9290
9291         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
9292         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
9293         character, return the number of bytes that belong together, not always
9294         1.
9295         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9296         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
9297         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9298         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
9299         number of bytes of an invalid character.
9300         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
9301         (main): Invoke it.
9302         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
9303         results.
9304         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
9305         malformed byte sequences.
9306         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
9307         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
9308         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
9309         Reported by Ben Pfaff and Paolo Bonzini.
9310
9311 2010-11-13  Bruno Haible  <bruno@clisp.org>
9312
9313         openat: Work around glibc bug with fchownat() and empty file names.
9314         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
9315         (gl_FUNC_FCHOWNAT): Invoke it.
9316         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
9317         * doc/posix-functions/fchownat.texi: Document the glibc bug.
9318         Reported by Gary V. Vaughan <gary@gnu.org>.
9319
9320 2010-11-13  Bruno Haible  <bruno@clisp.org>
9321
9322         openat: Ensure autoconf macro ordering.
9323         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
9324         gl_USE_SYSTEM_EXTENSIONS.
9325         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
9326
9327 2010-11-13  Bruno Haible  <bruno@clisp.org>
9328
9329         Update comments.
9330         * lib/unistr/u8-check.c: Update file name in comments.
9331         * lib/unistr/u8-mblen.c: Likewise.
9332         * lib/unistr/u8-prev.c: Likewise.
9333         * lib/unistr/u8-strmblen.c: Likewise.
9334         * lib/unistr/u8-strmbtouc.c: Likewise.
9335
9336 2010-11-13  Jim Meyering  <meyering@redhat.com>
9337
9338         tests: avoid test failure on Solaris 10 due to lack of PATH export
9339         * tests/test-update-copyright.sh: Don't forget to export PATH.
9340
9341         init.sh: ensure that IFS is defined, just in case...
9342         * tests/init.sh (setup_): Ensure that IFS is defined,
9343         so that saving and restoring it works as expected.  This
9344         appears to be useful at least for an old version of dash
9345         from a long time ago (RH 6).  See here for details:
9346         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
9347
9348         maint.mk: tighten "test a == b" check
9349         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
9350         test to files that contain something like #!/bin/sh.
9351         Without this, coreutils would get two false positives in
9352         the comments of C source files.
9353
9354 2010-11-12  Eric Blake  <eblake@redhat.com>
9355
9356         bootstrap: fix typo in previous attempt
9357         * build-aux/bootstrap (buildreq): Correct the grouping.
9358         Reported by Paul Eggert.
9359
9360         maintainer-makefile: prohibit test x == x
9361         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
9362         Based on a report by Matthias Bolte.
9363
9364         bootstrap: allow FreeBSD gzip
9365         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
9366         which has no '.' and goes to stderr.
9367         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
9368         Reported by Matthias Bolte.
9369
9370         maintainer-makefile: check for i18n setup
9371         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
9372         will likely work.
9373
9374 2010-11-12  Bruno Haible  <bruno@clisp.org>
9375
9376         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
9377         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
9378         * lib/nanosleep.c (nanosleep): Likewise.
9379
9380 2010-11-11  Bruno Haible  <bruno@clisp.org>
9381
9382         fcntl-h: Fix for use of C++ on glibc systems.
9383         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
9384         also on glibc systems in C++ mode.
9385         Reported by Gary V. Vaughan <gary@gnu.org>.
9386
9387 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9388
9389         mknod: avoid false failure with dash
9390         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
9391
9392 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
9393
9394         unlink: Fix "is it should" typo in diagnostic.
9395         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
9396         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
9397
9398 2010-11-11  Bruno Haible  <bruno@clisp.org>
9399
9400         Tests for module 'strerror_r-posix'.
9401         * modules/strerror_r-posix-tests: New file.
9402         * tests/test-strerror_r.c: New file.
9403         * tests/test-string-c++.cc: Check the signature of strerror_r.
9404
9405         New module 'strerror_r-posix'.
9406         * lib/string.in.h (strerror_r): New declaration.
9407         * lib/strerror_r.c: New file.
9408         * m4/strerror_r.m4: New file.
9409         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
9410         of strerror_r.
9411         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
9412         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9413         * modules/strerror_r-posix: New file.
9414         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
9415         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
9416         * doc/posix-functions/strerror_r.texi: Mention the new module and the
9417         portability problems.
9418
9419 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
9420
9421         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
9422         line is also considered for output. Quoted function name in shell
9423         command, so temporary files for functions like MyClass::operator()
9424         are removed correctly without errors.
9425
9426 2010-11-09  Bruno Haible  <bruno@clisp.org>
9427
9428         * doc/posix-functions/strerror.texi: List more failing platforms.
9429
9430         * doc/posix-functions/strerror.texi: Add a comment.
9431
9432 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
9433
9434         fdopendir: fix bug on MacOS X when low on file descriptors
9435
9436         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
9437         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
9438         All callers changed.
9439         (fdopendir): Invoke save_cwd at the top level, not after using
9440         multiple dup() calls to use up file descriptors.  Then retry
9441         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
9442         less than the maximum number of open file descriptors, because
9443         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
9444         on Mac OS X 10.6.4 for tar 1.24
9445         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
9446         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
9447         and for tar 1.25
9448         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
9449
9450 2010-11-07  Bruno Haible  <bruno@clisp.org>
9451
9452         vasnprintf: Support I flag on glibc systems.
9453         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
9454         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
9455         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
9456         snprintf function.
9457         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
9458         glibc systems.
9459         * tests/test-vasnprintf-posix3.c: New file.
9460         * modules/vasnprintf-posix-tests (Files): Add it.
9461         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
9462
9463 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9464
9465         [html] Fix copy/paste bug: Use unique name for compiler warnings.
9466         * MODULES.html.sh: For compiler warnings, use name
9467         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
9468
9469 2010-11-05  Eric Blake  <eblake@redhat.com>
9470
9471         ceil, floor: avoid spurious failure with icc
9472         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
9473         [denormals-as-zero] when optimizing without -mieee-fp option.
9474         * tests/test-floorf2.c (floorf_reference): Likewise.
9475         * tests/test-ceilf1.c (dummy): New function.
9476         (main): Use it to outsmart icc's optimization.
9477         * tests/test-floorf1.c (dummy, main): Likewise.
9478
9479         tests: require working signbit
9480         * modules/ceilf-tests (Depends-on): Add signbit.
9481         * modules/ceill-tests (Depends-on): Likewise.
9482         * modules/floorf-tests (Depends-on): Likewise.
9483         * modules/floorl-tests (Depends-on): Likewise.
9484         * modules/round-tests (Depends-on): Likewise.
9485         * modules/roundf-tests (Depends-on): Likewise.
9486         * modules/roundl-tests (Depends-on): Likewise.
9487         * modules/trunc-tests (Depends-on): Likewise.
9488         * modules/truncf-tests (Depends-on): Likewise.
9489         * modules/truncl-tests (Depends-on): Likewise.
9490
9491         strtod: work around icc bug
9492         * lib/strtod.c (minus_zero): Define to working value.
9493         (strtod): Use it to avoid icc bug.
9494
9495         copysign: enhance tests
9496         * modules/copysign-tests (Files): Add minus-zero.h.
9497         * tests/test-copysign.c (main): Also test zeros.
9498
9499 2010-11-04  Eric Blake  <eblake@redhat.com>
9500
9501         ceil, floor, round, trunc: enhance tests of -0
9502         * tests/test-ceilf1.c (main): Ensure correct sign of result.
9503         * tests/test-ceill.c (main): Likewise.
9504         * tests/test-floorf1.c (main): Likewise.
9505         * tests/test-floorl.c (main): Likewise.
9506         * tests/test-round1.c (main): Likewise.
9507         * tests/test-roundf1.c (main): Likewise.
9508         * tests/test-roundl.c (main): Likewise.
9509         * tests/test-trunc1.c (main): Likewise.
9510         * tests/test-truncf1.c (main): Likewise.
9511         * tests/test-truncl.c (main): Likewise.
9512
9513 2010-11-04  Eric Blake  <eblake@redhat.com>
9514
9515         frexp, tests: work around ICC bug with -zero
9516         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
9517         works with more compilers.
9518         * tests/minus-zero.h: New file.
9519         * modules/ceilf-tests (Files): Include it.
9520         * modules/ceill-tests (Files): Likewise.
9521         * modules/floorf-tests (Files): Likewise.
9522         * modules/floorl-tests (Files): Likewise.
9523         * modules/frexp-nolibm-tests (Files): Likewise.
9524         * modules/frexp-tests (Files): Likewise.
9525         * modules/frexpl-nolibm-tests (Files): Likewise.
9526         * modules/frexpl-tests (Files): Likewise.
9527         * modules/isnan-tests (Files): Likewise.
9528         * modules/isnand-nolibm-tests (Files): Likewise.
9529         * modules/isnand-tests (Files): Likewise.
9530         * modules/isnanf-nolibm-tests (Files): Likewise.
9531         * modules/isnanf-tests (Files): Likewise.
9532         * modules/isnanl-nolibm-tests (Files): Likewise.
9533         * modules/isnanl-tests (Files): Likewise.
9534         * modules/round-tests (Files): Likewise.
9535         * modules/roundf-tests (Files): Likewise.
9536         * modules/roundl-tests (Files): Likewise.
9537         * modules/ldexpl-tests (Files): Likewise.
9538         * modules/signbit-tests (Files): Likewise.
9539         * modules/snprintf-posix-tests (Files): Likewise.
9540         * modules/sprintf-posix-tests (Files): Likewise.
9541         * modules/strtod-tests (Files): Likewise.
9542         * modules/trunc-tests (Files): Likewise.
9543         * modules/truncf-tests (Files): Likewise.
9544         * modules/truncl-tests (Files): Likewise.
9545         * modules/vsnprintf-posix-tests (Files): Likewise.
9546         * modules/vsprintf-posix-tests (Files): Likewise.
9547         * modules/vasnprintf-posix-tests (Files): Likewise.
9548         * modules/vasprintf-posix-tests (Files): Likewise.
9549         * tests/test-ceilf1.c (main): Use it.
9550         * tests/test-ceill.c (main): Likewise.
9551         * tests/test-floorf1.c (main): Likewise.
9552         * tests/test-floorl.c (main): Likewise.
9553         * tests/test-frexp.c (main): Likewise.
9554         * tests/test-frexpl.c (main): Likewise.
9555         * tests/test-isnan.c (main): Likewise.
9556         * tests/test-isnand.h (main): Likewise.
9557         * tests/test-isnanf.h (main): Likewise.
9558         * tests/test-isnanl.h (main): Likewise.
9559         * tests/test-ldexpl.c (main): Likewise.
9560         * tests/test-round.c (main): Likewise.
9561         * tests/test-roundf.c (main): Likewise.
9562         * tests/test-roundl.c (main): Likewise.
9563         * tests/test-signbit.c (test_signbitf, test_signbitd)
9564         (test_signbitl): Likewise.
9565         * tests/test-snprintf-posix.h (test_function): Likewise.
9566         * tests/test-sprintf-posix.h (test_function): Likewise.
9567         * tests/test-strtod.c (main): Likewise.
9568         * tests/test-trunc1.c (main): Likewise.
9569         * tests/test-truncf1.c (main): Likewise.
9570         * tests/test-truncl.c (main): Likewise.
9571
9572         isnanl: work around icc bug
9573         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
9574
9575 2010-11-03  Eric Blake  <eblake@redhat.com>
9576
9577         tests: fix compiler warnings
9578         * tests/test-getopt.h (test_getopt): Fix condition.
9579         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9580         * tests/test-pipe2.c (main): Likewise.
9581         * tests/test-quotearg-simple.c (main): Avoid icc warning.
9582
9583         utimens: fix broken m4 test
9584         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
9585
9586 2010-10-28  Bruno Haible  <bruno@clisp.org>
9587
9588         posix_spawn*, getdtablesize: Relax license.
9589         * modules/posix_spawn (License): Change to LGPLv2+.
9590         * modules/posix_spawnp (License): Likewise.
9591         * modules/posix_spawn-internal (License): Likewise.
9592         * modules/posix_spawnattr_init (License): Likewise.
9593         * modules/posix_spawnattr_getflags (License): Likewise.
9594         * modules/posix_spawnattr_setflags (License): Likewise.
9595         * modules/posix_spawnattr_getpgroup (License): Likewise.
9596         * modules/posix_spawnattr_setpgroup (License): Likewise.
9597         * modules/posix_spawnattr_getschedparam (License): Likewise.
9598         * modules/posix_spawnattr_setschedparam (License): Likewise.
9599         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
9600         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
9601         * modules/posix_spawnattr_getsigdefault (License): Likewise.
9602         * modules/posix_spawnattr_setsigdefault (License): Likewise.
9603         * modules/posix_spawnattr_getsigmask (License): Likewise.
9604         * modules/posix_spawnattr_setsigmask (License): Likewise.
9605         * modules/posix_spawnattr_destroy (License): Likewise.
9606         * modules/posix_spawn_file_actions_init (License): Likewise.
9607         * modules/posix_spawn_file_actions_addclose (License): Likewise.
9608         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
9609         * modules/posix_spawn_file_actions_addopen (License): Likewise.
9610         * modules/posix_spawn_file_actions_destroy (License): Likewise.
9611         * modules/getdtablesize (License): Likewise.
9612         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
9613
9614 2010-10-26  Bruno Haible  <bruno@clisp.org>
9615
9616         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
9617         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
9618         Cygwin and mingw.
9619         Suggested by Eric Blake.
9620
9621 2010-10-26  Bruno Haible  <bruno@clisp.org>
9622
9623         stdio: Work around compilation error due to renameat() on Solaris 10.
9624         * lib/stdio.in.h: Include <unistd.h> on Solaris.
9625         * lib/renameat.c: Don't include <unistd.h> here.
9626         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
9627         Reported by Paul Eggert and Eric Blake.
9628
9629 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9630
9631         renameat: port to Solaris 10, which declares renameat in unistd.h
9632
9633         * lib/renameat.c: Include unistd.h before stdio.h, because
9634         Solaris 10 declares renameat in unistd.h.  Problem encountered
9635         when building GNU tar 1.24 on Solaris 10.
9636
9637 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9638
9639         fdopendir: fix C89 compilation
9640         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
9641         compilers.
9642
9643 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
9644
9645         inttostr: simplify by removing unnecessary redundancy
9646         * lib/anytostr.c: Don't include verify.h.
9647         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
9648         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
9649         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
9650         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
9651         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
9652         Likewise.
9653         * modules/inttostr (Depends-on): Remove 'verify'.
9654
9655 2010-10-23  Bruno Haible  <bruno@clisp.org>
9656
9657         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
9658         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
9659         Reported by Eric Blake.
9660
9661 2010-10-23  Bruno Haible  <bruno@clisp.org>
9662
9663         Tests: Fix LOCALE_JA on MirBSD 10.
9664         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
9665         to an UTF-8 locale.
9666         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
9667         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9668         Reported by Eric Blake.
9669
9670 2010-10-21  Bruno Haible  <bruno@clisp.org>
9671
9672         nl_langinfo test: Avoid test failure on NetBSD 5.
9673         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
9674         Reported by Eric Blake.
9675
9676 2010-10-21  Eric Blake  <eblake@redhat.com>
9677
9678         c-stack: work around libsigsegv 2.8 bug
9679         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
9680         overflow on at least PowerPC64.
9681
9682 2010-10-17  Bruno Haible  <bruno@clisp.org>
9683
9684         userspec: Drop redundant file.
9685         * modules/userspec (Files): Remove lib/inttostr.h.
9686
9687 2010-10-17  Bruno Haible  <bruno@clisp.org>
9688
9689         nl_langinfo tests: Silence some warnings.
9690         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
9691         Reported by Jim Meyering.
9692
9693 2010-10-17  Bruno Haible  <bruno@clisp.org>
9694
9695         Make use of GCC's attribute __alloc_size__.
9696         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
9697         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
9698         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
9699         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
9700         __alloc_size__.
9701         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
9702         Suggested by Jim Meyering.
9703
9704 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
9705
9706         bootstrap: anchor .gitignore entries.
9707         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
9708         with...
9709         (insert_vc_ignore): ... this new function, which prepends `/' to
9710         all .gitignore entries before passing them to
9711         insert_sorted_if_absent.
9712
9713 2010-10-16  Bruno Haible  <bruno@clisp.org>
9714
9715         nextafter: Fix configure check.
9716         * modules/nextafter (configure.ac): Correct expected prototype.
9717
9718 2010-10-16  Bruno Haible  <bruno@clisp.org>
9719
9720         termios: Update documentation.
9721         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
9722
9723 2010-10-16  Bruno Haible  <bruno@clisp.org>
9724
9725         tests: Make them compile with TinyCC.
9726         * tests/test-strstr.c (main): Remove parentheses around array
9727         initializer.
9728
9729 2010-10-15  Eric Blake  <eblake@redhat.com>
9730
9731         ignore-value: make header idempotent
9732         * lib/ignore-value.h: Add double-inclusion guards.
9733         Reported by Stefan Berger.
9734
9735 2010-10-15  Jim Meyering  <meyering@redhat.com>
9736
9737         GNUmakefile: handle "stable" target, not "major"
9738         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
9739         lists in maint.mk and announce-gen.  Without this, "make stable"
9740         would fail to ensure that $(VERSION) is up to date.
9741
9742 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
9743
9744         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
9745         & co.
9746
9747 2010-10-14  Bruno Haible  <bruno@clisp.org>
9748
9749         vasnprintf: Don't set errno to 0.
9750         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
9751         block that sets it to 0.
9752         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
9753
9754 2010-10-14  Bruno Haible  <bruno@clisp.org>
9755
9756         socketlib: Fix.
9757         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
9758         gl_PREREQ_SYS_H_WINSOCK2.
9759         Reported by Ian Beckwith <ianb@erislabs.net>.
9760
9761 2010-10-13  Jim Meyering  <meyering@redhat.com>
9762
9763         test-select-stdin.c: avoid warn_unused_result warnings
9764         * tests/test-select-stdin.c: Include "macros.h".
9765         ASSERT that read and fflush succeed.
9766
9767 2010-10-13  Jim Meyering  <meyering@redhat.com>
9768
9769         git-version-gen: do require git-VC'd files in cwd
9770         * build-aux/git-version-gen: Reject a git version string
9771         if there are no commits associated with the current directory.
9772         This avoids an unlikely false-positive (unrelated dir whose parent
9773         repository also contains a tag matching v*), as pointed out
9774         by Giuseppe Scrivano in
9775         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
9776
9777 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9778
9779         argv-iter: omit nonconforming declaration
9780         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
9781         enum arg_iter_err declaration, which doesn't conform to C99.
9782         Solaris 10 cc warns about this.
9783
9784 2010-10-13  Eric Blake  <eblake@redhat.com>
9785
9786         termios: fix compilation on mingw
9787         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
9788         (gl_TERMIOS_H): Adjust it on mingw.
9789         * modules/termios (Makefile.am): Substitute new key.
9790         * lib/termios.in.h (includes): Make include_next conditional.
9791         * doc/posix-headers/termios.texi (termios.h): Update
9792         documentation.
9793         Reported by Daniel P. Berrange.
9794
9795 2010-10-13  Jim Meyering  <meyering@redhat.com>
9796
9797         git-version-gen: don't require that .git/ be in the current dir
9798         * build-aux/git-version-gen: Adjust this script so that it works
9799         when run from any working directory beneath the top-level .git/-
9800         containing directory.  Inspired by a patch from Giuseppe Scrivano,
9801         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
9802
9803         test-select: avoid warn_unused_result warnings
9804         * tests/test-select.c: Include "macros.h".
9805         ASSERT that each call to read, write, and pipe succeeds.
9806         While not technically required, also check each "close".
9807         * modules/select-tests (Files): Add tests/macros.h.
9808
9809         test-symlinkat: remove declaration of unused local
9810         * tests/test-symlinkat.c (main): Remove unused local, "buf".
9811
9812         test-inttostr: avoid shadowing warnings
9813         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
9814         and use malloc rather than the stack for the same reason as
9815         mentioned in the comment justifying the other allocation.
9816
9817 2010-10-11  Bruno Haible  <bruno@clisp.org>
9818
9819         stdlib: Allow multiple gnulib generated replacements to coexist.
9820         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
9821         Reported by Sam Steingold <sds@gnu.org>.
9822
9823 2010-10-11  Jim Meyering  <meyering@redhat.com>
9824
9825         fix a documentation typo
9826         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
9827
9828 2010-10-11  Eric Blake  <eblake@redhat.com>
9829
9830         futimens: work around Solaris 11 bug
9831         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
9832         * tests/test-futimens.h (test_futimens): Enhance, rather than
9833         weaken test.
9834         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9835
9836 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9837
9838         Indentation.
9839         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
9840         higher-level operators more to the left.
9841
9842 2010-10-11  Jim Meyering  <meyering@redhat.com>
9843
9844         test-futimens: avoid unwarranted test failure on Solaris 5.11
9845         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
9846         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
9847         because it tries to dereference the NULL name argument.
9848
9849 2010-10-11  Bruno Haible  <bruno@clisp.org>
9850
9851         Indentation.
9852         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
9853         indentation.
9854
9855 2010-10-11  Jim Meyering  <meyering@redhat.com>
9856
9857         spawn.in.h: make indentation consistent with parentheses
9858         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
9859         Make indentation consistent with parentheses.
9860
9861 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
9862
9863         Fix mismatched parens in previous commit
9864         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
9865         parens.
9866
9867 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9868
9869         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
9870
9871         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
9872         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
9873         * lib/malloca.c: Include "verify.h".
9874         (verify1): Remove, replacing with a verify call.
9875         * lib/relocwrapper.c (verify1): Likewise.
9876         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
9877         Likewise.
9878         * modules/malloca (Depends-on): Add 'verify'.
9879         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
9880         * modules/vasnprintf (Depends-on): Add 'verify'.
9881         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
9882         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9883         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9884         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9885         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9886         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9887         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9888
9889         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
9890
9891         Formerly the style was sometimes 2*X - 1, because the C standard
9892         was wrongly thought to disallow ?: in integral constant expressions.
9893         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
9894         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
9895         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
9896         * lib/stdint.in.h (_verify_intmax_size): Likewise.
9897         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
9898         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
9899         verify that time_t cannot be floating.
9900
9901 2010-10-08  Eric Blake  <eblake@redhat.com>
9902
9903         time: enforce recent POSIX ruling that time_t is integral
9904         * lib/time.in.h (__time_t_must_be_integral): Detect any
9905         problematic systems, allowing the rest of gnulib to assume POSIX.
9906
9907 2010-10-08  Jim Meyering  <meyering@redhat.com>
9908
9909         fdopendir: fix a bug on systems lacking openat and /proc support
9910         OpenBSD 4.7 is one such system.  The most noticeable effect was
9911         failure of any application making nontrivial use of fts: rm, du,
9912         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
9913           ./rm: traversal failed: `a': Bad file descriptor
9914         Debugging that, you see that even though FD 6 was closed just
9915         prior to the opendir call in fd_clone_opendir, its resulting
9916         dir->dd_fd was 8, rather than the expected value of 6:
9917
9918         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
9919         93                close (fd);
9920         (gdb) n
9921         94                dir = fd_clone_opendir (dupfd);
9922         (gdb) n
9923         95                saved_errno = errno;
9924         (gdb) p dir->dd_fd
9925         $11 = 8
9926
9927         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
9928         The problem is that on OpenBSD, fd_clone_opendir has to resort
9929         to using the old-style save/restore CWD mechanism, due to its
9930         lack of openat/proc support, and *that* would steal the FD (6)
9931         that opendir was supposed to use.
9932
9933         The fix is to squirrel away the desired FD so that save_cwd uses a
9934         different one, and then free the dest FD right before calling opendir.
9935         That guarantees opendir will use the required file descriptor.
9936
9937         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
9938
9939 2010-10-08  Bruno Haible  <bruno@clisp.org>
9940
9941         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
9942         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
9943
9944 2010-10-08  Bruno Haible  <bruno@clisp.org>
9945
9946         nanosleep: Make replacement POSIX compliant.
9947         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
9948         is out of range.
9949         Reported by Jim Meyering.
9950
9951 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9952
9953         bootstrap: add hook for altering gnulib.mk, for Bison
9954         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
9955         the Bison bootstrapping process can rewrite file names and variables
9956         in this file before later parts of 'bootstrap' use the file.
9957         Bison wants to include lib/gnulib.mk from the top-level makefile,
9958         so it needs the file names in this file to be relative to the top
9959         level, not relative to lib; plus it needs variable names to be
9960         rewritten.
9961         (slurp): Use the new function.
9962
9963         bootstrap: reformat for readability
9964         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
9965
9966 2010-10-08  Eric Blake  <eblake@redhat.com>
9967
9968         docs: update cygwin progress
9969         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
9970         1.7.7.
9971         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
9972         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
9973         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
9974         * doc/posix-functions/carg.texi (carg): Likewise.
9975         * doc/posix-functions/cargf.texi (cargf): Likewise.
9976         * doc/posix-functions/casin.texi (casin): Likewise.
9977         * doc/posix-functions/casinf.texi (casinf): Likewise.
9978         * doc/posix-functions/casinh.texi (casinh): Likewise.
9979         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
9980         * doc/posix-functions/catan.texi (catan): Likewise.
9981         * doc/posix-functions/catanf.texi (catanf): Likewise.
9982         * doc/posix-functions/catanh.texi (catanh): Likewise.
9983         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
9984         * doc/posix-functions/ccos.texi (ccos): Likewise.
9985         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
9986         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
9987         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
9988         * doc/posix-functions/cexp.texi (cexp): Likewise.
9989         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
9990         * doc/posix-functions/cimag.texi (cimag): Likewise.
9991         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
9992         * doc/posix-functions/clog.texi (clog): Likewise.
9993         * doc/posix-functions/clogf.texi (clogf): Likewise.
9994         * doc/posix-functions/conj.texi (conj): Likewise.
9995         * doc/posix-functions/conjf.texi (conjf): Likewise.
9996         * doc/posix-functions/cpow.texi (cpow): Likewise.
9997         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
9998         * doc/posix-functions/cproj.texi (cproj): Likewise.
9999         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
10000         * doc/posix-functions/creal.texi (creal): Likewise.
10001         * doc/posix-functions/crealf.texi (crealf): Likewise.
10002         * doc/posix-functions/csin.texi (csin): Likewise.
10003         * doc/posix-functions/csinf.texi (csinf): Likewise.
10004         * doc/posix-functions/csinh.texi (csinh): Likewise.
10005         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
10006         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
10007         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
10008         * doc/posix-functions/ctan.texi (ctan): Likewise.
10009         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
10010         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
10011         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
10012         * doc/posix-headers/complex.texi (complex.h): Likewise.
10013
10014 2010-10-07  Jim Meyering  <meyering@redhat.com>
10015
10016         parse-datetime: avoid compilation failure on OpenBSD 4.7
10017         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
10018         This works around a compilation failure on OpenBSD 4.7:
10019         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
10020
10021 2010-10-07  Eric Blake  <eblake@redhat.com>
10022
10023         docs: update cygwin progress
10024         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
10025         1.7.6.
10026         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
10027         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
10028         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
10029         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
10030         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
10031         Likewise.
10032         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
10033         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
10034         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
10035         Likewise.
10036         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
10037         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
10038         Likewise.
10039         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
10040         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
10041         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
10042         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
10043         Likewise.
10044         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
10045         Likewise.
10046         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
10047
10048         docs: update parse-datetime history
10049         * doc/parse-datetime.texi (Authors of parse_datetime): Better
10050         documentation of this function's history and alternatives.
10051
10052         cygwin: use more robust version check
10053         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
10054         exclude an eventual cygwin 1.9.1.
10055         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10056         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10057         (gl_FUNC_STRCASESTR): Likewise.
10058         Reported by Bruno Haible.
10059
10060 2010-10-06  Bruno Haible  <bruno@clisp.org>
10061
10062         string, sys_select: Avoid #including large headers unless necessary.
10063         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
10064         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
10065         OSF/1, BeOS, Haiku.
10066         Reported by Jim Meyering.
10067
10068 2010-10-05  Eric Blake  <eblake@redhat.com>
10069
10070         memmem, strstr, strcasestr: fix bug with long periodic needle
10071         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
10072         periodic needle having false positive.
10073         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
10074         and cygwin 1.7.7.
10075         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
10076         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
10077         (gl_FUNC_STRCASESTR): Likewise.
10078         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
10079         * tests/test-memmem.c (main): Expose the bug.
10080         * tests/test-strcasestr.c (main): Likewise.
10081         * tests/test-strstr.c (main): Likewise.
10082         * tests/test-c-strcasestr.c (main): Likewise.
10083         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
10084         * doc/posix-functions/strstr.texi (strstr): Likewise.
10085         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
10086         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
10087
10088 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10089
10090         parse-datetime: do some more renaming
10091         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
10092         parse_datetime, not get_date.  Mention the renaming.
10093         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
10094         in comments.
10095         * m4/bison.m4: Likewise.
10096
10097 2010-10-05  Eric Blake  <eblake@redhat.com>
10098
10099         parse-datetime: better name than get_date
10100         * NEWS: Reword the deprecation notice.
10101         * modules/get_date: Rename to modules/parse-datetime.
10102         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
10103         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
10104         * lib/get_date.y: Rename to lib/parse-datetime.y.
10105         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
10106         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
10107         * doc/getdate.texi: Provide fallback wrapper.
10108         * lib/getdate.h: Move guts, and wrap...
10109         * lib/parse-datetime.h: ...new file.
10110         * lib/parse-datetime.y (get_date): Rename...
10111         (parse_datetime): ...to this.
10112         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
10113         (gl_PARSE_DATETIME): ...to this.
10114         * doc/posix-functions/getdate.texi (get_date): Provide fallback
10115         documentation.
10116         * modules/getdate (Files): Provide fallback docs and header.
10117         (Notice, Depends-on): Update references.
10118         * tests/test-parse-datetime.c: Likewise.
10119         * DEPENDENCIES: Likewise.
10120         * MODULES.html.sh (Date and time <time.h>): Likewise.
10121         * doc/parse-datetime.texi (Date input formats)
10122         (Authors of parse_datetime): Likewise.
10123         * modules/parse-datetime (Files, configure.ac, Makefile.am)
10124         (Include): Likewise.
10125         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
10126         * gnulib-tool: Likewise.
10127         * m4/bison.m4 (gl_BISON): Likewise.
10128         Suggested by Bruno Haible.
10129
10130 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10131
10132         more ports to Solaris tr, which needs [] around ranges
10133         * gnulib-tool: Solaris tr needs [] around ranges.
10134         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
10135         * tests/test-pipe-filter-gi1.c (main): Likewise.
10136         * tests/test-pipe-filter-ii1.c (main): Likewise.
10137
10138 2010-10-05  Eric Blake  <eblake@redhat.com>
10139
10140         bootstrap: fix Solaris regression
10141         * build-aux/bootstrap (check_versions): Solaris tr still needs []
10142         around ranges.
10143         Reported by Pádraig Brady.
10144
10145         bootstrap: work with pkg-config
10146         * build-aux/bootstrap (check_versions): Also transliterate - in
10147         prerequisite name.
10148         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
10149         prerequisites that were already found, to avoid confusion.
10150         Reported by Justin Clift.
10151
10152         faccessat: remove unused wrappers
10153         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
10154         presence of these wrappers dragged in -lgen on Solaris.
10155         Reported by Clemens Brogi; fix suggested by Paul Eggert.
10156
10157 2010-10-05  Jim Meyering  <meyering@redhat.com>
10158
10159         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
10160         * Makefile (sc_pragma_columns): New syntax-check rule.
10161
10162 2010-10-04  Bruno Haible  <bruno@clisp.org>
10163
10164         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
10165         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
10166         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
10167         Reported by Bruce Korb and Eric Blake.
10168
10169 2010-10-04  Bruno Haible  <bruno@clisp.org>
10170
10171         threadlib: Make option --with-libpth-prefix work.
10172         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
10173         use $LIBPTH, not just -lpth.
10174
10175 2010-10-04  Bruno Haible  <bruno@clisp.org>
10176
10177         Avoid line length limitation from HP NonStop system header files.
10178         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
10179         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
10180         * lib/ctype.in.h: Likewise.
10181         * lib/dirent.in.h: Likewise.
10182         * lib/errno.in.h: Likewise.
10183         * lib/fcntl.in.h: Likewise.
10184         * lib/float.in.h: Likewise.
10185         * lib/getopt.in.h: Likewise.
10186         * lib/iconv.in.h: Likewise.
10187         * lib/inttypes.in.h: Likewise.
10188         * lib/langinfo.in.h: Likewise.
10189         * lib/locale.in.h: Likewise.
10190         * lib/math.in.h: Likewise.
10191         * lib/netdb.in.h: Likewise.
10192         * lib/netinet_in.in.h: Likewise.
10193         * lib/poll.in.h: Likewise.
10194         * lib/pthread.in.h: Likewise.
10195         * lib/pty.in.h: Likewise.
10196         * lib/sched.in.h: Likewise.
10197         * lib/se-selinux.in.h: Likewise.
10198         * lib/search.in.h: Likewise.
10199         * lib/signal.in.h: Likewise.
10200         * lib/spawn.in.h: Likewise.
10201         * lib/stdarg.in.h: Likewise.
10202         * lib/stddef.in.h: Likewise.
10203         * lib/stdint.in.h: Likewise.
10204         * lib/stdio.in.h: Likewise.
10205         * lib/stdlib.in.h: Likewise.
10206         * lib/string.in.h: Likewise.
10207         * lib/strings.in.h: Likewise.
10208         * lib/sys_file.in.h: Likewise.
10209         * lib/sys_ioctl.in.h: Likewise.
10210         * lib/sys_select.in.h: Likewise.
10211         * lib/sys_socket.in.h: Likewise.
10212         * lib/sys_stat.in.h: Likewise.
10213         * lib/sys_time.in.h: Likewise.
10214         * lib/sys_times.in.h: Likewise.
10215         * lib/sys_utsname.in.h: Likewise.
10216         * lib/sys_wait.in.h: Likewise.
10217         * lib/sysexits.in.h: Likewise.
10218         * lib/termios.in.h: Likewise.
10219         * lib/time.in.h: Likewise.
10220         * lib/unistd.in.h: Likewise.
10221         * lib/wchar.in.h: Likewise.
10222         * lib/wctype.in.h: Likewise.
10223         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
10224         * modules/ctype (Makefile.am): Likewise.
10225         * modules/dirent (Makefile.am): Likewise.
10226         * modules/errno (Makefile.am): Likewise.
10227         * modules/fcntl-h (Makefile.am): Likewise.
10228         * modules/float (Makefile.am): Likewise.
10229         * modules/getopt-posix (Makefile.am): Likewise.
10230         * modules/iconv-h (Makefile.am): Likewise.
10231         * modules/inttypes (Makefile.am): Likewise.
10232         * modules/langinfo (Makefile.am): Likewise.
10233         * modules/locale (Makefile.am): Likewise.
10234         * modules/math (Makefile.am): Likewise.
10235         * modules/netdb (Makefile.am): Likewise.
10236         * modules/netinet_in (Makefile.am): Likewise.
10237         * modules/poll-h (Makefile.am): Likewise.
10238         * modules/pthread (Makefile.am): Likewise.
10239         * modules/pty (Makefile.am): Likewise.
10240         * modules/sched (Makefile.am): Likewise.
10241         * modules/search (Makefile.am): Likewise.
10242         * modules/selinux-h (Makefile.am): Likewise.
10243         * modules/signal (Makefile.am): Likewise.
10244         * modules/spawn (Makefile.am): Likewise.
10245         * modules/stdarg (Makefile.am): Likewise.
10246         * modules/stddef (Makefile.am): Likewise.
10247         * modules/stdint (Makefile.am): Likewise.
10248         * modules/stdio (Makefile.am): Likewise.
10249         * modules/stdlib (Makefile.am): Likewise.
10250         * modules/string (Makefile.am): Likewise.
10251         * modules/strings (Makefile.am): Likewise.
10252         * modules/sys_file (Makefile.am): Likewise.
10253         * modules/sys_ioctl (Makefile.am): Likewise.
10254         * modules/sys_select (Makefile.am): Likewise.
10255         * modules/sys_socket (Makefile.am): Likewise.
10256         * modules/sys_stat (Makefile.am): Likewise.
10257         * modules/sys_time (Makefile.am): Likewise.
10258         * modules/sys_times (Makefile.am): Likewise.
10259         * modules/sys_utsname (Makefile.am): Likewise.
10260         * modules/sys_wait (Makefile.am): Likewise.
10261         * modules/sysexits (Makefile.am): Likewise.
10262         * modules/termios (Makefile.am): Likewise.
10263         * modules/time (Makefile.am): Likewise.
10264         * modules/unistd (Makefile.am): Likewise.
10265         * modules/wchar (Makefile.am): Likewise.
10266         * modules/wctype (Makefile.am): Likewise.
10267
10268 2010-10-04  Bruno Haible  <bruno@clisp.org>
10269
10270         read-file tests: Avoid a test failure on NonStop Kernel.
10271         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
10272         a regular file.
10273         Reported by Joachim Schmitz <schmitz@hp.com>.
10274
10275 2010-10-03  Bruno Haible  <bruno@clisp.org>
10276
10277         gnulib-tool: Fixes for --create-testdir with --libtool.
10278         * gnulib-tool (func_get_automake_snippet): Don't augment
10279         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
10280         an executable.
10281         (func_create_testdir): Handle module 'alloca' like func_import.
10282         Reported by Bruce Korb <bruce.korb@gmail.com>.
10283
10284 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10285
10286         Avoid some lines longer than 80 characters.
10287         * lib/stdint.in.h: Break long comment lines.
10288         * lib/math.in.h: Likewise.
10289         (_GL_NUM_UINT_WORDS): New macro, for readability.
10290         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
10291         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
10292         * lib/stdlib.in.h: Likewise.
10293         * lib/spawn.in.h: Likewise.
10294         * lib/sys_socket.in.h: Update an URL.
10295         * lib/sys_stat.in.h: Break long line.
10296
10297 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
10298
10299         Improve pmccabe2html.
10300         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
10301         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
10302         when the sources change. Remove the line in the HTML about "Used
10303         ranges" (which implied that there might be other unused ranges),
10304         rename "Resume" to "Summary" (easier to understand for more users).
10305         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
10306         styles, and some unnecessary blank lines.
10307
10308 2010-10-03  Bruno Haible  <bruno@clisp.org>
10309             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10310
10311         acl: Add support for ACLs on NonStop Kernel.
10312         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
10313         Check whether the function aclsort() exists.
10314         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
10315         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
10316         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10317         (acl_nontrivial [HAVE_ACLSORT]: New function.
10318         (file_has_acl): Implement for NonStop Kernel.
10319         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10320         (qset_acl): Implement for NonStop Kernel.
10321         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
10322         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
10323         (main): Implement for NonStop Kernel.
10324         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
10325         Kernel. Handle this flavor.
10326         * tests/test-set-mode-acl.sh: Likewise.
10327         * tests/test-copy-acl.sh: Likewise.
10328         * tests/test-copy-file.sh: Likewise.
10329
10330 2010-10-03  Bruno Haible  <bruno@clisp.org>
10331
10332         Info about ACLs on NonStop Kernel.
10333         * doc/acl-resources.txt: Add info about NonStop Kernel.
10334         References by Joachim Schmitz <schmitz@hp.com>.
10335
10336 2010-10-02  Bruno Haible  <bruno@clisp.org>
10337
10338         Define missing EDQUOT on NonStop Kernel.
10339         * lib/errno.in.h (EDQUOT): Assign a value if missing.
10340         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
10341         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
10342         missing.
10343         * doc/posix-headers/errno.texi: Mention the NSK bug.
10344         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
10345         Reported by Joachim Schmitz <schmitz@hp.com>.
10346
10347 2010-10-02  Bruno Haible  <bruno@clisp.org>
10348
10349         Update doc for POSIX:2008.
10350         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
10351         Update URL of POSIX specification.
10352
10353 2010-10-02  Bruno Haible  <bruno@clisp.org>
10354
10355         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
10356         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
10357         from gnulib, not from Automake.
10358
10359 2010-10-02  Bruno Haible  <bruno@clisp.org>
10360
10361         New module 'system-posix'.
10362         * modules/system-posix: New file.
10363         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
10364         module is present.
10365         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
10366         GNULIB_SYSTEM_POSIX.
10367         * modules/stdlib (Depends-on): Remove sys_wait.
10368         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
10369         * doc/posix-functions/system.texi: Mention the new module.
10370         * doc/posix-headers/stdlib.texi: Likewise.
10371         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
10372         define test_sys_wait_macros to a no-op.
10373         Reported by Sam Steingold <sds@gnu.org>.
10374
10375 2010-09-30  Bruno Haible  <bruno@clisp.org>
10376
10377         More renaming from 'getdate' to 'get_date'.
10378         * doc/get_date.texi: Renamed from doc/getdate.texi.
10379         * modules/get_date (Files): Update.
10380         * MODULES.html.sh (Date and time <time.h>): Update.
10381         * DEPENDENCIES: Update.
10382         * gnulib-tool: Update comment.
10383         * m4/bison.m4 (gl_BISON): Likewise.
10384         * m4/get_date.m4 (gl_GET_DATE): Likewise.
10385
10386 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
10387
10388         bootstrap: support ACLOCAL_FLAGS during aclocal
10389         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
10390         can add additional -I dir for third-party .m4 files.
10391
10392 2010-09-30  Eric Blake  <eblake@redhat.com>
10393
10394         bootstrap: use glibtoolize on MacOS
10395         * build-aux/bootstrap (check_versions): Convert libtool into
10396         libtoolize.
10397         (tool search): Move libtool check earlier, and look for
10398         glibtoolize for MacOS.
10399         (gnulib_tool_options): Auto-add --libtool when appropriate.
10400         Reported by Justin Clift.
10401
10402         poll: fix typo that broke test on MacOS
10403         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
10404         Reported by Justin Clift.
10405
10406         getdate: rename to get_date
10407         Note: getdate.h is not renamed, to minimize client impact.
10408         * modules/getdate: Mark obsolete.  Move old contents...
10409         * modules/get_date: ...to new module name.
10410         * modules/getdate-tests: Move...
10411         * modules/get_date-tests: ...here.
10412         * m4/getdate.m4: Move...
10413         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
10414         * lib/getdate.y: Move...
10415         * lib/get_date.y: ...here.
10416         * tests/test-getdate.c: Move...
10417         * tests/test-get_date.c: ...here.
10418         * doc/posix-functions/getdate.texi (getdate): Update name.
10419         * NEWS: Mention the change.
10420
10421 2010-09-29  Bruno Haible  <bruno@clisp.org>
10422
10423         Separate the module 'waitpid' from the module 'sys_wait'.
10424         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
10425         present.
10426         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
10427         gl_MODULE_INDICATOR_FOR_TESTS.
10428         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
10429         * modules/sys_wait (Depends-on): Remove waitpid.
10430         (Makefile.am): Substitute GNULIB_WAITPID.
10431         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
10432         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
10433         signature only if the 'waitpid' module is present.
10434         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
10435         * NEWS: Mention the change.
10436         * modules/grantpt (Depends-on): Add waitpid.
10437         * modules/wait-process (Depends-on): Likewise.
10438
10439 2010-09-29  Bruno Haible  <bruno@clisp.org>
10440
10441         More tests for module 'sys_wait'.
10442         * modules/sys_wait-c++-tests: New file.
10443         * tests/test-sys_wait-c++.cc: New file.
10444         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
10445         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10446
10447 2010-09-29  Bruno Haible  <bruno@clisp.org>
10448
10449         New module 'waitpid'.
10450         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
10451         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
10452         Don't include <process.h>.
10453         (waitpid): Declare only, using modern idiom.
10454         * m4/waitpid.m4: New file.
10455         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
10456         * modules/waitpid: New file.
10457         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
10458         (Makefile.am): Update.
10459         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10460
10461 2010-09-28  Bruno Haible  <bruno@clisp.org>
10462
10463         poll: Assume ANSI C.
10464         * lib/poll.c (poll): Use an ANSI C declaration.
10465
10466 2010-09-28  Bruno Haible  <bruno@clisp.org>
10467
10468         poll-h: Create poll.h on all platforms.
10469         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
10470         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
10471         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
10472         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
10473         (gl_REPLACE_POLL_H): Don't set POLL_H.
10474         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
10475         * modules/poll-h (Depends-on): Add include_next.
10476         (Makefile.am): Create poll.h unconditionally. Substitute also
10477         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
10478
10479 2010-09-28  Bruno Haible  <bruno@clisp.org>
10480
10481         Tests for module 'poll-h'.
10482         * modules/poll-h-c++-tests: New file.
10483         * tests/test-poll-h-c++.cc: New file.
10484
10485         Tests for module 'poll-h'.
10486         * modules/poll-h-tests: New file.
10487         * tests/test-poll-h.c: New file.
10488
10489 2010-09-28  Bruno Haible  <bruno@clisp.org>
10490
10491         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
10492         * modules/poll-h (Depends-on): Add 'extensions'.
10493
10494 2010-09-28  Bruno Haible  <bruno@clisp.org>
10495
10496         New module 'poll-h'.
10497         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
10498         (poll): Use modern idiom.
10499         * modules/poll-h: New file.
10500         * modules/poll (Files): Remove lib/poll.in.h.
10501         (Depends-on): Add poll-h.
10502         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
10503         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
10504         * m4/poll_h.m4: New file.
10505         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
10506         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
10507         and invoke gl_REPLACE_POLL_H.
10508         * lib/poll.c: Use common idiom.
10509         * tests/test-poll.c: Likewise.
10510         * doc/posix-headers/poll.texi: Mention the poll-h module.
10511         Suggested by Eric Blake.
10512
10513 2010-09-26  Bruno Haible  <bruno@clisp.org>
10514
10515         sys_wait: Implement WSTOPSIG.
10516         * lib/sys_wait.in.h (WSTOPSIG): New macro.
10517         Reported by Simon Josefsson.
10518
10519 2010-09-26  Simon Josefsson  <simon@josefsson.org>
10520
10521         stdlib, sys_wait: Avoid compilation error on mingw.
10522         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
10523
10524 2010-09-26  Bruno Haible  <bruno@clisp.org>
10525
10526         stdlib tests: Avoid code duplication.
10527         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
10528         * modules/sys_wait-tests (Files): Likewise.
10529         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
10530         * tests/test-stdlib.c: Include test-sys_wait.h.
10531         (main): Invoke test_sys_wait_macros.
10532         * tests/test-sys_wait.c: Include test-sys_wait.h.
10533         (main): Invoke test_sys_wait_macros.
10534
10535 2010-09-25  Simon Josefsson  <simon@josefsson.org>
10536
10537         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
10538         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
10539         sure Windows sockets are working before calling getaddrinfo.
10540         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
10541         * doc/gnulib.texi (Windows sockets): Fix typo.
10542
10543 2010-09-25  Bruno Haible  <bruno@clisp.org>
10544
10545         Tests for module 'regex-quote'.
10546         * modules/regex-quote-tests: New file.
10547         * tests/test-regex-quote.c: New file.
10548
10549         New module 'regex-quote'.
10550         * lib/regex-quote.h: New file.
10551         * lib/regex-quote.c: New file.
10552         * modules/regex-quote: New file.
10553         Suggested by Reuben Thomas <rrt@sc3d.org>.
10554
10555 2010-09-24  Bruno Haible  <bruno@clisp.org>
10556
10557         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
10558         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
10559
10560 2010-09-23  Bruno Haible  <bruno@clisp.org>
10561
10562         setenv: Relax license.
10563         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
10564         Blake.
10565         Requested by Eric Blake.
10566
10567 2010-09-22  Bruno Haible  <bruno@clisp.org>
10568
10569         termios: Relax license.
10570         * modules/termios (License): Change to LGPLv2+.
10571         Requested by Eric Blake.
10572
10573 2010-09-22  Bruno Haible  <bruno@clisp.org>
10574
10575         threadlib: Allow the package to change the default to 'no'.
10576         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
10577         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
10578         Reported by Paul Eggert.
10579
10580 2010-09-22  Pádraig Brady  <P@draigbrady.com>
10581             Bruno Haible  <bruno@clisp.org>
10582
10583         Fix endless loop in mbmemcasecoll.
10584         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
10585         byte.
10586         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
10587
10588 2010-09-22  Bruno Haible  <bruno@clisp.org>
10589
10590         Tests for module 'memcoll'.
10591         * modules/memcoll-tests: New file.
10592         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
10593
10594         memcoll, xmemcoll: Clarify size vs. length.
10595         * modules/memcoll.c (memcoll0): Clarify specification.
10596         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
10597         passed to collate_error.
10598
10599 2010-09-22  Bruno Haible  <bruno@clisp.org>
10600
10601         Tests for module 'memcasecmp'.
10602         * modules/memcasecmp-tests: New file.
10603         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
10604
10605 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10606
10607         * lib/pthread.in.h: Add split double-inclusion guard, and include
10608         system <pthread.h> if there is one.  Use @@-style as in other
10609         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
10610         pthread.h doesn't.
10611         (pthread_mutexattr_destroy, pthread_mutexattr_init):
10612         (pthread_mutexattr_settype, pthread_mutex_trylock):
10613         New static inline functions, if there's no system <pthread.h>.
10614         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
10615         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
10616         Approximate with mutexes if the system lacks spinlocks, as in
10617         MacOS.
10618         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
10619         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
10620         @@-style.  Check for spinlocks separately.
10621         (gl_PTHREAD_DEFAULTS): New macro.
10622         * modules/pthread: Redo to use a more typical style for in.h files.
10623
10624 2010-09-21  Eric Blake  <eblake@redhat.com>
10625
10626         net_if: enhance tests
10627         * tests/test-net_if.c (main): Move signature checks earlier.
10628         Print failures to stderr.
10629         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
10630         Document the bug that we do not yet fix.
10631
10632 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10633
10634         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
10635         about gnulib, not GSS.
10636
10637 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10638
10639         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
10640         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
10641         for Emacs.
10642         * build-aux/pmccabe2html: Make Makefile.am example code more
10643         cut-and-paste friendly.
10644
10645 2010-09-21  Simon Josefsson  <simon@josefsson.org>
10646
10647         * tests/test-net_if.c: New file.
10648         * modules/net_if-tests: New file.
10649
10650 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10651
10652         pthread: add pthread_spin_destroy
10653         * lib/pthread.in.h (pthread_spin_destroy): New function.
10654
10655 2010-09-19  Bruno Haible  <bruno@clisp.org>
10656
10657         gnulib-tool: Fix --help output.
10658         * gnulib-tool (func_usage): Fix help message.
10659         Reported by Reuben Thomas <rrt@sc3d.org>.
10660
10661 2010-09-18  Jim Meyering  <meyering@redhat.com>
10662
10663         maint.mk: avoid unexpanded \n in two diagnostics
10664         * top/maint.mk (sc_prohibit_always_true_header_tests):
10665         Don't use a literal \n in a halt=... assignment.  It would not be
10666         expanded, and the two \n bytes would appear in the diagnostic output
10667         rather than the desired newline.  Use halt=$$(printf ... instead.
10668         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
10669
10670 2010-09-18  Bruno Haible  <bruno@clisp.org>
10671
10672         netinet_in: Doc tweak.
10673         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
10674         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10675
10676 2010-09-18  Jim Meyering  <meyering@redhat.com>
10677
10678         init.sh: correct an outdated comment
10679         * tests/init.sh (create_exe_shims_):  s/function/alias/
10680
10681         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
10682         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
10683         a file named "*.exe" is removed between the glob expansion and the
10684         processing of that oddly named file.
10685
10686 2010-09-17  Eric Blake  <eblake@redhat.com>
10687
10688         mirbsd: add some more support
10689         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
10690         in BSD family.
10691         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
10692         devices as OpenBSD.
10693         * m4/host-os.m4 (mirbsd): Add MirBSD.
10694
10695         tests: fix unportable assumption on sys/wait.h
10696         * tests/test-sys_wait.c (main): Relax test.
10697         * tests/test-stdlib.c (main): Likewise.
10698
10699         init.sh: accomodate directory with no .exes
10700         * tests/init.sh: Accomodate directory containing only scripts.
10701
10702         tests: avoid compiler warning
10703         * tests/test-stdlib.c (main): Use the variable.
10704
10705         fdutimens, fdutimensat: update signature, again
10706         * lib/utimens.h (gl_futimens): Delete, and move signature...
10707         (fdutimens): ...here.
10708         (fdutimensat): Rearrange signature.
10709         (lutimensat): Rename variable for clarity.
10710         * lib/fdutimensat.c (fdutimensat): Update signature.
10711         * lib/utimens.c (fdutimens): Likewise.
10712         (gl_futimens): Delete.
10713         (utimens, lutimens): Update callers.
10714         * lib/futimens.c (futimens): Likewise.
10715         * tests/test-fdutimensat.c: Likewise.
10716         * tests/test-utimens.c: Likewise.
10717         * tests/test-futimens.h: Update comment.
10718         * NEWS: Mention this.
10719         Suggested by Paul Eggert.
10720
10721 2010-09-17  Bruno Haible  <bruno@clisp.org>
10722
10723         Take over the maintenance of some older macros from Autoconf.
10724         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
10725         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
10726         GNU Autoconf.
10727         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
10728         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
10729
10730 2010-09-17  Eric Blake  <eblake@redhat.com>
10731
10732         fdutimensat: drop atflag validation
10733         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
10734         with valid fd, to close a race scenario where futimens is
10735         unsupported and FILE was replaced by a symlink.
10736         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
10737         accordingly.
10738         Suggested by Paul Eggert.
10739
10740 2010-09-16  Bruno Haible  <bruno@clisp.org>
10741
10742         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
10743         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
10744
10745 2010-09-16  Bruno Haible  <bruno@clisp.org>
10746
10747         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
10748         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
10749         login_tty exists.
10750         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10751
10752 2010-09-16  Bruno Haible  <bruno@clisp.org>
10753
10754         login_tty: Make the replacement code work on BSD systems.
10755         * lib/login_tty.c: Include <sys/ioctl.h>.
10756         (login_tty): Use ioctl TIOCSCTTY when available.
10757         * modules/login_tty (Depends-on): Add sys_ioctl.
10758         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10759
10760 2010-09-16  Bruno Haible  <bruno@clisp.org>
10761
10762         login_tty: Stricter unit test.
10763         * modules/login_tty-tests (Depends-on): Add tcgetsid.
10764         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
10765         and tcgetsid() after login_tty.
10766         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10767
10768 2010-09-16  Bruno Haible  <bruno@clisp.org>
10769
10770         New module 'tcgetsid'.
10771         * lib/tcgetsid.c: New file.
10772         * m4/tcgetsid.m4: New file.
10773         * modules/tcgetsid: New file.
10774         * modules/termios (Depends-on): Add c++defs, warn-on-use.
10775         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
10776         GNULIB_TCGETSID, HAVE_TCGETSID.
10777         * lib/termios.in.h: Include <sys/types.h>.
10778         (tcgetsid): New declaration.
10779         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
10780         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
10781         * doc/posix-functions/tcgetsid.texi: Mention the new module.
10782         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
10783
10784 2010-09-16  Bruno Haible  <bruno@clisp.org>
10785
10786         Tests for module 'termios'.
10787         * modules/termios-c++-tests: New file.
10788         * modules/termios-tests: New file.
10789         * tests/test-termios-c++.cc: New file.
10790         * tests/test-termios.c: New file.
10791
10792         New module 'termios'.
10793         * modules/termios: New file.
10794         * lib/termios.in.h: New file.
10795         * m4/termios_h.m4: New file.
10796         * doc/posix-headers/termios.texi: Mention the new module.
10797
10798 2010-09-16  Eric Blake  <eblake@redhat.com>
10799
10800         fdutimensat: add an atflag parameter
10801         * lib/fdutimensat.c (fdutimensat): Add new parameter.
10802         * lib/utimens.h (fdutimensat): Update prototype.
10803         * tests/test-fdutimensat.c: Adjust test to match.
10804         * NEWS: Document the change.
10805         Suggested by Paul Eggert.
10806
10807 2010-09-16  Bruno Haible  <bruno@clisp.org>
10808
10809         Fix typos in comments.
10810         * lib/striconveh.h: Fix typo in comment.
10811         * lib/login_tty.c (login_tty): Likewise.
10812
10813 2010-09-15  Bruno Haible  <bruno@clisp.org>
10814
10815         stdlib: clarify MirBSD WEXITSTATUS bug
10816         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
10817         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10818
10819 2010-09-15  Eric Blake  <eblake@redhat.com>
10820
10821         stdlib: work around MirBSD WEXITSTATUS bug
10822         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
10823         * modules/stdlib (Depends-on): Add sys_wait.
10824         * tests/test-sys_wait.c (main): Enhance test.
10825         * tests/test-stdlib.c (main): Likewise.
10826         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
10827
10828         docs: mention MacOS issue with WEXITSTATUS(constant)
10829         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
10830         issue.
10831         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10832
10833         strnlen: add tests
10834         * modules/strnlen-tests: New file.
10835         * tests/test-strnlen.c: Likewise.
10836
10837 2010-09-14  Bruno Haible  <bruno@clisp.org>
10838
10839         unistr/base: Avoid link errors when module 'libunistring' is also used.
10840         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
10841         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
10842         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
10843         Declare also when HAVE_LIBUNISTRING is set.
10844         Reported by Pádraig Brady <P@draigbrady.com>.
10845
10846 2010-09-14  Eric Blake  <eblake@redhat.com>
10847
10848         test-rawmemchr: make more robust
10849         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
10850         (Depends-on, configure.ac): Add needed prerequisites to use it.
10851         * modules/memchr-tests (Files, Depends-on, configure.ac):
10852         Likewise, to avoid implicit reliance on memchr module prereqs.
10853         * tests/test-memchr.c (main): Ensure proper masking.
10854         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
10855         reads.
10856
10857         memchr: detect glibc Alpha bug
10858         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
10859         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
10860         Alpha.
10861         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
10862         * tests/test-memchr.c (main): Enhance test.
10863         Reported by Nelson H. F. Beebe.
10864
10865 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10866
10867         fts, getcwd, glob: audit for dirfd returning -1
10868         * lib/fts.c (opendir): Remove #define; no longer used.
10869         (opendirat): New arg PDIR_FD.  All callers changed.
10870         (fts_build, _opendir2): Use new opendirat to avoid the need for
10871         dirfd, or for checking whether dirfd returns a negative value.
10872         Don't use opendir; always use openat followed by fdopendir.
10873         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
10874         it.
10875         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
10876         returns -1 here.
10877         * modules/fts (Depends-on): Remove dirfd.
10878         * modules/getcwd (Depends-on): Likewise.
10879
10880 2010-09-13  Eric Blake  <eblake@redhat.com>
10881
10882         float: fix broken MirBSD header
10883         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
10884         * doc/posix-headers/float.texi (float.h): Document it.
10885
10886 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10887
10888         fts: use O_NOFOLLOW to avoid race condition when opening a directory
10889         * lib/fts.c (opendirat): New arg extra_flags.
10890         (__opendir2): Use it to avoid following symlinks when opening
10891         a directory, if symlinks are not supposed to be followed.  See
10892         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
10893
10894         fdopendir: preserve argument fd before returning
10895         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
10896         (fdopendir_with_dup, fd_clone_opendir): New static functions.
10897         (fdopendir): Use them, arranging for FD to be open to the same
10898         directory that it was when it started.  (It might be temporarily
10899         closed while fdopendir is running, so this not thread- or
10900         signal-safe.)  Be careful to do the right thing even when file
10901         descriptors are scarce and dup fails with errno == EMFILE.  See
10902         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
10903
10904 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
10905
10906         regex: Pass the system regex if its only problem is 32-bit regoff_t.
10907         * NEWS: Document change.
10908         * m4/regex.m4: Disable test for regoff_t size.
10909
10910 2010-09-13  Jim Meyering  <meyering@redhat.com>
10911
10912         fts: don't operate on an invalid file descriptor after failed dup
10913         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
10914         negative file descriptor.
10915
10916 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
10917
10918         savedir: add streamsavedir, deprecate fdsavedir
10919         * NEWS: Mention deprecation of fdsavedir.
10920         * lib/savedir.c (streamsavedir): New extern function, whose name
10921         ends in "savedir" to be consistent with the others.  This differs
10922         from savedirstream in that it doesn't close its argument.  The
10923         next version of GNU tar will use this instead of fdsavedir, to
10924         avoid some race conditions and conserve file descriptors.
10925         (savedirstream): Reimplement as a wrapper around streamsavedir.
10926         (fdsavedir): Add a comment deprecating this function.  As far as
10927         I know, only GNU tar used it, and GNU tar doesn't need it any more.
10928         * lib/savedir.h (streamsavedir): New decl.
10929         (fdsavedir): Add a comment deprecating this.
10930
10931 2010-09-10  Bruno Haible  <bruno@clisp.org>
10932
10933         langinfo: Fix last commit.
10934         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
10935         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
10936         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10937
10938 2010-09-10  Bruno Haible  <bruno@clisp.org>
10939
10940         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
10941         * lib/progreloc.c (O_EXEC): Define fallback.
10942
10943 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
10944
10945         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
10946         * NEWS: Document recent changes to fcntl-h.
10947         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
10948         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
10949         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
10950         Similarly for O_SEARCH; this last was already true, but not documented.
10951         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
10952         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
10953         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
10954         Likewise.
10955         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
10956         is zero, not whether it is defined.
10957         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
10958         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
10959         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
10960
10961 2010-09-10  Bruno Haible  <bruno@clisp.org>
10962
10963         langinfo, nl_langinfo: Fix for IRIX 5.3.
10964         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
10965         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
10966         HAVE_LANGINFO_YESEXPR.
10967         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
10968         HAVE_LANGINFO_YESEXPR.
10969         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
10970         HAVE_LANGINFO_T_FMT_AMPM is 0.
10971         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
10972         HAVE_LANGINFO_YESEXPR is 0.
10973         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
10974         NOEXPR.
10975         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
10976         * doc/posix-functions/nl_langinfo.texi: Likewise.
10977         Reported by Eric Blake.
10978
10979 2010-09-10  Bruno Haible  <bruno@clisp.org>
10980
10981         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
10982         * doc/glibc-functions/login_tty.texi: Mention the include file problem
10983         on FreeBSD 8.0 and OpenBSD 4.6.
10984         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
10985         * m4/pty_h.m4 (gl_PTY_H): Likewise.
10986         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
10987         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
10988         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
10989         ac_includes_default.
10990         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10991
10992 2010-09-09  Eric Blake  <eblake@redhat.com>
10993
10994         strsignal: work around NetBSD bug
10995         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
10996         * lib/string.in.h (includes): Likewise.
10997         * doc/posix-functions/strsignal.texi (strsignal): Document the
10998         bug.
10999         Reported by Nelson H. F. Beebe.
11000
11001         gnulib-tool: work with NetBSD /bin/sh
11002         * gnulib-tool (func_cache_var, func_cache_lookup_module)
11003         (func_get_description, func_get_comment, func_get_status)
11004         (func_get_notice, func_get_applicability, func_get_filelist)
11005         (func_get_dependencies, func_get_autoconf_early_snippet)
11006         (func_get_autoconf_snippet, func_get_automake_snippet)
11007         (func_get_include_directive, func_get_link_directive)
11008         (func_get_license, func_get_maintainer, func_import): Avoid
11009         shell syntax errors from parsing syntax extensions.
11010
11011 2010-09-09  Bruno Haible  <bruno@clisp.org>
11012
11013         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
11014         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
11015         a reliable way to determine whether the 'alias' command works.
11016
11017 2010-09-08  Jim Meyering  <meyering@redhat.com>
11018
11019         init.sh: penalize a set-x-impaired shell; don't disqualify it
11020         * tests/init.sh: Too many shells corrupt application stderr when
11021         you set -x, so we can't afford to disqualify them, since at least
11022         on Irix-6.5, that would disqualify all bourne shells.
11023         Instead, use a two-pass approach.
11024         On the first pass, try to find a shell that meets the stricter
11025         condition that set -x does not corrupt stderr.
11026         If no shell meets the stricter condition, retest each candidate
11027         shell, but without that extra condition.  Finally, when
11028         VERBOSE=yes is requested and set -x might cause trouble, simply
11029         issue a warning and refrain from enabling debug output.
11030
11031 2010-09-08  Eric Blake  <eblake@redhat.com>
11032
11033         unsetenv: fix OpenBSD bug
11034         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
11035         * doc/posix-functions/unsetenv.texi (unsetenv): Update
11036         documentation.
11037         Reported by Jim Meyering.
11038
11039         strtod: work around IRIX 6.5 bug
11040         * lib/strtod.c (strtod): Reparse number on shorter string if
11041         exponent parse was invalid.
11042         * tests/test-strtod.c (main): Add check for "0x1p 2".
11043         Reported by Tom G. Christensen.
11044
11045         getopt: optimize previous patch
11046         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
11047         empty variable.  Speed up awk script.
11048         Reported by Paolo Bonzini.
11049
11050 2010-09-08  Jim Meyering  <meyering@redhat.com>
11051
11052         test.sh: disqualify shells for which set -x corrupts stderr
11053         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
11054         and OpenBSD 4.7.  They make it so with "set -x", environment settings
11055         appear in stderr output.  For example, this command:
11056             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
11057         prints "P=1" on those two systems:
11058
11059 2010-09-08  Bruno Haible  <bruno@clisp.org>
11060
11061         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
11062         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
11063         commands, because some shells ignore redirections when there is an
11064         error in the command lookup.
11065         Reported by Eric Blake.
11066
11067 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
11068
11069         * lib/regex.h: Fix a mention of `regex_compile' (should be
11070         `re_compile_pattern').
11071         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
11072         (re_set_registers): Correct name of parameter in comment.
11073
11074         * doc/regex.texi: Add documentation for missing syntax flags.
11075         Remove commented-out documentation of defunct syntax option
11076         RE_NO_EMPTY_ALTS.
11077         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
11078         Add documentation of re_set_registers.
11079         Document trick to re-use a pattern buffer by setting fastmap manually.
11080         Update documentation of struct re_pattern_buffer per public members.
11081         Uncomment documentation of equivalence class operators and
11082         collating symbol operators, since they are now implemented,
11083         Explain leftmost-longest matching in relation to alternatives.
11084         Tidy documentation of substring matching.
11085         Remove POSIX documentation, which is done better in
11086         glibc, and refer the reader there. Keep BSD API documentation, as
11087         that is not readily available elsewhere.
11088
11089 2010-09-07  Eric Blake  <eblake@redhat.com>
11090
11091         getopt: handle POSIXLY_CORRECT set but not exported
11092         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
11093         export state of POSIXLY_CORRECT, due to bash set -o posix.
11094         Reported by Dustin J. Mitchell.
11095
11096 2010-09-05  Bruno Haible  <bruno@clisp.org>
11097
11098         gnulib-tool: Highlight the changed options.
11099         * gnulib-tool (func_usage): Display the --import, --add-import,
11100         --remove-import explanations in bold font.
11101
11102 2010-09-06  Karl Berry  <karl@gnu.org>
11103
11104         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
11105
11106 2010-09-05  Bruno Haible  <bruno@clisp.org>
11107
11108         uniwidth/width: Update comment.
11109         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
11110         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
11111
11112 2010-09-05  Bruno Haible  <bruno@clisp.org>
11113
11114         isinf, isnan: Relax license.
11115         * modules/isinf (License): Change from GPL to LGPL, with consent from
11116         Ben Pfaff.
11117         * modules/isnan (License): Likewise.
11118         Requested by Ludovic Courtès.
11119
11120 2010-09-04  Bruno Haible  <bruno@clisp.org>
11121
11122         gnulib-tool: Help migration from --import to --add-import or --update.
11123         * gnulib-tool: Emit a verbose error message when --import is used
11124         without any module name.
11125
11126 2010-09-04  Bruno Haible  <bruno@clisp.org>
11127
11128         Update doc about gnulib-tool.
11129         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
11130         'gnulib-tool --update' in more detail.
11131         Reported by Eric Blake.
11132
11133 2010-09-04  Bruno Haible  <bruno@clisp.org>
11134
11135         gnulib-tool: Change --import. New options --add/remove-import.
11136         * gnulib-tool: New options --add-import, --remove-import.
11137         (func_usage): Document them.
11138         (have_associative): Define always.
11139         (func_import): In import mode, don't merge the specified settings with
11140         the cached settings. Implement remove-import mode.
11141         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
11142         Explain when to use them versus --import.
11143         (Simple update): Use --add-import instead of --import.
11144         * NEWS: Mention the change.
11145
11146 2010-09-04  Bruno Haible  <bruno@clisp.org>
11147
11148         * doc/gnulib-tool.texi (Initial import): Update paragraph about
11149         separate gnulib.mk.
11150
11151 2010-09-04  Bruno Haible  <bruno@clisp.org>
11152
11153         gnulib-tool: Don't talk about CVS any more.
11154         * gnulib-tool (func_usage, func_import): Write "version control"
11155         instead of CVS.
11156
11157 2010-09-04  Jim Meyering  <meyering@redhat.com>
11158
11159         maint.mk: avoid obscure sc_copyright_check failure in coreutils
11160         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
11161         false positives (whose names may be ill-chosen) when searching
11162         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
11163         would cause a false-positive.
11164
11165         avoid coreutils "make distcheck" failure
11166         Coreutils tests with an absolute build directory name that contains
11167         a space.  Not quoting this directory name caused a failure.
11168         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
11169         * tests/test-vc-list-files-cvs.sh: Likewise.
11170
11171 2010-09-04  Bruno Haible  <bruno@clisp.org>
11172
11173         gnulib-tool: Avoid error when run in a package without Makefile.am.
11174         * gnulib-tool: When collecting the m4dirs in a package that does not
11175         have a Makefile.am, eliminate those directories that contain no
11176         gnulib-cache.m4. Fix expression that counts these directories.
11177
11178 2010-09-04  Bruno Haible  <bruno@clisp.org>
11179
11180         update-copyright test: Improve output when perl is missing or too old.
11181         * tests/test-update-copyright.sh: Move test of Perl version down after
11182         the test whether Perl exists. Provide an explanation relating Perl's
11183         error message to Automake's SKIP: message.
11184
11185 2010-09-04  Bruno Haible  <bruno@clisp.org>
11186
11187         Don't augment PATH in TESTS_ENVIRONMENT.
11188         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
11189         set abs_aux_dir instead of augmenting PATH.
11190         * modules/vc-list-files-tests (Makefile.am): Likewise.
11191         * tests/test-update-copyright.sh: Augment PATH here.
11192         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
11193         path_prepend_.
11194         * tests/test-vc-list-files-git.sh: Likewise.
11195
11196 2010-09-04  Jim Meyering  <meyering@redhat.com>
11197
11198         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
11199         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
11200
11201 2010-09-04  Bruno Haible  <bruno@clisp.org>
11202
11203         strdup: Fix compilation error in C++ mode.
11204         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
11205         the macro.
11206
11207 2010-09-04  Bruno Haible  <bruno@clisp.org>
11208
11209         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
11210         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
11211         macro into a function.
11212         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11213
11214 2010-09-04  Bruno Haible  <bruno@clisp.org>
11215
11216         Set PATH_SEPARATOR the same way autoconf does.
11217         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
11218         the value of PATH_SEPARATOR the same way autoconf-generated configure
11219         scripts do.
11220         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
11221         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
11222
11223 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11224
11225         Set PATH_SEPARATOR the same way autoconf does.
11226         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
11227         the same way autoconf-generated configure scripts do.
11228         * posix-modules: Likewise.
11229
11230 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11231
11232         hash: fix safe_hasher const typo
11233         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
11234         const; otherwise, there is a type error later.
11235
11236 2010-09-02  Jim Meyering  <meyering@redhat.com>
11237
11238         test-update-copyright.sh: require perl 5.8.0
11239         * tests/test-update-copyright.sh: Require 5.8.0,
11240         which Tom G. Christensen has confirmed is adequate,
11241         while 5.6.1 is not.
11242
11243 2010-09-02  Eric Blake  <eblake@redhat.com>
11244
11245         tests: init.sh improvements for re-exec'ing with zsh
11246         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
11247         -vx through shell re-exec.
11248         Reported by Tom G. Christensen.
11249
11250         wctype: fix typo in previous commit
11251         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
11252         Reported by Ludovic Courtès.
11253
11254 2010-09-02  Jim Meyering  <meyering@redhat.com>
11255
11256         test-update-copyright.sh: skip test if Perl is too old
11257         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
11258         Reported by Tom G. Christensen.
11259
11260 2010-09-02  Bruno Haible  <bruno@clisp.org>
11261
11262         wctype: Avoid compilation error on IRIX 6.5.30.
11263         * lib/wctype.in.h (iswblank): Declare with a replacement if
11264         REPLACE_ISWBLANK is set.
11265         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
11266         declared. Set REPLACE_ISWBLANK.
11267         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
11268         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
11269         * doc/posix-headers/wctype.texi: Likewise.
11270         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11271
11272 2010-09-01  Bruno Haible  <bruno@clisp.org>
11273
11274         New module 'socketlib'.
11275         * modules/socketlib: New file.
11276         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
11277         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
11278         * modules/sockets (Depends-on): Add socketlib.
11279         Suggested by Sam Steingold <sds@gnu.org>.
11280
11281 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11282
11283         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
11284
11285         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
11286         when one needs search access to a directory but not read access.
11287         On systems where it is available, it works in some cases where
11288         O_RDONLY does not, namely on directories that are searchable but
11289         not readable, and which need only to be searchable.  If O_SEARCH
11290         is not available, fall back to the traditional method of using
11291         O_RDONLY.
11292
11293         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
11294         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
11295         when opening a directory that needs only to be searchable.
11296         * lib/chdir-safer.c (chdir_no_follow): Likewise.
11297         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
11298         * lib/openat-proc.c (openat_proc_name): Likewise.
11299         * lib/openat.c (openat_needs_fchdir): Likewise.
11300         * lib/save-cwd.c (save_cwd): Likewise.
11301         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
11302
11303 2010-08-28  Bruno Haible  <bruno@clisp.org>
11304
11305         New module 'host-cpu-c-abi'.
11306         * modules/host-cpu-c-abi: New file.
11307         * m4/host-cpu-c-abi.m4: New file, based on part of
11308         clisp/src/m4/general.m4.
11309         Requested by Sam Steingold <sds@gnu.org>.
11310
11311 2010-08-31  Eric Blake  <eblake@redhat.com>
11312         and Jim Meyering  <meyering@redhat.com>
11313
11314         hash: factor, and guard against misbehaving hasher function
11315         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
11316         of table->hasher's return value.  Also protect against a hash value
11317         so large that adding it to table->bucket results in a NULL pointer.
11318         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
11319         Use it in place of open-coded check-and-abort.
11320
11321 2010-08-30  Bruno Haible  <bruno@clisp.org>
11322
11323         hash: silence spurious clang warning
11324         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
11325         Reported by Eric Blake.
11326
11327 2010-08-30  Eric Blake  <eblake@redhat.com>
11328
11329         strstr, memmem, strcasestr: avoid leaked shell message
11330         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
11331         FreeBSD.
11332         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11333         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11334
11335         tests: silence clang warning
11336         * tests/test-malloca.c (do_allocation): Avoid dead store.
11337
11338 2010-08-29  Bruno Haible  <bruno@clisp.org>
11339
11340         gettext: Fix recent mistake.
11341         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
11342
11343 2010-08-29  Bruno Haible  <bruno@clisp.org>
11344
11345         selinux-h: Offer a --without-selinux option.
11346         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
11347         --without-selinux was specified, skip all tests and define
11348         HAVE_SELINUX_SELINUX_H to 0.
11349         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
11350         set LIB_SELINUX to empty.
11351         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
11352         gl_LIBSELINUX. If --without-selinux was specified, replace
11353         selinux/context.h.
11354         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
11355
11356 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11357             Bruno Haible  <bruno@clisp.org>
11358
11359         Make the module 'realloc-gnu' work again on AIX and OSF/1.
11360         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
11361         of HAVE_REALLOC.
11362         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
11363         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
11364         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
11365         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11366
11367 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11368             Bruno Haible  <bruno@clisp.org>
11369
11370         Make the module 'calloc-gnu' work again on AIX and OSF/1.
11371         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
11372         HAVE_CALLOC.
11373         * lib/xmalloc.c: Update accordingly.
11374         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
11375         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
11376         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
11377
11378 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11379             Bruno Haible  <bruno@clisp.org>
11380
11381         Make the module 'malloc-gnu' work again on AIX and OSF/1.
11382         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
11383         HAVE_MALLOC.
11384         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
11385         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
11386         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
11387
11388 2010-08-29  Bruno Haible  <bruno@clisp.org>
11389
11390         Update modules list.
11391         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
11392         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
11393         (String handling <string.h>): Add astrxfrm.
11394         (File system functions): Add readlinkat.
11395
11396 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11397
11398         Tests for module 'realloc-gnu'.
11399         * modules/realloc-gnu-tests: New file.
11400         * tests/test-realloc-gnu.c: New file.
11401
11402         Tests for module 'calloc-gnu'.
11403         * modules/calloc-gnu-tests: New file.
11404         * tests/test-calloc-gnu.c: New file.
11405
11406         Tests for module 'malloc-gnu'.
11407         * modules/malloc-gnu-tests: New file.
11408         * tests/test-malloc-gnu.c: New file.
11409
11410 2010-08-28  Bruno Haible  <bruno@clisp.org>
11411
11412         Rename module 'realloc' -> 'realloc-gnu'.
11413         * modules/realloc-gnu: New file, copied from modules/realloc.
11414         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
11415         obsolete.
11416         * modules/mgetgroups (Depends-on): Update.
11417         * doc/posix-functions/realloc.texi: Update.
11418         * NEWS: Mention the change.
11419
11420         Rename module 'calloc' -> 'calloc-gnu'.
11421         * modules/calloc-gnu: New file, copied from modules/calloc.
11422         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
11423         obsolete.
11424         * doc/posix-functions/calloc.texi: Update.
11425         * NEWS: Mention the change.
11426
11427         Rename module 'malloc' -> 'malloc-gnu'.
11428         * modules/malloc-gnu: New file, copied from modules/malloc.
11429         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
11430         obsolete.
11431         * modules/argp (Depends-on): Update.
11432         * modules/regex (Depends-on): Update.
11433         * doc/posix-functions/malloc.texi: Update.
11434         * NEWS: Mention the change.
11435
11436 2010-08-28  Eric Blake  <eblake@redhat.com>
11437
11438         pread, pwrite: add missing dependency
11439         * modules/pread (Depends-on): Add extensions.
11440         * modules/pwrite (Depends-on): Likewise.
11441
11442 2010-08-28  Bruno Haible  <bruno@clisp.org>
11443
11444         unistr/u*-strchr: Fix tests dependencies.
11445         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
11446         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
11447         Reported by Ian Beckwith <ianb@erislabs.net>.
11448
11449 2010-08-28  Bruno Haible  <bruno@clisp.org>
11450
11451         read-file: Don't occupy too much unused memory.
11452         * lib/read-file.c (fread_file): Shrink the buffer at the end.
11453
11454 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
11455             Eric Blake  <eblake@redhat.com>
11456             Bruno Haible  <bruno@clisp.org>
11457
11458         read-file: Avoid memory reallocations with regular files.
11459         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
11460         (fread_file): With regular files, use the remaining length as the
11461         initial buffer size.  Check against overflow.
11462         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
11463         sys_stat.
11464
11465 2010-08-28  Bruno Haible  <bruno@clisp.org>
11466
11467         ftello: Relax license.
11468         * modules/ftello (License): Relax to LGPLv2+.
11469         Reported by Eric Blake.
11470
11471 2010-08-28  Bruno Haible  <bruno@clisp.org>
11472
11473         Avoid relocwrapper link errors due to gnulib replacement functions.
11474         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
11475         function.
11476         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11477
11478 2010-08-28  Bruno Haible  <bruno@clisp.org>
11479
11480         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
11481         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
11482         defined.
11483         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
11484         Suggested by Eric Blake.
11485
11486 2010-08-28  Bruno Haible  <bruno@clisp.org>
11487
11488         sys_socket, netdb: Ensure socklen_t gets defined.
11489         * modules/sys_socket (Depends-on): Add socklen.
11490         * modules/netdb (Depends-on): Likewise.
11491         * modules/getaddrinfo (Depends-on): Remove socklen.
11492         * modules/getsockopt (Depends-on): Likewise.
11493         * modules/setsockopt (Depends-on): Likewise.
11494         * tests/test-sys_socket.c: Check that socklen_t is defined.
11495         * tests/test-netdb.c: Likewise.
11496         * m4/socklen.m4: Update comments.
11497         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11498
11499 2010-08-27  Eric Blake  <eblake@redhat.com>
11500
11501         login_tty: add missing dependency
11502         * modules/login_tty (Depends-on): Add pty.
11503
11504 2010-08-26  Eric Blake  <eblake@redhat.com>
11505
11506         lib-symbol-versions: fix m4 quoting
11507         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
11508         format for AC_LINK_IFELSE.
11509
11510         glob: fix compile test
11511         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
11512
11513         btowc: fix missing file
11514         * modules/btowc (Files): Also ship locale-fr.m4.
11515
11516         lseek: fix link test
11517         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
11518         AC_LINK_IFELSE.
11519
11520         include_next: silence autoconf 2.68 warning
11521         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
11522         AC_COMPILE_IFELSE as special.
11523         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
11524         autoconf < 2.68.
11525
11526         acl: fix compilation test
11527         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
11528         AC_COMPILE_IFELSE.
11529
11530 2010-08-26  Bruno Haible  <bruno@clisp.org>
11531
11532         Modernize AC_TRY_RUN invocations.
11533         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
11534         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
11535         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
11536         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
11537         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
11538         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11539         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
11540         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
11541         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11542         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11543         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
11544         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
11545         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
11546         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
11547         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
11548         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
11549         gl_MBRLEN_NUL_RETVAL): Likewise.
11550         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
11551         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
11552         Likewise.
11553         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11554         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11555         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
11556         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
11557         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
11558         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
11559         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
11560         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11561         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
11562         Likewise.
11563         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
11564         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
11565         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11566         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11567         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11568         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
11569         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11570         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
11571         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11572         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11573
11574 2010-08-26  Bruno Haible  <bruno@clisp.org>
11575
11576         Modernize AC_TRY_LINK invocations.
11577         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
11578         AC_TRY_LINK.
11579         * m4/argp.m4 (gl_ARGP): Likewise.
11580         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11581         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11582         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
11583         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
11584         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
11585         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
11586         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11587         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11588         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
11589         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
11590         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
11591         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
11592         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
11593         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
11594         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
11595         * m4/hostent.m4 (gl_HOSTENT): Likewise.
11596         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11597         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
11598         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
11599         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
11600         Likewise.
11601         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
11602         Likewise.
11603         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
11604         Likewise.
11605         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
11606         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
11607         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
11608         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11609         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11610         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11611         * m4/servent.m4 (gl_SERVENT): Likewise.
11612         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11613         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11614         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11615         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11616         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11617         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11618         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11619         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11620         * modules/tsearch-tests (configure.ac): Likewise.
11621
11622 2010-08-26  Bruno Haible  <bruno@clisp.org>
11623
11624         Modernize AC_TRY_COMPILE invocations.
11625         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
11626         AC_TRY_COMPILE.
11627         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
11628         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
11629         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
11630         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11631         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
11632         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11633         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
11634         * m4/lock.m4 (gl_LOCK): Likewise.
11635         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
11636         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11637         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
11638         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
11639         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
11640         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
11641         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
11642         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
11643         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
11644         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
11645         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
11646         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
11647         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
11648         extraneous semicolon.
11649
11650 2010-08-26  Jim Meyering  <meyering@redhat.com>
11651
11652         stat-time: relax license LGPL
11653         * modules/stat-time (License): Change from GPL to LGPL,
11654         with consent from all contributors, for use in libguile.
11655         Requested by Ludovic Courtès.
11656
11657 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
11658
11659         poll: return immediately on POLLHUP.
11660         * lib/poll.c (poll): Always set timeout before wait_timeout is
11661         computed.
11662
11663 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11664
11665         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
11666         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
11667         rmdir ("dir/.//"), unlinkat.
11668
11669 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11670
11671         stdbool: avoid spurious failure with modern xlc
11672         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11673
11674 2010-08-24  Bruno Haible  <bruno@clisp.org>
11675
11676         getloadavg: simplify code
11677         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
11678         gl_have_func. Update comments.
11679
11680 2010-08-24  Eric Blake  <eblake@redhat.com>
11681
11682         getloadavg: don't define SVR4 on cygwin
11683         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
11684         only define SVR4 when -lkvm is required.
11685         Reported by Yaakov Selkowitz.
11686
11687 2010-08-24  Bruno Haible  <bruno@clisp.org>
11688
11689         priv-set: fix comment
11690         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
11691
11692 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11693
11694         priv-set: fix comments
11695         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
11696         to match code, as suggested by David Bartley in:
11697         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
11698
11699 2010-08-23  Eric Blake  <eblake@redhat.com>
11700
11701         stdbool: avoid rejecting clang
11702         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11703         * tests/test-stdbool.c: Enable more tests if using the system
11704         <stdbool.h> instead of the gnulib replacement.
11705         (main): Move xlc bug test to a runtime test for all compilers.
11706         Reported by Anders Kaseorg.
11707
11708         argz: fix shell quoting issue
11709         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
11710         Reported by Charles Wilson.
11711
11712 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
11713             Erik Faye-Lund <kusmabite@gmail.com>
11714
11715         poll, select: handle ERROR_BROKEN_PIPE.
11716         * lib/poll.c (win32_compute_revents): Return POLLHUP when
11717         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11718         * lib/select.c (win32_compute_revents): Do not mark a pipe
11719         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11720
11721 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
11722
11723         fts: allow compilation with C++
11724         * lib/fts_.h: Specify extern "C" linkage with C++.
11725
11726 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11727
11728         Fix gnulib-tool sed script de-commentation for AIX sed.
11729         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
11730         sed.
11731
11732 2010-08-17  Eric Blake  <eblake@redhat.com>
11733
11734         test-stddef: test for (some) offsetof bugs
11735         * tests/test-stddef.c: Enhance test to ensure correct type of
11736         offsetof.
11737         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
11738         that we are not fixing at this time.
11739
11740 2010-08-15  Bruno Haible  <bruno@clisp.org>
11741
11742         stpncpy: Allow stpncpy to be defined as a macro.
11743         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
11744         if it's already correctly declared.
11745         * lib/string.in.h (stpncpy): Undefine before redefining.
11746         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
11747
11748 2010-08-14  Bruno Haible  <bruno@clisp.org>
11749
11750         Rename module 'memxfrm' to 'amemxfrm'.
11751         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
11752         (amemxfrm): Renamed from memxfrm.
11753         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
11754         (amemxfrm): Renamed from memxfrm.
11755         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
11756         * NEWS: Mention the change.
11757         * MODULES.html.sh (String handling <string.h>): Update.
11758         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
11759         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
11760         * lib/unicase/u16-casexfrm.c: Likewise.
11761         * lib/unicase/u32-casexfrm.c: Likewise.
11762         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
11763         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
11764         * lib/uninorm/u16-normxfrm.c: Likewise.
11765         * lib/uninorm/u32-normxfrm.c: Likewise.
11766         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
11767         memxfrm.
11768         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
11769         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
11770         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
11771         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
11772         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
11773         Suggested by Paul Eggert.
11774
11775 2010-08-14  Bruno Haible  <bruno@clisp.org>
11776
11777         Tests for module 'astrxfrm'.
11778         * modules/astrxfrm-tests: New file.
11779         * tests/test-astrxfrm.c: New file.
11780
11781         New module 'astrxfrm'.
11782         * lib/astrxfrm.h: New file.
11783         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
11784         * modules/astrxfrm: New file.
11785
11786 2010-08-14  Reuben Thomas <rrt@sc3d.org>
11787
11788         regex: Tweak doc.
11789         * doc/regex.texi (Overview): Don't mention regex.c.
11790         (GNU Regular Expression Compiling): Likewise.
11791         (Match-end-of-line Operator): Mention 'not_eol'.
11792
11793 2010-08-14  Brian Gough  <bjg@gnu.org>
11794             Bruno Haible  <bruno@clisp.org>
11795
11796         git-merge-changelog: add doc relating to use with bzr and hg.
11797         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
11798
11799 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
11800
11801         pthread: fix pthread.h creation for srcdir != builddir
11802         * modules/pthread (Makefile.am): Fix the rule to work also in a
11803         non-srcdir build.
11804
11805 2010-08-13  Karl Berry  <karl@gnu.org>
11806
11807         * doc/regex.texi (Predefined Syntaxes): @smallexample.
11808         * doc/posix-*/*: force line break before @url of POSIX
11809         specifications.
11810         Suggested by Werner Lemberg.
11811
11812 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11813
11814         strtod: fix const diagnostic
11815         * lib/strtod.c (strtod): Don't assign const char * to char *,
11816         as this elicits a warning from GCC when warnings are enabled.
11817
11818 2010-08-10  Pádraig Brady <P@draigbrady.com>
11819         and Eric Blake  <eblake@redhat.com>
11820
11821         copy-acl: ignore ENOTSUP on HP-UX
11822         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
11823         so that it is available for HP-UX.
11824         * lib/copy-acl.c (qcopy_acl): Use it.
11825         Reported by Patrick M. Callahan.
11826
11827 2010-08-10  Eric Blake  <eblake@redhat.com>
11828
11829         open, chown: relax license
11830         * modules/open (License): Change to LGPLv2+, with consent by all
11831         authors, for use in augeas.
11832         * modules/chown (License): Likewise.
11833         * modules/lchown (Likewise): Likewise.
11834         Requested by Adam Stokes.
11835
11836 2010-08-09  Karl Berry  <karl@gnu.org>
11837
11838         * build-aux/ar-lib: new file, import from Automake.
11839         * config/srclist.txt: autocheck for updates.
11840
11841 2010-08-09  Eric Blake  <eblake@redhat.com>
11842
11843         readlinkat: adjust client modules
11844         * modules/areadlinkat (Depends-on): Use readlinkat, not
11845         symlinkat.
11846         * modules/areadlinkat-with-size (Depends-on): Likewise.
11847
11848         mknod: be more vocal about danger of running tests as root
11849         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
11850         root, since that is just asking for problems.
11851         Suggested by Bruno Haible, based on a report by Rainer Tammer.
11852
11853         readlinkat: split into its own module
11854         * modules/symlinkat: Split readlinkat...
11855         * modules/readlinkat: ...into separate module.
11856         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
11857         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
11858         * lib/symlinkat.c (readlinkat): Move...
11859         * lib/readlinkat.c: ...into new file.
11860         * modules/symlinkat-tests: Split readlinkat test...
11861         * modules/readlinkat-tests: ...into separate module.
11862         * tests/test-symlinkat.c: Split...
11863         * tests/test-readlinkat.c: ...into new file.
11864         * NEWS: Document the split.
11865         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11866         * lib/unistd.in.h (readlinkat): Likewise.
11867         Suggested by Bruno Haible.
11868
11869 2010-08-08  Bruno Haible  <bruno@clisp.org>
11870
11871         memxfrm: Speed up.
11872         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
11873         that usually only one call to strxfrm is necessary for each string
11874         part.
11875         Reported by Paul Eggert <eggert@cs.ucla.edu>.
11876
11877 2010-08-07  Karl Berry  <karl@gnu.org>
11878
11879         * doc/posix-headers/limits.texi,
11880         * doc/posix-functions/malloc.texi,
11881         * doc/posix-functions/strsignal.texi: missing @item.
11882         * doc/ld-version-script.texi: spurious leading i.
11883         * doc/regex.texi (Interval Operators): no commas inside @var.
11884
11885 2010-08-01  Bruno Haible  <bruno@clisp.org>
11886
11887         Integrate the regex documentation.
11888         * doc/gnulib.texi: Define 'cn' index.
11889         (Regular expressions): New a chapter that includes regex.texi and
11890         regexprops-generic.texi.
11891         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
11892         syntax.
11893
11894         Whitespace cleanup.
11895         * doc/regex.texi: Remove trailing spaces.
11896
11897         Add regex documentation.
11898         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
11899         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
11900         Written by Kathy A. Hargreaves and Karl Berry.
11901
11902 2010-08-01  Bruno Haible  <bruno@clisp.org>
11903
11904         link: Update documentation.
11905         * doc/posix-functions/link.texi: Update regarding Solaris.
11906
11907 2010-07-31  Bruno Haible  <bruno@clisp.org>
11908
11909         Update modules list.
11910         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
11911         (String handling <string.h>): Add memcmp2, memxfrm.
11912         (Container data structures): Add xlist, xsublist, xoset.
11913         (Core language properties): Add alignof, unused-parameter.
11914         (Process control, Numeric conversion functions <stdlib.h>): Renamed
11915         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
11916         (Unibyte characters <ctype.h>): New section.
11917         (String handling <string.h>): New section.
11918         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
11919         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
11920         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
11921         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
11922         tan, tanh, tanl, y0, y1, yn.
11923         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
11924         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
11925         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
11926         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
11927         unlockpt, vdprintf, vdprintf-posix.
11928         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
11929         (File system functions): Add concat-filename, sys_file, sys_ioctl,
11930         xconcat-filename.
11931         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
11932         getdtablesize, pipe2, pipe2-safer.
11933         (Security): New section.
11934         (Networking functions): Add accept4.
11935         (Signal handling): Add sigpipe.
11936         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
11937         mbmemcasecoll.
11938         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
11939         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
11940         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
11941         pipe-filter-ii.
11942         (Misc): Add argp-version-etc, login_tty, parse-duration.
11943
11944 2010-07-31  Bruno Haible  <bruno@clisp.org>
11945
11946         Improve doc in MODULES.html.
11947         * modules/linkat (Description): Add the word "function".
11948         * modules/mkfifo (Description): Likewise.
11949         * modules/mknod (Description): Likewise.
11950         * modules/remove (Description): Likewise.
11951         * modules/renameat (Description): Likewise.
11952         * modules/stat (Description): Likewise.
11953         * modules/symlink (Description): Likewise.
11954         * modules/unlink (Description): Likewise.
11955
11956 2010-07-31  Bruno Haible  <bruno@clisp.org>
11957
11958         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
11959         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
11960         option --enable/disable-c++ instead of --enable/disable-cxx.
11961         * NEWS: Mention the change.
11962
11963 2010-07-31  Bruno Haible  <bruno@clisp.org>
11964
11965         readlink, areadlink: Relax test a bit.
11966         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
11967         alternative to ENOTDIR.
11968         * tests/test-areadlink.h (test_areadlink): Likewise.
11969         Reported by Rainer Tammer.
11970
11971 2010-07-31  Bruno Haible  <bruno@clisp.org>
11972
11973         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
11974         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
11975         character, perform the search using U_STRCHR.
11976         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
11977         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
11978         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
11979         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
11980         Suggested by Paolo Bonzini.
11981
11982 2010-07-31  Bruno Haible  <bruno@clisp.org>
11983
11984         unistr/u*-strstr: Fix dependencies.
11985         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
11986         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
11987         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
11988
11989 2010-07-31  Bruno Haible  <bruno@clisp.org>
11990
11991         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
11992         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
11993         the beginning of the loop.
11994         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
11995         cases in 'switch' statement.
11996
11997         unistr/u8-strchr: Fix several bugs.
11998         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
11999         the string. When not found, return NULL, not a pointer near the end.
12000
12001         More tests for unistr/u8-strchr.
12002         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
12003         that the function does not read past the first occurrence of the byte
12004         being searched.
12005         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
12006         * tests/unistr/test-u16-strchr.c (main): New function.
12007         * tests/unistr/test-u32-strchr.c (main): New function.
12008
12009 2010-07-31  Bruno Haible  <bruno@clisp.org>
12010
12011         posix-modules: Ignore backup files of documentation files.
12012         * posix-modules: grep only through files named *.texi.
12013
12014 2010-07-31  Bruno Haible  <bruno@clisp.org>
12015
12016         symlinkat: Fix documentation.
12017         * doc/posix-functions/readlinkat.texi: Fix module name.
12018
12019 2010-07-31  Bruno Haible  <bruno@clisp.org>
12020
12021         fchownat: Replace also when chown has the trailing slash bug.
12022         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
12023         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
12024         introduced on 2010-04-10.
12025         Reported by Rainer Tammer.
12026
12027 2010-07-31  Bruno Haible  <bruno@clisp.org>
12028
12029         linkat: Work around AIX 7.1 bug.
12030         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
12031         whether linkat handles trailing slash correctly. If not, replace linkat
12032         and define LINKAT_TRAILING_SLASH_BUG.
12033         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
12034         check whether (fd1,file1) points to a directory if file1 or file2 ends
12035         in a slash. Code taken from lib/link.c.
12036         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
12037         Reported by Rainer Tammer.
12038
12039 2010-07-31  Bruno Haible  <bruno@clisp.org>
12040
12041         Correctly determine whether pow is available in libc on AIX 7 with xlc.
12042         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
12043         This disables an xlc optimization that was causing wrong test results.
12044         Reported by Rainer Tammer.
12045
12046 2010-07-31  Bruno Haible  <bruno@clisp.org>
12047
12048         iconv: Work around AIX 6.1..7.1 bug.
12049         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
12050         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
12051         cross-compiling, guess no on all versions of AIX.
12052         Reported by Rainer Tammer.
12053
12054 2010-07-31  Bruno Haible  <bruno@clisp.org>
12055
12056         readlink: Relax test a bit.
12057         * tests/test-readlink.h (test_readlink): Allow different errno value
12058         when readlink is called with a file name that ends in / and refers to
12059         a file.
12060         Suggested by Eric Blake.
12061         Reported by Rainer Tammer.
12062
12063 2010-07-31  Bruno Haible  <bruno@clisp.org>
12064
12065         copysign: Does not require -lm on glibc systems.
12066         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
12067         gl_COMMON_DOUBLE_MATHFUNC.
12068         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
12069
12070 2010-07-31  Bruno Haible  <bruno@clisp.org>
12071
12072         duplocale: Work around AIX 7.1 bug.
12073         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
12074         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
12075         * lib/duplocale.c (rpl_duplocale): Update comment.
12076         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
12077         Reported by Rainer Tammer.
12078
12079 2010-07-30  Bruno Haible  <bruno@clisp.org>
12080
12081         dirfd: Avoid link error on AIX 7.1.
12082         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
12083         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
12084         exist, set REPLACE_DIRFD.
12085         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
12086         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
12087         * doc/posix-functions/dirfd.texi: Update.
12088         Reported by Rainer Tammer.
12089
12090 2010-07-30  Eric Blake  <eblake@redhat.com>
12091
12092         strtod: next round of AIX fixes
12093         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
12094         exponent.
12095         * tests/test-strtod.c (main): Enhance tests.
12096         * doc/posix-functions/strtod.texi (strtod): Document next bug.
12097         Reported by Rainer Tammer.
12098
12099         futimens: fix configure check
12100         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
12101         Reported by Bruno Haible.
12102
12103 2010-07-30  Bruno Haible  <bruno@clisp.org>
12104
12105         getline: Update regarding AIX.
12106         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
12107         Reported by Rainer Tammer.
12108
12109 2010-07-30  Bruno Haible  <bruno@clisp.org>
12110
12111         wcwidth: Drop replacement on AIX 7.
12112         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
12113         AIX 7.
12114         Reported by Rainer Tammer.
12115
12116 2010-07-30  Bruno Haible  <bruno@clisp.org>
12117
12118         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
12119         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
12120         a 'char *'.
12121         Reported by Rainer Tammer.
12122
12123 2010-07-30  Bruno Haible  <bruno@clisp.org>
12124
12125         unlink: Update regarding AIX.
12126         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
12127         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
12128         Reported by Rainer Tammer.
12129
12130 2010-07-30  Bruno Haible  <bruno@clisp.org>
12131
12132         symlink: Update regarding AIX.
12133         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
12134         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
12135         Reported by Rainer Tammer.
12136
12137 2010-07-30  Bruno Haible  <bruno@clisp.org>
12138
12139         strndup: Update regarding AIX.
12140         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
12141         AIX 7.
12142         Reported by Rainer Tammer.
12143
12144 2010-07-30  Bruno Haible  <bruno@clisp.org>
12145
12146         stat: Update regarding AIX.
12147         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
12148         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
12149         Reported by Rainer Tammer.
12150
12151 2010-07-30  Bruno Haible  <bruno@clisp.org>
12152
12153         truncl: Fix autoconf test.
12154         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
12155         whether truncl works.
12156         Reported by Rainer Tammer.
12157
12158 2010-07-30  Bruno Haible  <bruno@clisp.org>
12159
12160         round: Update regarding AIX.
12161         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
12162         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
12163         Reported by Rainer Tammer.
12164
12165 2010-07-30  Bruno Haible  <bruno@clisp.org>
12166
12167         rename: Update regarding AIX.
12168         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
12169         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
12170         Reported by Rainer Tammer.
12171
12172 2010-07-30  Bruno Haible  <bruno@clisp.org>
12173
12174         printf.m4: Update regarding AIX.
12175         * m4/printf.m4: Update comments regarding AIX.
12176         Reported by Rainer Tammer.
12177
12178 2010-07-30  Bruno Haible  <bruno@clisp.org>
12179
12180         iconv: Update regarding AIX.
12181         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
12182         AIX 7.
12183         Reported by Rainer Tammer.
12184
12185 2010-07-30  Bruno Haible  <bruno@clisp.org>
12186
12187         getopt: Update regarding AIX.
12188         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
12189         no on AIX.
12190         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
12191         Reported by Rainer Tammer.
12192
12193 2010-07-30  Bruno Haible  <bruno@clisp.org>
12194
12195         ldexpl; Update regarding AIX.
12196         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
12197         on AIX 7.
12198         Reported by Rainer Tammer.
12199
12200 2010-07-30  Bruno Haible  <bruno@clisp.org>
12201
12202         frexpl: Update regarding AIX.
12203         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
12204         on AIX 7.
12205         Reported by Rainer Tammer.
12206
12207 2010-07-30  Bruno Haible  <bruno@clisp.org>
12208
12209         open, fopen: Update regarding AIX.
12210         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
12211         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
12212         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
12213         * doc/posix-functions/fopen.texi: Likewise.
12214         Reported by Rainer Tammer.
12215
12216 2010-07-30  Bruno Haible  <bruno@clisp.org>
12217
12218         chown: Update doc regarding AIX.
12219         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
12220         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
12221         Reported by Rainer Tammer.
12222
12223 2010-07-30  Eric Blake  <eblake@redhat.com>
12224
12225         strtod: fix bug in replacement function on AIX
12226         * lib/strtod.c (strtod): Special case broken "0x" parse in
12227         underlying strtod.
12228         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
12229         * doc/posix-functions/strtod.texi (strtod): Likewise.
12230         Reported by Rainer Tammer.
12231
12232 2010-07-30  Bruno Haible  <bruno@clisp.org>
12233
12234         mbrlen: Fix cross-compilation guess for AIX.
12235         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
12236         guess. Leftover from 2008-12-22.
12237
12238 2010-07-30  Bruno Haible  <bruno@clisp.org>
12239
12240         mbrtowc: Fix cross-compilation guess for AIX.
12241         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
12242         guess. Leftover from 2008-12-21.
12243
12244 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
12245
12246         init.sh: work around trap limitation of some shells
12247         * tests/init.sh (setup_): Move exit trap outside of shell function.
12248
12249 2010-07-29  Eric Blake  <eblake@redhat.com>
12250
12251         strtod: aid debugging
12252         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
12253         understanding why strtod is rejected.
12254
12255 2010-07-28  Bruno Haible  <bruno@clisp.org>
12256
12257         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
12258         * lib/unistr/u8-chr.c: Include <string.h>.
12259         * tests/unistr/test-u8-chr.c: Likewise.
12260         * tests/unistr/test-u16-chr.c: Likewise.
12261         * tests/unistr/test-u32-chr.c: Likewise.
12262         * tests/unistr/test-u8-strchr.c: Likewise.
12263         * tests/unistr/test-u16-strchr.c: Likewise.
12264         * tests/unistr/test-u32-strchr.c: Likewise.
12265         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
12266         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
12267         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
12268         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
12269
12270 2010-07-28  Bruno Haible  <bruno@clisp.org>
12271
12272         Use spaces for indentation, not tabs.
12273         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
12274
12275 2010-07-27  Bruno Haible  <bruno@clisp.org>
12276
12277         mbspcasecmp: Fix function specification.
12278         * lib/string.in.h (mbspcasecmp): Fix specification comment.
12279         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
12280         Reported by Eric Blake <eblake@redhat.com>.
12281
12282 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
12283
12284         timespec: use cast and not conditional, as truncation isn't possible
12285         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
12286         instead of a conditional.  Comment about the situation in more detail.
12287         This undoes most of the 2009-10-29 patch.
12288
12289 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
12290
12291         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
12292         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
12293         * lib/unistr/u8-strchr.c: Likewise.
12294         * modules/unistr/u8-chr: Depend on memchr.
12295
12296         unistr/u*-strchr: add tests
12297         * modules/unistr/u8-strchr-tests: New file.
12298         * modules/unistr/u16-strchr-tests: New file.
12299         * modules/unistr/u32-strchr-tests: New file.
12300         * tests/unistr/test-strchr.h: New file.
12301         * tests/unistr/test-u8-strchr.c: New file.
12302         * tests/unistr/test-u16-strchr.c: New file.
12303         * tests/unistr/test-u32-strchr.c: New file.
12304
12305         unistr/u*-chr: test multibyte sequences more
12306         * tests/unistr/test-chr.h: Do complete testing of the characters in the
12307         test vector.
12308         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
12309         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
12310         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
12311
12312         unistr/u*-chr: test multibyte sequences
12313         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
12314
12315         unistr/u*-chr: prepare for multibyte tests
12316         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
12317         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
12318         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
12319         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
12320         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
12321         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
12322
12323 2010-07-18  Bruno Haible  <bruno@clisp.org>
12324
12325         unistr/u8-strchr: Optimize non-ASCII argument case.
12326         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
12327         because the first byte often matches anyway.
12328         Reported by Pádraig Brady <P@draigbrady.com>.
12329
12330 2010-07-15  Karl Berry  <karl@gnu.org>
12331
12332         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
12333
12334 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
12335
12336         getcwd: on Solaris, work better if ancestors are inaccessible
12337         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
12338         buffer and size, try again with a large buffer.  This works better
12339         on Solaris, since its getcwd succeeds even if the path to the root
12340         is inaccessible, and this is helpful in common cases such as .zfs
12341         hidden directories.  Problem reported by J Chapman Flack in
12342         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
12343         Use system getcwd if it's declared, not merely if it's partly
12344         working; use the partly-working test only to avoid needless effort
12345         if the system getcwd fails.
12346         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
12347         comment that was already obsolete and is now even more obsolete.
12348         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
12349         now might call strdup.
12350
12351 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
12352
12353         pthread: Add enough so that coreutils/src/sort.c compiles.
12354         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
12355         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
12356         gnulib. Include <sched.h> and <time.h>, as per POSIX.
12357         Include <sys/types.h>, in case it defines pthread_t.
12358         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
12359         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
12360         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
12361         (pthread_rwlockattr_t, pthread_spinlock_t):
12362         New typedefs, if HAVE_PTHREAD_T is not defined.
12363         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
12364         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
12365         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
12366         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
12367         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
12368         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
12369         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
12370         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
12371         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
12372         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
12373         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
12374         New macros.
12375         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
12376         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
12377         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
12378         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
12379         (pthread_spin_unlock): New dummy functions.
12380         (pthread_create): Return EAGAIN; don't set errno.
12381         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
12382         require AC_C_INLINE.
12383         * modules/pthread (Depends-on): Add sched, time.
12384         (pthread.h): Use AM_V_GEN.
12385
12386 2010-07-13  Bruno Haible  <bruno@clisp.org>
12387
12388         striconveh: Don't malloc memory if the result buffer is sufficient.
12389         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
12390         buffer if its size is sufficient.
12391         Reported by Ludovic Courtès <ludo@gnu.org>.
12392
12393 2010-07-13  Bruno Haible  <bruno@clisp.org>
12394
12395         strtod: Add safety check.
12396         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
12397
12398 2010-07-12  Bruno Haible  <bruno@clisp.org>
12399
12400         Unify tests that set gl_cv_func_ldexpl_no_libm.
12401         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
12402         gl_FUNC_LDEXPL.
12403         (gl_FUNC_LDEXPL): Invoke it.
12404         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12405
12406 2010-07-12  Bruno Haible  <bruno@clisp.org>
12407
12408         Unify tests that set gl_cv_func_ldexp_no_libm.
12409         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
12410         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
12411         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
12412         (configure.ac): Simply invoke gl_FUNC_LDEXP.
12413         * modules/strtod (Files): Add m4/ldexp.m4.
12414
12415 2010-07-12  Bruno Haible  <bruno@clisp.org>
12416
12417         Unify tests that set gl_cv_func_frexpl_no_libm.
12418         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
12419         gl_FUNC_FREXPL_NO_LIBM.
12420         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
12421         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12422
12423 2010-07-12  Bruno Haible  <bruno@clisp.org>
12424
12425         Unify tests that set gl_cv_func_frexp_no_libm.
12426         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
12427         gl_FUNC_FREXP_NO_LIBM.
12428         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
12429         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
12430
12431 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12432
12433         memcoll: clarify sizes versus lengths, document better, and tweak perf
12434         * lib/memcoll.c (strcoll_loop, memcoll0):
12435         Improve quality of descriptive comments.  Name variables
12436         consistently as to whether they are lengths (which do not include
12437         terminating null) versus sizes (which do).
12438         * lib/xmemcoll.c (xmemcoll0): Likewise.
12439         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
12440         returned when s1size == 0; this is easier to compile and saves
12441         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
12442
12443 2010-07-12  Bruno Haible  <bruno@clisp.org>
12444
12445         Tests for module '_Exit'.
12446         * modules/_Exit-tests: New file.
12447         * tests/test-_Exit.sh: New file.
12448         * tests/test-_Exit.c: New file.
12449
12450         New module '_Exit'.
12451         * lib/stdlib.in.h (__attribute__): New macro.
12452         (_Exit): New declaration.
12453         * lib/_Exit.c: New file.
12454         * m4/_Exit.m4: New file.
12455         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
12456         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
12457         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
12458         * modules/_Exit: New file.
12459         * tests/test-stdlib-c++.cc (_Exit): Check signature.
12460         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
12461
12462 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
12463
12464         strtod: make it more-accurate typically, and don't require libm
12465         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
12466         Include limits.h.  Don't include string.h.
12467         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
12468         (locale_isspace): New function, so that no casts are needed to
12469         check whether *s is a space.
12470         (ldexp): Provide an unused dummy if not available.
12471         (scale_radix_exp, parse_number, underlying_strtod): New functions.
12472         (strtod): Use them.  This implementation prefers to use the
12473         underlying strtod if available, falling back on our own code
12474         only to fix known bugs.  This is more likely to produce an
12475         accurate result.  Also, it avoids the use of libm functions.
12476         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
12477         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
12478         was absent, but it caused a test failure with coreutils.
12479         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
12480         with libm.
12481         * modules/strtod (Makefile.am, Link): libm is no longer needed.
12482         * modules/strtod-tests (Makefile.am): Likewise.
12483
12484 2010-07-11  Pádraig Brady  <P@draigBrady.com>
12485             Bruno Haible  <bruno@clisp.org>
12486
12487         unistr/u8-strchr: Optimize ASCII argument case.
12488         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
12489
12490 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12491
12492         (x)memcoll: minor tweaks
12493         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
12494         is after the type that it qualifies.
12495         (memcoll0): Likewise.
12496         * lib/memcoll.h (memcoll0): Likewise.
12497         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
12498         * lib/xmemcoll.h (xmemcoll0): Likewise.
12499         * lib/memcoll.c (memcoll0): Correct the comment.  This function
12500         differs from memcoll in that the NUL byte is part of the argument.
12501         Omit the abort-checks, as performance is a real issue here.  Plus,
12502         the checks were wrong anyway (an off-by-one error).  Omit local
12503         variable 'diff', as it's a bit clearer that way.
12504         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
12505         no longer needed.
12506
12507 2010-07-08  Chen Guo <chenguo4@yahoo.com>
12508
12509         (x)memcoll: speedup when input is known to be NUL delimited
12510         * lib/memcoll.c: Include stdlib.
12511         (memcoll0): New function.
12512         (strcoll_loop): New function, refactored for use in both memcoll
12513         and memcoll0.
12514         * lib/memcoll.h (memcoll0): Add prototype.
12515         * lib/xmemcoll.c (xmemcoll0): New function.
12516         (collate_error): New function, refactored for use in both xmemcoll
12517         and xmemcoll0.
12518         * lib/xmemcoll.h (xmemcoll0): Add prototype.
12519         * m4/memcoll.m4: add inline invocation.
12520
12521 2010-07-06  Pádraig Brady  <P@draigBrady.com>
12522
12523         * build-aux/bootstrap: Remove any local translations
12524         from the translation project synchronization directory,
12525         so that local only translations are not distributed.
12526
12527 2010-07-04  Bruno Haible  <bruno@clisp.org>
12528
12529         fsusage: Clarify which code applies to which platforms.
12530         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
12531         platform.
12532         * lib/fsusage.c (get_fs_usage): Likewise.
12533
12534 2010-07-04  Bruno Haible  <bruno@clisp.org>
12535
12536         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
12537         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
12538         Reported by Martin Lambers <marlam@marlam.de>.
12539
12540 2010-07-04  Jim Meyering  <meyering@redhat.com>
12541
12542         hash: once again explicitly disallow insertion of NULL
12543         * lib/hash.c (hash_insert0): Reinstate just-removed test:
12544         inserting a NULL pointer cannot work with these functions.
12545         Add a comment with details.
12546         This reverts part of the 2010-07-01 commit, 5bef1a35
12547         "hash: extend module to deal with non-pointer keys".
12548
12549 2010-07-01  Bruno Haible  <bruno@clisp.org>
12550
12551         stdbool: Update doc.
12552         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
12553         Info from Christian Weisgerber <naddy@mips.inka.de>.
12554
12555 2010-07-01  Jim Meyering  <meyering@redhat.com>
12556
12557         hash: extend module to deal with non-pointer keys
12558         * lib/hash.c (hash_insert0): New interface, much like hash_insert
12559         but that allows insertion of non-pointer entries.
12560         Do not disallow an ENTRY value of NULL.
12561         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
12562         * lib/hash.h (hash_insert0): Declare.
12563
12564 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12565
12566         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
12567         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
12568         not present (i.e. with autoconf 2.59 and when using gettextize, not
12569         gnulib), require AC_GNU_SOURCE instead.
12570
12571 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
12572
12573         idpriv-drop: Fix tests.
12574         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
12575         not to the test-idpriv-droptemp program.
12576
12577 2010-06-29  Bruno Haible  <bruno@clisp.org>
12578
12579         string: Fix syntax error with g++ 2.96.
12580         * lib/string.in.h (__pure__): Remove definition.
12581         (_GL_ATTRIBUTE_PURE): New macro.
12582         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
12583         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
12584         Reported by Christian Weisgerber <naddy@mips.inka.de>.
12585
12586 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
12587
12588         unitypes: Fix bug introduced on 2010-05-18.
12589         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
12590
12591 2010-06-22  Eric Blake  <eblake@redhat.com>
12592
12593         memmem: slight optimization
12594         * lib/str-two-way.h (critical_factorization): Update comments.
12595         Reduce work during factorization phase.
12596         Reported by Carlos Bueno <carlos@bueno.org>.
12597
12598 2010-06-21  Bruno Haible  <bruno@clisp.org>
12599
12600         Fix HAVE_CALLOC_POSIX misnomer.
12601         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
12602         !HAVE_CALLOC_POSIX.
12603         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
12604         HAVE_CALLOC_POSIX.
12605         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
12606         instead of HAVE_CALLOC_POSIX.
12607         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
12608         HAVE_CALLOC_POSIX.
12609
12610         Use modern idiom for calloc() replacement.
12611         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
12612         AC_FUNC_CALLOC.
12613         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
12614         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
12615         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12616         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
12617         (gl_REPLACE_CALLOC): New macro.
12618
12619 2010-06-21  Bruno Haible  <bruno@clisp.org>
12620
12621         Fix HAVE_REALLOC_POSIX misnomer.
12622         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
12623         !HAVE_REALLOC_POSIX.
12624         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
12625         HAVE_REALLOC_POSIX.
12626         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
12627         instead of HAVE_REALLOC_POSIX.
12628         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
12629         HAVE_REALLOC_POSIX.
12630
12631         Use modern idiom for realloc() replacement.
12632         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
12633         AC_FUNC_REALLOC.
12634         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
12635         Autoconf's AC_FUNC_REALLOC.
12636         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12637         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
12638         (gl_REPLACE_REALLOC): New macro.
12639         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12640
12641 2010-06-21  Bruno Haible  <bruno@clisp.org>
12642
12643         Fix HAVE_MALLOC_POSIX misnomer.
12644         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
12645         !HAVE_MALLOC_POSIX.
12646         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
12647         HAVE_MALLOC_POSIX.
12648         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
12649         instead of HAVE_MALLOC_POSIX.
12650         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
12651         HAVE_MALLOC_POSIX.
12652
12653         Use modern idiom for malloc() replacement.
12654         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
12655         AC_FUNC_MALLOC.
12656         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
12657         Autoconf's AC_FUNC_MALLOC.
12658         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12659         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
12660         (gl_REPLACE_MALLOC): New macro.
12661         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12662
12663 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
12664
12665         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
12666         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
12667         This macro takes 3 arguments, not 4.
12668
12669 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
12670
12671         ipv6: fix detection under mingw
12672         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
12673         in6_addr.
12674
12675 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
12676
12677         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
12678         that strtod() works when cross-compiling to a glibc version known
12679         to work.
12680
12681 2010-06-15  Bruno Haible  <bruno@clisp.org>
12682
12683         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
12684
12685 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
12686
12687         select: Correct timeout.
12688         * lib/select.c (rpl_select): Compute wait_timeout correctly.
12689
12690 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
12691
12692         git-version-gen: init shell var to avoid env var influence
12693         * build-aux/git-version-gen (v): Init shell var to empty.
12694
12695 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
12696
12697         priv-set: Don't assume that priv.h exists merely because getppriv does.
12698         See Jan Andersen's bug report about AIX 5L in
12699         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
12700         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
12701         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
12702         * lib/priv-set.h: Likewise.
12703         * tests/test-priv-set.c: Likewise.
12704
12705 2010-06-13  Bruno Haible  <bruno@clisp.org>
12706
12707         relocatable: Make it easier to test whether to install wrappers.
12708         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
12709         RELOCATABLE_VIA_WRAPPER.
12710
12711 2010-06-13  Bruno Haible  <bruno@clisp.org>
12712
12713         gnulib-tool: Display specified modules and dependencies differently.
12714         * gnulib-tool (func_show_module_list): New function.
12715         (func_import, func_create_testdir): Invoke it.
12716         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
12717
12718 2010-06-13  Bruno Haible  <bruno@clisp.org>
12719
12720         gnulib-tool: Align code of func_import and func_create_testdir.
12721         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
12722         specified_modules.
12723
12724 2010-06-12  Jim Meyering  <meyering@redhat.com>
12725
12726         test-inttostr: avoid spurious failure on Solaris 9
12727         * tests/test-inttostr.c (main): Skip the test when snprintf fails
12728         to accept "%ju".  Reported by Bruno Haible.
12729
12730 2010-06-11  Jim Meyering  <meyering@redhat.com>
12731
12732         test-sys_socket: mark variables as used more readably
12733         * tests/test-sys_socket.c (main): Mark otherwise unused variables
12734         as "used" explicitly via (void) statement casts.  This is more
12735         readable than using them in an artificial return expression.
12736         Suggestion from Bruno Haible.
12737
12738 2010-06-11  Bruno Haible  <bruno@clisp.org>
12739
12740         Avoid some more warnings from "gcc -Wwrite-strings".
12741         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
12742         to 'const char *'.
12743         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
12744         * tests/test-c-strcasestr.c (main): Likewise.
12745         * tests/test-mbscasestr1.c (main): Likewise.
12746         * tests/test-mbscasestr2.c (main): Likewise.
12747         * tests/test-memmem.c (main): Likewise.
12748         * tests/test-strstr.c (main): Likewise.
12749         * tests/test-strcasestr.c (main): Likewise.
12750
12751 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12752
12753         init.sh: change framework_failure_ to fail with status 99, not 1
12754         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
12755         automake's parallel-tests rule that this is an unexpected failure,
12756         even if the test is listed in XFAIL_TESTS.
12757
12758 2010-06-11  Jim Meyering  <meyering@redhat.com>
12759
12760         test-inttostr: avoid warnings about 4-6KB literal strings
12761         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
12762         Include "macros.h", for its definition of ASSERT.
12763         (CK): s/assert/ASSERT/
12764         * modules/inttostr-tests (Files): Add macros.h.
12765
12766         init.sh: don't use $ME_ or skip_ before they are defined
12767         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
12768         their first uses.  Also hoist their companions: warn_, fail_,
12769         framework_failure_, $stderr_fileno.  Prompted by a patch from
12770         Stefano Lattarini.
12771
12772         test-sys_socket: avoid set-but-not-used warnings from gcc
12773         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
12774         avoid warning about set-but-not-used variables.
12775
12776         test-xvasprintf: avoid 'const' discard warnings
12777         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
12778         "const" when assigning from literal strings.
12779         (test_xasprintf): Add "void" in function argument list to placate
12780         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
12781
12782         tests: avoid compilation warnings in argmatch and exclude tests...
12783         in packages that define ARGMATCH_DIE_DECL, like coreutils.
12784         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
12785         Since it always exits, declare with the "noreturn" attribute.
12786         * tests/test-argmatch.c: Likewise.
12787
12788         tests: avoid 'const' discard warnings in mbsstr tests
12789         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
12790         * tests/test-mbsstr2.c (main): Likewise.
12791
12792         test-verify: avoid warning from gcc's -Wmissing-declarations
12793         * tests/test-verify.c (function): Declare to be static.
12794
12795         test-inttostr.c: include <string.h> for use of strcmp
12796         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
12797
12798         test-linkat: avoid failed assertion on "other" architectures
12799         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
12800         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
12801         sparc: https://bugs.launchpad.net/bugs/591968
12802
12803 2010-06-11  Jim Meyering  <meyering@redhat.com>
12804
12805         printf.m4: avoid autoconf's "Expanded Before Required" warning
12806         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
12807         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
12808         autoconf warning.
12809
12810 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
12811
12812         Replacement header templates are now named with ".in", not "_".
12813         * doc/gnulib-intro.texi: Correct.
12814
12815 2010-06-10  Jim Meyering  <meyering@redhat.com>
12816
12817         inttostr-tests: depend on snprintf, not snprintf-posix
12818         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
12819         snprintf-posix, to avoid this aclocal failure:
12820           missing file gnulib-tests/vasnprintf.c
12821           configure.ac:45: error: expected source file, required through \
12822           AC_LIBSOURCES, not found
12823
12824 2010-06-10  Jim Meyering  <meyering@redhat.com>
12825
12826         inttostr: add a new function, inttostr, and tests
12827         The namesake function was not available.  The existence of the
12828         template file, inttostr.c makes its addition nontrivial.
12829         * lib/anytostr.c: Rename from inttostr.c.
12830         (anytostr): Rename from inttostr.
12831         * lib/inttostr.c: New file.
12832         * modules/inttostr (Files): Add anytostr.c.
12833         (Makefile.am): Set lib_SOURCES instead of ...
12834         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
12835         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
12836         * lib/offtostr.c: Likewise.
12837         * lib/uinttostr.c: Likewise.
12838         * lib/umaxtostr.c: Likewise.
12839         * modules/inttostr-tests: New file.
12840         * tests/test-inttostr.c: New file.  Test these functions.
12841
12842 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
12843             Bruno Haible  <bruno@clisp.org>
12844
12845         Add "Extending Gnulib" chapter to manual.
12846         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
12847         chapter.
12848         (Extending Gnulib): New chapter.
12849         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
12850         chapter.
12851
12852 2010-06-09  Bruno Haible  <bruno@clisp.org>
12853
12854         Avoid relocwrapper link errors due to gnulib replacement functions.
12855         * lib/areadlink.c: Use the system's malloc, realloc functions.
12856         (areadlink): Set errno to ENOMEM explicitly.
12857         * modules/areadlink (Depends-on): Remove malloc-posix.
12858         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12859
12860 2010-06-09  Bruno Haible  <bruno@clisp.org>
12861
12862         Avoid relocwrapper link errors due to gnulib replacement functions.
12863         * lib/canonicalize-lgpl.c: Use the system's malloc function.
12864         * lib/malloca.c: Likewise.
12865         * lib/relocatable.c: Likewise.
12866         * lib/progreloc.c: Use the system's malloc, sprintf functions.
12867         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
12868         * lib/setenv.c: Use the system's malloc, realloc functions.
12869         * lib/strerror.c: Use the system's sprintf function.
12870         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12871
12872 2010-06-04  Bruno Haible  <bruno@clisp.org>
12873
12874         Prefer documented low-level autoconf macro names.
12875         * m4/lib-link.m4: Use m4_translit instead of translit.
12876         * m4/environ.m4: Likewise.
12877         * m4/mathfunc.m4: Likewise.
12878         * m4/onceonly.m4: Likewise.
12879         * m4/stdint.m4: Likewise.
12880         Suggested by Eric Blake.
12881
12882 2010-06-04  Martin Lambers  <marlam@marlam.de>
12883             Bruno Haible  <bruno@clisp.org>
12884
12885         havelib: Allow library names with '+' characters.
12886         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
12887         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
12888
12889 2010-06-09  Bruno Haible  <bruno@clisp.org>
12890
12891         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
12892         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
12893         realloc failed.
12894
12895 2010-06-08  Peter Simons  <simons@cryp.to>
12896
12897         maint.mk: make the news-check rule more configurable
12898         * top/maint.mk (news-check-lines-spec): New variable.
12899         (news-check): Use "sed -n 1,10p" in place of "head".
12900
12901 2010-06-07  Jim Meyering  <meyering@redhat.com>
12902
12903         do-release-commit-and-tag: fix typo in --help
12904         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
12905
12906         regex: avoid new dead-code warning with gcc-4.6.0
12907         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
12908         if-block containing a while-loop.  It's been unused for at least
12909         5 years.
12910
12911 2010-06-05  Bruno Haible  <bruno@clisp.org>
12912
12913         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
12914         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
12915
12916 2010-06-04  Bruno Haible  <bruno@clisp.org>
12917
12918         Update to GNU gettext 0.18.1.
12919         * modules/gettext (configure.ac): Require gettext infrastructure from
12920         version 0.18.1.
12921
12922 2010-06-03  Bruno Haible  <bruno@clisp.org>
12923
12924         Don't use AC_LIBOBJ with file names in subdirectories.
12925         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
12926         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
12927         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
12928         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
12929         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
12930         gl_LIBUNISTRING_LIBSOURCE.
12931         (Makefile.am): Augment lib_SOURCES here, conditionally.
12932         * NEWS: Drop requirement for Automake option 'subdir-objects'.
12933
12934 2010-06-03  Bruno Haible  <bruno@clisp.org>
12935
12936         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
12937         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
12938         expansion does not end with a newline.
12939         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
12940         unnecessary newline.
12941
12942 2010-06-03  Bruno Haible  <bruno@clisp.org>
12943
12944         Reduce dependencies.
12945         * tests/test-quotearg.h: New file, extracted from
12946         tests/test-quotearg.c.
12947         * tests/test-quotearg-simple.c: New file, extracted from
12948         tests/test-quotearg.c.
12949         * tests/test-quotearg.c: Don't include <ctype.h>.
12950         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
12951         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
12952         use_quote_double_quotes, use_quotearg_colon): Moved to
12953         tests/test-quotearg.h.
12954         (results_g, flag_results, custom_quotes, custom_results): Moved
12955         to tests/test-quotearg-simple.c.
12956         (main): Moved the part that does not depend on gettext to
12957         tests/test-quotearg-simple.c. Return 77 if the test cannot be
12958         performed.
12959         * modules/quotearg-simple: New file.
12960         * modules/quotearg-simple-tests: New file.
12961         * modules/quotearg (Depends-on): Add quotearg-simple.
12962         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
12963         (Files): Add tests/test-quotearg.h.
12964         Reported by Paolo Bonzini.
12965
12966 2010-06-03  Bruno Haible  <bruno@clisp.org>
12967
12968         Reduce dependencies.
12969         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
12970
12971 2010-06-03  Bruno Haible  <bruno@clisp.org>
12972
12973         time: Undefine more broken macros.
12974         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
12975         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
12976         Reported by Eric Blake.
12977
12978 2010-06-03  Bruno Haible  <bruno@clisp.org>
12979
12980         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
12981         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
12982         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
12983         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
12984         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
12985         Reported by Ludovic Courtès <ludo@gnu.org>.
12986
12987 2010-06-02  Eric Blake  <eblake@redhat.com>
12988
12989         time: work with mingw + pthreads-win32 library
12990         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
12991         if timespec is defined only in pthread.h.
12992         * modules/time (Makefile.am): Substitute it.
12993         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
12994         <pthread.h>, when needed.
12995         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
12996         from the library.
12997
12998 2010-05-31  Bruno Haible  <bruno@clisp.org>
12999
13000         Avoid expanding two macros in the wrong order.
13001         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
13002         gl_LIBUNISTRING if it is defined.
13003         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
13004         autoconf >= 2.64.
13005         Reported by Ludovic Courtès <ludo@gnu.org>.
13006
13007 2010-05-27  Jim Meyering  <meyering@redhat.com>
13008
13009         maint.mk: also prohibit "#undef" of always-defined symbols
13010         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
13011         Allow more than one space before the symbol name.
13012         (sc_prohibit_always-defined_macros): Use grep's -E, now that
13013         the regexp uses alternation.
13014
13015 2010-05-26  Eric Blake  <eblake@redhat.com>
13016
13017         maint.mk: avoid echo -e
13018         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
13019         Convert all uses of echo -* to printf.
13020         Reported by Matthias Bolte.
13021
13022 2010-05-25  Bruno Haible  <bruno@clisp.org>
13023
13024         Update to GNU gettext 0.18, part 2.
13025         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
13026         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
13027
13028 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13029
13030         Add missing include in test-pwrite.c.
13031         * tests/test-pwrite.c: Include string.h, for strcmp.
13032
13033 2010-05-24  Bruno Haible  <bruno@clisp.org>
13034
13035         * NEWS: Mention requirement for Automake option 'subdir-objects'.
13036
13037 2010-05-24  Bruno Haible  <bruno@clisp.org>
13038
13039         Don't use conversion with transliteration in u{8,16,32}_strcoll.
13040         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
13041         iconveh_error argument.
13042         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
13043         U_STRCONV_TO_LOCALE.
13044         * lib/unistr/u16-strcoll.c: Likewise.
13045         * lib/unistr/u32-strcoll.c: Likewise.
13046         * modules/unistr/u8-strcoll (Depends-on): Add
13047         uniconv/u8-strconv-to-enc, localcharset. Remove
13048         uniconv/u8-strconv-to-locale.
13049         (configure.ac): Bump version number.
13050         * modules/unistr/u16-strcoll (Depends-on): Add
13051         uniconv/u16-strconv-to-enc, localcharset. Remove
13052         uniconv/u16-strconv-to-locale.
13053         (configure.ac): Bump version number.
13054         * modules/unistr/u32-strcoll (Depends-on): Add
13055         uniconv/u32-strconv-to-enc, localcharset. Remove
13056         uniconv/u32-strconv-to-locale.
13057         (configure.ac): Bump version number.
13058
13059 2010-05-24  Bruno Haible  <bruno@clisp.org>
13060
13061         Avoid a test failure on NetBSD 5.0.
13062         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
13063         an iconv() bug.
13064
13065 2010-05-24  Bruno Haible  <bruno@clisp.org>
13066
13067         Adjust #include directive style.
13068         * modules/regex (Includes): Recommend to write <regex.h>.
13069
13070 2010-05-24  Bruno Haible  <bruno@clisp.org>
13071
13072         regex: Don't require alloca.
13073         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
13074         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
13075         only inside if (0).
13076
13077 2010-05-23  Jim Meyering  <meyering@redhat.com>
13078
13079         test-renameat.c: include <sys/stat.h>
13080         * tests/test-renameat.c: Include <sys/stat.h>; required for
13081         definition of S_IS* macros.
13082
13083 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
13084
13085         Update maintainer documentation for 'relocatable-prog' module.
13086         * doc/relocatable-maint.texi: Update.
13087         Comments by Bruno Haible.
13088
13089 2010-05-23  Bruno Haible  <bruno@clisp.org>
13090
13091         git-merge-changelog: Enable --split-merged-entry by default.
13092         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
13093         (usage): Don't mention this option any more.
13094         Reported by Ralf Wildenhues.
13095
13096 2010-05-23  Jim Meyering  <meyering@redhat.com>
13097
13098         test-pwrite: do not leave behind a test file named "out"
13099         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
13100         The trivial-looking use of init.sh is really necessary.
13101         It ensures that the temporary file, "out", is created in
13102         a temporary directory, and removed upon termination.
13103         * tests/test-pwrite.sh: Re-add file.
13104         * modules/pwrite-tests: Reference it.
13105
13106 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13107
13108         Fix output redirection buglet in init.sh.
13109         * tests/init.sh: Fix redirection of stderr.
13110
13111 2010-05-20  Simon Josefsson  <simon@josefsson.org>
13112
13113         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
13114
13115 2010-05-17  Simon Josefsson  <simon@josefsson.org>
13116
13117         * modules/valgrind-tests: New file.
13118         * m4/valgrind-tests.m4: New file.
13119         * doc/valgrind-tests.texi: New file.
13120         * doc/gnulib.texi (Running self-tests under valgrind): New
13121         section.
13122
13123 2010-05-19  Bruno Haible  <bruno@clisp.org>
13124
13125         Clean up dead code in recent commit.
13126         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
13127         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
13128         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
13129         Suggested by Paolo Bonzini.
13130
13131 2010-05-19  Bruno Haible  <bruno@clisp.org>
13132
13133         Avoid valgrind error reports from libunistring.
13134         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
13135         * modules/libunistring (Files): Add it.
13136         * modules/libunistring-optional (Files): Likewise.
13137
13138 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
13139             Bruno Haible  <bruno@clisp.org>
13140
13141         New module 'libunistring-optional'.
13142         * modules/libunistring-optional: New file.
13143         * m4/libunistring-base.m4: New file.
13144         * m4/libunistring-optional.m4: New file.
13145         * lib/unicase.in.h: Renamed from lib/unicase.h.
13146         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
13147         * lib/unictype.in.h: Renamed from lib/unictype.h.
13148         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
13149         * lib/uniname.in.h: Renamed from lib/uniname.h.
13150         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
13151         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
13152         * lib/unistr.in.h: Renamed from lib/unistr.h.
13153         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
13154         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
13155         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
13156         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
13157         gl_LIBUNISTRING. If the library was found, determine the installed
13158         version and set LIBUNISTRING_VERSION.
13159         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
13160         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
13161         handle a configuration option --with-included-libunistring.
13162         * modules/libunistring (Files): Add m4/absolute-header.m4.
13163         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
13164         Add m4/libunistring-base.m4.
13165         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13166         (Makefile.am): Build unicase.h from unicase.in.h.
13167         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
13168         Add m4/libunistring-base.m4.
13169         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13170         (Makefile.am): Build uniconv.h from uniconv.in.h.
13171         * modules/unictype/base (Files): Use unictype.in.h instead of
13172         unictype.h. Add m4/libunistring-base.m4.
13173         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13174         (Makefile.am): Build unictype.h from unictype.in.h.
13175         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
13176         Add m4/libunistring-base.m4.
13177         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13178         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
13179         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
13180         Add m4/libunistring-base.m4.
13181         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13182         (Makefile.am): Build uniname.h from uniname.in.h.
13183         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
13184         Add m4/libunistring-base.m4.
13185         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13186         (Makefile.am): Build uninorm.h from uninorm.in.h.
13187         * modules/unistdio/base (Files): Use unistdio.in.h instead of
13188         unistdio.h. Add m4/libunistring-base.m4.
13189         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13190         (Makefile.am): Build unistdio.h from unistdio.in.h.
13191         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
13192         Add m4/libunistring-base.m4.
13193         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13194         (Makefile.am): Build unistr.h from unistr.in.h.
13195         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
13196         Add m4/libunistring-base.m4.
13197         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13198         (Makefile.am): Build unitypes.h from unitypes.in.h.
13199         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
13200         Add m4/libunistring-base.m4.
13201         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13202         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
13203         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
13204         uniwidth.h. Add m4/libunistring-base.m4.
13205         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
13206         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
13207         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
13208         instead of augmenting lib_SOURCES.
13209         * modules/unicase/empty-suffix-context: Likewise.
13210         * modules/unicase/locale-language: Likewise.
13211         * modules/unicase/tolower: Likewise.
13212         * modules/unicase/totitle: Likewise.
13213         * modules/unicase/toupper: Likewise.
13214         * modules/unicase/u8-casecmp: Likewise.
13215         * modules/unicase/u8-casecoll: Likewise.
13216         * modules/unicase/u8-casefold: Likewise.
13217         * modules/unicase/u8-casexfrm: Likewise.
13218         * modules/unicase/u8-ct-casefold: Likewise.
13219         * modules/unicase/u8-ct-tolower: Likewise.
13220         * modules/unicase/u8-ct-totitle: Likewise.
13221         * modules/unicase/u8-ct-toupper: Likewise.
13222         * modules/unicase/u8-is-cased: Likewise.
13223         * modules/unicase/u8-is-casefolded: Likewise.
13224         * modules/unicase/u8-is-lowercase: Likewise.
13225         * modules/unicase/u8-is-titlecase: Likewise.
13226         * modules/unicase/u8-is-uppercase: Likewise.
13227         * modules/unicase/u8-prefix-context: Likewise.
13228         * modules/unicase/u8-suffix-context: Likewise.
13229         * modules/unicase/u8-tolower: Likewise.
13230         * modules/unicase/u8-totitle: Likewise.
13231         * modules/unicase/u8-toupper: Likewise.
13232         * modules/unicase/u16-casecmp: Likewise.
13233         * modules/unicase/u16-casecoll: Likewise.
13234         * modules/unicase/u16-casefold: Likewise.
13235         * modules/unicase/u16-casexfrm: Likewise.
13236         * modules/unicase/u16-ct-casefold: Likewise.
13237         * modules/unicase/u16-ct-tolower: Likewise.
13238         * modules/unicase/u16-ct-totitle: Likewise.
13239         * modules/unicase/u16-ct-toupper: Likewise.
13240         * modules/unicase/u16-is-cased: Likewise.
13241         * modules/unicase/u16-is-casefolded: Likewise.
13242         * modules/unicase/u16-is-lowercase: Likewise.
13243         * modules/unicase/u16-is-titlecase: Likewise.
13244         * modules/unicase/u16-is-uppercase: Likewise.
13245         * modules/unicase/u16-prefix-context: Likewise.
13246         * modules/unicase/u16-suffix-context: Likewise.
13247         * modules/unicase/u16-tolower: Likewise.
13248         * modules/unicase/u16-totitle: Likewise.
13249         * modules/unicase/u16-toupper: Likewise.
13250         * modules/unicase/u32-casecmp: Likewise.
13251         * modules/unicase/u32-casecoll: Likewise.
13252         * modules/unicase/u32-casefold: Likewise.
13253         * modules/unicase/u32-casexfrm: Likewise.
13254         * modules/unicase/u32-ct-casefold: Likewise.
13255         * modules/unicase/u32-ct-tolower: Likewise.
13256         * modules/unicase/u32-ct-totitle: Likewise.
13257         * modules/unicase/u32-ct-toupper: Likewise.
13258         * modules/unicase/u32-is-cased: Likewise.
13259         * modules/unicase/u32-is-casefolded: Likewise.
13260         * modules/unicase/u32-is-lowercase: Likewise.
13261         * modules/unicase/u32-is-titlecase: Likewise.
13262         * modules/unicase/u32-is-uppercase: Likewise.
13263         * modules/unicase/u32-prefix-context: Likewise.
13264         * modules/unicase/u32-suffix-context: Likewise.
13265         * modules/unicase/u32-tolower: Likewise.
13266         * modules/unicase/u32-totitle: Likewise.
13267         * modules/unicase/u32-toupper: Likewise.
13268         * modules/unicase/ulc-casecmp: Likewise.
13269         * modules/unicase/ulc-casecoll: Likewise.
13270         * modules/unicase/ulc-casexfrm: Likewise.
13271         * modules/uniconv/u8-conv-from-enc: Likewise.
13272         * modules/uniconv/u8-conv-to-enc: Likewise.
13273         * modules/uniconv/u8-strconv-from-enc: Likewise.
13274         * modules/uniconv/u8-strconv-from-locale: Likewise.
13275         * modules/uniconv/u8-strconv-to-enc: Likewise.
13276         * modules/uniconv/u8-strconv-to-locale: Likewise.
13277         * modules/uniconv/u16-conv-from-enc: Likewise.
13278         * modules/uniconv/u16-conv-to-enc: Likewise.
13279         * modules/uniconv/u16-strconv-from-enc: Likewise.
13280         * modules/uniconv/u16-strconv-from-locale: Likewise.
13281         * modules/uniconv/u16-strconv-to-enc: Likewise.
13282         * modules/uniconv/u16-strconv-to-locale: Likewise.
13283         * modules/uniconv/u32-conv-from-enc: Likewise.
13284         * modules/uniconv/u32-conv-to-enc: Likewise.
13285         * modules/uniconv/u32-strconv-from-enc: Likewise.
13286         * modules/uniconv/u32-strconv-from-locale: Likewise.
13287         * modules/uniconv/u32-strconv-to-enc: Likewise.
13288         * modules/uniconv/u32-strconv-to-locale: Likewise.
13289         * modules/unictype/bidicategory-byname: Likewise.
13290         * modules/unictype/bidicategory-name: Likewise.
13291         * modules/unictype/bidicategory-of: Likewise.
13292         * modules/unictype/bidicategory-test: Likewise.
13293         * modules/unictype/block-list: Likewise.
13294         * modules/unictype/block-test: Likewise.
13295         * modules/unictype/category-C: Likewise.
13296         * modules/unictype/category-Cc: Likewise.
13297         * modules/unictype/category-Cf: Likewise.
13298         * modules/unictype/category-Cn: Likewise.
13299         * modules/unictype/category-Co: Likewise.
13300         * modules/unictype/category-Cs: Likewise.
13301         * modules/unictype/category-L: Likewise.
13302         * modules/unictype/category-Ll: Likewise.
13303         * modules/unictype/category-Lm: Likewise.
13304         * modules/unictype/category-Lo: Likewise.
13305         * modules/unictype/category-Lt: Likewise.
13306         * modules/unictype/category-Lu: Likewise.
13307         * modules/unictype/category-M: Likewise.
13308         * modules/unictype/category-Mc: Likewise.
13309         * modules/unictype/category-Me: Likewise.
13310         * modules/unictype/category-Mn: Likewise.
13311         * modules/unictype/category-N: Likewise.
13312         * modules/unictype/category-Nd: Likewise.
13313         * modules/unictype/category-Nl: Likewise.
13314         * modules/unictype/category-No: Likewise.
13315         * modules/unictype/category-P: Likewise.
13316         * modules/unictype/category-Pc: Likewise.
13317         * modules/unictype/category-Pd: Likewise.
13318         * modules/unictype/category-Pe: Likewise.
13319         * modules/unictype/category-Pf: Likewise.
13320         * modules/unictype/category-Pi: Likewise.
13321         * modules/unictype/category-Po: Likewise.
13322         * modules/unictype/category-Ps: Likewise.
13323         * modules/unictype/category-S: Likewise.
13324         * modules/unictype/category-Sc: Likewise.
13325         * modules/unictype/category-Sk: Likewise.
13326         * modules/unictype/category-Sm: Likewise.
13327         * modules/unictype/category-So: Likewise.
13328         * modules/unictype/category-Z: Likewise.
13329         * modules/unictype/category-Zl: Likewise.
13330         * modules/unictype/category-Zp: Likewise.
13331         * modules/unictype/category-Zs: Likewise.
13332         * modules/unictype/category-and: Likewise.
13333         * modules/unictype/category-and-not: Likewise.
13334         * modules/unictype/category-byname: Likewise.
13335         * modules/unictype/category-name: Likewise.
13336         * modules/unictype/category-none: Likewise.
13337         * modules/unictype/category-of: Likewise.
13338         * modules/unictype/category-or: Likewise.
13339         * modules/unictype/category-test: Likewise.
13340         * modules/unictype/combining-class: Likewise.
13341         * modules/unictype/ctype-alnum: Likewise.
13342         * modules/unictype/ctype-alpha: Likewise.
13343         * modules/unictype/ctype-blank: Likewise.
13344         * modules/unictype/ctype-cntrl: Likewise.
13345         * modules/unictype/ctype-digit: Likewise.
13346         * modules/unictype/ctype-graph: Likewise.
13347         * modules/unictype/ctype-lower: Likewise.
13348         * modules/unictype/ctype-print: Likewise.
13349         * modules/unictype/ctype-punct: Likewise.
13350         * modules/unictype/ctype-space: Likewise.
13351         * modules/unictype/ctype-upper: Likewise.
13352         * modules/unictype/ctype-xdigit: Likewise.
13353         * modules/unictype/decimal-digit: Likewise.
13354         * modules/unictype/digit: Likewise.
13355         * modules/unictype/mirror: Likewise.
13356         * modules/unictype/numeric: Likewise.
13357         * modules/unictype/property-alphabetic: Likewise.
13358         * modules/unictype/property-ascii-hex-digit: Likewise.
13359         * modules/unictype/property-bidi-arabic-digit: Likewise.
13360         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
13361         * modules/unictype/property-bidi-block-separator: Likewise.
13362         * modules/unictype/property-bidi-boundary-neutral: Likewise.
13363         * modules/unictype/property-bidi-common-separator: Likewise.
13364         * modules/unictype/property-bidi-control: Likewise.
13365         * modules/unictype/property-bidi-embedding-or-override: Likewise.
13366         * modules/unictype/property-bidi-eur-num-separator: Likewise.
13367         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
13368         * modules/unictype/property-bidi-european-digit: Likewise.
13369         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
13370         * modules/unictype/property-bidi-left-to-right: Likewise.
13371         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
13372         * modules/unictype/property-bidi-other-neutral: Likewise.
13373         * modules/unictype/property-bidi-pdf: Likewise.
13374         * modules/unictype/property-bidi-segment-separator: Likewise.
13375         * modules/unictype/property-bidi-whitespace: Likewise.
13376         * modules/unictype/property-byname: Likewise.
13377         * modules/unictype/property-combining: Likewise.
13378         * modules/unictype/property-composite: Likewise.
13379         * modules/unictype/property-currency-symbol: Likewise.
13380         * modules/unictype/property-dash: Likewise.
13381         * modules/unictype/property-decimal-digit: Likewise.
13382         * modules/unictype/property-default-ignorable-code-point: Likewise.
13383         * modules/unictype/property-deprecated: Likewise.
13384         * modules/unictype/property-diacritic: Likewise.
13385         * modules/unictype/property-extender: Likewise.
13386         * modules/unictype/property-format-control: Likewise.
13387         * modules/unictype/property-grapheme-base: Likewise.
13388         * modules/unictype/property-grapheme-extend: Likewise.
13389         * modules/unictype/property-grapheme-link: Likewise.
13390         * modules/unictype/property-hex-digit: Likewise.
13391         * modules/unictype/property-hyphen: Likewise.
13392         * modules/unictype/property-id-continue: Likewise.
13393         * modules/unictype/property-id-start: Likewise.
13394         * modules/unictype/property-ideographic: Likewise.
13395         * modules/unictype/property-ids-binary-operator: Likewise.
13396         * modules/unictype/property-ids-trinary-operator: Likewise.
13397         * modules/unictype/property-ignorable-control: Likewise.
13398         * modules/unictype/property-iso-control: Likewise.
13399         * modules/unictype/property-join-control: Likewise.
13400         * modules/unictype/property-left-of-pair: Likewise.
13401         * modules/unictype/property-line-separator: Likewise.
13402         * modules/unictype/property-logical-order-exception: Likewise.
13403         * modules/unictype/property-lowercase: Likewise.
13404         * modules/unictype/property-math: Likewise.
13405         * modules/unictype/property-non-break: Likewise.
13406         * modules/unictype/property-not-a-character: Likewise.
13407         * modules/unictype/property-numeric: Likewise.
13408         * modules/unictype/property-other-alphabetic: Likewise.
13409         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
13410         * modules/unictype/property-other-grapheme-extend: Likewise.
13411         * modules/unictype/property-other-id-continue: Likewise.
13412         * modules/unictype/property-other-id-start: Likewise.
13413         * modules/unictype/property-other-lowercase: Likewise.
13414         * modules/unictype/property-other-math: Likewise.
13415         * modules/unictype/property-other-uppercase: Likewise.
13416         * modules/unictype/property-paired-punctuation: Likewise.
13417         * modules/unictype/property-paragraph-separator: Likewise.
13418         * modules/unictype/property-pattern-syntax: Likewise.
13419         * modules/unictype/property-pattern-white-space: Likewise.
13420         * modules/unictype/property-private-use: Likewise.
13421         * modules/unictype/property-punctuation: Likewise.
13422         * modules/unictype/property-quotation-mark: Likewise.
13423         * modules/unictype/property-radical: Likewise.
13424         * modules/unictype/property-sentence-terminal: Likewise.
13425         * modules/unictype/property-soft-dotted: Likewise.
13426         * modules/unictype/property-space: Likewise.
13427         * modules/unictype/property-terminal-punctuation: Likewise.
13428         * modules/unictype/property-test: Likewise.
13429         * modules/unictype/property-titlecase: Likewise.
13430         * modules/unictype/property-unassigned-code-value: Likewise.
13431         * modules/unictype/property-unified-ideograph: Likewise.
13432         * modules/unictype/property-uppercase: Likewise.
13433         * modules/unictype/property-variation-selector: Likewise.
13434         * modules/unictype/property-white-space: Likewise.
13435         * modules/unictype/property-xid-continue: Likewise.
13436         * modules/unictype/property-xid-start: Likewise.
13437         * modules/unictype/property-zero-width: Likewise.
13438         * modules/unictype/scripts: Likewise.
13439         * modules/unictype/syntax-c-ident: Likewise.
13440         * modules/unictype/syntax-c-whitespace: Likewise.
13441         * modules/unictype/syntax-java-ident: Likewise.
13442         * modules/unictype/syntax-java-whitespace: Likewise.
13443         * modules/unilbrk/u8-possible-linebreaks: Likewise.
13444         * modules/unilbrk/u8-width-linebreaks: Likewise.
13445         * modules/unilbrk/u16-possible-linebreaks: Likewise.
13446         * modules/unilbrk/u16-width-linebreaks: Likewise.
13447         * modules/unilbrk/u32-possible-linebreaks: Likewise.
13448         * modules/unilbrk/u32-width-linebreaks: Likewise.
13449         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
13450         * modules/unilbrk/ulc-width-linebreaks: Likewise.
13451         * modules/uniname/uniname: Likewise.
13452         * modules/uninorm/canonical-decomposition: Likewise.
13453         * modules/uninorm/composition: Likewise.
13454         * modules/uninorm/decomposing-form: Likewise.
13455         * modules/uninorm/decomposition: Likewise.
13456         * modules/uninorm/filter: Likewise.
13457         * modules/uninorm/nfc: Likewise.
13458         * modules/uninorm/nfd: Likewise.
13459         * modules/uninorm/nfkc: Likewise.
13460         * modules/uninorm/nfkd: Likewise.
13461         * modules/uninorm/u8-normalize: Likewise.
13462         * modules/uninorm/u8-normcmp: Likewise.
13463         * modules/uninorm/u8-normcoll: Likewise.
13464         * modules/uninorm/u8-normxfrm: Likewise.
13465         * modules/uninorm/u16-normalize: Likewise.
13466         * modules/uninorm/u16-normcmp: Likewise.
13467         * modules/uninorm/u16-normcoll: Likewise.
13468         * modules/uninorm/u16-normxfrm: Likewise.
13469         * modules/uninorm/u32-normalize: Likewise.
13470         * modules/uninorm/u32-normcmp: Likewise.
13471         * modules/uninorm/u32-normcoll: Likewise.
13472         * modules/uninorm/u32-normxfrm: Likewise.
13473         * modules/unistdio/u8-asnprintf: Likewise.
13474         * modules/unistdio/u8-asprintf: Likewise.
13475         * modules/unistdio/u8-snprintf: Likewise.
13476         * modules/unistdio/u8-sprintf: Likewise.
13477         * modules/unistdio/u8-u8-asnprintf: Likewise.
13478         * modules/unistdio/u8-u8-asprintf: Likewise.
13479         * modules/unistdio/u8-u8-snprintf: Likewise.
13480         * modules/unistdio/u8-u8-sprintf: Likewise.
13481         * modules/unistdio/u8-u8-vasnprintf: Likewise.
13482         * modules/unistdio/u8-u8-vasprintf: Likewise.
13483         * modules/unistdio/u8-u8-vsnprintf: Likewise.
13484         * modules/unistdio/u8-u8-vsprintf: Likewise.
13485         * modules/unistdio/u8-vasnprintf: Likewise.
13486         * modules/unistdio/u8-vasprintf: Likewise.
13487         * modules/unistdio/u8-vsnprintf: Likewise.
13488         * modules/unistdio/u8-vsprintf: Likewise.
13489         * modules/unistdio/u16-asnprintf: Likewise.
13490         * modules/unistdio/u16-asprintf: Likewise.
13491         * modules/unistdio/u16-snprintf: Likewise.
13492         * modules/unistdio/u16-sprintf: Likewise.
13493         * modules/unistdio/u16-u16-asnprintf: Likewise.
13494         * modules/unistdio/u16-u16-asprintf: Likewise.
13495         * modules/unistdio/u16-u16-snprintf: Likewise.
13496         * modules/unistdio/u16-u16-sprintf: Likewise.
13497         * modules/unistdio/u16-u16-vasnprintf: Likewise.
13498         * modules/unistdio/u16-u16-vasprintf: Likewise.
13499         * modules/unistdio/u16-u16-vsnprintf: Likewise.
13500         * modules/unistdio/u16-u16-vsprintf: Likewise.
13501         * modules/unistdio/u16-vasnprintf: Likewise.
13502         * modules/unistdio/u16-vasprintf: Likewise.
13503         * modules/unistdio/u16-vsnprintf: Likewise.
13504         * modules/unistdio/u16-vsprintf: Likewise.
13505         * modules/unistdio/u32-asnprintf: Likewise.
13506         * modules/unistdio/u32-asprintf: Likewise.
13507         * modules/unistdio/u32-snprintf: Likewise.
13508         * modules/unistdio/u32-sprintf: Likewise.
13509         * modules/unistdio/u32-u32-asnprintf: Likewise.
13510         * modules/unistdio/u32-u32-asprintf: Likewise.
13511         * modules/unistdio/u32-u32-snprintf: Likewise.
13512         * modules/unistdio/u32-u32-sprintf: Likewise.
13513         * modules/unistdio/u32-u32-vasnprintf: Likewise.
13514         * modules/unistdio/u32-u32-vasprintf: Likewise.
13515         * modules/unistdio/u32-u32-vsnprintf: Likewise.
13516         * modules/unistdio/u32-u32-vsprintf: Likewise.
13517         * modules/unistdio/u32-vasnprintf: Likewise.
13518         * modules/unistdio/u32-vasprintf: Likewise.
13519         * modules/unistdio/u32-vsnprintf: Likewise.
13520         * modules/unistdio/u32-vsprintf: Likewise.
13521         * modules/unistdio/ulc-asnprintf: Likewise.
13522         * modules/unistdio/ulc-asprintf: Likewise.
13523         * modules/unistdio/ulc-fprintf: Likewise.
13524         * modules/unistdio/ulc-snprintf: Likewise.
13525         * modules/unistdio/ulc-sprintf: Likewise.
13526         * modules/unistdio/ulc-vasnprintf: Likewise.
13527         * modules/unistdio/ulc-vasprintf: Likewise.
13528         * modules/unistdio/ulc-vfprintf: Likewise.
13529         * modules/unistdio/ulc-vsnprintf: Likewise.
13530         * modules/unistdio/ulc-vsprintf: Likewise.
13531         * modules/unistr/u8-check: Likewise.
13532         * modules/unistr/u8-chr: Likewise.
13533         * modules/unistr/u8-cmp: Likewise.
13534         * modules/unistr/u8-cmp2: Likewise.
13535         * modules/unistr/u8-cpy: Likewise.
13536         * modules/unistr/u8-cpy-alloc: Likewise.
13537         * modules/unistr/u8-endswith: Likewise.
13538         * modules/unistr/u8-mblen: Likewise.
13539         * modules/unistr/u8-mbsnlen: Likewise.
13540         * modules/unistr/u8-mbtouc: Likewise.
13541         * modules/unistr/u8-mbtouc-unsafe: Likewise.
13542         * modules/unistr/u8-mbtoucr: Likewise.
13543         * modules/unistr/u8-move: Likewise.
13544         * modules/unistr/u8-next: Likewise.
13545         * modules/unistr/u8-prev: Likewise.
13546         * modules/unistr/u8-set: Likewise.
13547         * modules/unistr/u8-startswith: Likewise.
13548         * modules/unistr/u8-stpcpy: Likewise.
13549         * modules/unistr/u8-stpncpy: Likewise.
13550         * modules/unistr/u8-strcat: Likewise.
13551         * modules/unistr/u8-strchr: Likewise.
13552         * modules/unistr/u8-strcmp: Likewise.
13553         * modules/unistr/u8-strcoll: Likewise.
13554         * modules/unistr/u8-strcpy: Likewise.
13555         * modules/unistr/u8-strcspn: Likewise.
13556         * modules/unistr/u8-strdup: Likewise.
13557         * modules/unistr/u8-strlen: Likewise.
13558         * modules/unistr/u8-strmblen: Likewise.
13559         * modules/unistr/u8-strmbtouc: Likewise.
13560         * modules/unistr/u8-strncat: Likewise.
13561         * modules/unistr/u8-strncmp: Likewise.
13562         * modules/unistr/u8-strncpy: Likewise.
13563         * modules/unistr/u8-strnlen: Likewise.
13564         * modules/unistr/u8-strpbrk: Likewise.
13565         * modules/unistr/u8-strrchr: Likewise.
13566         * modules/unistr/u8-strspn: Likewise.
13567         * modules/unistr/u8-strstr: Likewise.
13568         * modules/unistr/u8-strtok: Likewise.
13569         * modules/unistr/u8-to-u16: Likewise.
13570         * modules/unistr/u8-to-u32: Likewise.
13571         * modules/unistr/u8-uctomb: Likewise.
13572         * modules/unistr/u16-check: Likewise.
13573         * modules/unistr/u16-chr: Likewise.
13574         * modules/unistr/u16-cmp: Likewise.
13575         * modules/unistr/u16-cmp2: Likewise.
13576         * modules/unistr/u16-cpy: Likewise.
13577         * modules/unistr/u16-cpy-alloc: Likewise.
13578         * modules/unistr/u16-endswith: Likewise.
13579         * modules/unistr/u16-mblen: Likewise.
13580         * modules/unistr/u16-mbsnlen: Likewise.
13581         * modules/unistr/u16-mbtouc: Likewise.
13582         * modules/unistr/u16-mbtouc-unsafe: Likewise.
13583         * modules/unistr/u16-mbtoucr: Likewise.
13584         * modules/unistr/u16-move: Likewise.
13585         * modules/unistr/u16-next: Likewise.
13586         * modules/unistr/u16-prev: Likewise.
13587         * modules/unistr/u16-set: Likewise.
13588         * modules/unistr/u16-startswith: Likewise.
13589         * modules/unistr/u16-stpcpy: Likewise.
13590         * modules/unistr/u16-stpncpy: Likewise.
13591         * modules/unistr/u16-strcat: Likewise.
13592         * modules/unistr/u16-strchr: Likewise.
13593         * modules/unistr/u16-strcmp: Likewise.
13594         * modules/unistr/u16-strcoll: Likewise.
13595         * modules/unistr/u16-strcpy: Likewise.
13596         * modules/unistr/u16-strcspn: Likewise.
13597         * modules/unistr/u16-strdup: Likewise.
13598         * modules/unistr/u16-strlen: Likewise.
13599         * modules/unistr/u16-strmblen: Likewise.
13600         * modules/unistr/u16-strmbtouc: Likewise.
13601         * modules/unistr/u16-strncat: Likewise.
13602         * modules/unistr/u16-strncmp: Likewise.
13603         * modules/unistr/u16-strncpy: Likewise.
13604         * modules/unistr/u16-strnlen: Likewise.
13605         * modules/unistr/u16-strpbrk: Likewise.
13606         * modules/unistr/u16-strrchr: Likewise.
13607         * modules/unistr/u16-strspn: Likewise.
13608         * modules/unistr/u16-strstr: Likewise.
13609         * modules/unistr/u16-strtok: Likewise.
13610         * modules/unistr/u16-to-u32: Likewise.
13611         * modules/unistr/u16-to-u8: Likewise.
13612         * modules/unistr/u16-uctomb: Likewise.
13613         * modules/unistr/u32-check: Likewise.
13614         * modules/unistr/u32-chr: Likewise.
13615         * modules/unistr/u32-cmp: Likewise.
13616         * modules/unistr/u32-cmp2: Likewise.
13617         * modules/unistr/u32-cpy: Likewise.
13618         * modules/unistr/u32-cpy-alloc: Likewise.
13619         * modules/unistr/u32-endswith: Likewise.
13620         * modules/unistr/u32-mblen: Likewise.
13621         * modules/unistr/u32-mbsnlen: Likewise.
13622         * modules/unistr/u32-mbtouc: Likewise.
13623         * modules/unistr/u32-mbtouc-unsafe: Likewise.
13624         * modules/unistr/u32-mbtoucr: Likewise.
13625         * modules/unistr/u32-move: Likewise.
13626         * modules/unistr/u32-next: Likewise.
13627         * modules/unistr/u32-prev: Likewise.
13628         * modules/unistr/u32-set: Likewise.
13629         * modules/unistr/u32-startswith: Likewise.
13630         * modules/unistr/u32-stpcpy: Likewise.
13631         * modules/unistr/u32-stpncpy: Likewise.
13632         * modules/unistr/u32-strcat: Likewise.
13633         * modules/unistr/u32-strchr: Likewise.
13634         * modules/unistr/u32-strcmp: Likewise.
13635         * modules/unistr/u32-strcoll: Likewise.
13636         * modules/unistr/u32-strcpy: Likewise.
13637         * modules/unistr/u32-strcspn: Likewise.
13638         * modules/unistr/u32-strdup: Likewise.
13639         * modules/unistr/u32-strlen: Likewise.
13640         * modules/unistr/u32-strmblen: Likewise.
13641         * modules/unistr/u32-strmbtouc: Likewise.
13642         * modules/unistr/u32-strncat: Likewise.
13643         * modules/unistr/u32-strncmp: Likewise.
13644         * modules/unistr/u32-strncpy: Likewise.
13645         * modules/unistr/u32-strnlen: Likewise.
13646         * modules/unistr/u32-strpbrk: Likewise.
13647         * modules/unistr/u32-strrchr: Likewise.
13648         * modules/unistr/u32-strspn: Likewise.
13649         * modules/unistr/u32-strstr: Likewise.
13650         * modules/unistr/u32-strtok: Likewise.
13651         * modules/unistr/u32-to-u16: Likewise.
13652         * modules/unistr/u32-to-u8: Likewise.
13653         * modules/unistr/u32-uctomb: Likewise.
13654         * modules/uniwbrk/u8-wordbreaks: Likewise.
13655         * modules/uniwbrk/u16-wordbreaks: Likewise.
13656         * modules/uniwbrk/u32-wordbreaks: Likewise.
13657         * modules/uniwbrk/ulc-wordbreaks: Likewise.
13658         * modules/uniwbrk/wordbreak-property: Likewise.
13659         * modules/uniwidth/u8-strwidth: Likewise.
13660         * modules/uniwidth/u8-width: Likewise.
13661         * modules/uniwidth/u16-strwidth: Likewise.
13662         * modules/uniwidth/u16-width: Likewise.
13663         * modules/uniwidth/u32-strwidth: Likewise.
13664         * modules/uniwidth/u32-width: Likewise.
13665         * modules/uniwidth/width: Likewise.
13666         * modules/unicase/cased-tests (Makefile.am): Link all test programs
13667         with $(LIBUNISTRING).
13668         * modules/unicase/ignorable-tests: Likewise.
13669         * modules/unicase/locale-language-tests: Likewise.
13670         * modules/unicase/tolower-tests: Likewise.
13671         * modules/unicase/totitle-tests: Likewise.
13672         * modules/unicase/toupper-tests: Likewise.
13673         * modules/unicase/u8-casecmp-tests: Likewise.
13674         * modules/unicase/u8-casecoll-tests: Likewise.
13675         * modules/unicase/u8-casefold-tests: Likewise.
13676         * modules/unicase/u8-is-cased-tests: Likewise.
13677         * modules/unicase/u8-is-casefolded-tests: Likewise.
13678         * modules/unicase/u8-is-lowercase-tests: Likewise.
13679         * modules/unicase/u8-is-titlecase-tests: Likewise.
13680         * modules/unicase/u8-is-uppercase-tests: Likewise.
13681         * modules/unicase/u8-tolower-tests: Likewise.
13682         * modules/unicase/u8-totitle-tests: Likewise.
13683         * modules/unicase/u8-toupper-tests: Likewise.
13684         * modules/unicase/u16-casecmp-tests: Likewise.
13685         * modules/unicase/u16-casecoll-tests: Likewise.
13686         * modules/unicase/u16-casefold-tests: Likewise.
13687         * modules/unicase/u16-is-cased-tests: Likewise.
13688         * modules/unicase/u16-is-casefolded-tests: Likewise.
13689         * modules/unicase/u16-is-lowercase-tests: Likewise.
13690         * modules/unicase/u16-is-titlecase-tests: Likewise.
13691         * modules/unicase/u16-is-uppercase-tests: Likewise.
13692         * modules/unicase/u16-tolower-tests: Likewise.
13693         * modules/unicase/u16-totitle-tests: Likewise.
13694         * modules/unicase/u16-toupper-tests: Likewise.
13695         * modules/unicase/u32-casecmp-tests: Likewise.
13696         * modules/unicase/u32-casecoll-tests: Likewise.
13697         * modules/unicase/u32-casefold-tests: Likewise.
13698         * modules/unicase/u32-is-cased-tests: Likewise.
13699         * modules/unicase/u32-is-casefolded-tests: Likewise.
13700         * modules/unicase/u32-is-lowercase-tests: Likewise.
13701         * modules/unicase/u32-is-titlecase-tests: Likewise.
13702         * modules/unicase/u32-is-uppercase-tests: Likewise.
13703         * modules/unicase/u32-tolower-tests: Likewise.
13704         * modules/unicase/u32-totitle-tests: Likewise.
13705         * modules/unicase/u32-toupper-tests: Likewise.
13706         * modules/unicase/ulc-casecmp-tests: Likewise.
13707         * modules/unicase/ulc-casecoll-tests: Likewise.
13708         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
13709         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
13710         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
13711         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
13712         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
13713         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
13714         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
13715         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
13716         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
13717         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
13718         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
13719         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
13720         * modules/unictype/bidicategory-byname-tests: Likewise.
13721         * modules/unictype/bidicategory-name-tests: Likewise.
13722         * modules/unictype/bidicategory-of-tests: Likewise.
13723         * modules/unictype/bidicategory-test-tests: Likewise.
13724         * modules/unictype/block-list-tests: Likewise.
13725         * modules/unictype/block-of-tests: Likewise.
13726         * modules/unictype/block-test-tests: Likewise.
13727         * modules/unictype/category-C-tests: Likewise.
13728         * modules/unictype/category-Cc-tests: Likewise.
13729         * modules/unictype/category-Cf-tests: Likewise.
13730         * modules/unictype/category-Cn-tests: Likewise.
13731         * modules/unictype/category-Co-tests: Likewise.
13732         * modules/unictype/category-Cs-tests: Likewise.
13733         * modules/unictype/category-L-tests: Likewise.
13734         * modules/unictype/category-Ll-tests: Likewise.
13735         * modules/unictype/category-Lm-tests: Likewise.
13736         * modules/unictype/category-Lo-tests: Likewise.
13737         * modules/unictype/category-Lt-tests: Likewise.
13738         * modules/unictype/category-Lu-tests: Likewise.
13739         * modules/unictype/category-M-tests: Likewise.
13740         * modules/unictype/category-Mc-tests: Likewise.
13741         * modules/unictype/category-Me-tests: Likewise.
13742         * modules/unictype/category-Mn-tests: Likewise.
13743         * modules/unictype/category-N-tests: Likewise.
13744         * modules/unictype/category-Nd-tests: Likewise.
13745         * modules/unictype/category-Nl-tests: Likewise.
13746         * modules/unictype/category-No-tests: Likewise.
13747         * modules/unictype/category-P-tests: Likewise.
13748         * modules/unictype/category-Pc-tests: Likewise.
13749         * modules/unictype/category-Pd-tests: Likewise.
13750         * modules/unictype/category-Pe-tests: Likewise.
13751         * modules/unictype/category-Pf-tests: Likewise.
13752         * modules/unictype/category-Pi-tests: Likewise.
13753         * modules/unictype/category-Po-tests: Likewise.
13754         * modules/unictype/category-Ps-tests: Likewise.
13755         * modules/unictype/category-S-tests: Likewise.
13756         * modules/unictype/category-Sc-tests: Likewise.
13757         * modules/unictype/category-Sk-tests: Likewise.
13758         * modules/unictype/category-Sm-tests: Likewise.
13759         * modules/unictype/category-So-tests: Likewise.
13760         * modules/unictype/category-Z-tests: Likewise.
13761         * modules/unictype/category-Zl-tests: Likewise.
13762         * modules/unictype/category-Zp-tests: Likewise.
13763         * modules/unictype/category-Zs-tests: Likewise.
13764         * modules/unictype/category-and-not-tests: Likewise.
13765         * modules/unictype/category-and-tests: Likewise.
13766         * modules/unictype/category-byname-tests: Likewise.
13767         * modules/unictype/category-name-tests: Likewise.
13768         * modules/unictype/category-none-tests: Likewise.
13769         * modules/unictype/category-of-tests: Likewise.
13770         * modules/unictype/category-or-tests: Likewise.
13771         * modules/unictype/category-test-withtable-tests: Likewise.
13772         * modules/unictype/combining-class-tests: Likewise.
13773         * modules/unictype/ctype-alnum-tests: Likewise.
13774         * modules/unictype/ctype-alpha-tests: Likewise.
13775         * modules/unictype/ctype-blank-tests: Likewise.
13776         * modules/unictype/ctype-cntrl-tests: Likewise.
13777         * modules/unictype/ctype-digit-tests: Likewise.
13778         * modules/unictype/ctype-graph-tests: Likewise.
13779         * modules/unictype/ctype-lower-tests: Likewise.
13780         * modules/unictype/ctype-print-tests: Likewise.
13781         * modules/unictype/ctype-punct-tests: Likewise.
13782         * modules/unictype/ctype-space-tests: Likewise.
13783         * modules/unictype/ctype-upper-tests: Likewise.
13784         * modules/unictype/ctype-xdigit-tests: Likewise.
13785         * modules/unictype/decimal-digit-tests: Likewise.
13786         * modules/unictype/digit-tests: Likewise.
13787         * modules/unictype/mirror-tests: Likewise.
13788         * modules/unictype/numeric-tests: Likewise.
13789         * modules/unictype/property-alphabetic-tests: Likewise.
13790         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
13791         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
13792         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
13793         * modules/unictype/property-bidi-block-separator-tests: Likewise.
13794         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
13795         * modules/unictype/property-bidi-common-separator-tests: Likewise.
13796         * modules/unictype/property-bidi-control-tests: Likewise.
13797         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
13798         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
13799         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
13800         * modules/unictype/property-bidi-european-digit-tests: Likewise.
13801         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
13802         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
13803         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
13804         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
13805         * modules/unictype/property-bidi-pdf-tests: Likewise.
13806         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
13807         * modules/unictype/property-bidi-whitespace-tests: Likewise.
13808         * modules/unictype/property-byname-tests: Likewise.
13809         * modules/unictype/property-combining-tests: Likewise.
13810         * modules/unictype/property-composite-tests: Likewise.
13811         * modules/unictype/property-currency-symbol-tests: Likewise.
13812         * modules/unictype/property-dash-tests: Likewise.
13813         * modules/unictype/property-decimal-digit-tests: Likewise.
13814         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
13815         * modules/unictype/property-deprecated-tests: Likewise.
13816         * modules/unictype/property-diacritic-tests: Likewise.
13817         * modules/unictype/property-extender-tests: Likewise.
13818         * modules/unictype/property-format-control-tests: Likewise.
13819         * modules/unictype/property-grapheme-base-tests: Likewise.
13820         * modules/unictype/property-grapheme-extend-tests: Likewise.
13821         * modules/unictype/property-grapheme-link-tests: Likewise.
13822         * modules/unictype/property-hex-digit-tests: Likewise.
13823         * modules/unictype/property-hyphen-tests: Likewise.
13824         * modules/unictype/property-id-continue-tests: Likewise.
13825         * modules/unictype/property-id-start-tests: Likewise.
13826         * modules/unictype/property-ideographic-tests: Likewise.
13827         * modules/unictype/property-ids-binary-operator-tests: Likewise.
13828         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
13829         * modules/unictype/property-ignorable-control-tests: Likewise.
13830         * modules/unictype/property-iso-control-tests: Likewise.
13831         * modules/unictype/property-join-control-tests: Likewise.
13832         * modules/unictype/property-left-of-pair-tests: Likewise.
13833         * modules/unictype/property-line-separator-tests: Likewise.
13834         * modules/unictype/property-logical-order-exception-tests: Likewise.
13835         * modules/unictype/property-lowercase-tests: Likewise.
13836         * modules/unictype/property-math-tests: Likewise.
13837         * modules/unictype/property-non-break-tests: Likewise.
13838         * modules/unictype/property-not-a-character-tests: Likewise.
13839         * modules/unictype/property-numeric-tests: Likewise.
13840         * modules/unictype/property-other-alphabetic-tests: Likewise.
13841         * modules/unictype/property-other-default-ignorable-code-point-tests:
13842         Likewise.
13843         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
13844         * modules/unictype/property-other-id-continue-tests: Likewise.
13845         * modules/unictype/property-other-id-start-tests: Likewise.
13846         * modules/unictype/property-other-lowercase-tests: Likewise.
13847         * modules/unictype/property-other-math-tests: Likewise.
13848         * modules/unictype/property-other-uppercase-tests: Likewise.
13849         * modules/unictype/property-paired-punctuation-tests: Likewise.
13850         * modules/unictype/property-paragraph-separator-tests: Likewise.
13851         * modules/unictype/property-pattern-syntax-tests: Likewise.
13852         * modules/unictype/property-pattern-white-space-tests: Likewise.
13853         * modules/unictype/property-private-use-tests: Likewise.
13854         * modules/unictype/property-punctuation-tests: Likewise.
13855         * modules/unictype/property-quotation-mark-tests: Likewise.
13856         * modules/unictype/property-radical-tests: Likewise.
13857         * modules/unictype/property-sentence-terminal-tests: Likewise.
13858         * modules/unictype/property-soft-dotted-tests: Likewise.
13859         * modules/unictype/property-space-tests: Likewise.
13860         * modules/unictype/property-terminal-punctuation-tests: Likewise.
13861         * modules/unictype/property-test-tests: Likewise.
13862         * modules/unictype/property-titlecase-tests: Likewise.
13863         * modules/unictype/property-unassigned-code-value-tests: Likewise.
13864         * modules/unictype/property-unified-ideograph-tests: Likewise.
13865         * modules/unictype/property-uppercase-tests: Likewise.
13866         * modules/unictype/property-variation-selector-tests: Likewise.
13867         * modules/unictype/property-white-space-tests: Likewise.
13868         * modules/unictype/property-xid-continue-tests: Likewise.
13869         * modules/unictype/property-xid-start-tests: Likewise.
13870         * modules/unictype/property-zero-width-tests: Likewise.
13871         * modules/unictype/scripts-tests: Likewise.
13872         * modules/unictype/syntax-c-ident-tests: Likewise.
13873         * modules/unictype/syntax-c-whitespace-tests: Likewise.
13874         * modules/unictype/syntax-java-ident-tests: Likewise.
13875         * modules/unictype/syntax-java-whitespace-tests: Likewise.
13876         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
13877         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
13878         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
13879         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
13880         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
13881         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
13882         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
13883         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
13884         * modules/uniname/uniname-tests: Likewise.
13885         * modules/uninorm/canonical-decomposition-tests: Likewise.
13886         * modules/uninorm/compat-decomposition-tests: Likewise.
13887         * modules/uninorm/composition-tests: Likewise.
13888         * modules/uninorm/decomposing-form-tests: Likewise.
13889         * modules/uninorm/decomposition-tests: Likewise.
13890         * modules/uninorm/filter-tests: Likewise.
13891         * modules/uninorm/nfc-tests: Likewise.
13892         * modules/uninorm/nfd-tests: Likewise.
13893         * modules/uninorm/nfkc-tests: Likewise.
13894         * modules/uninorm/nfkd-tests: Likewise.
13895         * modules/uninorm/u8-normcmp-tests: Likewise.
13896         * modules/uninorm/u8-normcoll-tests: Likewise.
13897         * modules/uninorm/u16-normcmp-tests: Likewise.
13898         * modules/uninorm/u16-normcoll-tests: Likewise.
13899         * modules/uninorm/u32-normcmp-tests: Likewise.
13900         * modules/uninorm/u32-normcoll-tests: Likewise.
13901         * modules/unistdio/u8-asnprintf-tests: Likewise.
13902         * modules/unistdio/u8-vasnprintf-tests: Likewise.
13903         * modules/unistdio/u8-vasprintf-tests: Likewise.
13904         * modules/unistdio/u8-vsnprintf-tests: Likewise.
13905         * modules/unistdio/u8-vsprintf-tests: Likewise.
13906         * modules/unistdio/u16-asnprintf-tests: Likewise.
13907         * modules/unistdio/u16-vasnprintf-tests: Likewise.
13908         * modules/unistdio/u16-vasprintf-tests: Likewise.
13909         * modules/unistdio/u16-vsnprintf-tests: Likewise.
13910         * modules/unistdio/u16-vsprintf-tests: Likewise.
13911         * modules/unistdio/u32-asnprintf-tests: Likewise.
13912         * modules/unistdio/u32-vasnprintf-tests: Likewise.
13913         * modules/unistdio/u32-vasprintf-tests: Likewise.
13914         * modules/unistdio/u32-vsnprintf-tests: Likewise.
13915         * modules/unistdio/u32-vsprintf-tests: Likewise.
13916         * modules/unistdio/ulc-asnprintf-tests: Likewise.
13917         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
13918         * modules/unistdio/ulc-vasprintf-tests: Likewise.
13919         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
13920         * modules/unistdio/ulc-vsprintf-tests: Likewise.
13921         * modules/unistr/u8-check-tests: Likewise.
13922         * modules/unistr/u8-chr-tests: Likewise.
13923         * modules/unistr/u8-cmp-tests: Likewise.
13924         * modules/unistr/u8-cmp2-tests: Likewise.
13925         * modules/unistr/u8-cpy-alloc-tests: Likewise.
13926         * modules/unistr/u8-cpy-tests: Likewise.
13927         * modules/unistr/u8-mblen-tests: Likewise.
13928         * modules/unistr/u8-mbsnlen-tests: Likewise.
13929         * modules/unistr/u8-mbtouc-tests: Likewise.
13930         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
13931         * modules/unistr/u8-mbtoucr-tests: Likewise.
13932         * modules/unistr/u8-move-tests: Likewise.
13933         * modules/unistr/u8-next-tests: Likewise.
13934         * modules/unistr/u8-prev-tests: Likewise.
13935         * modules/unistr/u8-set-tests: Likewise.
13936         * modules/unistr/u8-stpcpy-tests: Likewise.
13937         * modules/unistr/u8-stpncpy-tests: Likewise.
13938         * modules/unistr/u8-strcat-tests: Likewise.
13939         * modules/unistr/u8-strcmp-tests: Likewise.
13940         * modules/unistr/u8-strcoll-tests: Likewise.
13941         * modules/unistr/u8-strcpy-tests: Likewise.
13942         * modules/unistr/u8-strdup-tests: Likewise.
13943         * modules/unistr/u8-strlen-tests: Likewise.
13944         * modules/unistr/u8-strmblen-tests: Likewise.
13945         * modules/unistr/u8-strmbtouc-tests: Likewise.
13946         * modules/unistr/u8-strncat-tests: Likewise.
13947         * modules/unistr/u8-strncmp-tests: Likewise.
13948         * modules/unistr/u8-strncpy-tests: Likewise.
13949         * modules/unistr/u8-strnlen-tests: Likewise.
13950         * modules/unistr/u8-to-u16-tests: Likewise.
13951         * modules/unistr/u8-to-u32-tests: Likewise.
13952         * modules/unistr/u8-uctomb-tests: Likewise.
13953         * modules/unistr/u16-check-tests: Likewise.
13954         * modules/unistr/u16-chr-tests: Likewise.
13955         * modules/unistr/u16-cmp-tests: Likewise.
13956         * modules/unistr/u16-cmp2-tests: Likewise.
13957         * modules/unistr/u16-cpy-alloc-tests: Likewise.
13958         * modules/unistr/u16-cpy-tests: Likewise.
13959         * modules/unistr/u16-mblen-tests: Likewise.
13960         * modules/unistr/u16-mbsnlen-tests: Likewise.
13961         * modules/unistr/u16-mbtouc-tests: Likewise.
13962         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
13963         * modules/unistr/u16-mbtoucr-tests: Likewise.
13964         * modules/unistr/u16-move-tests: Likewise.
13965         * modules/unistr/u16-next-tests: Likewise.
13966         * modules/unistr/u16-prev-tests: Likewise.
13967         * modules/unistr/u16-set-tests: Likewise.
13968         * modules/unistr/u16-stpcpy-tests: Likewise.
13969         * modules/unistr/u16-stpncpy-tests: Likewise.
13970         * modules/unistr/u16-strcat-tests: Likewise.
13971         * modules/unistr/u16-strcmp-tests: Likewise.
13972         * modules/unistr/u16-strcoll-tests: Likewise.
13973         * modules/unistr/u16-strcpy-tests: Likewise.
13974         * modules/unistr/u16-strdup-tests: Likewise.
13975         * modules/unistr/u16-strlen-tests: Likewise.
13976         * modules/unistr/u16-strmblen-tests: Likewise.
13977         * modules/unistr/u16-strmbtouc-tests: Likewise.
13978         * modules/unistr/u16-strncat-tests: Likewise.
13979         * modules/unistr/u16-strncmp-tests: Likewise.
13980         * modules/unistr/u16-strncpy-tests: Likewise.
13981         * modules/unistr/u16-strnlen-tests: Likewise.
13982         * modules/unistr/u16-to-u32-tests: Likewise.
13983         * modules/unistr/u16-to-u8-tests: Likewise.
13984         * modules/unistr/u16-uctomb-tests: Likewise.
13985         * modules/unistr/u32-check-tests: Likewise.
13986         * modules/unistr/u32-chr-tests: Likewise.
13987         * modules/unistr/u32-cmp-tests: Likewise.
13988         * modules/unistr/u32-cmp2-tests: Likewise.
13989         * modules/unistr/u32-cpy-alloc-tests: Likewise.
13990         * modules/unistr/u32-cpy-tests: Likewise.
13991         * modules/unistr/u32-mblen-tests: Likewise.
13992         * modules/unistr/u32-mbsnlen-tests: Likewise.
13993         * modules/unistr/u32-mbtouc-tests: Likewise.
13994         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
13995         * modules/unistr/u32-mbtoucr-tests: Likewise.
13996         * modules/unistr/u32-move-tests: Likewise.
13997         * modules/unistr/u32-next-tests: Likewise.
13998         * modules/unistr/u32-prev-tests: Likewise.
13999         * modules/unistr/u32-set-tests: Likewise.
14000         * modules/unistr/u32-stpcpy-tests: Likewise.
14001         * modules/unistr/u32-stpncpy-tests: Likewise.
14002         * modules/unistr/u32-strcat-tests: Likewise.
14003         * modules/unistr/u32-strcmp-tests: Likewise.
14004         * modules/unistr/u32-strcoll-tests: Likewise.
14005         * modules/unistr/u32-strcpy-tests: Likewise.
14006         * modules/unistr/u32-strdup-tests: Likewise.
14007         * modules/unistr/u32-strlen-tests: Likewise.
14008         * modules/unistr/u32-strmblen-tests: Likewise.
14009         * modules/unistr/u32-strmbtouc-tests: Likewise.
14010         * modules/unistr/u32-strncat-tests: Likewise.
14011         * modules/unistr/u32-strncmp-tests: Likewise.
14012         * modules/unistr/u32-strncpy-tests: Likewise.
14013         * modules/unistr/u32-strnlen-tests: Likewise.
14014         * modules/unistr/u32-to-u16-tests: Likewise.
14015         * modules/unistr/u32-to-u8-tests: Likewise.
14016         * modules/unistr/u32-uctomb-tests: Likewise.
14017         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
14018         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
14019         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
14020         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
14021         * modules/uniwidth/u8-strwidth-tests: Likewise.
14022         * modules/uniwidth/u8-width-tests: Likewise.
14023         * modules/uniwidth/u16-strwidth-tests: Likewise.
14024         * modules/uniwidth/u16-width-tests: Likewise.
14025         * modules/uniwidth/u32-strwidth-tests: Likewise.
14026         * modules/uniwidth/u32-width-tests: Likewise.
14027         * modules/uniwidth/width-tests: Likewise.
14028
14029 2010-05-18  Richard Jones  <rjones@redhat.com>
14030
14031         doc: users.txt: list hivex
14032         * users.txt: Add hivex.
14033
14034 2010-05-18  Richard Jones  <rjones@redhat.com>
14035
14036         doc: users.txt: list febootstrap
14037         * users.txt: Add febootstrap.
14038
14039 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
14040
14041         bootstrap: fix an error when gnulib is not used as a git submodule
14042         * build-aux/bootstrap (gnulib_path): If its length is zero then
14043         assign "gnulib" to it.
14044         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
14045
14046 2010-05-16  Bruno Haible  <bruno@clisp.org>
14047
14048         Avoid autoconf warnings about AM_ICONV.
14049         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
14050         2.64.
14051
14052 2010-05-16  Bruno Haible  <bruno@clisp.org>
14053
14054         absolute-header: Make the macro usable in more situations.
14055         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
14056         from gl_ABSOLUTE_HEADER.
14057         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
14058
14059 2010-05-16  James Youngman  <jay@gnu.org>
14060
14061         doc: update users.txt
14062         * users.txt: Add CSSC.
14063
14064 2010-05-16  Jim Meyering  <meyering@redhat.com>
14065
14066         init.sh: fix an error in the previous change; add more comments
14067         * tests/init.sh: Compare exit code in loop against 9, not 2.
14068         Patch by Bruno Haible.
14069         Make the two tests more similar by adding an empty "then" clause.
14070         Add comments.
14071
14072         init.sh: avoid unnecessary shell re-exec
14073         * tests/init.sh: Improve the re-exec-required check to first test the
14074         current shell.  If it passes the test, do not search for a shell that
14075         does pass, and do not re-exec.  This test is particularly contorted to
14076         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
14077         of $(...) evokes a syntax error and causes immediate shell exit with
14078         status 2.  Bruno Haible reported that the re-exec made it impossible
14079         to single-step through any init.sh-using script.
14080
14081 2010-05-16  Bruno Haible  <bruno@clisp.org>
14082
14083         Fix collision between gnulib's and libintl's printf replacements.
14084         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
14085         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
14086         (printf): When using GNU C, map the __printf__ function to rpl_printf
14087         via __asm__. When not using GNU C, define rpl_printf instead of
14088         __printf__.
14089         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
14090         commit.
14091         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
14092         commit.
14093         * m4/asm-underscore.m4: New file.
14094         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
14095         * modules/stdio (Files): Add m4/asm-underscore.m4.
14096         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
14097         Reported by Ben Pfaff.
14098
14099 2010-05-16  Bruno Haible  <bruno@clisp.org>
14100
14101         verify: Avoid skipping the test on openSUSE 11.0.
14102         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
14103
14104 2010-05-13  Bruno Haible  <bruno@clisp.org>
14105
14106         Avoid useless warnings from G++.
14107         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
14108         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
14109         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14110
14111 2010-05-11  Jim Meyering  <meyering@redhat.com>
14112
14113         maint.mk: tweak preceding change
14114         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
14115         regexps tighter by anchoring at EOL, and make the new group "shy"
14116         for slightly decreased overhead.
14117
14118 2010-05-11  Eric Blake  <eblake@redhat.com>
14119
14120         maint.mk: gnulib doesn't guarantee NSIG
14121         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
14122
14123 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
14124
14125         test-pwrite.c: Remove unused variable declaration.
14126         * tests/test-pwrite.c (main): Remove read_buf declaration.
14127
14128         Remove useless test-pwrite.sh file.
14129         * tests/test-pwrite.sh: Delete file.
14130         * modules/pwrite-tests: Remove references.
14131         Reported by Bruno Haible.
14132
14133 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
14134
14135         init.sh: fix a typo
14136         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
14137
14138 2010-05-10  Jim Meyering  <meyering@redhat.com>
14139
14140         maint.mk: avoid using a temporary file in the always-defined-macros check
14141         * top/maint.mk (.re-defmac): Remove rule.
14142         (gl_trap_): Remove definition.
14143         (sc_prohibit_always-defined_macros): Rewrite not to create and
14144         depend on a temporary file.  Instead, depend on GNU grep's ability
14145         to read a list of regular expressions from stdin when given "-f -".
14146
14147 2010-05-09  Bruno Haible  <bruno@clisp.org>
14148
14149         Update to GNU gettext 0.18, part 1.
14150         * m4/gettext.m4: Update to GNU gettext 0.18.
14151         * m4/intl.m4: Likewise.
14152         * m4/po.m4: Likewise.
14153         * modules/gettext (Files): Add m4/fcntl-o.m4.
14154         (configure.ac): Require gettext infrastructure from version 0.18.
14155
14156 2010-05-09  Jim Meyering  <meyering@redhat.com>
14157
14158         init.sh: enable MALLOC_PERTURB_
14159         * tests/init.sh: Enable glibc's malloc-perturbing option.
14160
14161         maint.mk: improve sc_cross_check_PATH_usage_in_tests
14162         With my recent change in init.sh from the two-line form:
14163             -#   : ${srcdir=.}
14164             -#   . "$srcdir/init.sh"; path_prepend_ .
14165             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
14166         I noticed that using the one-line form would cause this test
14167         to fail with a false-positive, or to stop working altogether,
14168         depending on whether help-version changed or all the tests did.
14169         * top/maint.mk (_hv_regex): Remove this definition.
14170         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
14171         (_hv_regex_strong): Use a stronger regex to check for conformance.
14172         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
14173         Give a separate diagnostic for lack of conforming use.
14174
14175         maint.mk: prohibit definition of symbols defined by gnulib
14176         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
14177         definition of symbols defined by gnulib.
14178
14179 2010-05-09  Bruno Haible  <bruno@clisp.org>
14180
14181         acl: Avoid test failure on Cygwin-hosted mingw.
14182         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
14183
14184 2010-05-09  Bruno Haible  <bruno@clisp.org>
14185
14186         error: Use system's fcntl function.
14187         * lib/error.c (fcntl): Undefine.
14188
14189 2010-05-09  Jim Meyering  <meyering@redhat.com>
14190
14191         verify: adjust formatting to be more consistent
14192         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
14193         argument-list '('s, and after one comma.
14194
14195 2010-05-09  Bruno Haible  <bruno@clisp.org>
14196
14197         error: More reliable output on mingw.
14198         * lib/error.c: Include <windows.h>.
14199         (is_open): New function.
14200         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
14201         defined.
14202
14203 2010-05-09  Bruno Haible  <bruno@clisp.org>
14204
14205         vasnprintf: Fix syntax errors in libintl build on mingw.
14206         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
14207         pad_ourselves and prec_ourselves after use.
14208
14209 2010-05-08  Bruno Haible  <bruno@clisp.org>
14210
14211         * lib/config.charset: Update comments for Cygwin 1.7.
14212         * lib/localcharset.c: Likewise.
14213
14214 2010-05-07  Jim Meyering  <meyering@redhat.com>
14215
14216         init.sh: improve comments
14217         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
14218         . "${srcdir=.}/init.sh"; path_prepend_ .
14219         Add a note about path_prepend_ and the alternative of using
14220         TESTS_ENVIRONMENT.
14221
14222 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14223
14224         exclude: Unescape hashed patterns in wildcard mode.
14225         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
14226         to the hash list.
14227         * tests/test-exclude8.sh: New test case.
14228         * modules/exclude-tests: Add new test.
14229
14230 2010-05-05  Eric Blake  <eblake@redhat.com>
14231
14232         verify: automate tests
14233         * modules/verify-tests: New module.
14234         * tests/test-verify.sh: New file.
14235         * tests/test-verify.c: Guard each negative test with a unique id.
14236         Also avoid warning about unused left hand of comma expressions.
14237
14238 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14239
14240         Further improvements to verify.h, suggested by Eric Blake.
14241         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
14242         the GL_* versions, to avoid collision with OpenGL.
14243         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
14244         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
14245         than testing merely whether it's defined.
14246
14247         Modify verify.h to pacify gcc -Wredundant_decls.
14248         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
14249         These use the prefix "GL_" since they're likely to be useful elsewhere.
14250         We may need to break them out into a different .h file.
14251         (__COUNTER__): Define to 0 if the compiler doesn't support it.
14252         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
14253         of verify_function__.
14254
14255 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14256
14257         Tests for module pwrite.
14258         * modules/pwrite-tests: New file.
14259         * tests/test-pwrite.sh: New file.
14260         * tests/test-pwrite.c: New file.
14261
14262         New module pwrite.
14263         * lib/unistd.in.h (pwrite): New declaration.
14264         * lib/pwrite.c: New file, from glibc with modifications.
14265         * m4/pwrite.m4: New file.
14266         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
14267         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
14268         REPLACE_PWRITE.
14269         * modules/pwrite: New file.
14270         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
14271         REPLACE_PWRITE.
14272         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
14273         * doc/posix-functions/pwrite.texi: Mention the new module.
14274
14275 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
14276
14277         pread: Update documentation.
14278         * doc/posix-functions/pread.texi: Mention the 'pread' module.
14279
14280 2010-05-04  Eric Blake  <eblake@redhat.com>
14281
14282         docs: update cygwin progress
14283         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
14284         this bug.
14285         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
14286         Added in cygwin 1.7.2.
14287         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
14288         Likewise.
14289         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
14290         Likewise.
14291         * doc/glibc-functions/dup3.texi (dup3): Likewise.
14292         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
14293         * doc/glibc-functions/accept4.texi (accept4): Likewise.
14294         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
14295         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
14296         Mention nproc module.
14297         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
14298         bug in cygwin 1.7.5 addition.
14299         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
14300         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
14301         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
14302         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
14303         1.7.5.
14304         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
14305         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
14306         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
14307         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
14308         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
14309         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
14310         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
14311         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
14312         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
14313         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
14314         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
14315         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
14316         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
14317         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
14318         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
14319         Likewise.
14320         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
14321         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
14322         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
14323         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
14324         Likewise.
14325         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
14326         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
14327         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
14328         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
14329         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
14330         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
14331         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
14332         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
14333         Likewise.
14334         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
14335         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
14336         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
14337         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
14338         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
14339         Likewise.
14340         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
14341         Likewise.
14342         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
14343         Likewise.
14344         * doc/glibc-functions/xdrrec_endofrecord.texi
14345         (xdrrec_endofrecord): Likewise.
14346         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
14347         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
14348         Likewise.
14349         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
14350         Likewise.
14351
14352 2010-05-04  Jim Meyering  <meyering@redhat.com>
14353
14354         gendocs.sh: make its "-s FILE" option more useful
14355         * build-aux/gendocs.sh: When honoring the -s FILE option, update
14356         $PACKAGE to reflect the probably-different basename of "FILE".
14357
14358 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14359
14360         bootstrap: don't ignore download_po_files failure
14361         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
14362         failure.
14363
14364 2010-05-03  Jim Meyering  <meyering@redhat.com>
14365
14366         maint.mk: allow to pass options to gendocs.sh
14367         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
14368         (gendocs_options_): New overridable variable.
14369
14370         gnu-web-doc-update: don't ignore configure or build failure
14371         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
14372
14373         announce-gen: backslash-escape '@'s in --help output
14374         * build-aux/announce-gen: Fix syntax errors.
14375
14376         maint.mk, announce-gen: allow project-specific announcement mail headers
14377         * top/maint.mk (translation_project_): Define default.
14378         (announcement_Cc_, announcement_mail_headers_): Likewise.
14379         (announcement): Invoke announce-gen with new --mail-headers option.
14380         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
14381
14382         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
14383         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
14384         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
14385         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
14386         line in the "err2" output file when running "make check" in verbose
14387         mode (i.e., with set -x enabled).
14388
14389 2010-05-03  Bruno Haible  <bruno@clisp.org>
14390
14391         wctob: Fix for weird platforms.
14392         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
14393         argument value.
14394
14395 2010-05-03  Jim Meyering  <meyering@redhat.com>
14396
14397         maint.mk: prohibit unwarranted use of <strings.h>
14398         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
14399         strings.h in a file that does not also use strcasecmp, strncasecmp,
14400         ffs or ffsll.
14401
14402         maint.mk: remove obsolete comments
14403         * top/maint.mk: Remove stale, commented-out rules.
14404
14405 2010-05-02  Bruno Haible  <bruno@clisp.org>
14406
14407         wcwidth: Declare also when it's aliased.
14408         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
14409         macro.
14410
14411 2010-05-02  Bruno Haible  <bruno@clisp.org>
14412
14413         Fix regression from 2010-04-25.
14414         * gnulib-tool (func_modules_transitive_closure): Check the status of
14415         all modules, not only of the tests that are of the form foo-tests where
14416         foo is a module.
14417
14418 2010-05-02  Bruno Haible  <bruno@clisp.org>
14419
14420         wctob: Work around nasty Cygwin 1.7.2 bug.
14421         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
14422         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
14423
14424 2010-05-01  Bruno Haible  <bruno@clisp.org>
14425
14426         fpurge: Sharper test.
14427         * tests/test-fpurge.c (main): Add one more ftell check.
14428         * modules/fpurge-tests (Depends-on): Add ftell.
14429         Suggested by Eric Blake.
14430
14431 2010-05-01  Bruno Haible  <bruno@clisp.org>
14432
14433         ftello: Another test.
14434         * tests/test-ftello3.c: New file.
14435         * modules/ftello-tests (Files): Add it.
14436         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14437         MOSTLYCLEANFILES.
14438
14439         ftell: Another test.
14440         * tests/test-ftell3.c: New file.
14441         * modules/ftell-tests (Files): Add it.
14442         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
14443         MOSTLYCLEANFILES.
14444
14445 2010-05-01  Bruno Haible  <bruno@clisp.org>
14446
14447         ftell, ftello: Work around Solaris bug.
14448         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
14449         * lib/ftello.c: Include stdio-impl.h.
14450         (ftello): On Solaris, when _IOWRT is set, compute the result without
14451         looking at _IOREAD.
14452         * modules/ftello (Files): Add lib/stdio-impl.h.
14453         * doc/posix-functions/ftell.texi: Mention Solaris bug.
14454         * doc/posix-functions/ftello.texi: Likewise.
14455         Reported by Eric Blake.
14456
14457 2010-05-01  Bruno Haible  <bruno@clisp.org>
14458
14459         freading: Adapt to special meaning of _IOREAD flag on Solaris.
14460         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
14461         the _IOWRT flag is also set.
14462
14463 2010-05-01  Bruno Haible  <bruno@clisp.org>
14464
14465         Fix doc about a HP-UX stdio bug.
14466         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
14467         * doc/posix-functions/ftello.texi: Likewise.
14468
14469 2010-05-01  Bruno Haible  <bruno@clisp.org>
14470
14471         lseek test: Fix failure on Solaris.
14472         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
14473         output.
14474
14475 2010-04-30  Jim Meyering  <meyering@redhat.com>
14476
14477         bootstrap: don't ignore failure to generate po*/Makevars
14478         * build-aux/bootstrap (with_gettext): Don't ignore failure
14479         to create po/Makevars or runtime-po/Makevars.
14480
14481 2010-04-29  Eric Blake  <eblake@redhat.com>
14482
14483         headers: relax license to LGPLv2+
14484         * modules/fcntl-h (License): Relax license.
14485         * modules/getopt-posix (License): Likewise.
14486         * modules/locale (License): Likewise.
14487         * modules/math (License): Likewise.
14488         * modules/pty (License): Likewise.
14489         * modules/sched (License): Likewise.
14490         * modules/search (License): Likewise.
14491         * modules/spawn (License): Likewise.
14492         * modules/stdarg (License): Likewise.
14493         * modules/sysexits (License): Likewise.
14494
14495 2010-04-29  Jim Meyering  <meyering@redhat.com>
14496
14497         inttypes: relax license to LGPLv2+
14498         * modules/inttypes (License): Relax license.
14499
14500 2010-04-29  Simon Josefsson  <simon@josefsson.org>
14501
14502         * top/maint.mk (indent): Run twice to produce idempotent results.
14503
14504 2010-04-28  Bruno Haible  <bruno@clisp.org>
14505
14506         getdate: Generate getdate.c in the source directory.
14507         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
14508         MOSTLYCLEANFILES.
14509         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
14510
14511 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
14512
14513         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
14514         is not declared as a const *; avoid warnings in that case.
14515
14516 2010-04-28  Eric Blake  <eblake@redhat.com>
14517
14518         canonicalize-lgpl: avoid compiler warning
14519         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
14520         declaration' / 'extraneous semicolon' warning with some compilers.
14521         Reported by Andreas Gruenbacher.
14522
14523 2010-04-28  Jim Meyering  <meyering@redhat.com>
14524
14525         init.sh: ensure a more reliable exit status when exiting via trap
14526         * tests/init.sh (setup_): Don't rely on $? in signal handler.
14527         Inspired by patches from Dmitry V. Levin.
14528         Also trap on signal 3 (SIGQUIT).
14529
14530 2010-04-27  Bruno Haible  <bruno@clisp.org>
14531
14532         Update doc about utimes().
14533         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
14534         'utimens' module.
14535         Reported by Andreas Gruenbacher <agruen@suse.de>.
14536
14537 2010-04-27  Eric Blake  <eblake@redhat.com>
14538
14539         full-read, full-write: relax license
14540         * modules/full-read (License): Drop to LGPLv2+.
14541         * modules/full-write (License): Likewise.
14542         * modules/safe-read (License): Likewise.
14543         * modules/safe-write (License): Likewise.
14544
14545         pthread: mention library for linking
14546         * modules/pthread (Link): Mention $(LIB_PTHREAD).
14547
14548 2010-04-27  Jim Meyering  <meyering@redhat.com>
14549
14550         maint.mk: fix a bug introduced in last change
14551         * top/maint.mk (gl_assured_headers_): Now that all names are on
14552         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
14553         is not anchored to end of word, it should be adequate.
14554
14555         maint.mk: avoid side-effect in latest syntax-check
14556         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
14557         to run commands via $(shell...), and hence to incur cost only when
14558         the new rule is actually run.
14559
14560         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
14561         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
14562         and use that to create a regexp used to detect all #if HAVE_..._H uses.
14563         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
14564         (gl_assured_headers_, az_, AZ_): Define.
14565         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
14566
14567 2010-04-26  Jim Meyering  <jim@meyering.net>
14568             Bruno Haible  <bruno@clisp.org>
14569
14570         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
14571         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
14572         Prompted by an exchange with Gilles Espinasse.
14573
14574 2010-04-26  Jim Meyering  <meyering@redhat.com>
14575
14576         git-version-gen: aesthetic tweak
14577         * build-aux/git-version-gen: Use "$nl" rather than a literal,
14578         so that the command remains on a single line.
14579
14580 2010-04-26  Eric Blake  <eblake@redhat.com>
14581
14582         git-version-gen: allow use on EBCDIC hosts
14583         * build-aux/git-version-gen (dirty): Use literal rather than tying
14584         ourselves to ascii.
14585         Reported by Steve Goetze.
14586
14587 2010-04-25  Bruno Haible  <bruno@clisp.org>
14588
14589         netdb: Add support for GNULIB_POSIXCHECK.
14590         * lib/netdb.in.h: Include warn-on-use.h.
14591         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
14592         functions are used when GNULIB_POSIXCHECK is defined and the
14593         getaddrinfo module is not in use.
14594         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
14595         freeaddrinfo, gai_strerror, getnameinfo are declared.
14596         * modules/netdb (Depends-on): Add warn-on-use.
14597         (Makefile.am): Include warn-on-use.h in netdb.h.
14598
14599 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
14600
14601         build: avoid "make check" failure without .git/ directory
14602         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
14603         there is no .git/ directory.
14604
14605 2010-04-25  Bruno Haible  <bruno@clisp.org>
14606
14607         ptsname: Fix misuse of ttyname_r.
14608         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
14609         of errno.
14610
14611 2010-04-25  Bruno Haible  <bruno@clisp.org>
14612
14613         ttyname_r: Make it work on Solaris 10.
14614         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
14615         if the system function has the POSIX declaration. Test whether the
14616         function fails if the buffer is less than 128 bytes large.
14617         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
14618         system's ttyname_r function. Provide a reasonably large buffer.
14619         * modules/ttyname_r (Depends-on): Add extensions.
14620         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
14621
14622 2010-04-25  Bruno Haible  <bruno@clisp.org>
14623
14624         Use the 'extensions' module for some more functions on Solaris.
14625         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
14626         module.
14627         * doc/posix-functions/ctime_r.texi: Likewise.
14628         * doc/posix-functions/getgrgid_r.texi: Likewise.
14629         * doc/posix-functions/getgrnam_r.texi: Likewise.
14630         * doc/posix-functions/getpwnam_r.texi: Likewise.
14631         * doc/posix-functions/getpwuid_r.texi: Likewise.
14632         * doc/posix-functions/readdir_r.texi: Likewise.
14633         * doc/posix-functions/sigwait.texi: Likewise.
14634         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
14635         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
14636
14637 2010-04-25  Bruno Haible  <bruno@clisp.org>
14638
14639         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
14640         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
14641         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
14642         * lib/ttyname_r.c: Include <limits.h>.
14643         (ttyname_r): Define using the system's ttyname_r function, if it exists
14644         and not on Solaris.
14645         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
14646         set.
14647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
14648         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
14649         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
14650         Reported by Simon Josefsson.
14651
14652 2010-04-25  Bruno Haible  <bruno@clisp.org>
14653
14654         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
14655         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
14656         * doc/posix-functions/ctime_r.texi: Likewise.
14657         * doc/posix-functions/getgrgid_r.texi: Likewise.
14658         * doc/posix-functions/getgrnam_r.texi: Likewise.
14659         * doc/posix-functions/getlogin_r.texi: Likewise.
14660         * doc/posix-functions/getpwnam_r.texi: Likewise.
14661         * doc/posix-functions/getpwuid_r.texi: Likewise.
14662         * doc/posix-functions/readdir_r.texi: Likewise.
14663         * doc/posix-functions/sigwait.texi: Likewise.
14664         * doc/posix-functions/ttyname_r.texi: Likewise.
14665         Reported by Simon Josefsson.
14666
14667 2010-04-25  Bruno Haible  <bruno@clisp.org>
14668
14669         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
14670         * gnulib-tool (func_usage): Document that --with-*-tests options apply
14671         also to --create-testdir.
14672         (func_acceptable): Don't consider the status of *-tests modules here.
14673         (func_modules_transitive_closure): Consider it here, before including a
14674         test module.
14675         (func_import, func_create_testdir): Set inc_all_direct_tests,
14676         inc_all_indirect_tests.
14677         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
14678         --create-testdir and --create-megatestdir.
14679
14680 2010-04-25  Bruno Haible  <bruno@clisp.org>
14681
14682         gnulib-tool: Add --without-*-tests options.
14683         * gnulib-tool (func_usage): Document the --without-*-tests options.
14684         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
14685         excl_unportable_tests): New variables.
14686         Fail if they are specified with --import or --update.
14687         (func_acceptable): Respect the excl_*_tests variables.
14688         (func_import): Set the excl_*_tests variables to empty.
14689
14690 2010-04-25  Simon Josefsson  <simon@josefsson.org>
14691             Bruno Haible  <bruno@clisp.org>
14692
14693         Work around a MacOS X 10.4 bug with openpty.
14694         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
14695         * tests/test-openpty.c (main): Close the master side explicitly.
14696
14697 2010-04-25  Bruno Haible  <bruno@clisp.org>
14698
14699         strnlen: Fix a C++ test error on MacOS X and Solaris.
14700         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
14701         the function is not declared.
14702         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
14703         Simon Josefsson.
14704
14705 2010-04-24  Bruno Haible  <bruno@clisp.org>
14706
14707         Avoid a gcc warning.
14708         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
14709         of correct type for %08lx directive.
14710         Reported by Eric Blake.
14711
14712 2010-04-24  Bruno Haible  <bruno@clisp.org>
14713
14714         vasnprintf: Correct errno value in case of out-of-memory.
14715         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
14716         or sprintf. Use the errno value from SNPRINTF or sprintf.
14717         Reported by Ian Beckwith <ianb@erislabs.net>.
14718
14719 2010-04-24  Bruno Haible  <bruno@clisp.org>
14720
14721         ansi-c++-opt: Find correct compiler when cross-compiling.
14722         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
14723         AC_CHECK_PROGS.
14724         Reported by Simon Josefsson.
14725
14726 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
14727
14728         vc-list-files: Add support for subversion
14729         * build-aux/vc-list-files: Use "svn list" to generate the list of
14730         files controlled by subversion.
14731
14732 2010-04-23  Jim Meyering  <meyering@redhat.com>
14733
14734         vc-list-files tests: convert to use init.sh
14735         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
14736         path_prepend_.
14737         Use Exit, not exit.
14738         Use skip_ rather than open coding it.
14739         Remove trap set-up and compare definitions.
14740         * tests/test-vc-list-files-git.sh: Likewise.
14741         * modules/vc-list-files-tests (Files): Add tests/init.sh.
14742
14743 2010-04-22  Simon Josefsson  <simon@josefsson.org>
14744
14745         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
14746         backup files.
14747
14748 2010-04-21  Simon Josefsson  <simon@josefsson.org>
14749
14750         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
14751
14752 2010-04-20  Eric Blake  <eblake@redhat.com>
14753
14754         tests: be robust to ignored SIGPIPE
14755         * tests/test-select-in.sh: Consume all output.
14756         * tests/test-lseek.sh: Check correct exit status, while avoiding
14757         EPIPE.
14758
14759 2010-04-20  Simon Josefsson  <simon@josefsson.org>
14760             Bruno Haible  <bruno@clisp.org>
14761
14762         visibility: Don't use -fvisibility if it leads to a warning.
14763         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
14764         yes, don't pretend that visibility works if it leads to a warning.
14765         Reported by Mike Gran <spk121@yahoo.com>.
14766
14767 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
14768
14769         * build-aux/bootstrap: Use "git -h" for testing for supported options
14770         instead of "git --help".  The short-form option only shows a summary,
14771         and doesn't layout the full man page.  Grep for the full option name
14772         in the summary, too.
14773
14774 2010-04-19  Bruno Haible  <bruno@clisp.org>
14775
14776         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
14777         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
14778         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
14779         mention of RELOCATABLE_STRIP.
14780         Reported by Sylvain Beucler <beuc@beuc.net>.
14781
14782 2010-04-19  Bruno Haible  <bruno@clisp.org>
14783
14784         * lib/diffseq.h: Fix typo in comment.
14785         Reported by Eric Blake.
14786
14787 2010-04-19  Bruno Haible  <bruno@clisp.org>
14788
14789         ioctl: Move autoconf macro to a .m4 file.
14790         * m4/ioctl.m4: New file, extracted from modules/ioctl.
14791         * modules/ioctl (Files): Add it.
14792         (configure.ac): Simply invoke gl_FUNC_IOCTL.
14793         Reported by Ian Beckwith <ianb@erislabs.net>.
14794
14795 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
14796             Bruno Haible  <bruno@clisp.org>
14797
14798         diffseq: Accommodate use-case with abstract arrays.
14799         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
14800         is not defined.
14801         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
14802         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
14803
14804 2010-04-18  Bruno Haible  <bruno@clisp.org>
14805
14806         * doc/posix-headers/stdbool.texi: More precise wording.
14807
14808 2010-04-17  Jim Meyering  <meyering@redhat.com>
14809
14810         maint.mk: use gnu-style indentation in an embedded perl script
14811         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
14812         Rename variable: s/two/last_two_bytes/
14813
14814 2010-04-16  Eric Blake  <eblake@redhat.com>
14815
14816         test-stdbool: skip test that fails with Solaris CC
14817         * tests/test-stdbool.c (f): Skip test that causes compilation
14818         error under buggy C++ compiler.
14819         * lib/stdbool.in.h: Document the limitation.
14820         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
14821
14822         setenv: allow compilation with C++
14823         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
14824         register keyword.
14825
14826         stdint: allow test to pass with C++
14827         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
14828
14829         getopt: allow compilation with C++
14830         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
14831         struct.
14832         * lib/getopt.c (_getopt_internal_r): Use correct type.
14833         Reported by Dagobert Michelson, via Joel E. Denny.
14834
14835 2010-04-16  Bruno Haible  <bruno@clisp.org>
14836
14837         Override netdb.h always.
14838         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
14839         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
14840         Reported by Ludovic Courtès <ludo@gnu.org>.
14841
14842 2010-04-15  Bruno Haible  <bruno@clisp.org>
14843
14844         openpty: Fix mistake from 2010-03-21.
14845         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
14846         Reported by Simon Josefsson.
14847
14848 2010-04-15  Eric Blake  <eblake@redhat.com>
14849
14850         test-forkpty: fix expected signature
14851         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
14852         Reported by Simon Josefsson.
14853
14854 2010-04-15  Jim Meyering  <meyering@redhat.com>
14855
14856         maint.mk: texinfo_suffix_re_: correct the default regexp
14857         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
14858
14859         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
14860         make it configurable via texinfo_suffix_re_.
14861
14862 2010-04-14  Eric Blake  <eblake@redhat.com>
14863
14864         strtok_r: relax license to LGPLv2+
14865         * modules/strtok_r (License): Relax license.
14866         Reported by Matthias Bolte.
14867
14868 2010-04-14  Simon Josefsson  <simon@josefsson.org>
14869
14870         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
14871         version 1.4.4 by default instead of requiring the libgcrypt
14872         version used during build.  This makes it possible to use the
14873         application with older but still binary compatible libgcrypt
14874         versions.
14875
14876 2010-04-13  Eric Blake  <eblake@redhat.com>
14877
14878         getopt-gnu: match recent glibc fixes and posix ruling
14879         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
14880         '+' handling, when requesting extensions.
14881         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
14882         'W;' handling.
14883         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
14884         * doc/posix-functions/getopt.texi (getopt): Document this.
14885         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14886         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14887         Likewise.
14888
14889         getopt: merge bug fixes from glibc
14890         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
14891         diagnostics.  Honor '+:' correctly.  Reject ';'.
14892
14893         getopt-posix: detect MacOS bug
14894         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
14895         optind when missing a required argument.
14896         * doc/posix-functions/getopt.texi (getopt): Document the bug.
14897         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14898         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14899         Likewise.
14900
14901         getopt-posix: avoid spurious failure on Solaris
14902         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
14903         an indicator that setting optind=1 is sufficient for reset.
14904
14905         getopt-posix: avoid spurious failure on FreeBSD
14906         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
14907         in POSIX mode, since the m4 test uses it.
14908
14909         gnulib-tool: silence warning on BSD sh
14910         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
14911
14912 2010-04-13  Jim Meyering  <meyering@redhat.com>
14913
14914         doc: users.txt: GNU patch now uses gnulib
14915         * users.txt: Add patch.
14916
14917 2010-04-12  Jim Meyering  <meyering@redhat.com>
14918
14919         maint.mk: generate more concise timing data for syntax-check rules
14920         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
14921         " done" from each line that reports a syntax-check test duration.
14922
14923 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
14924
14925         git-version-gen: use "git update-index..." rather than "git status"
14926         * build-aux/git-version-gen: Use git update-index --refresh, not
14927         "git status".  With some versions of git, "git status" would fail
14928         to update the index and result in an unwarranted "-dirty" suffix.
14929
14930 2010-04-11  Jim Meyering  <meyering@redhat.com>
14931
14932         openat: correct formatting (no semantic change)
14933         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
14934         Suggested by Bruno Haible.
14935
14936 2010-04-11  Bruno Haible  <bruno@clisp.org>
14937
14938         Stricter declaration checking in testdirs.
14939         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14940         If for_tests is true, augment AM_CPPFLAGS to define
14941         GNULIB_STRICT_CHECKING.
14942         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
14943         GNULIB_STRICT_CHECKING is defined, verify that the function is
14944         declared.
14945
14946 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
14947             Bruno Haible  <bruno@clisp.org>
14948
14949         libunistring: Improve configure output.
14950         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
14951         Don't say "consider installing GNU libunistring" when checking again
14952         with libiconv.
14953
14954 2010-04-11  Bruno Haible  <bruno@clisp.org>
14955
14956         libunistring: Correct value of $LTLIBUNISTRING.
14957         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
14958         correct the value of $LTLIBUNISTRING.
14959
14960 2010-04-11  Bruno Haible  <bruno@clisp.org>
14961
14962         havelib: Add static libraries to LIBS in the right order.
14963         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
14964         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
14965
14966 2010-04-11  Bruno Haible  <bruno@clisp.org>
14967
14968         libunistring: Detect libunistring also when it depends on libiconv.
14969         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
14970         the second AC_LIB_HAVE_LINKFLAGS invocation.
14971
14972 2010-04-11  James Youngman  <jay@gnu.org>
14973
14974         close-stream: declare local scalars to be "const"
14975         * lib/close-stream.c (close_stream): Make boolean variables const
14976         to document the fact that we set but do not change them.
14977
14978 2010-04-11  Bruno Haible  <bruno@clisp.org>
14979
14980         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
14981
14982 2010-04-11  Jim Meyering  <meyering@redhat.com>
14983
14984         maint.mk: don't include dist-check.mk
14985         * top/maint.mk: Remove bogus include directive.
14986
14987         maint.mk: improve empty-line-at-EOF check
14988         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
14989         solution, rather than tail+Perl-based one.  The latter would read
14990         a few kilobytes from the end of each file, and did not handle empty
14991         files properly.
14992
14993         maint.mk: print the elapsed time for each syntax-check rule
14994         * top/maint.mk (sc_m_rules_): Save start time in a file.
14995         (sc_z_rules_): New rules: remove temp file and print elapsed time.
14996         (local-check): Interpose the .z rules
14997
14998 2010-04-11  Jim Meyering  <meyering@redhat.com>
14999
15000         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
15001         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
15002         empty file with one that ends in an empty line.
15003
15004 2010-04-10  Bruno Haible  <bruno@clisp.org>
15005
15006         mkdir: Make it work on mingw64.
15007         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
15008         * lib/mkdir.c: Update comment.
15009         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
15010
15011 2010-04-10  Bruno Haible  <bruno@clisp.org>
15012
15013         Don't override improved macro from newer autoconf.
15014         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
15015         autoconf >= 2.62.
15016         Reported by Joel E. Denny <jdenny@clemson.edu>.
15017
15018 2010-04-10  Jim Meyering  <meyering@redhat.com>
15019
15020         maint.mk: new syntax-check rule: prohibit empty lines at end of file
15021         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
15022
15023         maint.mk: correct a diagnostic
15024         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
15025         in diagnostic; now use $prohibit.
15026
15027 2010-04-10  Bruno Haible  <address@hidden>
15028
15029         fchownat: Fix a C++ test error on Solaris 8.
15030         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
15031         the function does not exist.
15032
15033 2010-04-10  Bruno Haible  <bruno@clisp.org>
15034
15035         vasnprintf: Add more tests.
15036         * tests/test-vasnprintf-posix.c: Include <errno.h>.
15037         (test_function): Test converting an invalid wide string.
15038
15039         vasnprintf: Correct handling of unconvertible wide string arguments.
15040         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
15041         VASNPRINTF.
15042         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
15043         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
15044         smaller than the expected maximum need for the directive. Set errno to
15045         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
15046         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
15047         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
15048         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
15049         * modules/vasnprintf (Files): Add m4/printf.m4.
15050         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15051
15052 2010-04-10  Bruno Haible  <bruno@clisp.org>
15053
15054         vasnprintf: Fix crash in %ls directive.
15055         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
15056         string is passed as argument to %ls, with no precision and no width.
15057         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15058
15059 2010-04-10  Bruno Haible  <bruno@clisp.org>
15060
15061         vasnprintf: Fix multiple test failures on mingw.
15062         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
15063         _snprintf, or snwprintf, not _snwprintf.
15064
15065 2010-04-10  Bruno Haible  <bruno@clisp.org>
15066
15067         write: Fix a C++ test error on mingw.
15068         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
15069
15070 2010-04-10  Bruno Haible  <bruno@clisp.org>
15071
15072         vasnprintf test: Reduce code duplication.
15073         * tests/test-vasnprintf.c (test_function): New function, extracted from
15074         test_vasnprintf.
15075         (test_vasnprintf, test_asnprintf): Invoke it.
15076
15077 2010-04-10  Bruno Haible  <bruno@clisp.org>
15078
15079         strnlen: Fix warning in C++ mode on MacOS X.
15080         * lib/string.in.h (strnlen): Use the modern idiom.
15081         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
15082         defining strnlen as a macro already in <config.h>.
15083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15084         REPLACE_STRNLEN.
15085         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
15086         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15087
15088 2010-04-08  James Youngman  <jay@gnu.org>
15089
15090         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
15091         the example.
15092
15093 2010-04-09  Jim Meyering  <meyering@redhat.com>
15094
15095         maint.mk: print better diagnostic when there is no $(_hv_file)
15096         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
15097         announce that when $(_hv_file) (aka help-version) does not exist.
15098
15099         init.sh: run tr in the "C" locale to avoid multibyte interpretation
15100         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
15101         not try to interpret its random input bytes.  Jarno Rajahalme reported
15102         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
15103         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
15104         (mktempd_): Likewise, just in case.
15105
15106         ftruncate: add two years to projected module removal date: 2012
15107         * m4/ftruncate.m4: Adjust comments.
15108
15109         ftruncate: mark module as obsolete; even MinGW provides it, now
15110         * modules/ftruncate (Status): Obsolete.
15111         (Notice): Say that.
15112         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
15113         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
15114
15115 2010-04-08  Bruno Haible  <bruno@clisp.org>
15116
15117         Fix side effects from tests-related modules.
15118         * modules/dprintf-posix (Comment): New section.
15119         * modules/fprintf-posix (Comment): Likewise.
15120         * modules/obstack-printf-posix (Comment): Likewise.
15121         * modules/printf-posix (Comment): Likewise.
15122         * modules/snprintf-posix (Comment): Likewise.
15123         * modules/sprintf-posix (Comment): Likewise.
15124         * modules/vasnprintf-posix (Comment): Likewise.
15125         * modules/vasprintf-posix (Comment): Likewise.
15126         * modules/vdprintf-posix (Comment): Likewise.
15127         * modules/vfprintf-posix (Comment): Likewise.
15128         * modules/vprintf-posix (Comment): Likewise.
15129         * modules/vsnprintf-posix (Comment): Likewise.
15130         * modules/vsprintf-posix (Comment): Likewise.
15131         * modules/xprintf-posix (Comment): Likewise.
15132         * modules/xvasprintf-posix (Comment): Likewise.
15133         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
15134         * modules/floorf-tests (Depends-on): Likewise.
15135         * modules/round-tests (Depends-on): Likewise.
15136         * modules/roundf-tests (Depends-on): Likewise.
15137         * modules/trunc-tests (Depends-on): Likewise.
15138         * modules/truncf-tests (Depends-on): Likewise.
15139         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
15140         'fprintf-posix' module is not present.
15141         * tests/test-floorf2.c (check): Likewise.
15142         * tests/test-trunc2.c (check): Likewise.
15143         * tests/test-truncf2.c (check): Likewise.
15144         * tests/test-round2.c (equal): Likewise.
15145         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15146
15147 2010-04-07  Karl Berry  <karl@gnu.org>
15148
15149         * config/srclist.txt,
15150         * config/srclistvars.sh,
15151         * config/srclist-update: doc fixes.
15152
15153 2010-04-07  Jim Meyering  <meyering@redhat.com>
15154
15155         maint.mk: add a PATH crosschecking syntax-check rule
15156         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
15157         Useful if you use a test like the one in help-version (coreutils,
15158         diffutils, grep, gzip) that ensures $(VERSION) matches what is
15159         printed by prog --version.
15160
15161 2010-04-06  Bruno Haible  <bruno@clisp.org>
15162
15163         Fix link error on mingw.
15164         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
15165         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
15166
15167 2010-04-06  Bruno Haible  <bruno@clisp.org>
15168
15169         Assume rmdir exists.
15170         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
15171
15172 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
15173
15174         doc: update users.txt
15175         * users.txt: Add gcal.
15176
15177 2010-04-06  Jim Meyering  <meyering@redhat.com>
15178
15179         init.sh: simply unset TMPDIR rather than risking env -i
15180         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
15181         although it probably works fine on all Unix-based systems, some
15182         systems (Cygwin?) cannot tolerate a totally cleared environment.
15183         Suggestion from Eric Blake.
15184
15185 2010-04-06  Jim Meyering  <meyering@redhat.com>
15186
15187         init.sh: portability fix: use env's POSIX-specified -i option not -u
15188         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
15189         than unportable env -u.  Solaris 5.11's env lacks support for -u.
15190
15191 2010-04-05  Bruno Haible  <bruno@clisp.org>
15192
15193         btowc: Work around Cygwin 1.7.2 bug.
15194         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
15195         does not map NUL to 0.
15196         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
15197
15198 2010-04-05  Bruno Haible  <bruno@clisp.org>
15199
15200         Make the multithread modules work on Cygwin 1.7.2.
15201         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
15202         imported symbols can be declared weak, so that it returns "no" on
15203         Cygwin 1.7.2.
15204
15205 2010-04-05  Bruno Haible  <bruno@clisp.org>
15206
15207         Use the module 'strncat'.
15208         * modules/unistr/u8-strncat (Depends-on): Add strncat.
15209
15210         Tests for module 'strncat'.
15211         * modules/strncat-tests: New file.
15212         * tests/test-strncat.c: New file.
15213
15214         New module 'strncat'.
15215         * lib/string.in.h (strncat): New declaration.
15216         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
15217         * m4/strncat.m4: New file, based on m4/memchr.m4.
15218         * modules/strncat: New file.
15219         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
15220         is declared.
15221         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
15222         REPLACE_STRNCAT.
15223         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
15224         REPLACE_STRNCAT.
15225         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
15226         module.
15227         * tests/test-string-c++.cc: Check signature of strncat.
15228
15229 2010-04-05  Jim Meyering  <meyering@redhat.com>
15230
15231         xstrtoumax-tests: convert to use init.sh
15232         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
15233         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15234         Use Exit, not exit.
15235         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15236
15237         xstrtoimax-tests: convert to use init.sh
15238         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
15239         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15240         Use Exit, not exit.
15241         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15242
15243 2010-04-05  Bruno Haible  <bruno@clisp.org>
15244
15245         sys_socket: Avoid #define replacements in C++ mode.
15246         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
15247         warning to the function if possible, rather than #defining the symbol
15248         to a dysfunctional alias.
15249
15250 2010-04-05  Bruno Haible  <bruno@clisp.org>
15251
15252         fseeko: Fix C++ test error on mingw.
15253         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
15254         gl_FUNC_FSEEKO.
15255         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
15256         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
15257         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
15258         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
15259
15260 2010-04-05  Bruno Haible  <bruno@clisp.org>
15261
15262         duplocale: Improve test output.
15263         * tests/test-duplocale.c (main): Print reason for skipped test.
15264
15265 2010-04-05  Bruno Haible  <bruno@clisp.org>
15266
15267         Assume rmdir exists.
15268         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
15269         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
15270
15271 2010-04-05  Bruno Haible  <bruno@clisp.org>
15272
15273         Fix link error on Solaris 8 with cc.
15274         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
15275
15276 2010-04-05  Bruno Haible  <bruno@clisp.org>
15277
15278         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15279         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
15280
15281 2010-04-05  Bruno Haible  <bruno@clisp.org>
15282
15283         vasprintf: Update documentation.
15284         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
15285
15286 2010-04-05  Bruno Haible  <bruno@clisp.org>
15287
15288         ptsname: Improve test.
15289         * tests/test-ptsname.c (main): Also try the various master names of BSD
15290         systems.
15291
15292 2010-04-05  Bruno Haible  <bruno@clisp.org>
15293
15294         memchr: Avoid a possible C++ test error.
15295         * lib/string.in.h (memchr): Provide declaration if function is missing.
15296         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
15297         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
15298         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
15299         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
15300
15301 2010-04-05  Bruno Haible  <bruno@clisp.org>
15302
15303         strtok_r: Improve idiom.
15304         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
15305         AC_LIBOBJ is used.
15306
15307 2010-04-05  Bruno Haible  <bruno@clisp.org>
15308
15309         strdup: Improve idiom.
15310         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
15311         AC_LIBOBJ is used.
15312         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
15313         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
15314         when AC_LIBOBJ is used.
15315
15316 2010-04-05  Bruno Haible  <bruno@clisp.org>
15317
15318         mbsinit, mbrtowc, wcrtomb: Improve idioms.
15319         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
15320         don't set REPLACE_MBSINIT to 1.
15321         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
15322         don't set REPLACE_MBRTOWC to 1.
15323         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
15324         exist, don't set REPLACE_MBSRTOWCS to 1.
15325         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
15326         exist, don't set REPLACE_MBSNRTOWCS to 1.
15327         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
15328         don't set REPLACE_WCRTOMB to 1.
15329         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
15330         exist, don't set REPLACE_WCSRTOMBS to 1.
15331         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
15332         exist, don't set REPLACE_WCSNRTOMBS to 1.
15333
15334 2010-04-05  Bruno Haible  <bruno@clisp.org>
15335
15336         ldexpl: Improve idiom.
15337         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
15338         make sure to set HAVE_DECL_LDEXPL to 0.
15339
15340 2010-04-05  Jim Meyering  <meyering@redhat.com>
15341
15342         xstrtol-tests: convert to use init.sh
15343         * modules/xstrtol-tests (Files): Add tests/init.sh.
15344         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15345         Use Exit, not exit.
15346         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15347
15348         atexit-tests: convert to use init.sh
15349         * modules/atexit-tests (Files): Add tests/init.sh.
15350         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
15351         Use Exit, not exit.
15352         Remove uses of $EXEEXT and "./" to run a program in the current dir.
15353
15354         init.sh: fix typo
15355         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
15356
15357         init.sh: make it easier for a test script to write to the tty, ...
15358         when using automake's parallel-tests mode.
15359         * tests/init.sh (stderr_fileno_): Define overridable variable.
15360         (warn_): New function, to use it.
15361         (fail_, skip_, framework_failure_): Use warn_.
15362
15363 2010-04-04  Bruno Haible  <bruno@clisp.org>
15364
15365         btowc: Avoid warning.
15366         * lib/btowc.c: Include <stdlib.h>.
15367         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
15368
15369 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15370             Bruno Haible  <bruno@clisp.org>
15371
15372         wchar: Port to NetBSD 1.5.
15373         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
15374         * lib/wctype.in.h (WEOF): Likewise.
15375
15376 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
15377             Bruno Haible  <bruno@clisp.org>
15378
15379         Port extended stdio to NetBSD 1.5.
15380         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
15381         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
15382         older.
15383
15384 2010-04-04  Bruno Haible  <bruno@clisp.org>
15385
15386         string: Remove unused substitution.
15387         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
15388         HAVE_DECL_STRERROR.
15389         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
15390
15391 2010-04-04  Bruno Haible  <bruno@clisp.org>
15392
15393         strtod: Avoid a possible C++ test error.
15394         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
15395         set REPLACE_STRTOD.
15396
15397 2010-04-04  Bruno Haible  <bruno@clisp.org>
15398
15399         strerror: Update documentation.
15400         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
15401
15402 2010-04-04  Bruno Haible  <bruno@clisp.org>
15403
15404         stdio: Fix some C++ test errors on Solaris 8 with GCC.
15405         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
15406         _GL_CXXALIAS_SYS_CAST.
15407
15408 2010-04-04  Bruno Haible  <bruno@clisp.org>
15409
15410         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
15411         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
15412         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
15413         REPLACE_FREXPL to 1.
15414         * doc/posix-functions/frexpl.texi: Update documentation.
15415
15416 2010-04-04  Bruno Haible  <bruno@clisp.org>
15417
15418         math: Fix some C++ test errors on Solaris 8 and Cygwin.
15419         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
15420
15421 2010-04-04  Bruno Haible  <bruno@clisp.org>
15422
15423         Implement nanosleep for native Windows.
15424         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
15425
15426 2010-04-04  Bruno Haible  <bruno@clisp.org>
15427
15428         math: Fix some C++ test errors on Solaris 8.
15429         * lib/math.in.h (truncf, trunc): Use simpler idiom.
15430
15431 2010-04-04  Bruno Haible  <bruno@clisp.org>
15432
15433         math: Fix some C++ test errors on Cygwin.
15434         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
15435         truncl): Provide declaration if the system does not have it.
15436         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
15437         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
15438         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
15439         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
15440         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
15441         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
15442         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
15443         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
15444         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
15445         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
15446         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
15447         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
15448         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
15449         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
15450         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
15451         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
15452         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
15453         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15454         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15455         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
15456         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
15457         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
15458
15459 2010-04-04  Bruno Haible  <bruno@clisp.org>
15460
15461         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
15462         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15463         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15464         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
15465         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
15466         * m4/isinf.m4 (gl_ISINF): Likewise.
15467         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15468
15469 2010-04-04  Bruno Haible  <bruno@clisp.org>
15470
15471         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
15472         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15473
15474 2010-04-04  Bruno Haible  <bruno@clisp.org>
15475
15476         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
15477         * modules/tmpfile (configure.ac): Update.
15478
15479         tmpfile: Fix C++ test error on mingw.
15480         * lib/stdio.in.h (tmpfile): New declaration.
15481         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
15482         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
15483         * modules/tmpfile (Depends-on): Add stdio.
15484         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
15485         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
15486         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
15487         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
15488         REPLACE_TMPFILE.
15489         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
15490
15491 2010-04-04  Bruno Haible  <bruno@clisp.org>
15492
15493         ioctl: Fix C++ test error on mingw.
15494         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
15495         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
15496         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
15497
15498 2010-04-03  Bruno Haible  <bruno@clisp.org>
15499
15500         wcwidth: Fix C++ test error on mingw.
15501         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
15502         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
15503         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
15504
15505 2010-04-03  Bruno Haible  <bruno@clisp.org>
15506
15507         nanosleep: Fix C++ test error on mingw.
15508         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
15509         * lib/time.in.h (nanosleep): Use modern idiom.
15510         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
15511         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
15512         REPLACE_NANOSLEEP to 1.
15513         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
15514         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
15515
15516 2010-04-03  Bruno Haible  <bruno@clisp.org>
15517
15518         strptime: Fix C++ test error on mingw.
15519         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
15520         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
15521         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
15522         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
15523         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
15524         not REPLACE_STRPTIME.
15525         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
15526         REPLACE_STRPTIME.
15527
15528 2010-04-03  Bruno Haible  <bruno@clisp.org>
15529
15530         timegm: Fix C++ test error on mingw.
15531         * lib/time.in.h (timegm): Use modern idiom.
15532         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
15533         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
15534         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
15535         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
15536
15537 2010-04-03  Bruno Haible  <bruno@clisp.org>
15538
15539         timegm: Assume declaration if function exists.
15540         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
15541         if it exists. Don't clobber ac_cv_func_timegm.
15542
15543 2010-04-03  Bruno Haible  <bruno@clisp.org>
15544
15545         time_r: Fix C++ test error on mingw.
15546         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
15547         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
15548         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
15549         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
15550         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
15551
15552 2010-04-03  Bruno Haible  <bruno@clisp.org>
15553
15554         time_r: Minor updates.
15555         * modules/time_r (Description): Mention the provided functions.
15556         * lib/time_r.c: Don't include <string.h>.
15557         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
15558         * doc/posix-functions/localtime_r.texi: Likewise.
15559
15560 2010-04-03  Bruno Haible  <bruno@clisp.org>
15561
15562         time: Fix regression introduced on 2010-03-08.
15563         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
15564         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
15565
15566 2010-04-03  Jim Meyering  <meyering@redhat.com>
15567
15568         maint.mk: don't silently disable project-specific syntax-check rules
15569         * top/maint.mk (_prohibit_regexp): Define, to help people realize
15570         that they need to convert their project-specific syntax-check rules
15571         to use the new _sc_search_regexp.
15572
15573 2010-04-03  Bruno Haible  <bruno@clisp.org>
15574
15575         fchdir: Fix regression introduced on 2010-03-08.
15576         * lib/unistd.in.h (fchdir): Fix declaration.
15577         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
15578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
15579         REPLACE_FCHDIR.
15580         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
15581         REPLACE_FCHDIR.
15582
15583 2010-04-03  Bruno Haible  <bruno@clisp.org>
15584
15585         getpagesize: Fix C++ test error on mingw.
15586         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
15587         system does not declare the function.
15588         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
15589         declared.
15590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15591         HAVE_DECL_GETPAGESIZE.
15592         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
15593
15594 2010-04-03  Bruno Haible  <bruno@clisp.org>
15595
15596         stdio: Make C++ tests work on mingw.
15597         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
15598         does not declare the function.
15599
15600 2010-04-03  Bruno Haible  <bruno@clisp.org>
15601
15602         ftello: Fix C++ test error on mingw.
15603         * lib/stdio.in.h (ftello): Use modern idiom.
15604         * lib/ftello.c (ftello): Renamed from rpl_ftello.
15605         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
15606         is missing and that it needs to be replaced.
15607         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
15608         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
15609         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
15610
15611 2010-04-03  Bruno Haible  <bruno@clisp.org>
15612
15613         fseeko: Fix C++ test error on mingw.
15614         * lib/stdio.in.h (fseeko): Use modern idiom.
15615         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
15616         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
15617         is missing and that it needs to be replaced.
15618         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
15619         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
15620         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
15621
15622 2010-04-03  Bruno Haible  <bruno@clisp.org>
15623
15624         mkstemp: Fix C++ test error on mingw.
15625         * lib/stdlib.in.h (mkstemp): Use modern idiom.
15626         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
15627         function is missing and that it needs to be replaced.
15628         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
15629         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
15630
15631 2010-04-03  Bruno Haible  <bruno@clisp.org>
15632
15633         stpncpy: Fix C++ test error on mingw.
15634         * lib/string.in.h (stpncpy): Use modern idiom.
15635         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
15636         function is missing and that it needs to be replaced.
15637         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15638         REPLACE_STPNCPY.
15639         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
15640
15641 2010-04-03  Bruno Haible  <bruno@clisp.org>
15642
15643         sys_stat: Fix C++ test error on mingw.
15644         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
15645         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
15646
15647 2010-04-03  Bruno Haible  <bruno@clisp.org>
15648
15649         pty: Update doc.
15650         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
15651
15652 2010-04-03  Bruno Haible  <bruno@clisp.org>
15653
15654         unistd: Fix C++ test error on mingw.
15655         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
15656
15657 2010-04-03  Bruno Haible  <bruno@clisp.org>
15658
15659         Update doc regarding mingw.
15660         * doc/glibc-functions/openpty.texi: Update regarding mingw.
15661         * doc/glibc-functions/login_tty.texi: Likewise.
15662         * doc/glibc-functions/forkpty.texi: Likewise.
15663
15664 2010-04-03  Bruno Haible  <bruno@clisp.org>
15665
15666         stdlib: Avoid compilation failure of c-strtold on mingw.
15667         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
15668
15669 2010-04-03  Bruno Haible  <bruno@clisp.org>
15670
15671         locale: Make C++ tests work on Cygwin and mingw.
15672         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
15673         cannot provide the function.
15674         Reported by Simon Josefsson.
15675
15676 2010-04-03  Bruno Haible  <bruno@clisp.org>
15677
15678         localename: Port to MacOS X 10.6.
15679         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
15680         memory layout of the locales in MacOS X 10.6 as well.
15681         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
15682
15683 2010-04-02  Bruno Haible  <bruno@clisp.org>
15684
15685         gnulib-tool: Ensure that long-running tests are executed last.
15686         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
15687         running tests after the one for the other tests.
15688
15689 2010-04-02  Bruno Haible  <bruno@clisp.org>
15690
15691         gnulib-tool: Ensure the tests in the main directory are executed first.
15692         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
15693         start with the current directory.
15694
15695 2010-04-02  Bruno Haible  <bruno@clisp.org>
15696
15697         Tests for module 'havelib', moved here from GNU gettext.
15698         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
15699         modifications.
15700         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
15701         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
15702         with modifications.
15703         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
15704         modifications.
15705         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
15706         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
15707         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
15708         with modifications.
15709         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
15710         with modifications.
15711         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
15712         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
15713         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
15714         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
15715         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
15716         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
15717         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
15718         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
15719         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
15720         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
15721         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
15722         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
15723         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
15724         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
15725         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
15726         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
15727         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
15728         with modifications.
15729         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
15730         with modifications.
15731         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
15732         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
15733         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
15734         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
15735         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
15736         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
15737         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
15738         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
15739         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
15740         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
15741         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
15742         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
15743         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
15744         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
15745         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
15746         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
15747         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
15748         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
15749         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
15750         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
15751         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
15752         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
15753         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
15754         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
15755         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
15756         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
15757         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
15758         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
15759         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
15760         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
15761         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
15762         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
15763         * tests/havelib/rpathx/rpathx.c: New file, from
15764         gettext/autoconf-lib-link.
15765         * tests/havelib/rpathx/Makefile.am: New file, from
15766         gettext/autoconf-lib-link.
15767         * tests/havelib/rpathx/configure.ac: New file, from
15768         gettext/autoconf-lib-link with modifications.
15769         * tests/havelib/rpathy/rpathy.c: New file, from
15770         gettext/autoconf-lib-link.
15771         * tests/havelib/rpathy/Makefile.am: New file, from
15772         gettext/autoconf-lib-link.
15773         * tests/havelib/rpathy/configure.ac: New file, from
15774         gettext/autoconf-lib-link with modifications.
15775         * tests/havelib/rpathz/rpathz.c: New file, from
15776         gettext/autoconf-lib-link.
15777         * tests/havelib/rpathz/Makefile.am: New file, from
15778         gettext/autoconf-lib-link.
15779         * tests/havelib/rpathz/configure.ac: New file, from
15780         gettext/autoconf-lib-link with modifications.
15781         * tests/havelib/rpathlx/usex.c: New file, from
15782         gettext/autoconf-lib-link.
15783         * tests/havelib/rpathlx/Makefile.am: New file, from
15784         gettext/autoconf-lib-link.
15785         * tests/havelib/rpathlx/configure.ac: New file, from
15786         gettext/autoconf-lib-link with modifications.
15787         * tests/havelib/rpathly/usey.c: New file, from
15788         gettext/autoconf-lib-link.
15789         * tests/havelib/rpathly/Makefile.am: New file, from
15790         gettext/autoconf-lib-link.
15791         * tests/havelib/rpathly/configure.ac: New file, from
15792         gettext/autoconf-lib-link with modifications.
15793         * tests/havelib/rpathlz/usez.c: New file, from
15794         gettext/autoconf-lib-link.
15795         * tests/havelib/rpathlz/Makefile.am: New file, from
15796         gettext/autoconf-lib-link.
15797         * tests/havelib/rpathlz/configure.ac: New file, from
15798         gettext/autoconf-lib-link with modifications.
15799         * tests/havelib/rpathlyx/usey.c: New file, from
15800         gettext/autoconf-lib-link.
15801         * tests/havelib/rpathlyx/Makefile.am: New file, from
15802         gettext/autoconf-lib-link.
15803         * tests/havelib/rpathlyx/configure.ac: New file, from
15804         gettext/autoconf-lib-link with modifications.
15805         * tests/havelib/rpathlzyx/usez.c: New file, from
15806         gettext/autoconf-lib-link.
15807         * tests/havelib/rpathlzyx/Makefile.am: New file, from
15808         gettext/autoconf-lib-link.
15809         * tests/havelib/rpathlzyx/configure.ac: New file, from
15810         gettext/autoconf-lib-link with modifications.
15811         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
15812         with modifications.
15813
15814 2010-04-02  Bruno Haible  <bruno@clisp.org>
15815
15816         gnulib-tool: Create distributed built sources also for the tests.
15817         * gnulib-tool (func_create_testdir): Also generate distributed built
15818         sources in the tests directory.
15819
15820 2010-04-02  Bruno Haible  <bruno@clisp.org>
15821
15822         gnulib-tool: Obey user's environment variables.
15823         * gnulib-tool (func_create_testdir): When creating built sources,
15824         respect the environment variables for autoconf, automake, etc. given by
15825         the user.
15826
15827 2010-04-02  Bruno Haible  <bruno@clisp.org>
15828
15829         gnulib-tool: Provide the value of --m4-base to modules.
15830         * gnulib-tool (func_import, func_create_testdir): Emit a definition
15831         of gl_m4_base.
15832
15833 2010-04-02  Eric Blake  <eblake@redhat.com>
15834
15835         maint.mk: fix some fallout
15836         * NEWS: Document the incompatible change, and its effect on cfg.mk.
15837         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
15838
15839 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15840
15841         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
15842         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
15843         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
15844         (sc_cast_of_x_alloc_return_value): Likewise.
15845         (sc_cast_of_alloca_return_value): Likewise.
15846         (sc_space_tab): Likewise.
15847         (sc_prohibit_atoi_atof): Likewise.
15848         (sc_prohibit_magic_number_exit): Likewise.
15849         (sc_error_exit_success): Likewise.
15850         (sc_file_system): Likewise.
15851         (sc_prohibit_have_config_h): Likewise.
15852         (sc_require_config_h): Likewise.
15853         (sc_prohibit_HAVE_MBRTOWC): Likewise.
15854         (sc_obsolete_symbols): Likewise.
15855         (sc_changelog): Likewise.
15856         (sc_program_name): Likewise.
15857         (sc_the_the): Likewise.
15858         (sc_trailing_blank): Likewise.
15859         (sc_two_space_separator_in_usage): Likewise.
15860         (sc_useless_cpp_parens): Likewise.
15861         (sc_GPL_version): Likewise.
15862         (sc_GFDL_version): Likewise.
15863         (sc_texinfo_acronym): Likewise.
15864         (sc_prohibit_cvs_keyword): Likewise.
15865         (sc_prohibit_stat_st_blocks): Likewise.
15866         (sc_prohibit_S_IS_definition): Likewise.
15867         (sc_redundant_const): Likewise.
15868         (sc_makefile_TAB_only_indentation): Likewise.
15869         (sc_m4_quote_check): Likewise.
15870         (sc_makefile_path_separator_check): Likewise.
15871         (sc_copyright_check): Likewise.
15872         (sc_Wundef_boolean): Likewise.
15873         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
15874
15875         maint.mk: match 0 or more whitespace-before-function-call '('
15876         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
15877         that have zero or two-and-more spaces between the function name
15878         and the open parenthesis.
15879         (sc_error_message_warn_fatal): Likewise.
15880         (sc_error_message_uppercase): Likewise.
15881         (sc_error_message_period): Likewise.
15882
15883 2010-03-31  Eric Blake  <eblake@redhat.com>
15884
15885         maint.mk: check for [ as well as test
15886         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
15887         Based on a libvirt report by Matthias Bolte.
15888
15889         gnumakefile: don't squelch _version output
15890         * top/GNUmakefile (_version): Create one-shot dependency rather
15891         than using $(shell) when version must be regenerated.
15892         (_autoreconf): Run verbosely, by default.
15893
15894         sys_time: avoid compiler warnings
15895         * lib/sys_time.in.h (includes): Ensure gcc pragma is
15896         unconditional, fixing regression from 2010-03-29.
15897         Reported by Simon Josefsson.
15898
15899 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15900
15901         maint.mk: s/_header_without_use/_sc_header_without_use/
15902         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
15903         (sc_prohibit_assert_without_use): Use the new name.
15904         (sc_prohibit_close_stream_without_use): Likewise.
15905         (sc_prohibit_getopt_without_use): Likewise.
15906         (sc_prohibit_quotearg_without_use): Likewise.
15907         (sc_prohibit_quote_without_use): Likewise.
15908         (sc_prohibit_long_options_without_use): Likewise.
15909         (sc_prohibit_inttostr_without_use): Likewise.
15910         (sc_prohibit_ignore_value_without_use): Likewise.
15911         (sc_prohibit_error_without_use): Likewise.
15912         (sc_prohibit_xalloc_without_use): Likewise.
15913         (sc_prohibit_hash_without_use): Likewise.
15914         (sc_prohibit_hash_pjw_without_use): Likewise.
15915         (sc_prohibit_safe_read_without_use): Likewise.
15916         (sc_prohibit_argmatch_without_use): Likewise.
15917         (sc_prohibit_canonicalize_without_use): Likewise.
15918         (sc_prohibit_root_dev_ino_without_use): Likewise.
15919         (sc_prohibit_openat_without_use): Likewise.
15920         (sc_prohibit_c_ctype_without_use): Likewise.
15921         (sc_prohibit_signal_without_use): Likewise.
15922         (sc_prohibit_intprops_without_use): Likewise.
15923
15924 2010-03-30  Eric Blake  <eblake@redhat.com>
15925
15926         maint: improve module indicators
15927         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
15928         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
15929         columns, and avoid extra macro expansion.
15930
15931         fdopendir: work around FreeBSD bug
15932         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
15933         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
15934         * modules/dirent (Makefile.am): Substitute it.
15935         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
15936         declaration.
15937         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
15938         fix.
15939         Reported by Christian Weisgerber <naddy@mips.inka.de>.
15940
15941 2010-03-29  Bruno Haible  <bruno@clisp.org>
15942
15943         Emit #pragma system_header after the inclusion guard, not before.
15944         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
15945         guard that spans the entire file, not before. This enables an
15946         optimization in GCC's preprocessor.
15947         * lib/ctype.in.h: Likewise.
15948         * lib/dirent.in.h: Likewise.
15949         * lib/errno.in.h: Likewise.
15950         * lib/float.in.h: Likewise.
15951         * lib/getopt.in.h: Likewise.
15952         * lib/iconv.in.h: Likewise.
15953         * lib/langinfo.in.h: Likewise.
15954         * lib/locale.in.h: Likewise.
15955         * lib/math.in.h: Likewise.
15956         * lib/netdb.in.h: Likewise.
15957         * lib/netinet_in.in.h: Likewise.
15958         * lib/pty.in.h: Likewise.
15959         * lib/sched.in.h: Likewise.
15960         * lib/se-selinux.in.h: Likewise.
15961         * lib/search.in.h: Likewise.
15962         * lib/spawn.in.h: Likewise.
15963         * lib/stdarg.in.h: Likewise.
15964         * lib/stdint.in.h: Likewise.
15965         * lib/string.in.h: Likewise.
15966         * lib/strings.in.h: Likewise.
15967         * lib/sys_file.in.h: Likewise.
15968         * lib/sys_ioctl.in.h: Likewise.
15969         * lib/sys_time.in.h: Likewise.
15970         * lib/sys_times.in.h: Likewise.
15971         * lib/sys_utsname.in.h: Likewise.
15972         * lib/sys_wait.in.h: Likewise.
15973         * lib/sysexits.in.h: Likewise.
15974         * lib/wctype.in.h: Likewise.
15975
15976 2010-03-28  James Youngman  <jay@gnu.org>
15977
15978         save-cwd: don't leak a file descriptor when the caller execs.
15979         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
15980         saved file descriptor.
15981         * modules/save-cwd (Depends-on): Depend on cloexec.
15982
15983 2010-03-29  Bruno Haible  <bruno@clisp.org>
15984
15985         Remove vestiges of fts-lgpl module.
15986         * lib/fts_.h: Assume GNULIB_FTS is 1.
15987         * lib/fts.c: Likewise.
15988         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15989
15990 2010-03-28  Bruno Haible  <bruno@clisp.org>
15991
15992         Fix definition of tests witness macro.
15993         * gnulib-tool (func_import): Fix definition of witness macro.
15994
15995 2010-03-28  Bruno Haible  <bruno@clisp.org>
15996
15997         Fix ioctl's protoype on glibc systems.
15998         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
15999         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
16000         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
16001         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
16002         signature. If not, arrange to replace the ioctl function.
16003         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
16004         REPLACE_IOCTL.
16005         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
16006         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
16007         Reported by Ludovic Courtès <ludo@gnu.org>.
16008
16009 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
16010
16011         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
16012         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
16013         made it so grep -r --include=GLOB* ... did not work.
16014
16015 2010-03-26  Jim Meyering  <meyering@redhat.com>
16016             Eric Blake  <eblake@redhat.com>
16017
16018         maint.mk: prohibit use of test's -o and -a operators
16019         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
16020
16021 2010-03-28  Bruno Haible  <bruno@clisp.org>
16022
16023         Remove unused GNULIB_XYZ macro definitions.
16024         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
16025         invocation.
16026
16027 2010-03-28  Bruno Haible  <bruno@clisp.org>
16028
16029         Mark privileged tests modules.
16030         * modules/idpriv-drop-tests (Status): New section.
16031         * modules/idpriv-droptemp-tests (Status): New section.
16032
16033 2010-03-28  Bruno Haible  <bruno@clisp.org>
16034
16035         Split C++ tests into separate tests modules.
16036         * modules/dirent-c++-tests: New file, extracted from
16037         modules/dirent-tests.
16038         * modules/dirent-tests: Depend on it.
16039         * modules/fcntl-h-c++-tests: New file, extracted from
16040         modules/fcntl-h-tests.
16041         * modules/fcntl-h-tests: Depend on it.
16042         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
16043         * modules/glob-tests: Depend on it.
16044         * modules/iconv-h-c++-tests: New file, extracted from
16045         modules/iconv-h-tests.
16046         * modules/iconv-h-tests: Depend on it.
16047         * modules/langinfo-c++-tests: New file, extracted from
16048         modules/langinfo-tests.
16049         * modules/langinfo-tests: Depend on it.
16050         * modules/locale-c++-tests: New file, extracted from
16051         modules/locale-tests.
16052         * modules/locale-tests: Depend on it.
16053         * modules/math-c++-tests: New file, extracted from modules/math-tests.
16054         * modules/math-tests: Depend on it.
16055         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
16056         * modules/pty-tests: Depend on it.
16057         * modules/search-c++-tests: New file, extracted from
16058         modules/search-tests.
16059         * modules/search-tests: Depend on it.
16060         * modules/signal-c++-tests: New file, extracted from
16061         modules/signal-tests.
16062         * modules/signal-tests: Depend on it.
16063         * modules/spawn-c++-tests: New file, extracted from
16064         modules/spawn-tests.
16065         * modules/spawn-tests: Depend on it.
16066         * modules/stdio-c++-tests: New file, extracted from
16067         modules/stdio-tests.
16068         * modules/stdio-tests: Depend on it.
16069         * modules/stdlib-c++-tests: New file, extracted from
16070         modules/stdlib-tests.
16071         * modules/stdlib-tests: Depend on it.
16072         * modules/string-c++-tests: New file, extracted from
16073         modules/string-tests.
16074         * modules/string-tests: Depend on it.
16075         * modules/sys_ioctl-c++-tests: New file, extracted from
16076         modules/sys_ioctl-tests.
16077         * modules/sys_ioctl-tests: Depend on it.
16078         * modules/sys_select-c++-tests: New file, extracted from
16079         modules/sys_select-tests.
16080         * modules/sys_select-tests: Depend on it.
16081         * modules/sys_socket-c++-tests: New file, extracted from
16082         modules/sys_socket-tests.
16083         * modules/sys_socket-tests: Depend on it.
16084         * modules/sys_stat-c++-tests: New file, extracted from
16085         modules/sys_stat-tests.
16086         * modules/sys_stat-tests: Depend on it.
16087         * modules/sys_time-c++-tests: New file, extracted from
16088         modules/sys_time-tests.
16089         * modules/sys_time-tests: Depend on it.
16090         * modules/time-c++-tests: New file, extracted from modules/time-tests.
16091         * modules/time-tests: Depend on it.
16092         * modules/unistd-c++-tests: New file, extracted from
16093         modules/unistd-tests.
16094         * modules/unistd-tests: Depend on it.
16095         * modules/wchar-c++-tests: New file, extracted from
16096         modules/wchar-tests.
16097         * modules/wchar-tests: Depend on it.
16098         * modules/wctype-c++-tests: New file, extracted from
16099         modules/wctype-tests.
16100         * modules/wctype-tests: Depend on it.
16101         Reported by Simon Josefsson.
16102
16103 2010-03-28  Bruno Haible  <bruno@clisp.org>
16104
16105         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
16106         * gnulib-tool (func_exists_module): New function, extracted from
16107         func_verify_module.
16108         (func_verify_module): Use it.
16109         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
16110         'foo' only if 'foo' exists.
16111         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
16112         module.
16113
16114 2010-03-28  Bruno Haible  <bruno@clisp.org>
16115
16116         gnulib-tool: Add support for special categories of tests.
16117         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
16118         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
16119         (func_usage): Document them.
16120         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
16121         inc_unportable_tests, inc_all_tests): New variables.
16122         (func_acceptable): Consider these variables.
16123         (func_modules_transitive_closure): Make it work when the 'Status' field
16124         consists of multiple words.
16125         (func_import): Store and restore the values of inc_cxx_tests,
16126         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
16127         inc_all_tests in gnulib-comp.m4.
16128         (func_create_testdir): Set inc_all_tests to true.
16129         * doc/gnulib.texi (Extra tests modules): New section.
16130         Suggested by Jim Meyering.
16131
16132 2010-03-28  Bruno Haible  <bruno@clisp.org>
16133
16134         ansi-c++-opt: Allow turning off the C++ build by default.
16135         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
16136         gl_CXX_CHOICE_DEFAULT_NO is defined.
16137         Requested by Eric Blake.
16138
16139 2010-03-28  Bruno Haible  <bruno@clisp.org>
16140
16141         unistd: Avoid #define replacements in C++ mode.
16142         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16143         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16144         setsockopt, shutdown, select): In C++, attach a warning to the function
16145         if possible, rather than #defining the symbol to a dysfunctional alias.
16146         Reported by John W. Eaton <jwe@gnu.org>.
16147
16148 2010-03-28  Bruno Haible  <bruno@clisp.org>
16149
16150         Fix link errors on mingw.
16151         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
16152         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
16153         $(LIBSOCKET).
16154         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
16155         $(LIBSOCKET).
16156
16157 2010-03-28  Bruno Haible  <bruno@clisp.org>
16158             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16159
16160         lib-ignore: Determine different options for different compilers.
16161         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
16162         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
16163         Add comments.
16164         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
16165         * NEWS: Mention the change.
16166
16167 2010-03-27  Bruno Haible  <bruno@clisp.org>
16168
16169         Remove unused GNULIB_XYZ macro definitions.
16170         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
16171         * modules/fseek (configure.ac): Likewise.
16172         * modules/ioctl (configure.ac): Likewise.
16173         * modules/open (configure.ac): Likewise.
16174         * modules/stdlib-safer (configure.ac): Likewise.
16175
16176 2010-03-27  Bruno Haible  <bruno@clisp.org>
16177
16178         Add a remark about certain modules.
16179         * modules/malloc (Comment): New section.
16180         * modules/realloc (Comment): Likewise.
16181         * modules/sigpipe (Comment): Likewise.
16182
16183 2010-03-27  Bruno Haible  <bruno@clisp.org>
16184
16185         Resolve conflict between the two kinds of module indicators.
16186         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
16187         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
16188         * modules/canonicalize (configure.ac): Invoke
16189         gl_MODULE_INDICATOR_FOR_TESTS.
16190         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
16191         GNULIB_XYZ.
16192         * tests/test-dirent-c++.cc: Likewise.
16193         * tests/test-dirent-safer.c: Likewise.
16194         * tests/test-dup2.c: Likewise.
16195         * tests/test-fchdir.c: Likewise.
16196         * tests/test-fcntl-h-c++.cc: Likewise.
16197         * tests/test-getopt.c: Likewise.
16198         * tests/test-getopt.h: Likewise.
16199         * tests/test-langinfo-c++.cc: Likewise.
16200         * tests/test-locale-c++.cc: Likewise.
16201         * tests/test-math-c++.cc: Likewise.
16202         * tests/test-pty-c++.cc: Likewise.
16203         * tests/test-search-c++.cc: Likewise.
16204         * tests/test-signal-c++.cc: Likewise.
16205         * tests/test-spawn-c++.cc: Likewise.
16206         * tests/test-stdio-c++.cc: Likewise.
16207         * tests/test-stdlib-c++.cc: Likewise.
16208         * tests/test-string-c++.cc: Likewise.
16209         * tests/test-sys_ioctl-c++.cc: Likewise.
16210         * tests/test-sys_select-c++.cc: Likewise.
16211         * tests/test-sys_socket-c++.cc: Likewise.
16212         * tests/test-sys_stat-c++.cc: Likewise.
16213         * tests/test-sys_time-c++.cc: Likewise.
16214         * tests/test-time-c++.cc: Likewise.
16215         * tests/test-unistd-c++.cc: Likewise.
16216         * tests/test-wchar-c++.cc: Likewise.
16217         * tests/uninorm/test-u8-nfc.c: Likewise.
16218         * tests/uninorm/test-u8-nfd.c: Likewise.
16219         * tests/uninorm/test-u8-nfkc.c: Likewise.
16220         * tests/uninorm/test-u8-nfkd.c: Likewise.
16221         * tests/uninorm/test-u16-nfc.c: Likewise.
16222         * tests/uninorm/test-u16-nfd.c: Likewise.
16223         * tests/uninorm/test-u16-nfkc.c: Likewise.
16224         * tests/uninorm/test-u16-nfkd.c: Likewise.
16225         * tests/uninorm/test-u32-nfc.c: Likewise.
16226         * tests/uninorm/test-u32-nfc-big.c: Likewise.
16227         * tests/uninorm/test-u32-nfd.c: Likewise.
16228         * tests/uninorm/test-u32-nfd-big.c: Likewise.
16229         * tests/uninorm/test-u32-nfkc.c: Likewise.
16230         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
16231         * tests/uninorm/test-u32-nfkd.c: Likewise.
16232         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
16233         * tests/uninorm/test-u32-normalize-big.c: Likewise.
16234
16235 2010-03-27  Bruno Haible  <bruno@clisp.org>
16236
16237         Distinguish two kinds of module indicators.
16238         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
16239         gl_MODULE_INDICATOR.
16240         (gl_MODULE_INDICATOR): New macro.
16241         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16242         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
16243         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16244         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16245         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16246         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16247         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16248         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16249         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16250         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16251         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16252         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16253         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16254         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16255         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16256         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16257         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16258         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16259         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16260         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16261         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16262         * modules/cloexec (configure.ac): Likewise.
16263         * modules/getopt-gnu (configure.ac): Likewise.
16264         * modules/uninorm/u8-normalize (configure.ac): Likewise.
16265         * modules/uninorm/u16-normalize (configure.ac): Likewise.
16266         * modules/uninorm/u32-normalize (configure.ac): Likewise.
16267         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
16268
16269 2010-03-27  Bruno Haible  <bruno@clisp.org>
16270
16271         New module description field 'Comment'.
16272         * gnulib-tool: New option --extract-comment.
16273         (func_usage): Document it.
16274         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
16275         (func_get_comment): New function.
16276         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
16277
16278 2010-03-27  Bruno Haible  <bruno@clisp.org>
16279
16280         Addendum to 2010-02-07 commit.
16281         * gnulib-tool (func_usage): Document --extract-applicability option.
16282
16283 2010-03-27  Bruno Haible  <bruno@clisp.org>
16284
16285         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
16286         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
16287         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
16288         rather than link errors.
16289
16290 2010-03-27  Bruno Haible  <bruno@clisp.org>
16291
16292         Avoid side effects from tests-related modules on the compilation of lib.
16293         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
16294         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
16295         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
16296         parameter. Emit into AM_CPPFLAGS a definition of the designated C
16297         macro.
16298         (func_import): Define a witness macro. Assign it a value that depends
16299         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
16300         tests-related modules.
16301         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
16302         Reported by Jim Meyering.
16303
16304 2010-03-27  Bruno Haible  <bruno@clisp.org>
16305
16306         Factorize common .m4 code.
16307         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
16308         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
16309         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
16310         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
16311         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
16312         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
16313         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
16314         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
16315         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
16316         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
16317         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
16318         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
16319         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
16320         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
16321         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
16322         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
16323         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
16324         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
16325         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
16326         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
16327         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
16328         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
16329         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
16330         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
16331         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
16332         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
16333         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
16334         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
16335         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
16336         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
16337         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
16338         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
16339
16340 2010-03-27  Bruno Haible  <bruno@clisp.org>
16341
16342         Fix a compilation error on Cygwin with g++ >= 4.3.
16343         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
16344         if it is undefined or if we alias it to chmod.
16345         (lstat): Don't warn about the use of this function if it is undefined
16346         or if we alias it to stat.
16347         Reported by Simon Josefsson.
16348
16349 2010-03-27  Bruno Haible  <bruno@clisp.org>
16350
16351         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
16352         * modules/getlogin (configure.ac): Update.
16353
16354         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
16355         * modules/getlogin_r (configure.ac): Update.
16356
16357         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
16358         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
16359         * modules/inet_ntop (configure.ac): Update.
16360
16361         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
16362         * modules/inet_pton (configure.ac): Update.
16363
16364         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
16365         * modules/mbslen (configure.ac): Update.
16366
16367         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
16368         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
16369         * modules/forkpty (configure.ac): Update.
16370         * modules/openpty (configure.ac): Update.
16371
16372 2010-03-26  Simon Josefsson  <simon@josefsson.org>
16373
16374         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
16375         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
16376
16377 2010-03-25  Eric Blake  <eblake@redhat.com>
16378
16379         maint: use pragma consistently across replacement headers
16380         * lib/ctype.in.h (system_header): Hoist for consistent placement.
16381         * lib/dirent.in.h (system_header): Likewise.
16382         * lib/errno.in.h (system_header): Likewise.
16383         * lib/float.in.h (system_header): Likewise.
16384         * lib/getopt.in.h (system_header): Likewise.
16385         * lib/iconv.in.h (system_header): Likewise.
16386         * lib/inttypes.in.h (system_header): Likewise.
16387         * lib/langinfo.in.h (system_header): Likewise.
16388         * lib/locale.in.h (system_header): Likewise.
16389         * lib/math.in.h (system_header): Likewise.
16390         * lib/netdb.in.h (system_header): Likewise.
16391         * lib/netinet_in.in.h (system_header): Likewise.
16392         * lib/pty.in.h (system_header): Likewise.
16393         * lib/sched.in.h (system_header): Likewise.
16394         * lib/se-selinux.in.h (system_header): Likewise.
16395         * lib/search.in.h (system_header): Likewise.
16396         * lib/spawn.in.h (system_header): Likewise.
16397         * lib/stdarg.in.h (system_header): Likewise.
16398         * lib/stdint.in.h (system_header): Likewise.
16399         * lib/string.in.h (system_header): Likewise.
16400         * lib/strings.in.h (system_header): Likewise.
16401         * lib/sys_file.in.h (system_header): Likewise.
16402         * lib/sys_ioctl.in.h (system_header): Likewise.
16403         * lib/sys_socket.in.h (system_header): Likewise.
16404         * lib/sys_times.in.h (system_header): Likewise.
16405         * lib/sys_utsname.in.h (system_header): Likewise.
16406         * lib/sys_wait.in.h (system_header): Likewise.
16407         * lib/sysexits.in.h (system_header): Likewise.
16408         * lib/unistd.in.h (system_header): Likewise.
16409         * lib/wctype.in.h (system_header): Likewise.
16410
16411         arpa/inet: fix mingw compilation warning
16412         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
16413         Reported by Matthew Bolte.
16414
16415 2010-03-25  Bruno Haible  <bruno@clisp.org>
16416
16417         Avoid collision between gnulib wrapper and libintl wrapper.
16418         * lib/printf.c (printf): Don't define if a printf wrapper is already
16419         defined in intl/printf.c.
16420         Reported by Michel Boaventura <michel@michelboaventura.com>.
16421
16422 2010-03-25  Bruno Haible  <bruno@clisp.org>
16423
16424         Use ANSI C.
16425         * lib/readutmp.h (getutent): Provide ANSI C prototype.
16426
16427 2010-03-25  Bruno Haible  <bruno@clisp.org>
16428
16429         Minor formatting changes.
16430         * lib/acosl.c: Insert space before function argument list.
16431         * lib/argz.c: Likewise.
16432         * lib/asinl.c: Likewise.
16433         * lib/expl.c: Likewise.
16434         * lib/gen-uni-tables.c: Likewise.
16435         * lib/gettext.h: Likewise.
16436         * lib/glthread/lock.h: Likewise.
16437         * lib/tanl.c: Likewise.
16438         * lib/uniname/uniname.c: Likewise.
16439         * tests/test-idpriv-drop.c: Likewise.
16440         * tests/test-idpriv-droptemp.c: Likewise.
16441         * tests/test-lock.c: Likewise.
16442         * tests/test-tls.c: Likewise.
16443         * lib/argp-help.c: Insert space before function-like macro argument
16444         list.
16445         * lib/memcmp.c: Likewise.
16446         * tests/test-base64.c: Likewise.
16447         * lib/localename.c: Insert space before sizeof's argument list.
16448         * lib/safe-alloc.h: Likewise.
16449         * lib/file-set.h: Insert space before macro argument list.
16450         * tests/test-argp.c: Likewise.
16451         * lib/argp-namefrob.h: Insert space before function parameter list.
16452         * lib/getaddrinfo.c: Likewise.
16453         * lib/netdb.in.h: Likewise.
16454         * lib/parse-duration.h: Likewise.
16455         * lib/parse-duration.c: Likewise.
16456         * lib/poll.c: Likewise.
16457         * lib/select.c: Likewise.
16458         * lib/trim.h: Likewise.
16459         * tests/test-usleep.c: Likewise.
16460         * lib/ldexpl.c: Insert space before function parameter list and before
16461         function argument list.
16462         * lib/logl.c: Likewise.
16463         * lib/sqrtl.c: Likewise.
16464         * lib/trim.c: Likewise.
16465         * lib/cosl.c: Use GNU style indentation. Insert space before function
16466         argument list.
16467         * lib/sinl.c: Likewise.
16468         * lib/tsearch.c: Insert space after 'for'.
16469         Reported by Jim Meyering.
16470
16471 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
16472
16473         * maint.mk (sc_Wundef_boolean): Check for the presence of the
16474         config header before grepping, as it's not present before
16475         autoreconf/configure are run.  Reported by Simon Josefsson.
16476
16477 2010-03-23  Bruno Haible  <bruno@clisp.org>
16478
16479         pt_chown: Make it work with automake < 1.11.
16480         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
16481         Reported by Simon Josefsson.
16482
16483 2010-03-23  Bruno Haible  <bruno@clisp.org>
16484
16485         pt_chown: Don't depend on GPLed modules.
16486         * lib/pt_chown.c: Don't include idpriv.h.
16487         (main): Don't drop privileges.
16488         * modules/pt_chown (Depends-on): Remove idpriv-drop.
16489         Reported by Simon Josefsson.
16490
16491 2010-03-24  Simon Josefsson  <simon@josefsson.org>
16492
16493         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
16494         suggestions from karl@freefriends.org (Karl Berry).
16495
16496 2010-03-22  Eric Blake  <eblake@redhat.com>
16497
16498         gethostname: further tweaks
16499         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
16500         are overriding gethostname.
16501         Suggested by Bruno Haible.
16502
16503 2010-03-21  Bruno Haible  <bruno@clisp.org>
16504
16505         Fix comments.
16506         * lib/forkpty.c (rpl_forkpty): Fix comment.
16507         * lib/openpty.c (rpl_openpty): Likewise.
16508         Reported by Eric Blake.
16509
16510 2010-03-22  Eric Blake  <eblake@redhat.com>
16511
16512         gethostname: fix build on mingw
16513         * lib/unistd.in.h (includes): Work around fact that mingw
16514         <winsock2.h> re-includes <unistd.h>, by avoiding any
16515         redeclarations if we are being included by <winsock2.h>.
16516         Reported by Matthias Bolte.
16517
16518 2010-03-21  Bruno Haible  <bruno@clisp.org>
16519
16520         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16521         * lib/forkpty.c (forkpty): New replacement function, from glibc with
16522         modifications.
16523         * lib/pty.in.h (forkpty): Update declaration. Add comments.
16524         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
16525         provide the replacement.
16526         * modules/forkpty (Depends-on): Add openpty, login_tty.
16527         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
16528         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
16529         * doc/glibc-functions/forkpty.texi: More supported platforms.
16530         * config/srclist.txt: Add forkpty.c (commented).
16531
16532 2010-03-21  Bruno Haible  <bruno@clisp.org>
16533
16534         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
16535         (Makefile.am): Verify that PTY_LIB is defined.
16536
16537         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
16538
16539 2010-03-21  Bruno Haible  <bruno@clisp.org>
16540
16541         Tests for module 'login_tty'.
16542         * modules/login_tty-tests: New file.
16543         * tests/test-login_tty.c: New file.
16544
16545         New module 'login_tty'.
16546         * lib/login_tty.c: New file.
16547         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
16548         * modules/login_tty: New file.
16549         * doc/glibc-functions/login_tty.texi: Mention the new module.
16550
16551 2010-03-21  Bruno Haible  <bruno@clisp.org>
16552
16553         login_tty: Documentation.
16554         * doc/glibc-functions/login_tty.texi: New file.
16555         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
16556
16557 2010-03-21  Bruno Haible  <bruno@clisp.org>
16558
16559         pty: Consistent macro naming.
16560         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
16561         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
16562         * modules/pty (configure.ac): Update.
16563
16564 2010-03-21  Bruno Haible  <bruno@clisp.org>
16565
16566         Tests for openpty: Make stricter.
16567         * tests/test-openpty.c (main): Add test of canonical processing and
16568         erase.
16569         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
16570
16571         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
16572         * lib/openpty.c (openpty): New replacement function.
16573         * lib/pty.in.h: Include <termios.h>.
16574         (openpty): Update declaration. Add comments.
16575         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
16576         is not declared, arrange to provide the replacement. Check for _getpty
16577         and posix_openpt.
16578         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
16579         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
16580         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
16581         * modules/pty-tests (test_pty_c___LDADD): New variable.
16582         * doc/glibc-functions/openpty.texi: More supported platforms.
16583
16584 2010-03-21  Bruno Haible  <bruno@clisp.org>
16585
16586         setenv: Tweaks.
16587         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
16588         the test program.
16589         * doc/posix-functions/setenv.texi: Update platforms list.
16590
16591 2010-03-21  Bruno Haible  <bruno@clisp.org>
16592
16593         New module 'unlockpt'.
16594         * lib/unlockpt.c: New file, from glibc with modifications.
16595         * m4/unlockpt.m4: New file.
16596         * modules/unlockpt: New file.
16597         * lib/stdlib.in.h (unlockpt): New declaration.
16598         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
16599         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
16600         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
16601         HAVE_UNLOCKPT.
16602         * doc/posix-functions/unlockpt.texi: Mention the new module.
16603         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
16604         * config/srclist.txt: Add unlockpt.c (commented).
16605
16606 2010-03-21  Jim Meyering  <meyering@redhat.com>
16607
16608         maint.mk: prohibit inclusion of "intprops.h" without use
16609         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
16610
16611 2010-03-21  Bruno Haible  <bruno@clisp.org>
16612
16613         New module 'grantpt'.
16614         * lib/grantpt.c: New file, from glibc with modifications.
16615         * m4/grantpt.m4: New file.
16616         * modules/grantpt: New file.
16617         * lib/stdlib.in.h (grantpt): New declaration.
16618         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
16619         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
16620         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
16621         HAVE_GRANTPT.
16622         * doc/posix-functions/grantpt.texi: Mention the new module.
16623         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
16624         * config/srclist.txt: Add grantpt.c (commented).
16625
16626 2010-03-21  Bruno Haible  <bruno@clisp.org>
16627
16628         New module 'pt_chown'.
16629         * lib/pt_chown.c: New file, from glibc with modifications.
16630         * lib/pty-private.h: New file, from glibc with modifications.
16631         * modules/pt_chown: New file.
16632         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
16633
16634 2010-03-21  Bruno Haible  <bruno@clisp.org>
16635
16636         Tests for module 'ptsname'.
16637         * modules/ptsname-tests: New file.
16638         * tests/test-ptsname.c: New file.
16639
16640         New module 'ptsname'.
16641         * lib/ptsname.c: New file, from glibc with modifications.
16642         * m4/ptsname.m4: New file.
16643         * modules/ptsname: New file.
16644         * lib/stdlib.in.h (ptsname): New declaration.
16645         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
16646         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
16647         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
16648         HAVE_PTSNAME.
16649         * doc/posix-functions/ptsname.texi: Mention the new module.
16650         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
16651         * config/srclist.txt: Add ptsname.c (commented).
16652
16653 2010-03-21  Bruno Haible  <bruno@clisp.org>
16654
16655         Tests for module 'ttyname_r'.
16656         * modules/ttyname_r-tests: New file.
16657         * tests/test-ttyname_r.c: New file.
16658
16659         New module 'ttyname_r'.
16660         * lib/ttyname_r.c: New file.
16661         * m4/ttyname_r.m4: New file.
16662         * modules/ttyname_r: New file.
16663         * lib/unistd.in.h (ttyname_r): New declaration.
16664         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
16665         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
16666         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
16667         HAVE_TTYNAME_R.
16668         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
16669         * doc/posix-functions/ttyname_r.texi: Mention the new module.
16670
16671 2010-03-20  Bruno Haible  <bruno@clisp.org>
16672
16673         signal: Undefine macro definitions in C++ mode.
16674         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
16675         sigfillset): Undefine macro definitions from the system header in C++
16676         mode.
16677         Reported by John W. Eaton <jwe@gnu.org>.
16678
16679 2010-03-20  Bruno Haible  <bruno@clisp.org>
16680
16681         Ensure no #include statements inside extern "C" { ... }.
16682         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
16683         contain #include statements.
16684         * lib/time.in.h: Likewise.
16685
16686 2010-03-20  Bruno Haible  <bruno@clisp.org>
16687
16688         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
16689         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
16690         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
16691         Reported by John W. Eaton <jwe@gnu.org>.
16692
16693 2010-03-20  Bruno Haible  <bruno@clisp.org>
16694
16695         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
16696         Reported by Jim Meyering.
16697
16698 2010-03-20  Bruno Haible  <bruno@clisp.org>
16699
16700         pipe: Set errno upon failure.
16701         * lib/pipe.h: Specify that when -1 is returned, errno is set.
16702         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
16703         errno value in error message.
16704
16705 2010-03-20  Bruno Haible  <bruno@clisp.org>
16706             Jim Meyering  <meyering@redhat.com>
16707
16708         lchown: Avoid "unused variable" warning.
16709         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
16710
16711 2010-03-20  Bruno Haible  <bruno@clisp.org>
16712
16713         Work around unlink() bug on MacOS X 10.5.6.
16714         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
16715         attempting to unlink a parent directory.
16716         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
16717         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
16718         activate for the replacement function.
16719         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
16720
16721 2010-03-20  Bruno Haible  <bruno@clisp.org>
16722
16723         Fix link errors on Solaris 8.
16724         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
16725         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
16726
16727 2010-03-19  Jim Meyering  <meyering@redhat.com>
16728
16729         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
16730         The _LIBC implementation of build_range_exp correctly honors the
16731         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
16732         However, the non-_LIBC implementation would ignore that syntax-bit
16733         flag and return REG_ERANGE unconditionally.
16734         This change makes it honor that flag.
16735         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
16736         Make two pointer parameters "const".
16737         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
16738         (parse_bracket_exp): Update caller.
16739
16740         regex.m4: correct the reversed range endpoint ([b-a]) test
16741         * m4/regex.m4: When requiring that [b-a] evoke failure,
16742         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
16743         test pass once again for x86-based systems.
16744
16745 2010-03-19  Bruno Haible  <bruno@clisp.org>
16746
16747         scandir: Fix link error on Solaris 8.
16748         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
16749         macros.
16750
16751 2010-03-19  Bruno Haible  <bruno@clisp.org>
16752
16753         getusershell: Fix documentation.
16754         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
16755         module.
16756         * doc/glibc-functions/setusershell.texi: Likewise.
16757
16758         getusershell: Provide declaration, missing on Solaris 9.
16759         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
16760         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
16761         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
16762         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
16763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16764         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
16765         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
16766         HAVE_GETUSERSHELL.
16767         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
16768
16769 2010-03-19  Bruno Haible  <bruno@clisp.org>
16770
16771         wctype: Provide iswblank function.
16772         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
16773         exists and is fine.
16774         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
16775         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
16776         * tests/test-wctype.c (main): Re-enable the iswblank tests.
16777         * doc/posix-functions/iswblank.texi: Update.
16778
16779 2010-03-19  Bruno Haible  <bruno@clisp.org>
16780
16781         Tests of module 'pty' in C++ mode.
16782         * modules/pty-tests: New file.
16783         * tests/test-pty-c++.cc: New file.
16784         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16785
16786 2010-03-19  Eric Blake  <eblake@redhat.com>
16787
16788         logb: fix documentation
16789         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
16790         1.5 declaration bug.
16791
16792         forkpty, openpty: prefer glibc's const-safe prototype
16793         * lib/forkpty.c (rpl_forkpty): New file.
16794         * lib/openpty.c (rpl_openpty): Likewise.
16795         * modules/forkpty (Files): Distribute it.
16796         * modules/openpty (Files): Likewise.
16797         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
16798         check...
16799         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
16800         replacement for for non-const BSD signature.
16801         * modules/pty (Makefile.am): Substitute witnesses.
16802         * lib/pty.in.h (forkpty, openpty): Declare replacements.
16803         * tests/test-forkpty.c: Update signature check.
16804         * tests/test-openpty.c: Likewise.
16805         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
16806         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16807
16808         forkpty, openpty: split functions into new modules
16809         * modules/pty (Makefile.am): Substitute new witnesses.
16810         (Libraries): Move library detection...
16811         * modules/forkpty: ...into new module.
16812         * modules/openpty: Another new module.
16813         * modules/pty-tests: Rename and split...
16814         * modules/forkpty-tests: ...to this...
16815         * modules/openpty-tests: ...and this.
16816         * tests/test-pty.c: Rename and split...
16817         * tests/test-forkpty.c: ...to this...
16818         * tests/test-openpty.c: ...and this.
16819         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
16820         (gl_PTY): Split library searching...
16821         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
16822         (gl_FORKPTY, gl_OPENPTY): New macros.
16823         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
16824         * NEWS: Mention the split.
16825         * MODULES.html.sh (Misc): Document the modules.
16826         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
16827         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16828
16829         pty: improve replacement header
16830         * lib/pty.in.h: New file.
16831         * modules/pty (Files): Ship it.
16832         (Makefile.am): Always build replacement.
16833         * m4/pty.m4: Rename...
16834         * m4/pty_h.m4: ...to this.
16835         (gl_PTY): Modernize setting of witness macros; update check of
16836         forkpty to take proper advantage of cache.
16837         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
16838
16839         getopt: avoid compiler warning
16840         * lib/getopt.c (attribute_hidden): Remove unused macro.
16841
16842 2010-03-18  Bruno Haible  <bruno@clisp.org>
16843
16844         Fix link errors on Solaris 8.
16845         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
16846         * modules/search-tests (test_search_c___LDADD): Likewise.
16847         * modules/signal-tests (test_signal_c___LDADD): Likewise.
16848         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
16849         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
16850         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
16851         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
16852         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
16853         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
16854
16855 2010-03-18  Bruno Haible  <bruno@clisp.org>
16856
16857         Fix bug introduced on 2010-03-14.
16858         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
16859         (gl_SPAWN_H): Require it.
16860         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
16861         Reported by Simon Josefsson.
16862
16863 2010-03-18  Bruno Haible  <bruno@clisp.org>
16864
16865         Fix typo introduced on 2009-12-31.
16866         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
16867         posix_spawn_file_actions_adddup2.
16868
16869 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
16870         and Eric Blake  <eblake@redhat.com>
16871
16872         test-vc-list-files-git: make more robust
16873         * tests/test-vc-list-files-git.sh: Unset problematic environment
16874         variables.  Chain commands together.
16875
16876 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
16877
16878         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
16879         `AC_CHECK_DECL' invocation.
16880
16881 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
16882
16883         * lib/inttostr.c (inttostr): Make sure the invocation of verify
16884         appears before executable statements. Suggested by Petr Sumbera
16885         <Petr.Sumbera@Sun.COM>.
16886
16887 2010-03-14  Bruno Haible  <bruno@clisp.org>
16888
16889         * tests/test-flock.c (test_exclusive): Comment out a test that causes
16890         portability problems. Instead use a simpler test.
16891         (main): Check that invalid arguments are rejected only on Linux.
16892
16893 2010-03-14  Bruno Haible  <bruno@clisp.org>
16894
16895         Fix bug introduced on 2009-12-31.
16896         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
16897         gl_PREREQ_SYS_H_WINSOCK2 always.
16898         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
16899         SYS_SOCKET_H variable.
16900         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
16901         Update comments.
16902         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
16903         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16904         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16905         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16906         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
16907
16908 2010-03-14  Bruno Haible  <bruno@clisp.org>
16909
16910         Fix values returned by sinl, cosl.
16911         * lib/trigl.h: Add specification comments.
16912         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
16913         that combines the values from the precomputed table with the values of
16914         the Chebyshev polynomials.
16915
16916 2010-03-14  Bruno Haible  <bruno@clisp.org>
16917
16918         Fix compilation error when modules 'posix_spawn[p]' are not used.
16919         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
16920         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
16921
16922 2010-03-14  Bruno Haible  <bruno@clisp.org>
16923
16924         Fix compilation error on mingw when module 'time_r' is not used.
16925         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
16926         is 1.
16927         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
16928         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16929         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
16930         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
16931
16932 2010-03-14  Bruno Haible  <bruno@clisp.org>
16933
16934         Fix compilation error with Sun C.
16935         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
16936         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
16937         instead of GCC specific ULONG_LONG_MAX.
16938         * lib/xstrtoll.c: Likewise.
16939         * lib/xstrtoull.c: Likewise.
16940
16941 2010-03-13  Bruno Haible  <bruno@clisp.org>
16942
16943         Allow the user to disable C++ code and tests.
16944         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
16945         (gl_PROG_ANSI_CXX): Require it.
16946
16947 2010-03-13  Bruno Haible  <bruno@clisp.org>
16948
16949         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
16950         cases.
16951
16952 2010-03-13  Bruno Haible  <bruno@clisp.org>
16953
16954         Test that gnulib does not break the standard C++ headers.
16955         * tests/test-locale-c++2.cc: New file.
16956         * modules/locale-tests (Files): Add it.
16957         (Makefile.am): Compile it for test-locale-c++.
16958         * tests/test-math-c++2.cc: New file.
16959         * modules/math-tests (Files): Add it.
16960         (Makefile.am): Compile it for test-math-c++.
16961         * tests/test-signal-c++2.cc: New file.
16962         * modules/signal-tests (Files): Add it.
16963         (Makefile.am): Compile it for test-signal-c++.
16964         * tests/test-stdio-c++2.cc: New file.
16965         * modules/stdio-tests (Files): Add it.
16966         (Makefile.am): Compile it for test-stdio-c++.
16967         * tests/test-stdlib-c++2.cc: New file.
16968         * modules/stdlib-tests (Files): Add it.
16969         (Makefile.am): Compile it for test-stdlib-c++.
16970         * tests/test-string-c++2.cc: New file.
16971         * modules/string-tests (Files): Add it.
16972         (Makefile.am): Compile it for test-string-c++.
16973         * tests/test-time-c++2.cc: New file.
16974         * modules/time-tests (Files): Add it.
16975         (Makefile.am): Compile it for test-time-c++.
16976         Reported by John W. Eaton <jwe@gnu.org>.
16977
16978 2010-03-13  Bruno Haible  <bruno@clisp.org>
16979
16980         * gnulib-tool (func_usage): Clarify which options are available for
16981         --create-testdir and --create-megatestdir.
16982
16983 2010-03-13  Bruno Haible  <bruno@clisp.org>
16984
16985         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
16986         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
16987         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
16988         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
16989         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
16990         when appropriate.
16991         Reported by Jim Meyering.
16992
16993 2010-03-12  Simon Josefsson  <simon@josefsson.org>
16994
16995         * gnulib-tool (func_import): Explain origin of code.
16996
16997 2010-03-12  Bruno Haible  <bruno@clisp.org>
16998
16999         Fix problem with automake's definition of CXXLINK.
17000         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
17001         Reported by Simon Josefsson and Ludovic Courtès.
17002
17003 2010-03-12  Bruno Haible  <bruno@clisp.org>
17004
17005         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
17006         stable releases.
17007
17008 2010-03-11  Bruno Haible  <bruno@clisp.org>
17009
17010         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
17011         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
17012         whether the system provides one variant or multiple variants of the
17013         function.
17014         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
17015         C++ compilers.
17016         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
17017         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
17018         Reported by Jim Meyering.
17019
17020 2010-03-09  Simon Josefsson  <simon@josefsson.org>
17021
17022         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
17023
17024 2010-03-08  Bruno Haible  <bruno@clisp.org>
17025
17026         gnulib-tool: Add support for --libtool in --create-testdir.
17027         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
17028         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
17029
17030 2010-03-08  Eric Blake  <eblake@redhat.com>
17031
17032         gnulib-tool.texi: mention possibility of git submodule
17033         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
17034         submodules.
17035         * doc/.gitignore: Ignore another generated file.
17036
17037 2010-03-08  Karl Berry  <karl@gnu.org>
17038
17039         * doc/gnulib-tool.texi (VCS Issues): Mention third option
17040         of committing gnulib files while skipping others.
17041
17042 2010-03-07  Bruno Haible  <bruno@clisp.org>
17043
17044         Tests of module 'wctype' in C++ mode.
17045         * tests/test-wctype-c++.cc: New file.
17046         * modules/wctype-tests (Files): Add it and tests/signature.h.
17047         (Depends-on): Add ansi-c++-opt.
17048         (Makefile.am): Arrange to compile and run test-wctype-c++.
17049
17050         Tests of module 'wchar' in C++ mode.
17051         * tests/test-wchar-c++.cc: New file.
17052         * modules/wchar-tests (Files): Add it and tests/signature.h.
17053         (Depends-on): Add ansi-c++-opt.
17054         (Makefile.am): Arrange to compile and run test-wchar-c++.
17055         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
17056         gl_MODULE_INDICATOR.
17057
17058         Tests of module 'unistd' in C++ mode.
17059         * tests/test-unistd-c++.cc: New file.
17060         * modules/unistd-tests (Files): Add it and tests/signature.h.
17061         (Depends-on): Add ansi-c++-opt.
17062         (Makefile.am): Arrange to compile and run test-unistd-c++.
17063         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
17064         gl_MODULE_INDICATOR.
17065
17066         Tests of module 'time' in C++ mode.
17067         * tests/test-time-c++.cc: New file.
17068         * modules/time-tests (Files): Add it and tests/signature.h.
17069         (Depends-on): Add ansi-c++-opt.
17070         (Makefile.am): Arrange to compile and run test-time-c++.
17071         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17072
17073         Tests of module 'sys_time' in C++ mode.
17074         * tests/test-sys_time-c++.cc: New file.
17075         * modules/sys_time-tests (Files): Add it and tests/signature.h.
17076         (Depends-on): Add ansi-c++-opt.
17077         (Makefile.am): Arrange to compile and run test-sys_time-c++.
17078         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
17079         gl_MODULE_INDICATOR.
17080
17081         Tests of module 'sys_stat' in C++ mode.
17082         * tests/test-sys_stat-c++.cc: New file.
17083         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
17084         (Depends-on): Add ansi-c++-opt.
17085         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
17086         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
17087         gl_MODULE_INDICATOR.
17088
17089         Tests of module 'sys_socket' in C++ mode.
17090         * tests/test-sys_socket-c++.cc: New file.
17091         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
17092         (Depends-on): Add ansi-c++-opt.
17093         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
17094         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
17095         gl_MODULE_INDICATOR.
17096
17097         Tests of module 'sys_select' in C++ mode.
17098         * tests/test-sys_select-c++.cc: New file.
17099         * modules/sys_select-tests (Files): Add it and tests/signature.h.
17100         (Depends-on): Add ansi-c++-opt.
17101         (Makefile.am): Arrange to compile and run test-sys_select-c++.
17102         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
17103         gl_MODULE_INDICATOR.
17104
17105         Tests of module 'sys_ioctl' in C++ mode.
17106         * tests/test-sys_ioctl-c++.cc: New file.
17107         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
17108         (Depends-on): Add ansi-c++-opt.
17109         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
17110         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
17111         gl_MODULE_INDICATOR.
17112
17113         Tests of module 'string' in C++ mode.
17114         * tests/test-string-c++.cc: New file.
17115         * modules/string-tests (Files): Add it and tests/signature.h.
17116         (Depends-on): Add ansi-c++-opt.
17117         (Makefile.am): Arrange to compile and run test-string-c++.
17118         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
17119         gl_MODULE_INDICATOR.
17120
17121         Tests of module 'stdlib' in C++ mode.
17122         * tests/test-stdlib-c++.cc: New file.
17123         * modules/stdlib-tests (Files): Add it and tests/signature.h.
17124         (Depends-on): Add ansi-c++-opt.
17125         (Makefile.am): Arrange to compile and run test-stdlib-c++.
17126         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
17127         gl_MODULE_INDICATOR.
17128
17129         Tests of module 'stdio' in C++ mode.
17130         * tests/test-stdio-c++.cc: New file.
17131         * modules/stdio-tests (Files): Add it and tests/signature.h.
17132         (Depends-on): Add ansi-c++-opt.
17133         (Makefile.am): Arrange to compile and run test-stdio-c++.
17134         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
17135         gl_MODULE_INDICATOR.
17136
17137         Tests of module 'spawn' in C++ mode.
17138         * tests/test-spawn-c++.cc: New file.
17139         * modules/spawn-tests (Files): Add it and tests/signature.h.
17140         (Depends-on): Add ansi-c++-opt.
17141         (Makefile.am): Arrange to compile and run test-spawn-c++.
17142         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
17143         gl_MODULE_INDICATOR.
17144
17145         Tests of module 'signal' in C++ mode.
17146         * tests/test-signal-c++.cc: New file.
17147         * modules/signal-tests (Files): Add it and tests/signature.h.
17148         (Depends-on): Add ansi-c++-opt.
17149         (Makefile.am): Arrange to compile and run test-signal-c++.
17150         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
17151         gl_MODULE_INDICATOR.
17152
17153         Tests of module 'search' in C++ mode.
17154         * tests/test-search-c++.cc: New file.
17155         * modules/search-tests (Files): Add it and tests/signature.h.
17156         (Depends-on): Add ansi-c++-opt.
17157         (Makefile.am): Arrange to compile and run test-search-c++.
17158         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
17159         gl_MODULE_INDICATOR.
17160
17161         Tests of module 'math' in C++ mode.
17162         * tests/test-math-c++.cc: New file.
17163         * modules/math-tests (Files): Add it and tests/signature.h.
17164         (Depends-on): Add ansi-c++-opt.
17165         (Makefile.am): Arrange to compile and run test-math-c++.
17166         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
17167
17168         Tests of module 'locale' in C++ mode.
17169         * tests/test-locale-c++.cc: New file.
17170         * modules/locale-tests (Files): Add it and tests/signature.h.
17171         (Depends-on): Add ansi-c++-opt.
17172         (Makefile.am): Arrange to compile and run test-locale-c++.
17173         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
17174         gl_MODULE_INDICATOR.
17175
17176         Tests of module 'langinfo' in C++ mode.
17177         * tests/test-langinfo-c++.cc: New file.
17178         * modules/langinfo-tests (Files): Add it and tests/signature.h.
17179         (Depends-on): Add ansi-c++-opt.
17180         (Makefile.am): Arrange to compile and run test-langinfo-c++.
17181         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
17182         gl_MODULE_INDICATOR.
17183
17184         Tests of module 'iconv-h' in C++ mode.
17185         * tests/test-iconv-h-c++.cc: New file.
17186         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
17187         (Depends-on): Add ansi-c++-opt.
17188         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
17189
17190         Tests of module 'glob' in C++ mode.
17191         * tests/test-glob-c++.cc: New file.
17192         * modules/glob-tests (Files): Add it.
17193         (Depends-on): Add ansi-c++-opt.
17194         (Makefile.am): Arrange to compile and run test-glob-c++.
17195
17196         Tests of module 'fcntl-h' in C++ mode.
17197         * tests/test-fcntl-h-c++.cc: New file.
17198         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
17199         (Depends-on): Add ansi-c++-opt.
17200         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
17201         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
17202         gl_MODULE_INDICATOR.
17203
17204         Tests of module 'dirent' in C++ mode.
17205         * tests/test-dirent-c++.cc: New file.
17206         * modules/dirent-tests (Files): Add it and tests/signature.h.
17207         (Depends-on): Add ansi-c++-opt.
17208         (Makefile.am): Arrange to compile and run test-dirent-c++.
17209         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
17210         gl_MODULE_INDICATOR.
17211
17212         New module 'ansi-c++-opt'.
17213         * modules/ansi-c++-opt: New file.
17214         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
17215
17216         Document C++ namespace mode.
17217         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
17218
17219         wctype: Avoid #define replacements in C++ mode.
17220         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
17221         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
17222         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
17223         In C++, define a namespaced alias symbol.
17224         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
17225         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
17226         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
17227         rule.
17228
17229         wchar: Avoid #define replacements in C++ mode.
17230         * lib/wchar.in.h: Include c++defs.h.
17231         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
17232         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
17233         symbol.
17234         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
17235         * modules/wchar (Depends-on): Add c++defs.
17236         (Makefile.am): Update wchar.h rule.
17237
17238         unistd: Avoid #define replacements in C++ mode.
17239         * lib/unistd.in.h: Include c++defs.h.
17240         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
17241         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
17242         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
17243         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
17244         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
17245         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
17246         symbol.
17247         (environ): Update.
17248         * modules/unistd (Depends-on): Add c++defs.
17249         (Makefile.am): Update unistd.h rule.
17250
17251         time: Avoid #define replacements in C++ mode.
17252         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
17253         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
17254         define a namespaced alias symbol.
17255         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
17256         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
17257         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
17258         * modules/time (Depends-on): Add c++defs, warn-on-use.
17259         (Makefile.am): Update time.h rule.
17260         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
17261         * modules/nanosleep (configure.ac): Likewise.
17262         * modules/strptime (configure.ac): Likewise.
17263         * modules/timegm (configure.ac): Likewise.
17264
17265         sys_time: Avoid #define replacements in C++ mode.
17266         * lib/sys_time.in.h: Include c++defs.h.
17267         (gettimeofday): In C++, define a namespaced alias symbol.
17268         * modules/sys_time (Depends-on): Add c++defs.
17269         (Makefile.am): Update sys/time.h rule.
17270
17271         sys_stat: Avoid #define replacements in C++ mode.
17272         * lib/sys_stat.in.h: Include c++defs.h.
17273         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
17274         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
17275         namespaced alias symbol.
17276         In C++, define a namespaced alias symbol.
17277         * modules/sys_stat (Depends-on): Add c++defs.
17278         (Makefile.am): Update sys/stat.h rule.
17279
17280         sys_socket: Avoid #define replacements in C++ mode.
17281         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
17282         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
17283         definitions also when the system has a <sys/socket.h>.
17284         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
17285         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
17286         In C++, define a namespaced alias symbol.
17287         * modules/sys_socket (Depends-on): Add c++defs.
17288         (Makefile.am): Update sys/socket.h rule.
17289
17290         sys_select: Avoid #define replacements in C++ mode.
17291         * lib/sys_select.in.h: Include c++defs.h. Enable the function
17292         definitions also when the system has a <sys/select.h>.
17293         (select): In C++, define a namespaced alias symbol.
17294         * modules/sys_select (Depends-on): Add c++defs.
17295         (Makefile.am): Update sys/select.h rule.
17296
17297         sys_ioctl: Avoid #define replacements in C++ mode.
17298         * lib/sys_ioctl.in.h: Include c++defs.h.
17299         (ioctl): In C++, define a namespaced alias symbol.
17300         * modules/sys_ioctl (Depends-on): Add c++defs.
17301         (Makefile.am): Update sys/ioctl.h rule.
17302
17303         string: Avoid #define replacements in C++ mode.
17304         * lib/string.in.h: Include c++defs.h.
17305         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
17306         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
17307         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
17308         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
17309         strsignal, strverscmp): In C++, define a namespaced alias symbol.
17310         * modules/string (Depends-on): Add c++defs.
17311         (Makefile.am): Update string.h rule.
17312
17313         stdlib: Avoid #define replacements in C++ mode.
17314         * lib/stdlib.in.h: Include c++defs.h.
17315         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
17316         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
17317         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
17318         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
17319         symbol.
17320         * modules/stdlib (Depends-on): Add c++defs.
17321         (Makefile.am): Update stdlib.h rule.
17322
17323         stdio: Avoid #define replacements in C++ mode.
17324         * lib/stdio.in.h: Include c++defs.h.
17325         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
17326         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
17327         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
17328         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
17329         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
17330         namespaced alias symbol.
17331         * modules/stdio (Depends-on): Add c++defs.
17332         (Makefile.am): Update stdio.h rule.
17333
17334         spawn: Avoid #define replacements in C++ mode.
17335         * lib/spawn.in.h: Include c++defs.h.
17336         (posix_spawn, posix_spawnp, posix_spawnattr_init,
17337         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
17338         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
17339         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
17340         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
17341         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
17342         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
17343         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
17344         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
17345         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
17346         In C++, define a namespaced alias symbol.
17347         * modules/spawn (Depends-on): Add c++defs.
17348         (Makefile.am): Update spawn.h rule.
17349
17350         signal: Avoid #define replacements in C++ mode.
17351         * lib/signal.in.h: Include c++defs.h.
17352         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
17353         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
17354         namespaced alias symbol.
17355         * modules/signal (Depends-on): Add c++defs.
17356         (Makefile.am): Update signal.h rule.
17357
17358         search: Avoid #define replacements in C++ mode.
17359         * lib/search.in.h: Include c++defs.h.
17360         (_gl_search_compar_fn, _gl_search_action_fn): New types.
17361         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
17362         symbol.
17363         * modules/search (Depends-on): Add c++defs.
17364         (Makefile.am): Update search.h rule.
17365
17366         math: Avoid #define replacements in C++ mode.
17367         * lib/math.in.h: Include c++defs.h.
17368         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
17369         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
17370         trunc, truncl): In C++, define a namespaced alias symbol.
17371         * modules/math (Depends-on): Add c++defs.
17372         (Makefile.am): Update math.h rule.
17373
17374         locale: Avoid #define replacements in C++ mode.
17375         * lib/locale.in.h: Include c++defs.h.
17376         (duplocale): In C++, define a namespaced alias symbol.
17377         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
17378         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
17379         * modules/locale (Depends-on): Add c++defs.
17380         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
17381
17382         langinfo: Avoid #define replacements in C++ mode.
17383         * lib/langinfo.in.h: Include c++defs.h.
17384         (nl_langinfo): In C++, define a namespaced alias symbol.
17385         * modules/langinfo (Depends-on): Add c++defs.
17386         (Makefile.am): Update langinfo.h rule.
17387
17388         iconv-h: Avoid #define replacements in C++ mode.
17389         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
17390         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
17391         symbol.
17392         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
17393         whenever iconv is present.
17394         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
17395         (Makefile.am): Update iconv.h rule.
17396
17397         glob: Avoid #define replacements in C++ mode.
17398         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
17399         (_gl_glob_errfunc_fn): New type.
17400         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
17401         symbol.
17402         * modules/glob (Depends-on): Add c++defs, warn-on-use.
17403         (Makefile.am): Update glob.h rule.
17404
17405         fcntl-h: Avoid #define replacements in C++ mode.
17406         * lib/fcntl.in.h: Include c++defs.h.
17407         (fcntl, open, openat): In C++, define a namespaced alias symbol.
17408         * modules/fcntl-h (Depends-on): Add c++defs.
17409         (Makefile.am): Update fcntl.h rule.
17410
17411         dirent: Avoid #define replacements in C++ mode.
17412         * lib/dirent.in.h: Include c++defs.h.
17413         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
17414         namespaced alias symbol.
17415         (dirfd): Update declaration.
17416         * modules/dirent (Depends-on): Add c++defs.
17417         (Makefile.am): Update dirent.h rule.
17418
17419         ctype: Make it usable in C++ code.
17420         * lib/ctype.in.h: Include c++defs.h.
17421         (isblank): Declare as extern "C".
17422         * modules/ctype (Depends-on): Add c++defs.
17423         (Makefile.am): Update ctype.h rule.
17424
17425         New module 'c++defs'.
17426         * modules/c++defs: New file.
17427         * build-aux/c++defs.h: New file.
17428         Reported by John W. Eaton <jwe@gnu.org>.
17429
17430 2010-03-07  Bruno Haible  <bruno@clisp.org>
17431
17432         logb: Provide missing declaration for Cygwin.
17433         * lib/math.in.h (logb): New declaration.
17434         * m4/logb.m4: New file.
17435         * modules/logb (Files): Add m4/logb.m4.
17436         (Depends-on): Add math.
17437         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
17438         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
17439         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
17440         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
17441         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
17442
17443 2010-03-07  Bruno Haible  <bruno@clisp.org>
17444
17445         Fix test-cond link error.
17446         * tests/test-cond.c: Include <stdio.h>.
17447
17448 2010-03-07  Bruno Haible  <bruno@clisp.org>
17449
17450         Fix test-dirent-safer link error.
17451         * modules/dirent-safer-tests (Makefile.am): Define
17452         test_dirent_safer_LDADD.
17453
17454 2010-03-07  Bruno Haible  <bruno@clisp.org>
17455
17456         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
17457         among default module list.
17458
17459 2010-03-07  Bruno Haible  <bruno@clisp.org>
17460
17461         Fix link error on platforms with GNU libiconv.
17462         * modules/unistr/u8-strcoll-tests (Makefile): Define
17463         test_u8_strcoll_LDADD.
17464         * modules/unistr/u16-strcoll-tests (Makefile): Define
17465         test_u16_strcoll_LDADD.
17466         * modules/unistr/u32-strcoll-tests (Makefile): Define
17467         test_u32_strcoll_LDADD.
17468
17469 2010-03-07  Bruno Haible  <bruno@clisp.org>
17470
17471         Use POSIX declarations for socket functions.
17472         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
17473         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
17474         rpl_sendto): Change declaration to match POSIX.
17475         * lib/connect.c (rpl_connect): Likewise.
17476         * lib/accept.c (rpl_accept): Likewise.
17477         * lib/bind.c (rpl_bind): Likewise.
17478         * lib/getpeername.c (rpl_getpeername): Likewise.
17479         * lib/getsockname.c (rpl_getsockname): Likewise.
17480         * lib/recv.c (rpl_recv): Likewise.
17481         * lib/send.c (rpl_send): Likewise.
17482         * lib/recvfrom.c (rpl_recvfrom): Likewise.
17483         * lib/sendto.c (rpl_sendto): Likewise.
17484
17485 2010-03-06  Bruno Haible  <bruno@clisp.org>
17486
17487         Clarify access, euidaccess, faccessat.
17488         * doc/posix-functions/faccessat.texi: Mention security problem under
17489         "Other problems", not "Portability problems".
17490         * doc/posix-functions/access.texi: Likewise. Mention a related security
17491         problem.
17492         * doc/glibc-functions/euidaccess.texi: Mention security problems.
17493         * lib/euidaccess.c: Add comments about platforms.
17494         * lib/unistd.in.h (access, euidaccess): Add warnings.
17495
17496 2010-03-07  Bruno Haible  <bruno@clisp.org>
17497
17498         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
17499         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
17500         (POSIX_SPAWN_SETSCHEDULER): Likewise.
17501         (POSIX_SPAWN_USEVFORK): Define in a way that works when
17502         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17503         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
17504         declare when POSIX_SPAWN_SETSCHEDULER is zero.
17505         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
17506         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
17507         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
17508         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
17509         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
17510         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
17511         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
17512         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
17513         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
17514         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
17515         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
17516         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
17517         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
17518         Likewise.
17519         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
17520         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
17521         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
17522         Likewise.
17523         * tests/test-spawn.c (main): Make it work when
17524         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
17525
17526 2010-03-07  Bruno Haible  <bruno@clisp.org>
17527
17528         Fix incorrect Makefile.am generation in German locale.
17529         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17530         Execute sed command with character range in C locale.
17531
17532 2010-03-06  Bruno Haible  <bruno@clisp.org>
17533
17534         Tests for module 'iconv-h'.
17535         * modules/iconv-h-tests: New file.
17536         * tests/test-iconv-h.c: New file.
17537
17538         New module 'iconv-h'.
17539         * modules/iconv-h: New file.
17540         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
17541         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
17542         (configure.ac): Remove gl_ICONV_H.
17543         (Makefile.am): Remove rule for iconv.h.
17544
17545 2010-03-06  Bruno Haible  <bruno@clisp.org>
17546
17547         More consistent naming of *.m4 files.
17548         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
17549         * modules/wctype (Files): Update.
17550
17551         More consistent naming of *.m4 files.
17552         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
17553         * modules/wchar (Files): Update.
17554
17555 2010-03-06  Jim Meyering  <meyering@redhat.com>
17556
17557         euidaccess: relax license to LGPLv2+
17558         * modules/euidaccess (License): Relax to LGPLv2+.
17559
17560 2010-03-06  Bruno Haible  <bruno@clisp.org>
17561
17562         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
17563         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
17564         (Makefile.am): Augment lib_SOURCES instead.
17565
17566 2010-03-04  Jim Meyering  <meyering@redhat.com>
17567
17568         utime: remove obsolete module
17569         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
17570         unnecessary for years, and has been marked as obsolete for 10 months.
17571         * modules/utime: Remove file.
17572         * lib/utime.c: Remove file.
17573         * m4/utime.m4: Remove file.
17574         * m4/utimes-null.m4: Remove file.
17575         * doc/posix-functions/utime.texi (utime): Remove reference to
17576         the module.  Move the sole "fixed by gnulib" item into the
17577         "problems not fixed by Gnulib" list.
17578         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
17579
17580 2010-03-05  Simon Josefsson  <simon@josefsson.org>
17581
17582         * modules/exit (License): Relax license to LGPLv2+.
17583         (Status): Mark as obsolete.
17584         * NEWS: Mention deprecated 'exit' module.
17585         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
17586         of now obsolete 'exit'.
17587
17588 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17589
17590         fts-lgpl: remove unused module
17591         * modules/fts-lgpl: Remove.
17592         * MODULES.html.sh (func_all_modules): Adjust.
17593         * check-module (find_included_lib_files): Adjust.
17594         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
17595
17596 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
17597
17598         copy-acl: enhance Solaris ACL error handling
17599         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
17600         * lib/set-mode-acl.c (qset_acl): Likewise.
17601
17602 2010-03-02  Bruno Haible  <bruno@clisp.org>
17603
17604         spawn: Don't override the system defined values on FreeBSD 8.
17605         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
17606         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
17607         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
17608         if HAVE_POSIX_SPAWN is 1.
17609         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
17610
17611 2010-03-01  Bruno Haible  <bruno@clisp.org>
17612
17613         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
17614         regarding Automake.
17615
17616 2010-02-25  Bruno Haible  <bruno@clisp.org>
17617
17618         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
17619         * gnulib-tool: Define 'echo' as a function only before the ksh alias
17620         setting, not afterwards.
17621         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
17622
17623 2010-02-24  Eric Blake  <eblake@redhat.com>
17624
17625         bootstrap, git-version-gen: use timestamp
17626         * build-aux/git-version-gen (scriptversion): Force UTC.
17627         * build-aux/bootstrap (scriptversion): New variable.
17628
17629         bootstrap: allow older git
17630         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
17631         older than 1.6.4.  Requested by the libvirt project.
17632
17633 2010-02-23  Eric Blake  <eblake@redhat.com>
17634
17635         warn-on-use: work with old autoconf
17636         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
17637         AS_VAR semantics of autoconf 2.60.
17638         Reported by Bruno Haible.
17639
17640         bootstrap: improve some comments
17641         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
17642         clarification comments.
17643
17644         gettimeofday: provide correct function
17645         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
17646         when replacement is declared, otherwise provide gettimeofday.
17647         Reported by Michael Goffioul.
17648
17649 2010-02-23  Jim Meyering  <meyering@redhat.com>
17650
17651         lib-ignore: relax license to "unlimited", not LGPLv2+
17652         * modules/lib-ignore (License): Relax to "unlimited".
17653
17654 2010-02-23  Jim Meyering  <meyering@redhat.com>
17655
17656         lib-ignore: relax license to LGPLv2+
17657         * modules/lib-ignore (License): Relax to LGPLv2+.
17658
17659 2010-02-22  Eric Blake  <eblake@redhat.com>
17660
17661         lseek: avoid bash 3.2 broken pipe bug
17662         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
17663         warning from bash 3.2.
17664         Reported by Ben Pfaff, with analysis from Bruno Haible.
17665
17666         bootstrap: support non-FSF copyright holder
17667         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
17668         bootstrap.conf override of COPYRIGHT_HOLDER.
17669         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
17670
17671         bootstrap: interoperate with gettext 0.14.1
17672         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
17673
17674         bootstrap: allow for alternate submodule location
17675         * build-aux/bootstrap (gnulib_path): New variable; use instead of
17676         hardcoding submodule location.
17677         (gnulib_mk): Allow direct use of Makefile.am.
17678
17679         bootstrap: use GNULIB_SRCDIR to reduce disk usage
17680         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
17681         rather than reconfiguring where the submodule points.
17682
17683         gettimeofday: restore support for platforms that lack function
17684         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
17685         replacement if function is missing.
17686         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
17687         * modules/sys_time (Makefile.am): Substitute it.
17688         * lib/sys_time.in.h (gettimeofday): Check it.
17689         Reported by Michael Goffioul.
17690
17691 2010-02-21  Bruno Haible  <bruno@clisp.org>
17692
17693         * lib/stdio.in.h (obstack_printf): Fix typo.
17694
17695 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
17696
17697         vc-list-files: use bzr ls's -R option
17698         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
17699         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
17700
17701 2010-02-21  Jim Meyering  <meyering@redhat.com>
17702
17703         init.sh: fix EXEEXT shims to work also for names like test-prog
17704         * tests/init.sh: Re-exec a better shell, when needed.
17705         If the current shell lacks support for posix $(...), an init.sh-using
17706         test will now try to find a shell that supports that.  If EXEEXT is
17707         nonempty, we also require support for hyphen-in-alias-name and shell
17708         substitutions like ${var#glob}.  Failure to find such a shell results
17709         in a skipped test.
17710
17711 2010-02-21  Bruno Haible  <bruno@clisp.org>
17712
17713         Really work around around "broken pipe" error message from bash 3.2.
17714         * gnulib-tool (func_reset_sigpipe): Remove function.
17715         (echo): In bash 3.2, define to a function that uses printf.
17716         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
17717
17718 2010-02-20  Bruno Haible  <bruno@clisp.org>
17719
17720         Restore support for automake 1.9.6 with autoconf 2.61.
17721         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
17722         Reported by James Youngman <jay@gnu.org>.
17723
17724 2010-02-20  Bruno Haible  <bruno@clisp.org>
17725
17726         Improve *printf warning condition.
17727         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
17728         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
17729         and the function is overridden due to SIGPIPE emulation.
17730
17731 2010-02-20  Bruno Haible  <bruno@clisp.org>
17732
17733         * lib/stdio.in.h: Tweak comments.
17734
17735 2010-02-19  Bruno Haible  <bruno@clisp.org>
17736
17737         Make it easier to find modules. New gnulib-tool option '--find'.
17738         * gnulib-tool: New option --find.
17739         (func_usage): Document it.
17740         (func_sanitize_modulelist): New function, extracted from
17741         func_all_modules.
17742         (func_all_modules): Invoke it.
17743         * doc/gnulib-tool.texi (Which modules?): New node.
17744
17745 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
17746
17747         * lib/sys_select.in.h: Provide select replacement even if
17748         sys/select.h exists on a system, for Interix.
17749
17750 2010-02-18  Jim Meyering  <meyering@redhat.com>
17751
17752         init.sh: don't use $(...) just yet
17753         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
17754         to accommodate e.g., Solaris' /bin/sh.
17755
17756 2010-02-17  Bruno Haible  <bruno@clisp.org>
17757
17758         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
17759         Reported by Ludovic Courtès <ludo@gnu.org>.
17760
17761 2010-02-16  Simon Josefsson  <simon@josefsson.org>
17762
17763         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
17764         linking with -lintl.
17765
17766 2010-02-17  Simon Josefsson  <simon@josefsson.org>
17767
17768         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
17769         if not provided by the system's netdb.h.  Reported by
17770         ludo@gnu.org (Ludovic Courtès).
17771
17772 2010-02-15  Jim Meyering  <meyering@redhat.com>
17773
17774         init.sh: improve portability and efficiency
17775         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
17776         "dummy" in a for loop.
17777         Use '!', not '^' to select the complement of a character set used
17778         in a "case" statement.
17779         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
17780         Suggestions from Eric Blake.
17781
17782         init.sh: automatically accommodate programs with the .exe suffix
17783         Automatically arrange for an invocation of "prog" to execute the
17784         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
17785         may use the simpler "prog", yet still work when built on a system
17786         that requires specifying the added suffix.
17787         Do this by constructing a function named "prog" that invokes
17788         "prog.exe" for each .exe file in selected directories.
17789         * tests/init.sh (find_exe_basenames_): New function.
17790         (create_exe_shim_functions_): New function.
17791         (path_prepend_): Use it.
17792
17793         maint.mk: mark syntax-check sc_*.m rules as .PHONY
17794         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
17795         "make -t syntax-check" doesn't create a ton of sc_*.m files.
17796
17797 2010-02-14  Jim Meyering  <meyering@redhat.com>
17798
17799         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
17800         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
17801         (sc_prohibit_hash_pjw_without_use): New rule.
17802
17803         maint.mk: allow the default upload destination dir to be overridden
17804         * top/maint.mk (upload_dest_dir_): Define with a default that
17805         preserves the status quo.
17806         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
17807         Reported by Peter Simons.
17808
17809         maint.mk: prohibit inclusion of "hash.h" without_use
17810         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
17811
17812 2010-02-10  Jim Meyering  <meyering@redhat.com>
17813
17814         maint.mk: prohibit inclusion of "ignore-value.h" without_use
17815         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
17816
17817 2010-02-09  Eric Blake  <ebb9@byu.net>
17818         and Bruno Haible  <bruno@clisp.org>
17819
17820         obstack-printf-posix: ensure declaration
17821         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
17822         extracted from gl_FUNC_OBSTACK_PRINTF.
17823         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
17824         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
17825         Likewise.
17826         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
17827         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
17828         0.
17829
17830 2010-02-08  Bruno Haible  <bruno@clisp.org>
17831
17832         gnulib-tool: Fix typo in 2010-02-07 commit.
17833         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
17834         Reported by Eric Blake.
17835
17836 2010-02-07  Bruno Haible  <bruno@clisp.org>
17837
17838         gnulib-tool: Fix up caching patches.
17839         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
17840         option --no-cache. Use associative arrays when supported by the shell.
17841         (sed_comments): New variable.
17842         (modcache): Renamed from do_cache.
17843         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
17844         abbreviate unnecessarily.
17845         (have_associative): New variable.
17846         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
17847         way also for ksh and zsh.
17848         (func_init_sed_convert_to_cache_statements): New function, extracted
17849         from func_cache_lookup_module. Add support for associative arrays.
17850         Don't set the c_MODULE_cached variable here. Ignore all lines before
17851         the first field header. Remove only the final newline, not all trailing
17852         newlines. Support empty fields correctly. Limit the use of 'eval' to
17853         assignments.
17854         (func_get_description, func_get_status, func_get_notice,
17855         func_get_applicability, func_get_filelist, func_get_dependencies,
17856         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
17857         func_get_automake_snippet, func_get_include_directive,
17858         func_get_link_directive, func_get_license, func_get_maintainer):
17859         Update documentation. List the unoptimized code first. Add support for
17860         associative arrays. Limit the use of 'eval' to assignments.
17861         (func_get_applicability): Undo stylistic pessimisations.
17862         (func_get_automake_snippet, func_get_include_directive): Reduce code
17863         duplication.
17864         (func_modules_transitive_closure, func_modules_add_dummy,
17865         func_modules_notice, func_modules_to_filelist, func_add_file,
17866         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
17867         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
17868         func_create_testdir, func_create_megatestdir): Update documentation.
17869
17870 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17871
17872         * gnulib-tool (func_cache_lookup_module): Store the module name
17873         belonging to the cache variable; error out if two different
17874         module names map to the same cache variable name.
17875
17876 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17877
17878         gnulib-tool: Make caching optional.
17879         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
17880         Update matching short versions of --no-changelog.
17881         (func_usage): Update.
17882         (sed_extract_cache_prog): Renamed from ...
17883         (sed_extract_prog): ... this; revert to old extraction script.
17884         (func_get_description, func_get_status)
17885         (func_get_notice, func_get_applicability, func_get_filelist)
17886         (func_get_dependencies, func_get_autoconf_early_snippet)
17887         (func_get_autoconf_snippet, func_get_automake_snippet)
17888         (func_get_include_directive, func_get_link_directive)
17889         (func_get_license, func_get_maintainer): If $do_cache is false,
17890         use old, non-caching extraction scripts.
17891         Suggestion by Bruno Haible.
17892
17893 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17894
17895         gnulib-tool: cache module metainformation.
17896         * gnulib-tool (sed_extract_prog): Match newline before each
17897         header, and rewrite header to a shell variable suffix.
17898         (func_cache_var, func_cache_lookup_module): New functions,
17899         to turn a module name into a cache variable prefix, and to
17900         look up and cache module metainformation.
17901         (func_get_description, func_get_status)
17902         (func_get_notice, func_get_applicability, func_get_filelist)
17903         (func_get_dependencies, func_get_autoconf_early_snippet)
17904         (func_get_autoconf_snippet, func_get_automake_snippet)
17905         (func_get_include_directive, func_get_link_directive)
17906         (func_get_license, func_get_maintainer): Use
17907         func_cache_lookup_module.
17908
17909 2010-02-07  Bruno Haible  <bruno@clisp.org>
17910
17911         fnctl: Fix missing dependency.
17912         * modules/fcntl (Depends-on): Add getdtablesize.
17913         Reported by John W. Eaton <jwe@gnu.org>.
17914
17915 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17916
17917         Argp: fix recognition of short alias options.
17918
17919         * lib/argp-parse.c (convert_options): Fix improper use of
17920         `|' between character values.
17921         * tests/test-argp.c (group1_option): New alias option
17922         --read (-r).
17923         (group1_parser): Special handling for 'r'.
17924         (test15): New test case.
17925         (test_fun): Add test15.
17926         * tests/test-argp-2.sh: Update expected --help and --usage
17927         outputs.
17928
17929 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17930
17931         * tests/test-argp.c: Fix indentation.
17932
17933 2010-02-04  Eric Blake  <ebb9@byu.net>
17934
17935         gettimeofday: expose type of second argument
17936         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
17937         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
17938         * tests/test-gettimeofday.c: Use it to silence warning.
17939         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
17940         the issue.
17941
17942 2010-02-03  Jim Meyering  <meyering@redhat.com>
17943
17944         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
17945         * lib/regcomp.c (TYPE_SIGNED): Define.
17946         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
17947
17948         regcomp.c: avoid a new -Wshadow warning
17949         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
17950
17951 2010-02-01  Jim Meyering  <meyering@redhat.com>
17952
17953         removing useless parentheses in cpp #define directives
17954         For motivation, see commit c0221df4, "define STREQ(a,b)
17955         consistently, removing useless parentheses"
17956         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
17957         * lib/mountlist.c (MNT_IGNORE): Likewise.
17958         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
17959
17960 2010-02-01  Eric Blake  <ebb9@byu.net>
17961
17962         sys_time: use link-warning
17963         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
17964         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
17965         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
17966         * modules/sys_time (Depends-on): Add warn-on-use.
17967         (Makefile.am): Always build replacement.
17968         (configure.ac): Update substitutions.
17969         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
17970         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
17971         bother with SYS_TIME_H.
17972         * modules/gettimeofday (configure.ac): Declare indicator.
17973         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
17974         in use.
17975
17976         closein-tests: silence compiler warning
17977         * tests/test-closein.c (main): Ignore fread result.
17978         * modules/closein-tests (Depends-on): Add ignore-value.
17979
17980         tests: silence warning about system return
17981         * tests/test-areadlink-with-size.c (main): Ignore system result.
17982         * tests/test-areadlink.c (main): Likewise.
17983         * tests/test-areadlinkat-with-size.c (main): Likewise.
17984         * tests/test-areadlinkat.c (main): Likewise.
17985         * tests/test-canonicalize-lgpl.c (main): Likewise.
17986         * tests/test-canonicalize.c (main): Likewise.
17987         * tests/test-chown.c (main): Likewise.
17988         * tests/test-fchownat.c (main): Likewise.
17989         * tests/test-fdutimensat.c (main): Likewise.
17990         * tests/test-fstatat.c (main): Likewise.
17991         * tests/test-futimens.c (main): Likewise.
17992         * tests/test-lchown.c (main): Likewise.
17993         * tests/test-link.c (main): Likewise.
17994         * tests/test-linkat.c (main): Likewise.
17995         * tests/test-lstat.c (main): Likewise.
17996         * tests/test-mkdir.c (main): Likewise.
17997         * tests/test-mkdirat.c (main): Likewise.
17998         * tests/test-mkfifo.c (main): Likewise.
17999         * tests/test-mkfifoat.c (main): Likewise.
18000         * tests/test-mknod.c (main): Likewise.
18001         * tests/test-readlink.c (main): Likewise.
18002         * tests/test-remove.c (main): Likewise.
18003         * tests/test-rename.c (main): Likewise.
18004         * tests/test-renameat.c (main): Likewise.
18005         * tests/test-rmdir.c (main): Likewise.
18006         * tests/test-symlink.c (main): Likewise.
18007         * tests/test-symlinkat.c (main): Likewise.
18008         * tests/test-unlink.c (main): Likewise.
18009         * tests/test-unlinkat.c (main): Likewise.
18010         * tests/test-utimens.c (main): Likewise.
18011         * tests/test-utimensat.c (main): Likewise.
18012         * modules/areadlink-tests (Depends-on): Add ignore-value.
18013         * modules/areadlink-with-size-tests (Depends-on): Likewise.
18014         * modules/areadlinkat-tests (Depends-on): Likewise.
18015         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
18016         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
18017         * modules/canonicalize-tests (Depends-on): Likewise.
18018         * modules/chown-tests (Depends-on): Likewise.
18019         * modules/fdutimensat-tests (Depends-on): Likewise.
18020         * modules/futimens-tests (Depends-on): Likewise.
18021         * modules/lchown-tests (Depends-on): Likewise.
18022         * modules/link-tests (Depends-on): Likewise.
18023         * modules/linkat-tests (Depends-on): Likewise.
18024         * modules/lstat-tests (Depends-on): Likewise.
18025         * modules/mkdir-tests (Depends-on): Likewise.
18026         * modules/mkfifo-tests (Depends-on): Likewise.
18027         * modules/mkfifoat-tests (Depends-on): Likewise.
18028         * modules/mknod-tests (Depends-on): Likewise.
18029         * modules/openat-tests (Depends-on): Likewise.
18030         * modules/readlink-tests (Depends-on): Likewise.
18031         * modules/remove-tests (Depends-on): Likewise.
18032         * modules/rename-tests (Depends-on): Likewise.
18033         * modules/renameat-tests (Depends-on): Likewise.
18034         * modules/rmdir-tests (Depends-on): Likewise.
18035         * modules/symlink-tests (Depends-on): Likewise.
18036         * modules/symlinkat-tests (Depends-on): Likewise.
18037         * modules/unlink-tests (Depends-on): Likewise.
18038         * modules/utimens-tests (Depends-on): Likewise.
18039         * modules/utimensat-tests (Depends-on): Likewise.
18040
18041 2010-01-31  Bruno Haible  <bruno@clisp.org>
18042
18043         Perform the same test for many <math.h> functions.
18044         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
18045         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
18046         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
18047         of gl_MATHFUNC.
18048         * modules/acos (configure.ac): Likewise.
18049         * modules/asin (configure.ac): Likewise.
18050         * modules/atan (configure.ac): Likewise.
18051         * modules/atan2 (configure.ac): Likewise.
18052         * modules/cbrt (configure.ac): Likewise.
18053         * modules/copysign (configure.ac): Likewise.
18054         * modules/cos (configure.ac): Likewise.
18055         * modules/cosh (configure.ac): Likewise.
18056         * modules/erf (configure.ac): Likewise.
18057         * modules/erfc (configure.ac): Likewise.
18058         * modules/exp (configure.ac): Likewise.
18059         * modules/fmod (configure.ac): Likewise.
18060         * modules/hypot (configure.ac): Likewise.
18061         * modules/j0 (configure.ac): Likewise.
18062         * modules/j1 (configure.ac): Likewise.
18063         * modules/jn (configure.ac): Likewise.
18064         * modules/lgamma (configure.ac): Likewise.
18065         * modules/log (configure.ac): Likewise.
18066         * modules/log10 (configure.ac): Likewise.
18067         * modules/log1p (configure.ac): Likewise.
18068         * modules/pow (configure.ac): Likewise.
18069         * modules/remainder (configure.ac): Likewise.
18070         * modules/sin (configure.ac): Likewise.
18071         * modules/sinh (configure.ac): Likewise.
18072         * modules/tan (configure.ac): Likewise.
18073         * modules/tanh (configure.ac): Likewise.
18074         * modules/y0 (configure.ac): Likewise.
18075         * modules/y1 (configure.ac): Likewise.
18076         * modules/yn (configure.ac): Likewise.
18077         Suggested by Paolo Bonzini.
18078
18079 2010-01-31  Bruno Haible  <bruno@clisp.org>
18080
18081         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
18082
18083 2010-01-31  Bruno Haible  <bruno@clisp.org>
18084
18085         Work around getdelim() bug on FreeBSD 8.0.
18086         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
18087         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
18088         not work.
18089         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
18090         is 1.
18091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
18092         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
18093         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
18094         a non-zero size.
18095         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
18096
18097 2010-01-31  Bruno Haible  <bruno@clisp.org>
18098
18099         Work around getline() bug on FreeBSD 8.0.
18100         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
18101         and a non-zero size.
18102         * tests/test-getline.c (main): Likewise.
18103         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
18104         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
18105
18106 2010-01-28  Eric Blake  <ebb9@byu.net>
18107
18108         regex: fix build failure
18109         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
18110         platforms.
18111
18112 2010-01-28  Jim Meyering  <meyering@redhat.com>
18113
18114         regex: do not ignore memory allocation failure
18115         * lib/regex_internal.c (create_cd_newstate): Detect
18116         re_node_set_init_copy failure.   Extracted from glibc commit
18117         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18118
18119         regex: sync more white-space changes from libc
18120         * lib/regex_internal.c: White-space only changes.
18121         * lib/regexec.c: Likewise.
18122
18123         regex: add many uses of __attribute_warn_unused_result__
18124         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
18125         * lib/regexec.c: Likewise.
18126         Extracted from a messy glibc commit.
18127
18128         regcomp.c: spelling and merge-artifact from glibc
18129         * lib/regcomp.c: Merge remainder of glibc's
18130         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18131
18132         regcomp.c: sync white-space changes from glibc
18133         * lib/regcomp.c: Merge to accommodate white space
18134         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
18135
18136         regcomp.c: do not ignore internal return values
18137         * lib/regcomp.c: Do not ignore internal return values.
18138         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
18139         but without its white-space changes and spelling fixes.
18140
18141         regex_internal.h: define __attribute_warn_unused_result__
18142         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
18143
18144         maint: add a syntax-check rule to check for vulnerable Makefile.in
18145         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
18146
18147 2010-01-27  Jim Meyering  <meyering@redhat.com>
18148
18149         ncftpput-ftp: clean up spaces
18150         * build-aux/ncftpput-ftp: Make Copyright line consistent.
18151         Remove trailing blanks.
18152
18153 2010-01-27  Simon Josefsson  <simon@josefsson.org>
18154
18155         * build-aux/git-version-gen: Fix copyright statement.
18156         * build-aux/gnupload: Likewise.
18157         * tests/test-arcfour.c: Likewise.
18158         * tests/test-arctwo.c: Likewise.
18159         * tests/test-count-one-bits.c: Likewise.
18160         * tests/test-crc.c: Likewise.
18161         * tests/test-des.c: Likewise.
18162         * tests/test-gc-arcfour.c: Likewise.
18163         * tests/test-gc-arctwo.c: Likewise.
18164         * tests/test-gc-des.c: Likewise.
18165         * tests/test-gc-hmac-md5.c: Likewise.
18166         * tests/test-gc-hmac-sha1.c: Likewise.
18167         * tests/test-gc-md2.c: Likewise.
18168         * tests/test-gc-md4.c: Likewise.
18169         * tests/test-gc-md5.c: Likewise.
18170         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18171         * tests/test-gc-rijndael.c: Likewise.
18172         * tests/test-gc-sha1.c: Likewise.
18173         * tests/test-gc.c: Likewise.
18174         * tests/test-gethostname.c: Likewise.
18175         * tests/test-gettimeofday.c: Likewise.
18176         * tests/test-hash.c: Likewise.
18177         * tests/test-hmac-md5.c: Likewise.
18178         * tests/test-hmac-sha1.c: Likewise.
18179         * tests/test-md2.c: Likewise.
18180         * tests/test-md4.c: Likewise.
18181         * tests/test-md5.c: Likewise.
18182         * tests/test-memchr.c: Likewise.
18183         * tests/test-memchr2.c: Likewise.
18184         * tests/test-memcmp.c: Likewise.
18185         * tests/test-memmem.c: Likewise.
18186         * tests/test-memrchr.c: Likewise.
18187         * tests/test-rawmemchr.c: Likewise.
18188         * tests/test-read-file.c: Likewise.
18189         * tests/test-rijndael.c: Likewise.
18190         * tests/test-sockets.c: Likewise.
18191         * tests/test-strchrnul.c: Likewise.
18192         * tests/test-strstr.c: Likewise.
18193         * tests/test-strtod.c: Likewise.
18194         * build-aux/ncftpput-ftp: Likewise.
18195
18196 2010-01-26  Eric Blake  <ebb9@byu.net>
18197
18198         ignore-value: update recommended header name
18199         * modules/ignore-value (Include): Only use <> for headers that
18200         exist in glibc.
18201
18202 2010-01-26  Jim Meyering  <meyering@redhat.com>
18203
18204         test-userspec.c: avoid compiler warnings
18205         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
18206         and "initialization discards qualifiers..." warnings.
18207         Put the first "uid" in its own scope, and make char* members "const".
18208
18209 2010-01-25  Bruno Haible  <bruno@clisp.org>
18210
18211         gnulib-tool: Make warning diagnostics consistent.
18212         * gnulib-tool (func_warning): New function.
18213         Use it everywhere where gnulib-tool produces output to stderr and it is
18214         not a fatal error.
18215
18216 2010-01-25  Bruno Haible  <bruno@clisp.org>
18217
18218         Fix test dependencies.
18219         * modules/xstrtol-tests (Depends-on): Add inttypes.
18220         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
18221
18222 2010-01-25 Pádraig Brady <P@draigBrady.com>
18223
18224         syntax-check: detect incorrect boolean macro values in config.h
18225         * modules/maintainer-makefile (configure.ac): Parameterize the location
18226         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
18227         The logic is from Eric Blake and the location indicated by Jim Meyering.
18228         Note the more natural CONFIG_HEADER name is prohibited by automake
18229         for backwards compatibility reasons.
18230         * top/maint.mk (sc_Wundef_boolean): New rule.
18231
18232 2010-01-25  Jim Meyering  <meyering@redhat.com>
18233
18234         bootstrap: detect MacOS 10.6's shasum, too
18235         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
18236         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
18237
18238 2010-01-23  Jim Meyering  <meyering@redhat.com>
18239
18240         xstrtoll: new module
18241         * modules/xstrtoll: New file.
18242         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
18243         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
18244         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
18245         ./configure fails if you use this module and lack "long long".
18246         * modules/xstrtoll-tests: New module.
18247         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
18248         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
18249         new init.sh-based test framework.
18250
18251 2010-01-24  Bruno Haible  <bruno@clisp.org>
18252
18253         Tests for module 'yn'.
18254         * modules/yn-tests: New file.
18255         * tests/test-yn.c: New file.
18256
18257         Tests for module 'y1'.
18258         * modules/y1-tests: New file.
18259         * tests/test-y1.c: New file.
18260
18261         Tests for module 'y0'.
18262         * modules/y0-tests: New file.
18263         * tests/test-y0.c: New file.
18264
18265         Tests for module 'tanh'.
18266         * modules/tanh-tests: New file.
18267         * tests/test-tanh.c: New file.
18268
18269         Tests for module 'tan'.
18270         * modules/tan-tests: New file.
18271         * tests/test-tan.c: New file.
18272
18273         Tests for module 'sqrt'.
18274         * modules/sqrt-tests: New file.
18275         * tests/test-sqrt.c: New file.
18276
18277         Tests for module 'sinh'.
18278         * modules/sinh-tests: New file.
18279         * tests/test-sinh.c: New file.
18280
18281         Tests for module 'sin'.
18282         * modules/sin-tests: New file.
18283         * tests/test-sin.c: New file.
18284
18285         Tests for module 'rint'.
18286         * modules/rint-tests: New file.
18287         * tests/test-rint.c: New file.
18288
18289         Tests for module 'remainder'.
18290         * modules/remainder-tests: New file.
18291         * tests/test-remainder.c: New file.
18292
18293         Tests for module 'pow'.
18294         * modules/pow-tests: New file.
18295         * tests/test-pow.c: New file.
18296
18297         Tests for module 'nextafter'.
18298         * modules/nextafter-tests: New file.
18299         * tests/test-nextafter.c: New file.
18300
18301         Tests for module 'modf'.
18302         * modules/modf-tests: New file.
18303         * tests/test-modf.c: New file.
18304
18305         Tests for module 'logb'.
18306         * modules/logb-tests: New file.
18307         * tests/test-logb.c: New file.
18308
18309         Tests for module 'log1p'.
18310         * modules/log1p-tests: New file.
18311         * tests/test-log1p.c: New file.
18312
18313         Tests for module 'log10'.
18314         * modules/log10-tests: New file.
18315         * tests/test-log10.c: New file.
18316
18317         Tests for module 'log'.
18318         * modules/log-tests: New file.
18319         * tests/test-log.c: New file.
18320
18321         Tests for module 'lgamma'.
18322         * modules/lgamma-tests: New file.
18323         * tests/test-lgamma.c: New file.
18324
18325         Tests for module 'ldexp'.
18326         * modules/ldexp-tests: New file.
18327         * tests/test-ldexp.c: New file.
18328
18329         Tests for module 'jn'.
18330         * modules/jn-tests: New file.
18331         * tests/test-jn.c: New file.
18332
18333         Tests for module 'j1'.
18334         * modules/j1-tests: New file.
18335         * tests/test-j1.c: New file.
18336
18337         Tests for module 'j0'.
18338         * modules/j0-tests: New file.
18339         * tests/test-j0.c: New file.
18340
18341         Tests for module 'hypot'.
18342         * modules/hypot-tests: New file.
18343         * tests/test-hypot.c: New file.
18344
18345         Tests for module 'fmod'.
18346         * modules/fmod-tests: New file.
18347         * tests/test-fmod.c: New file.
18348
18349         Tests for module 'fabs'.
18350         * modules/fabs-tests: New file.
18351         * tests/test-fabs.c: New file.
18352
18353         Tests for module 'exp'.
18354         * modules/exp-tests: New file.
18355         * tests/test-exp.c: New file.
18356
18357         Tests for module 'erfc'.
18358         * modules/erfc-tests: New file.
18359         * tests/test-erfc.c: New file.
18360
18361         Tests for module 'erf'.
18362         * modules/erf-tests: New file.
18363         * tests/test-erf.c: New file.
18364
18365         Tests for module 'cosh'.
18366         * modules/cosh-tests: New file.
18367         * tests/test-cosh.c: New file.
18368
18369         Tests for module 'cos'.
18370         * modules/cos-tests: New file.
18371         * tests/test-cos.c: New file.
18372
18373         Tests for module 'copysign'.
18374         * modules/copysign-tests: New file.
18375         * tests/test-copysign.c: New file.
18376
18377         Tests for module 'cbrt'.
18378         * modules/cbrt-tests: New file.
18379         * tests/test-cbrt.c: New file.
18380
18381         Tests for module 'atan2'.
18382         * modules/atan2-tests: New file.
18383         * tests/test-atan2.c: New file.
18384
18385         Tests for module 'atan'.
18386         * modules/atan-tests: New file.
18387         * tests/test-atan.c: New file.
18388
18389         Tests for module 'asin'.
18390         * modules/asin-tests: New file.
18391         * tests/test-asin.c: New file.
18392
18393         Tests for module 'acos'.
18394         * modules/acos-tests: New file.
18395         * tests/test-acos.c: New file.
18396
18397 2010-01-24  Bruno Haible  <bruno@clisp.org>
18398
18399         Fix tests for common <math.h> functions.
18400         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
18401         code snippet that references the function pointer, rather than merely
18402         calling the function. Substitute the FUNC_LIBM variable.
18403         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
18404         * modules/acos (configure.ac): Likewise.
18405         * modules/asin (configure.ac): Likewise.
18406         * modules/atan (configure.ac): Likewise.
18407         * modules/atan2 (configure.ac): Likewise.
18408         * modules/cbrt (configure.ac): Likewise.
18409         * modules/copysign (configure.ac): Likewise.
18410         * modules/cos (configure.ac): Likewise.
18411         * modules/cosh (configure.ac): Likewise.
18412         * modules/erf (configure.ac): Likewise.
18413         * modules/erfc (configure.ac): Likewise.
18414         * modules/exp (configure.ac): Likewise.
18415         * modules/fabs (configure.ac): Likewise.
18416         * modules/fmod (configure.ac): Likewise.
18417         * modules/hypot (configure.ac): Likewise.
18418         * modules/j0 (configure.ac): Likewise.
18419         * modules/j1 (configure.ac): Likewise.
18420         * modules/jn (configure.ac): Likewise.
18421         * modules/ldexp (configure.ac): Likewise.
18422         * modules/lgamma (configure.ac): Likewise.
18423         * modules/log (configure.ac): Likewise.
18424         * modules/log10 (configure.ac): Likewise.
18425         * modules/log1p (configure.ac): Likewise.
18426         * modules/logb (configure.ac): Likewise.
18427         * modules/modf (configure.ac): Likewise.
18428         * modules/nextafter (configure.ac): Likewise.
18429         * modules/pow (configure.ac): Likewise.
18430         * modules/remainder (configure.ac): Likewise.
18431         * modules/rint (configure.ac): Likewise.
18432         * modules/sin (configure.ac): Likewise.
18433         * modules/sinh (configure.ac): Likewise.
18434         * modules/tan (configure.ac): Likewise.
18435         * modules/tanh (configure.ac): Likewise.
18436         * modules/y0 (configure.ac): Likewise.
18437         * modules/y1 (configure.ac): Likewise.
18438         * modules/yn (configure.ac): Likewise.
18439
18440 2010-01-24  Bruno Haible  <bruno@clisp.org>
18441
18442         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
18443         * tests/test-acosl.c (x): New variable.
18444         (main): Store argument in x and fetch it from x.
18445         * tests/test-asinl.c (x): New variable.
18446         (main): Store argument in x and fetch it from x.
18447         * tests/test-atanl.c (x): New variable.
18448         (main): Store argument in x and fetch it from x.
18449         * tests/test-cosl.c (x): New variable.
18450         (main): Store argument in x and fetch it from x.
18451         * tests/test-expl.c (x): New variable.
18452         (main): Store argument in x and fetch it from x.
18453         * tests/test-logl.c (x): New variable.
18454         (main): Store argument in x and fetch it from x.
18455         * tests/test-sinl.c (x): New variable.
18456         (main): Store argument in x and fetch it from x.
18457         * tests/test-sqrtl.c (x): New variable.
18458         (main): Store argument in x and fetch it from x.
18459         * tests/test-tanl.c (x): New variable.
18460         (main): Store argument in x and fetch it from x.
18461
18462 2010-01-24  Bruno Haible  <bruno@clisp.org>
18463
18464         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
18465         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
18466         assignments to the initial TESTS_ENVIRONMENT.
18467         * doc/gnulib.texi (Unit test modules): Document it.
18468         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
18469         TESTS_ENVIRONMENT.
18470         * modules/btowc-tests (Makefile.am): Likewise.
18471         * modules/c-stack-tests (Makefile.am): Likewise.
18472         * modules/c-strcase-tests (Makefile.am): Likewise.
18473         * modules/copy-file-tests (Makefile.am): Likewise.
18474         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
18475         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
18476         * modules/mbrtowc-tests (Makefile.am): Likewise.
18477         * modules/mbscasecmp-tests (Makefile.am): Likewise.
18478         * modules/mbscasestr-tests (Makefile.am): Likewise.
18479         * modules/mbschr-tests (Makefile.am): Likewise.
18480         * modules/mbscspn-tests (Makefile.am): Likewise.
18481         * modules/mbsinit-tests (Makefile.am): Likewise.
18482         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
18483         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
18484         * modules/mbspbrk-tests (Makefile.am): Likewise.
18485         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
18486         * modules/mbsrchr-tests (Makefile.am): Likewise.
18487         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
18488         * modules/mbsspn-tests (Makefile.am): Likewise.
18489         * modules/mbsstr-tests (Makefile.am): Likewise.
18490         * modules/nl_langinfo-tests (Makefile.am): Likewise.
18491         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
18492         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
18493         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
18494         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
18495         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
18496         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
18497         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
18498         * modules/wcrtomb-tests (Makefile.am): Likewise.
18499         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
18500         * modules/wcsrtombs-tests (Makefile.am): Likewise.
18501         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
18502         assignments from TESTS_ENVIRONMENT.
18503         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
18504         augmentation.
18505         * modules/argp-version-etc-tests (Makefile.am): Likewise.
18506         * modules/atexit-tests (Makefile.am): Likewise.
18507         * modules/binary-io-tests (Makefile.am): Likewise.
18508         * modules/closein-tests (Makefile.am): Likewise.
18509         * modules/dprintf-posix-tests (Makefile.am): Likewise.
18510         * modules/exclude-tests (Makefile.am): Likewise.
18511         * modules/fflush-tests (Makefile.am): Likewise.
18512         * modules/fpending-tests (Makefile.am): Likewise.
18513         * modules/fprintf-posix-tests (Makefile.am): Likewise.
18514         * modules/freadahead-tests (Makefile.am): Likewise.
18515         * modules/freadptr-tests (Makefile.am): Likewise.
18516         * modules/freadseek-tests (Makefile.am): Likewise.
18517         * modules/fseek-tests (Makefile.am): Likewise.
18518         * modules/fseeko-tests (Makefile.am): Likewise.
18519         * modules/ftell-tests (Makefile.am): Likewise.
18520         * modules/ftello-tests (Makefile.am): Likewise.
18521         * modules/idpriv-drop-tests (Makefile.am): Likewise.
18522         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
18523         * modules/lseek-tests (Makefile.am): Likewise.
18524         * modules/parse-duration-tests (Makefile.am): Likewise.
18525         * modules/perror-tests (Makefile.am): Likewise.
18526         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
18527         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
18528         * modules/pipe-tests (Makefile.am): Likewise.
18529         * modules/pread-tests (Makefile.am): Likewise.
18530         * modules/printf-posix-tests (Makefile.am): Likewise.
18531         * modules/select-tests (Makefile.am): Likewise.
18532         * modules/sigpipe-tests (Makefile.am): Likewise.
18533         * modules/tsearch-tests (Makefile.am): Likewise.
18534         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
18535         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
18536         * modules/uniname/uniname-tests (Makefile.am): Likewise.
18537         * modules/uniwidth/width-tests (Makefile.am): Likewise.
18538         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
18539         * modules/version-etc-tests (Makefile.am): Likewise.
18540         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
18541         * modules/vprintf-posix-tests (Makefile.am): Likewise.
18542         * modules/xalloc-die-tests (Makefile.am): Likewise.
18543         * modules/xprintf-posix-tests (Makefile.am): Likewise.
18544         * modules/xstrtoimax-tests (Makefile.am): Likewise.
18545         * modules/xstrtol-tests (Makefile.am): Likewise.
18546         * modules/xstrtoumax-tests (Makefile.am): Likewise.
18547         * modules/yesno-tests (Makefile.am): Likewise.
18548         Suggested by Jim Meyering.
18549
18550 2010-01-24  Bruno Haible  <bruno@clisp.org>
18551
18552         More documentation.
18553         * doc/gnulib.texi (Writing modules): New chapter.
18554         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
18555         the new chapter.
18556
18557 2010-01-24  Jim Meyering  <meyering@redhat.com>
18558
18559         maint.mk: do not prepend "./" after filtering
18560         * top/maint.mk (_prepend_srcdir_prefix): New variable
18561         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
18562         "./" when $(srcdir) is ".".
18563
18564         define STREQ(a,b) consistently, removing useless parentheses
18565         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
18566         since the only risk is that "a" or "b" contains an unparenthesized
18567         comma, but if either did that, STREQ would have 3 or more arguments.
18568         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
18569         * lib/fts.c (STREQ): Remove unnecessary parentheses.
18570         * lib/hash-triple.c (STREQ): Likewise.
18571         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
18572         * lib/getugroups.c (STREQ): Likewise.
18573
18574 2010-01-23  Jim Meyering  <meyering@redhat.com>
18575
18576         maint.mk: fix syntax-check in a non-srcdir build directory
18577         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
18578         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
18579
18580 2010-01-22  Jim Meyering  <meyering@redhat.com>
18581
18582         userspec: add unit tests
18583         * tests/test-userspec.c: New file.
18584         * modules/userspec-tests: Likewise.
18585
18586 2010-01-21  Jim Meyering  <meyering@redhat.com>
18587
18588         maint.mk: handle source file names containing "." robustly
18589         * top/maint.mk (_dot_escaped_srcdir): Define.
18590         (VC_LIST): Use it in LHS of sed substitution.
18591
18592 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
18593
18594         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
18595         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
18596         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
18597         from a non-srcdir build.
18598
18599 2010-01-20  Eric Blake  <ebb9@byu.net>
18600
18601         warn-on-use: use instead of link-warning
18602         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
18603         * modules/unistd (Depends-on, Makefile.am): Likewise.
18604         * modules/arpa_inet (Depends-on): Replace link-warning with
18605         warn-on-use.
18606         (Makefile.am): Update rules accordingly.
18607         * modules/ctype (Depends-on, Makefile.am): Likewise.
18608         * modules/dirent (Depends-on, Makefile.am): Likewise.
18609         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
18610         * modules/inttypes (Depends-on, Makefile.am): Likewise.
18611         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18612         * modules/locale (Depends-on, Makefile.am): Likewise.
18613         * modules/math (Depends-on, Makefile.am): Likewise.
18614         * modules/search (Depends-on, Makefile.am): Likewise.
18615         * modules/signal (Depends-on, Makefile.am): Likewise.
18616         * modules/spawn (Depends-on, Makefile.am): Likewise.
18617         * modules/stdlib (Depends-on, Makefile.am): Likewise.
18618         * modules/string (Depends-on, Makefile.am): Likewise.
18619         * modules/strings (Depends-on, Makefile.am): Likewise.
18620         * modules/sys_file (Depends-on, Makefile.am): Likewise.
18621         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
18622         * modules/sys_select (Depends-on, Makefile.am): Likewise.
18623         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
18624         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
18625         * modules/sys_times (Depends-on, Makefile.am): Likewise.
18626         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18627         * modules/wchar (Depends-on, Makefile.am): Likewise.
18628         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
18629         should be poisoned.
18630         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
18631         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
18632         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
18633         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18634         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18635         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
18636         * m4/math_h.m4 (gl_MATH_H): Likewise.
18637         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18638         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
18639         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18640         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
18641         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
18642         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
18643         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
18644         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
18645         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18646         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18647         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18648         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
18649         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18650         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18651         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18652         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
18653         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
18654         GL_LINK_WARNING.
18655         * lib/ctype.in.h: Likewise.
18656         * lib/dirent.in.h: Likewise.
18657         * lib/fcntl.in.h: Likewise.
18658         * lib/inttypes.in.h: Likewise.
18659         * lib/langinfo.in.h: Likewise.
18660         * lib/locale.in.h: Likewise.
18661         * lib/math.in.h: Likewise.
18662         * lib/search.in.h: Likewise.
18663         * lib/signal.in.h: Likewise.
18664         * lib/spawn.in.h: Likewise.
18665         * lib/stdio.in.h: Likewise.
18666         * lib/stdlib.in.h: Likewise.
18667         * lib/string.in.h: Likewise.
18668         * lib/strings.in.h: Likewise.
18669         * lib/sys_file.in.h: Likewise.
18670         * lib/sys_ioctl.in.h: Likewise.
18671         * lib/sys_select.in.h: Likewise.
18672         * lib/sys_socket.in.h: Likewise.
18673         * lib/sys_stat.in.h: Likewise.
18674         * lib/sys_times.in.h: Likewise.
18675         * lib/sys_utsname.in.h: Likewise.
18676         * lib/unistd.in.h: Likewise.
18677         * lib/wchar.in.h: Likewise.
18678
18679 2010-01-20  Bruno Haible  <bruno@clisp.org>
18680
18681         Avoid duplicate -lm.
18682         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
18683         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
18684         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
18685         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
18686         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
18687         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
18688         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
18689         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
18690         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
18691         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
18692         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
18693         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
18694         Reported by Paolo Bonzini.
18695
18696 2010-01-19  Bruno Haible  <bruno@clisp.org>
18697
18698         langinfo, nl_langinfo: Relicense under LGPLv2+.
18699         * modules/langinfo (License): Change to LGPLv2+.
18700         * modules/nl_langinfo (License): Likewise.
18701         Patch by David Lutterkort <lutter@redhat.com>.
18702
18703 2010-01-19  Bruno Haible  <bruno@clisp.org>
18704
18705         Avoid compilation error with cc on OSF/1 5.1.
18706         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
18707         statement, not before.
18708         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18709
18710 2010-01-18  Bruno Haible  <bruno@clisp.org>
18711
18712         Avoid a link error due to the __printf__ symbol.
18713         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
18714         and 2.6.x.
18715         (__format__, __printf__): Remove definitions.
18716         * lib/argp-fmtstream.h: Likewise.
18717         * lib/argp.h: Likewise.
18718         * lib/error.h: Likewise.
18719         * lib/vasnprintf.h: Likewise.
18720         * lib/xprintf.h: Likewise.
18721         * lib/xvasprintf.h: Likewise.
18722         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18723
18724 2010-01-18  Bruno Haible  <bruno@clisp.org>
18725
18726         Tests for module 'tanl'.
18727         * modules/tanl-tests: New file.
18728         * tests/test-tanl.c: New file.
18729
18730         Tests for module 'sqrtl'.
18731         * modules/sqrtl-tests: New file.
18732         * tests/test-sqrtl.c: New file.
18733
18734         Tests for module 'sinl'.
18735         * modules/sinl-tests: New file.
18736         * tests/test-sinl.c: New file.
18737
18738         Tests for module 'logl'.
18739         * modules/logl-tests: New file.
18740         * tests/test-logl.c: New file.
18741
18742         Tests for module 'expl'.
18743         * modules/expl-tests: New file.
18744         * tests/test-expl.c: New file.
18745
18746         Tests for module 'cosl'.
18747         * modules/cosl-tests: New file.
18748         * tests/test-cosl.c: New file.
18749
18750         Tests for module 'atanl'.
18751         * modules/atanl-tests: New file.
18752         * tests/test-atanl.c: New file.
18753
18754         Tests for module 'asinl'.
18755         * modules/asinl-tests: New file.
18756         * tests/test-asinl.c: New file.
18757
18758         Tests for module 'acosl'.
18759         * modules/acosl-tests: New file.
18760         * tests/test-acosl.c: New file.
18761
18762         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18763         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
18764         tanl): Use the standard gnulib idiom.
18765         * lib/cosl.c: Don't include trigl.c and sincosl.c.
18766         * lib/sinl.c: Likewise.
18767         * lib/tanl.c: Don't include trigl.c.
18768         (kernel_tanl): Make static.
18769         * lib/sincosl.c: Include trigl.h first.
18770         * lib/trigl.c: Likewise.
18771         * m4/acosl.m4: New file.
18772         * m4/asinl.m4: New file.
18773         * m4/atanl.m4: New file.
18774         * m4/cosl.m4: New file.
18775         * m4/expl.m4: New file.
18776         * m4/logl.m4: New file.
18777         * m4/sinl.m4: New file.
18778         * m4/sqrtl.m4: New file.
18779         * m4/tanl.m4: New file.
18780         * m4/mathl.m4: Remove file.
18781         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
18782         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18783         Don't initialize GNULIB_MATHL.
18784         * modules/acosl: New file.
18785         * modules/asinl: New file.
18786         * modules/atanl: New file.
18787         * modules/cosl: New file.
18788         * modules/expl: New file.
18789         * modules/logl: New file.
18790         * modules/sinl: New file.
18791         * modules/sqrtl: New file.
18792         * modules/tanl: New file.
18793         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
18794         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
18795         substitute GNULIB_MATHL.
18796         * modules/mathl: Rewritten.
18797         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
18798         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
18799         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
18800         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
18801         * doc/posix-functions/expl.texi: Mention the 'expl' module.
18802         * doc/posix-functions/logl.texi: Mention the 'logl' module.
18803         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
18804         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
18805         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
18806
18807 2010-01-18  Bruno Haible  <bruno@clisp.org>
18808
18809         sqrt: Make gl_FUNC_SQRT requirable.
18810         * m4/sqrt.m4: New file.
18811         * modules/sqrt (Files): Add it.
18812         (configure.ac): Invoke gl_FUNC_SQRT.
18813
18814 2010-01-18  Bruno Haible  <bruno@clisp.org>
18815
18816         New modules for common <math.h> functions.
18817         * m4/mathfunc.m4: New file.
18818         * modules/acos: New file.
18819         * modules/asin: New file.
18820         * modules/atan: New file.
18821         * modules/atan2: New file.
18822         * modules/cbrt: New file.
18823         * modules/copysign: New file.
18824         * modules/cos: New file.
18825         * modules/cosh: New file.
18826         * modules/erf: New file.
18827         * modules/erfc: New file.
18828         * modules/exp: New file.
18829         * modules/fabs: New file.
18830         * modules/fmod: New file.
18831         * modules/hypot: New file.
18832         * modules/j0: New file.
18833         * modules/j1: New file.
18834         * modules/jn: New file.
18835         * modules/ldexp: New file.
18836         * modules/lgamma: New file.
18837         * modules/log: New file.
18838         * modules/log10: New file.
18839         * modules/log1p: New file.
18840         * modules/logb: New file.
18841         * modules/modf: New file.
18842         * modules/nextafter: New file.
18843         * modules/pow: New file.
18844         * modules/remainder: New file.
18845         * modules/rint: New file.
18846         * modules/sin: New file.
18847         * modules/sinh: New file.
18848         * modules/sqrt: New file.
18849         * modules/tan: New file.
18850         * modules/tanh: New file.
18851         * modules/y0: New file.
18852         * modules/y1: New file.
18853         * modules/yn: New file.
18854         * doc/posix-functions/acos.texi: Mention the 'acos' module.
18855         * doc/posix-functions/asin.texi: Mention the 'asin' module.
18856         * doc/posix-functions/atan.texi: Mention the 'atan' module.
18857         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
18858         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
18859         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
18860         * doc/posix-functions/cos.texi: Mention the 'cos' module.
18861         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
18862         * doc/posix-functions/erf.texi: Mention the 'erf' module.
18863         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
18864         * doc/posix-functions/exp.texi: Mention the 'exp' module.
18865         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
18866         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
18867         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
18868         * doc/posix-functions/j0.texi: Mention the 'j0' module.
18869         * doc/posix-functions/j1.texi: Mention the 'j1' module.
18870         * doc/posix-functions/jn.texi: Mention the 'jn' module.
18871         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
18872         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
18873         * doc/posix-functions/log.texi: Mention the 'log' module.
18874         * doc/posix-functions/log10.texi: Mention the 'log10' module.
18875         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
18876         * doc/posix-functions/logb.texi: Mention the 'logb' module.
18877         * doc/posix-functions/modf.texi: Mention the 'modf' module.
18878         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
18879         * doc/posix-functions/pow.texi: Mention the 'pow' module.
18880         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
18881         * doc/posix-functions/rint.texi: Mention the 'rint' module.
18882         * doc/posix-functions/sin.texi: Mention the 'sin' module.
18883         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
18884         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
18885         * doc/posix-functions/tan.texi: Mention the 'tan' module.
18886         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
18887         * doc/posix-functions/y0.texi: Mention the 'y0' module.
18888         * doc/posix-functions/y1.texi: Mention the 'y1' module.
18889         * doc/posix-functions/yn.texi: Mention the 'yn' module.
18890
18891 2010-01-18  Jim Meyering  <meyering@redhat.com>
18892
18893         ignore-value: relax license to LGPLv2+
18894         * modules/ignore-value (License): Relax to LGPLv2+.
18895
18896         getdate: don't leak when TZ contains two or more '"'s
18897         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
18898         double quote in TZ after the first one.
18899
18900         readtokens: do not leak internal token_lengths buffer
18901         * lib/readtokens.c (readtokens): Free the local, lengths,
18902         when the supplied "token_lengths" parameter is NULL.
18903
18904 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18905
18906         Fix a couple of missing LIBTHREAD link failures on AIX.
18907         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
18908         $(LIBTHREAD).
18909         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
18910
18911         Link test-poll against INET_PTON_LIB.
18912         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
18913         for inet_pton on Solaris 10.
18914
18915 2010-01-17  Bruno Haible  <bruno@clisp.org>
18916
18917         unistdio/*-sprintf: Fix typo in module description.
18918         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
18919         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
18920         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
18921         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
18922         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
18923         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
18924         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
18925         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18926
18927 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18928
18929         gnulib-tool: fix filelist for AIX, HP-UX ksh.
18930         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
18931         variables in shell case patterns, for AIX and HP-UX ksh.
18932
18933         Split large sed scripts, for HP-UX sed.
18934         * modules/stdio: Split sed scripts around 50 sed commands,
18935         to avoid HP-UX limit of 99 commands, in the near future.
18936         * modules/string: Likewise.
18937         * modules/unistd: Likewise.
18938
18939         gnulib-tool: avoid writing in the current directory.
18940         * gnulib-tool (func_emit_lib_Makefile_am)
18941         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
18942         not in the current directory, so concurrent gnulib-tool
18943         instances do not interfere.
18944
18945 2010-01-16  Jim Meyering  <meyering@redhat.com>
18946
18947         doc: update users.txt
18948         * users.txt: Add grep.
18949         (diffutils, gzip): Update URLs.
18950
18951 2010-01-12  Bruno Haible  <bruno@clisp.org>
18952
18953         posix_spawn: Avoid test failure on Cygwin.
18954         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
18955         characters.
18956         Reported by Simon Josefsson.
18957
18958 2010-01-12  Bruno Haible  <bruno@clisp.org>
18959
18960         * tests/test-cond.c (main): When skipping the test, show the reason.
18961
18962 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18963
18964         * lib/striconv.c (str_cd_iconv): Avoid if before free.
18965
18966 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18967
18968         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
18969         VC_LIST_ALWAYS_EXCLUDE_REGEX.
18970
18971 2010-01-12  Eric Blake  <ebb9@byu.net>
18972
18973         build: guarantee AS_VAR_IF
18974         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
18975         (gl_AS_VAR_IF): Move...
18976         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
18977         Reported by Simon Josefsson.
18978
18979 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18980
18981         * lib/stdio.in.h: Fix typo.
18982
18983 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18984
18985         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
18986         libgpg-error.
18987
18988 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18989
18990         * tests/test-xalloc-die.sh: Use $EXEEXT.
18991
18992 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18993             Bruno Haible  <bruno@clisp.org>
18994
18995         getlogin, getlogin_r: Avoid test failure.
18996         * tests/test-getlogin.c: Include <stdio.h>.
18997         (main): Skip the test when the function fails because stdin is not a
18998         tty.
18999         * tests/test-getlogin_r.c: Include <stdio.h>.
19000         (main): Skip the test when the function fails because stdin is not a
19001         tty.
19002
19003 2010-01-11  Eric Blake  <ebb9@byu.net>
19004
19005         tests: avoid more large file warnings
19006         * tests/test-fflush.c: Avoid warning about ftell use.
19007         * tests/test-fseek.c: Avoid warning about fseek use.
19008
19009 2010-01-10  Bruno Haible  <bruno@clisp.org>
19010
19011         nproc: Work better on Linux when /proc and /sys are not mounted.
19012         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
19013         as lower bound when, on glibc/Linux systems,
19014         sysconf (_SC_NPROCESSORS_CONF) returns 1.
19015         Suggested by Pádraig Brady <P@draigbrady.com>.
19016         Reported by Dmitry V. Levin <ldv@altlinux.org>.
19017
19018         nproc: Refactor.
19019         * lib/nproc.c (num_processors_via_affinity_mask): New function,
19020         extracted from num_processors.
19021         (num_processors): Call it.
19022
19023 2010-01-11  Jim Meyering  <meyering@redhat.com>
19024
19025         utimecmp: avoid new warning from upcoming gcc-4.5.0
19026         * lib/utimecmp.c (BILLION): Define using #define rather than an
19027         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
19028
19029 2010-01-11  Eric Blake  <ebb9@byu.net>
19030
19031         math: add portability warnings for classification macros
19032         * modules/math (Depends-on): Add warn-on-use.
19033         (Makefile.am): Provide new substitutions.
19034         * m4/math_h.m4 (gl_MATH_H): Require inline.
19035         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
19036         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
19037         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
19038         implement warnings.
19039
19040         unistd: warn on use of environ without module
19041         * modules/unistd (Depends-on): Add warn-on-use.
19042         (Makefile.am): Provide new substitutions.
19043         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
19044         * lib/unistd.in.h (environ): Wrap with a warning helper function.
19045
19046         stdio: warn on suspicious uses
19047         * modules/stdio (Depends-on): Add warn-on-use.
19048         (Makefile.am): Provide new substitutions.
19049         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
19050         fseeko.
19051         * lib/stdio.in.h (gets): Always warn on use.
19052         (fseek, ftell): Adjust when warnings are issued, and honor
19053         _GL_NO_LARGE_FILES as a way to silence the warning.
19054         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
19055         any warning about large file offsets.
19056         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
19057         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
19058         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
19059         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
19060         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
19061         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
19062         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
19063         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
19064
19065         warn-on-use: new module
19066         * modules/warn-on-use: New file.
19067         * build-aux/warn-on-use.h: Likewise.
19068         * m4/warn-on-use.m4: Likewise.
19069         * MODULES.html.sh (Support for building): Mention it.
19070
19071 2010-01-10  Bruno Haible  <bruno@clisp.org>
19072
19073         Tests for module 'unistr/u32-strdup'.
19074         * modules/unistr/u32-strdup-tests: New file.
19075         * tests/unistr/test-u32-strdup.c: New file.
19076
19077         Tests for module 'unistr/u16-strdup'.
19078         * modules/unistr/u16-strdup-tests: New file.
19079         * tests/unistr/test-u16-strdup.c: New file.
19080
19081         Tests for module 'unistr/u8-strdup'.
19082         * modules/unistr/u8-strdup-tests: New file.
19083         * tests/unistr/test-u8-strdup.c: New file.
19084         * tests/unistr/test-strdup.h: New file.
19085
19086         Tests for module 'unistr/u32-strncmp'.
19087         * modules/unistr/u32-strncmp-tests: New file.
19088         * tests/unistr/test-u32-strncmp.c: New file.
19089
19090         Tests for module 'unistr/u16-strncmp'.
19091         * modules/unistr/u16-strncmp-tests: New file.
19092         * tests/unistr/test-u16-strncmp.c: New file.
19093
19094         Tests for module 'unistr/u8-strncmp'.
19095         * modules/unistr/u8-strncmp-tests: New file.
19096         * tests/unistr/test-u8-strncmp.c: New file.
19097         * tests/unistr/test-strncmp.h: New file.
19098
19099         Tests for module 'unistr/u32-strcoll'.
19100         * modules/unistr/u32-strcoll-tests: New file.
19101         * tests/unistr/test-u32-strcoll.c: New file.
19102
19103         Tests for module 'unistr/u16-strcoll'.
19104         * modules/unistr/u16-strcoll-tests: New file.
19105         * tests/unistr/test-u16-strcoll.c: New file.
19106
19107         Tests for module 'unistr/u8-strcoll'.
19108         * modules/unistr/u8-strcoll-tests: New file.
19109         * tests/unistr/test-u8-strcoll.c: New file.
19110
19111         Tests for module 'unistr/u32-strcmp'.
19112         * modules/unistr/u32-strcmp-tests: New file.
19113         * tests/unistr/test-u32-strcmp.c: New file.
19114         * tests/unistr/test-u32-strcmp.h: New file.
19115
19116         Tests for module 'unistr/u16-strcmp'.
19117         * modules/unistr/u16-strcmp-tests: New file.
19118         * tests/unistr/test-u16-strcmp.c: New file.
19119         * tests/unistr/test-u16-strcmp.h: New file.
19120
19121         Tests for module 'unistr/u8-strcmp'.
19122         * modules/unistr/u8-strcmp-tests: New file.
19123         * tests/unistr/test-u8-strcmp.c: New file.
19124         * tests/unistr/test-u8-strcmp.h: New file.
19125         * tests/unistr/test-strcmp.h: New file.
19126
19127         Tests for module 'unistr/u32-strncat'.
19128         * modules/unistr/u32-strncat-tests: New file.
19129         * tests/unistr/test-u32-strncat.c: New file.
19130
19131         Tests for module 'unistr/u16-strncat'.
19132         * modules/unistr/u16-strncat-tests: New file.
19133         * tests/unistr/test-u16-strncat.c: New file.
19134
19135         Tests for module 'unistr/u8-strncat'.
19136         * modules/unistr/u8-strncat-tests: New file.
19137         * tests/unistr/test-u8-strncat.c: New file.
19138         * tests/unistr/test-strncat.h: New file.
19139
19140         Tests for module 'unistr/u32-strcat'.
19141         * modules/unistr/u32-strcat-tests: New file.
19142         * tests/unistr/test-u32-strcat.c: New file.
19143
19144         Tests for module 'unistr/u16-strcat'.
19145         * modules/unistr/u16-strcat-tests: New file.
19146         * tests/unistr/test-u16-strcat.c: New file.
19147
19148         Tests for module 'unistr/u8-strcat'.
19149         * modules/unistr/u8-strcat-tests: New file.
19150         * tests/unistr/test-u8-strcat.c: New file.
19151         * tests/unistr/test-strcat.h: New file.
19152
19153         Tests for module 'unistr/u32-stpncpy'.
19154         * modules/unistr/u32-stpncpy-tests: New file.
19155         * tests/unistr/test-u32-stpncpy.c: New file.
19156
19157         Tests for module 'unistr/u16-stpncpy'.
19158         * modules/unistr/u16-stpncpy-tests: New file.
19159         * tests/unistr/test-u16-stpncpy.c: New file.
19160
19161         Tests for module 'unistr/u8-stpncpy'.
19162         * modules/unistr/u8-stpncpy-tests: New file.
19163         * tests/unistr/test-u8-stpncpy.c: New file.
19164         * tests/unistr/test-stpncpy.h: New file.
19165
19166         Tests for module 'unistr/u32-strncpy'.
19167         * modules/unistr/u32-strncpy-tests: New file.
19168         * tests/unistr/test-u32-strncpy.c: New file.
19169
19170         Tests for module 'unistr/u16-strncpy'.
19171         * modules/unistr/u16-strncpy-tests: New file.
19172         * tests/unistr/test-u16-strncpy.c: New file.
19173
19174         Tests for module 'unistr/u8-strncpy'.
19175         * modules/unistr/u8-strncpy-tests: New file.
19176         * tests/unistr/test-u8-strncpy.c: New file.
19177         * tests/unistr/test-strncpy.h: New file.
19178
19179         Tests for module 'unistr/u32-stpcpy'.
19180         * modules/unistr/u32-stpcpy-tests: New file.
19181         * tests/unistr/test-u32-stpcpy.c: New file.
19182
19183         Tests for module 'unistr/u16-stpcpy'.
19184         * modules/unistr/u16-stpcpy-tests: New file.
19185         * tests/unistr/test-u16-stpcpy.c: New file.
19186
19187         Tests for module 'unistr/u8-stpcpy'.
19188         * modules/unistr/u8-stpcpy-tests: New file.
19189         * tests/unistr/test-u8-stpcpy.c: New file.
19190         * tests/unistr/test-stpcpy.h: New file.
19191
19192         Tests for module 'unistr/u32-strcpy'.
19193         * modules/unistr/u32-strcpy-tests: New file.
19194         * tests/unistr/test-u32-strcpy.c: New file.
19195
19196         Tests for module 'unistr/u16-strcpy'.
19197         * modules/unistr/u16-strcpy-tests: New file.
19198         * tests/unistr/test-u16-strcpy.c: New file.
19199
19200         Tests for module 'unistr/u8-strcpy'.
19201         * modules/unistr/u8-strcpy-tests: New file.
19202         * tests/unistr/test-u8-strcpy.c: New file.
19203         * tests/unistr/test-strcpy.h: New file.
19204
19205         Tests for module 'unistr/u32-strnlen'.
19206         * modules/unistr/u32-strnlen-tests: New file.
19207         * tests/unistr/test-u32-strnlen.c: New file.
19208
19209         Tests for module 'unistr/u16-strnlen'.
19210         * modules/unistr/u16-strnlen-tests: New file.
19211         * tests/unistr/test-u16-strnlen.c: New file.
19212
19213         Tests for module 'unistr/u8-strnlen'.
19214         * modules/unistr/u8-strnlen-tests: New file.
19215         * tests/unistr/test-u8-strnlen.c: New file.
19216         * tests/unistr/test-strnlen.h: New file.
19217
19218         Tests for module 'unistr/u32-strlen'.
19219         * modules/unistr/u32-strlen-tests: New file.
19220         * tests/unistr/test-u32-strlen.c: New file.
19221
19222         Tests for module 'unistr/u16-strlen'.
19223         * modules/unistr/u16-strlen-tests: New file.
19224         * tests/unistr/test-u16-strlen.c: New file.
19225
19226         Tests for module 'unistr/u8-strlen'.
19227         * modules/unistr/u8-strlen-tests: New file.
19228         * tests/unistr/test-u8-strlen.c: New file.
19229
19230         Tests for module 'unistr/u32-prev'.
19231         * modules/unistr/u32-prev-tests: New file.
19232         * tests/unistr/test-u32-prev.c: New file.
19233
19234         Tests for module 'unistr/u16-prev'.
19235         * modules/unistr/u16-prev-tests: New file.
19236         * tests/unistr/test-u16-prev.c: New file.
19237
19238         Tests for module 'unistr/u8-prev'.
19239         * modules/unistr/u8-prev-tests: New file.
19240         * tests/unistr/test-u8-prev.c: New file.
19241
19242         Tests for module 'unistr/u32-next'.
19243         * modules/unistr/u32-next-tests: New file.
19244         * tests/unistr/test-u32-next.c: New file.
19245
19246         Tests for module 'unistr/u16-next'.
19247         * modules/unistr/u16-next-tests: New file.
19248         * tests/unistr/test-u16-next.c: New file.
19249
19250         Tests for module 'unistr/u8-next'.
19251         * modules/unistr/u8-next-tests: New file.
19252         * tests/unistr/test-u8-next.c: New file.
19253
19254         Tests for module 'unistr/u32-strmbtouc'.
19255         * modules/unistr/u32-strmbtouc-tests: New file.
19256         * tests/unistr/test-u32-strmbtouc.c: New file.
19257
19258         Tests for module 'unistr/u16-strmbtouc'.
19259         * modules/unistr/u16-strmbtouc-tests: New file.
19260         * tests/unistr/test-u16-strmbtouc.c: New file.
19261
19262         Tests for module 'unistr/u8-strmbtouc'.
19263         * modules/unistr/u8-strmbtouc-tests: New file.
19264         * tests/unistr/test-u8-strmbtouc.c: New file.
19265
19266         Tests for module 'unistr/u32-strmblen'.
19267         * modules/unistr/u32-strmblen-tests: New file.
19268         * tests/unistr/test-u32-strmblen.c: New file.
19269
19270         Tests for module 'unistr/u16-strmblen'.
19271         * modules/unistr/u16-strmblen-tests: New file.
19272         * tests/unistr/test-u16-strmblen.c: New file.
19273
19274         Tests for module 'unistr/u8-strmblen'.
19275         * modules/unistr/u8-strmblen-tests: New file.
19276         * tests/unistr/test-u8-strmblen.c: New file.
19277
19278         Tests for module 'unistr/u32-cpy-alloc'.
19279         * modules/unistr/u32-cpy-alloc-tests: New file.
19280         * tests/unistr/test-u32-cpy-alloc.c: New file.
19281
19282         Tests for module 'unistr/u16-cpy-alloc'.
19283         * modules/unistr/u16-cpy-alloc-tests: New file.
19284         * tests/unistr/test-u16-cpy-alloc.c: New file.
19285
19286         Tests for module 'unistr/u8-cpy-alloc'.
19287         * modules/unistr/u8-cpy-alloc-tests: New file.
19288         * tests/unistr/test-u8-cpy-alloc.c: New file.
19289         * tests/unistr/test-cpy-alloc.h: New file.
19290
19291         Tests for module 'unistr/u32-mbsnlen'.
19292         * modules/unistr/u32-mbsnlen-tests: New file.
19293         * tests/unistr/test-u32-mbsnlen.c: New file.
19294
19295         Tests for module 'unistr/u16-mbsnlen'.
19296         * modules/unistr/u16-mbsnlen-tests: New file.
19297         * tests/unistr/test-u16-mbsnlen.c: New file.
19298
19299         Tests for module 'unistr/u8-mbsnlen'.
19300         * modules/unistr/u8-mbsnlen-tests: New file.
19301         * tests/unistr/test-u8-mbsnlen.c: New file.
19302
19303         Tests for module 'unistr/u32-chr'.
19304         * modules/unistr/u32-chr-tests: New file.
19305         * tests/unistr/test-u32-chr.c: New file.
19306
19307         Tests for module 'unistr/u16-chr'.
19308         * modules/unistr/u16-chr-tests: New file.
19309         * tests/unistr/test-u16-chr.c: New file.
19310
19311         Tests for module 'unistr/u8-chr'.
19312         * modules/unistr/u8-chr-tests: New file.
19313         * tests/unistr/test-u8-chr.c: New file.
19314         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
19315
19316         Tests for module 'unistr/u32-cmp2'.
19317         * modules/unistr/u32-cmp2-tests: New file.
19318         * tests/unistr/test-u32-cmp2.c: New file.
19319
19320         Tests for module 'unistr/u16-cmp2'.
19321         * modules/unistr/u16-cmp2-tests: New file.
19322         * tests/unistr/test-u16-cmp2.c: New file.
19323
19324         Tests for module 'unistr/u8-cmp2'.
19325         * modules/unistr/u8-cmp2-tests: New file.
19326         * tests/unistr/test-u8-cmp2.c: New file.
19327         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
19328
19329         Tests for module 'unistr/u32-cmp'.
19330         * modules/unistr/u32-cmp-tests: New file.
19331         * tests/unistr/test-u32-cmp.c: New file.
19332
19333         Tests for module 'unistr/u16-cmp'.
19334         * modules/unistr/u16-cmp-tests: New file.
19335         * tests/unistr/test-u16-cmp.c: New file.
19336
19337         Tests for module 'unistr/u8-cmp'.
19338         * modules/unistr/u8-cmp-tests: New file.
19339         * tests/unistr/test-u8-cmp.c: New file.
19340         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
19341
19342         Tests for module 'unistr/u32-set'.
19343         * modules/unistr/u32-set-tests: New file.
19344         * tests/unistr/test-u32-set.c: New file.
19345
19346         Tests for module 'unistr/u16-set'.
19347         * modules/unistr/u16-set-tests: New file.
19348         * tests/unistr/test-u16-set.c: New file.
19349
19350         Tests for module 'unistr/u8-set'.
19351         * modules/unistr/u8-set-tests: New file.
19352         * tests/unistr/test-u8-set.c: New file.
19353         * tests/unistr/test-set.h: New file.
19354
19355         Tests for module 'unistr/u32-move'.
19356         * modules/unistr/u32-move-tests: New file.
19357         * tests/unistr/test-u32-move.c: New file.
19358
19359         Tests for module 'unistr/u16-move'.
19360         * modules/unistr/u16-move-tests: New file.
19361         * tests/unistr/test-u16-move.c: New file.
19362
19363         Tests for module 'unistr/u8-move'.
19364         * modules/unistr/u8-move-tests: New file.
19365         * tests/unistr/test-u8-move.c: New file.
19366         * tests/unistr/test-move.h: New file.
19367
19368         Tests for module 'unistr/u32-cpy'.
19369         * modules/unistr/u32-cpy-tests: New file.
19370         * tests/unistr/test-u32-cpy.c: New file.
19371
19372         Tests for module 'unistr/u16-cpy'.
19373         * modules/unistr/u16-cpy-tests: New file.
19374         * tests/unistr/test-u16-cpy.c: New file.
19375
19376         Tests for module 'unistr/u8-cpy'.
19377         * modules/unistr/u8-cpy-tests: New file.
19378         * tests/unistr/test-u8-cpy.c: New file.
19379         * tests/unistr/test-cpy.h: New file.
19380
19381 2010-01-09  Bruno Haible  <bruno@clisp.org>
19382
19383         Tests for module 'unistr/u32-uctomb'.
19384         * modules/unistr/u32-uctomb-tests: New file.
19385         * tests/unistr/test-u32-uctomb.c: New file.
19386
19387         Tests for module 'unistr/u16-uctomb'.
19388         * modules/unistr/u16-uctomb-tests: New file.
19389         * tests/unistr/test-u16-uctomb.c: New file.
19390
19391         Tests for module 'unistr/u8-uctomb'.
19392         * modules/unistr/u8-uctomb-tests: New file.
19393         * tests/unistr/test-u8-uctomb.c: New file.
19394
19395         Tests for module 'unistr/u32-mbtoucr'.
19396         * modules/unistr/u32-mbtoucr-tests: New file.
19397         * tests/unistr/test-u32-mbtoucr.c: New file.
19398
19399         Tests for module 'unistr/u16-mbtoucr'.
19400         * modules/unistr/u16-mbtoucr-tests: New file.
19401         * tests/unistr/test-u16-mbtoucr.c: New file.
19402
19403         Tests for module 'unistr/u8-mbtoucr'.
19404         * modules/unistr/u8-mbtoucr-tests: New file.
19405         * tests/unistr/test-u8-mbtoucr.c: New file.
19406
19407         Tests for module 'unistr/u32-mbtouc'.
19408         * modules/unistr/u32-mbtouc-tests: New file.
19409         * tests/unistr/test-u32-mbtouc.c: New file.
19410
19411         Tests for module 'unistr/u16-mbtouc'.
19412         * modules/unistr/u16-mbtouc-tests: New file.
19413         * tests/unistr/test-u16-mbtouc.c: New file.
19414
19415         Tests for module 'unistr/u8-mbtouc'.
19416         * modules/unistr/u8-mbtouc-tests: New file.
19417         * tests/unistr/test-u8-mbtouc.c: New file.
19418
19419         Tests for module 'unistr/u32-mbtouc-unsafe'.
19420         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
19421         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
19422         * tests/unistr/test-u32-mbtouc.h: New file.
19423
19424         Tests for module 'unistr/u16-mbtouc-unsafe'.
19425         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
19426         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
19427         * tests/unistr/test-u16-mbtouc.h: New file.
19428
19429         Tests for module 'unistr/u8-mbtouc-unsafe'.
19430         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
19431         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
19432         * tests/unistr/test-u8-mbtouc.h: New file.
19433
19434         Tests for module 'unistr/u32-mblen'.
19435         * modules/unistr/u32-mblen-tests: New file.
19436         * tests/unistr/test-u32-mblen.c: New file.
19437
19438         Tests for module 'unistr/u16-mblen'.
19439         * modules/unistr/u16-mblen-tests: New file.
19440         * tests/unistr/test-u16-mblen.c: New file.
19441
19442         Tests for module 'unistr/u8-mblen'.
19443         * modules/unistr/u8-mblen-tests: New file.
19444         * tests/unistr/test-u8-mblen.c: New file.
19445
19446         Tests for module 'unistr/u32-to-u16'.
19447         * modules/unistr/u32-to-u16-tests: New file.
19448         * tests/unistr/test-u32-to-u16.c: New file.
19449
19450         Tests for module 'unistr/u32-to-u8'.
19451         * modules/unistr/u32-to-u8-tests: New file.
19452         * tests/unistr/test-u32-to-u8.c: New file.
19453
19454         Tests for module 'unistr/u16-to-u32'.
19455         * modules/unistr/u16-to-u32-tests: New file.
19456         * tests/unistr/test-u16-to-u32.c: New file.
19457
19458         Tests for module 'unistr/u16-to-u8'.
19459         * modules/unistr/u16-to-u8-tests: New file.
19460         * tests/unistr/test-u16-to-u8.c: New file.
19461
19462         Tests for module 'unistr/u8-to-u32'.
19463         * modules/unistr/u8-to-u32-tests: New file.
19464         * tests/unistr/test-u8-to-u32.c: New file.
19465
19466         Tests for module 'unistr/u8-to-u16'.
19467         * modules/unistr/u8-to-u16-tests: New file.
19468         * tests/unistr/test-u8-to-u16.c: New file.
19469
19470         Tests for module 'unistr/u32-check'.
19471         * modules/unistr/u32-check-tests: New file.
19472         * tests/unistr/test-u32-check.c: New file.
19473
19474         Tests for module 'unistr/u16-check'.
19475         * modules/unistr/u16-check-tests: New file.
19476         * tests/unistr/test-u16-check.c: New file.
19477
19478         Tests for module 'unistr/u8-check'.
19479         * modules/unistr/u8-check-tests: New file.
19480         * tests/unistr/test-u8-check.c: New file.
19481
19482         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
19483         (category_equals): New function.
19484         (main): Add more tests.
19485         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
19486
19487         * tests/unictype/test-bidi_byname.c (main): Add more tests.
19488
19489 2010-01-10  Bruno Haible  <bruno@clisp.org>
19490
19491         unistr/u*-strcoll: Try harder to distinguish different strings.
19492         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
19493         compare s1 and s2 to see if they are different.
19494
19495 2010-01-10  Bruno Haible  <bruno@clisp.org>
19496
19497         unistr/u*-stpncpy: Fix the return value.
19498         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
19499         description of the return value consistent with stpncpy in glibc.
19500         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
19501         written non-NUL unit.
19502
19503 2010-01-10  Bruno Haible  <bruno@clisp.org>
19504
19505         unistr/u*-next: Add missing dependencies.
19506         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
19507         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
19508         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
19509
19510 2010-01-10  Bruno Haible  <bruno@clisp.org>
19511
19512         unistr/u8-mbsnlen: Fix return value for incomplete character.
19513         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
19514         u8_mblen.
19515         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
19516         Remove unistr/u8-mblen.
19517         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
19518         u16_mblen.
19519         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
19520         Remove unistr/u16-mblen.
19521
19522 2010-01-10  Bruno Haible  <bruno@clisp.org>
19523
19524         wchar: Fix compilation error when <wchar.h> is used from coreutils.
19525         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
19526         Reported by Brian Gough <bjg@gnu.org> and
19527         Chris Clayton <chris2553@googlemail.com> via
19528         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
19529
19530 2010-01-09  Bruno Haible  <bruno@clisp.org>
19531
19532         unistr/u16-to-u32: Reject invalid input.
19533         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
19534         u16_mbtouc.
19535         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
19536         Remove unistr/u16-mbtouc.
19537
19538         unistr/u16-to-u8: Reject invalid input.
19539         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
19540         u16_mbtouc.
19541         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
19542         Remove unistr/u16-mbtouc.
19543
19544         unistr/u8-to-u32: Reject invalid input.
19545         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
19546         u8_mbtouc.
19547         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
19548         Remove unistr/u8-mbtouc.
19549
19550         unistr/u8-to-u16: Reject invalid input.
19551         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
19552         u8_mbtouc.
19553         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
19554         Remove unistr/u8-mbtouc.
19555
19556 2010-01-09  Bruno Haible  <bruno@clisp.org>
19557
19558         Tests for module 'getlogin'.
19559         * modules/getlogin-tests: New file.
19560         * tests/test-getlogin.c: New file.
19561
19562         New module 'getlogin'.
19563         * lib/unistd.in.h (getlogin): New declaration.
19564         * lib/getlogin.c: New file.
19565         * m4/getlogin.m4: New file.
19566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
19567         HAVE_GETLOGIN.
19568         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
19569         HAVE_GETLOGIN.
19570         * modules/getlogin: New file.
19571         * doc/posix-functions/getlogin.texi: Mention the new module.
19572         Reported by John W. Eaton <jwe@gnu.org>.
19573
19574 2010-01-09  Bruno Haible  <bruno@clisp.org>
19575
19576         getlogin_r: Support for native Windows.
19577         * lib/getlogin_r.c: Include <windows.h>
19578         (getlogin_r): Implement for native Windows.
19579         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
19580         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
19581         via John W. Eaton <jwe@gnu.org>.
19582
19583 2010-01-09  Bruno Haible  <bruno@clisp.org>
19584
19585         getlogin_r: Small fixes.
19586         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
19587         succeeds.
19588         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
19589         before testing whether getlogin_r is declared. No need to set
19590         HAVE_DECL_GETLOGIN_R to 1.
19591         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
19592
19593 2010-01-09  Bruno Haible  <bruno@clisp.org>
19594
19595         * lib/unistd.in.h (getlogin_r): Add comment.
19596
19597 2010-01-09  Bruno Haible  <bruno@clisp.org>
19598
19599         Tests for module 'getlogin_r'.
19600         * modules/getlogin_r-tests: New file.
19601         * tests/test-getlogin_r.c: New file.
19602
19603 2010-01-09  Jim Meyering  <meyering@redhat.com>
19604
19605         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
19606         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
19607         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
19608
19609 2010-01-08  Simon Josefsson  <simon@josefsson.org>
19610
19611         * lib/dup2.c (rpl_dup2): Improve comment.
19612
19613 2010-01-08  Eric Blake  <ebb9@byu.net>
19614
19615         maint.mk: allow packages to add makefile @@ exceptions
19616         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
19617         (sc_makefile_check): Rename...
19618         (sc_makefile_at_at_check): ...to this, and use hook.
19619
19620         dup2: work around mingw bug
19621         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
19622         Reported by Simon Josefsson.
19623
19624 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
19625
19626         glob: Fix C++ compilation.
19627         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
19628         C++.
19629
19630 2010-01-07  Bruno Haible  <bruno@clisp.org>
19631
19632         Fix indentation of wctype.in.h, broken since 2007-01-06.
19633         * lib/wctype.in.h: Fix indentation of preprocessor directives.
19634
19635 2010-01-07  Bruno Haible  <bruno@clisp.org>
19636
19637         mbslen: Avoid collision with system function.
19638         * lib/string.in.h [MirBSD]: Include <wchar.h>.
19639         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
19640         * m4/mbslen.m4: New file.
19641         * modules/mbslen (Files): Add it.
19642         (configure.ac): Invoke gl_MBSLEN.
19643         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
19644         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
19645         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
19646         via Ian Beckwith <ianb@erislabs.net>.
19647
19648 2010-01-07  Bruno Haible  <bruno@clisp.org>
19649
19650         dirent: Document the last fix.
19651         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
19652
19653 2010-01-07  Bruno Haible  <bruno@clisp.org>
19654
19655         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
19656         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
19657         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
19658         va_list are defined.
19659         * doc/posix-headers/stdio.texi: Document the bug of missing types.
19660         Reported by Eric Blake.
19661
19662 2010-01-07  Bruno Haible  <bruno@clisp.org>
19663
19664         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
19665         * modules/xlist (Depends-on): Add 'list',
19666         * modules/xoset (Depends-on): Add 'oset'.
19667         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19668
19669 2010-01-07  Bruno Haible  <bruno@clisp.org>
19670
19671         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
19672         * doc/posix-functions/strncasecmp.texi: Likewise.
19673
19674 2010-01-07  Bruno Haible  <bruno@clisp.org>
19675
19676         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
19677
19678 2010-01-07  John W. Eaton  <jwe@octave.org>
19679
19680         wctype: allow C++ use
19681         * lib/wctype.in.h: Add extern "C" block for C++.
19682
19683 2010-01-06  Eric Blake  <ebb9@byu.net>
19684
19685         maint.mk: detect incorrect GFDL usage
19686         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
19687
19688 2010-01-06  Jim Meyering  <meyering@redhat.com>
19689         and Eric Blake  <ebb9@byu.net>
19690
19691         maint.mk: ignore multi-line copyright in NEWS
19692         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
19693
19694 2010-01-06  Eric Blake  <ebb9@byu.net>
19695
19696         select: add missing dependency
19697         * modules/select-tests (Depends-on): Move sockets dependency...
19698         * modules/select (Depends-on): ...here.
19699         Reported by Ian Beckwith.
19700
19701         doc: regenerate INSTALL
19702         * doc/INSTALL: Reflect recent autoconf update.
19703         * doc/INSTALL.ISO: Likewise.
19704         * doc/INSTALL.UTF-8: Likewise.
19705
19706         pread: fix compilation on glibc
19707         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
19708         Reported by Ralf Wildenhues.
19709
19710         dirent: fix test failure
19711         * lib/dirent.in.h (includes): Guarantee ino_t.
19712         Reported by Ralf Wildenhues.
19713
19714 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
19715
19716         linkat, renameat: avoid bad free
19717         * lib/at-func2.c (at_func2): Fix typo.
19718         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
19719
19720 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19721
19722         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
19723         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
19724         to avoid failure of symlink test later.
19725
19726 2010-01-06  Eric Blake  <ebb9@byu.net>
19727
19728         stdio, unistd: guarantee ssize_t
19729         * lib/unistd.in.h (includes): Ensure that types required by POSIX
19730         2008 are exposed when needed.
19731         * lib/stdio.in.h (includes): Likewise.
19732         Reported by Ralf Wildenhues.
19733
19734 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
19735
19736         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
19737         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
19738         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
19739
19740 2010-01-06  Jim Meyering  <meyering@redhat.com>
19741
19742         readtokens: this module *does* require xalloc.h
19743         It uses only functions that were omitted by the old syntax-check rule.
19744         * lib/readtokens.c: Include "xalloc.h" once again.
19745         * modules/readtokens (Depends-on): Add xalloc.
19746         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
19747
19748 2010-01-05  Eric Blake  <ebb9@byu.net>
19749
19750         maint: support 'make announcement' from a VPATH build
19751         * top/maint.mk (announcement): Look for correct NEWS file.
19752
19753 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
19754
19755         utimens (fdutimens): ignore a negative FD, per contract
19756         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
19757         when we have a valid file descriptor.  Otherwise, using a brand
19758         new glibc (with just-patched futimens that now fails with EBADF)
19759         would cause this function to fail with ENOSYS.
19760         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
19761         See also http://bugzilla.redhat.com/552320.
19762
19763 2010-01-05  Eric Blake  <ebb9@byu.net>
19764
19765         strcase: document what it provides
19766         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
19767         gnulib module.
19768         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
19769         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
19770
19771 2010-01-05  Jim Meyering  <meyering@redhat.com>
19772
19773         maint: remove useless inclusions of "xalloc.h"
19774         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
19775         * lib/readtokens.c: Likewise.
19776         * lib/same.c: Likewise.
19777         * modules/getloadavg (Depends-on): Remove xalloc.
19778         * modules/readtokens: Likewise.
19779         * modules/same: Likewise.
19780
19781         maint.mk: include 4 more function names in alloca.h-checking regexp
19782         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
19783         regexp.  Before, we would give a false-positive (saying alloca.h
19784         is included unnecessarily) when the only uses involved omitted symbols.
19785
19786         xalloc.h: use consistent formatting
19787         * lib/xalloc.h: Move declarations to start in the first column.
19788
19789 2010-01-05  Eric Blake  <ebb9@byu.net>
19790
19791         mkdir: avoid xalloc
19792         * lib/mkdir.c (includes): Drop unused header.
19793         Reported by John W. Eaton.
19794
19795 2010-01-04  Jim Meyering  <meyering@redhat.com>
19796
19797         nl_langinfo: avoid configure-time syntax error
19798         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
19799         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
19800         the empty string.  Don't let that provoke a shell syntax error.
19801
19802         regcomp, regexec, fnmatch: avoid array bounds read error
19803         * lib/regcomp.c (build_equiv_class): From glibc:
19804         Use only the low 24 bits of a findidx return value as an index
19805         into the weights array.  Patch by Ulrich Drepper:
19806         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
19807         * lib/regexec.c (check_node_accept_bytes): Likewise.
19808         * lib/fnmatch_loop.c (FCT): Likewise.
19809
19810         regcomp: skip collseq lookup when there are no rules
19811         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
19812         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
19813
19814         regcomp: recognize ill-formed { } expressions
19815         * lib/regcomp.c (parse_dup_op): From glibc:
19816         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
19817
19818         regcomp: fix typo in comment
19819         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
19820         s/satisfy/satisfies/.
19821
19822         regcomp: sync from glibc: remove dead store
19823         * lib/regcomp.c (duplicate_node_closure): Remove useless
19824         search_duplicated_node call and dead store.
19825
19826         regcomp: sync from glibc; always use nl_langinfo
19827         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
19828         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
19829         * modules/regex (Depends-on): Add nl_langinfo.
19830
19831 2010-01-04  Eric Blake  <ebb9@byu.net>
19832
19833         fdopendir: fix configure test
19834         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
19835
19836 2010-01-01  Bruno Haible  <bruno@clisp.org>
19837
19838         wchar: Remove unused configure check.
19839         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
19840
19841 2010-01-01  Eric Blake  <ebb9@byu.net>
19842
19843         headers: make check of system header explicit
19844         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
19845         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
19846         ourselves.
19847         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19848         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19849         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
19850         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
19851         internals.
19852         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
19853         missing.
19854         Suggested by Bruno Haible.
19855
19856 2010-01-01  Jim Meyering  <meyering@redhat.com>
19857
19858         ChangeLog: tweak to eliminate unnecessary copyright line
19859         * ChangeLog: Remove a copyright line that was mistakenly updated
19860         by today's update-copyright run.  Reported by Eric Blake.
19861
19862         test-update-copyright: don't let envvar setting cause test failure
19863         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19864
19865 2010-01-01  Bruno Haible  <bruno@clisp.org>
19866
19867         localename: Avoid gcc warning.
19868         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
19869         function if it is not used.
19870
19871 2010-01-01  Jim Meyering  <meyering@redhat.com>
19872
19873         update nearly all FSF copyright year lists to include 2010
19874         Use the same procedure as for 2009, outlined in
19875         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
19876
19877         version-etc: set COPYRIGHT_YEAR to 2010
19878         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
19879
19880 2009-12-31  Eric Blake  <ebb9@byu.net>
19881
19882         doc: correct availability of cygwin 1.5.x getopt
19883         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
19884         variables.
19885         * doc/posix-functions/opterr.texi (opterr): Likewise.
19886         * doc/posix-functions/optind.texi (optind): Likewise.
19887         * doc/posix-functions/optopt.texi (optopt): Likewise.
19888         * doc/posix-functions/tzname.texi (tzname): Likewise.
19889
19890         openat: update maintainer
19891         * modules/openat (Maintainer): Add myself.
19892
19893         utimens: avoid shadowing warning
19894         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
19895         buffers into one, to avoid shadowing, as well as avoiding a
19896         redundant stat.
19897         Reported by Jim Meyering.
19898
19899         test-dup2: avoid compiler warning
19900         * tests/test-dup2.c (is_inheritable): Only define if used.
19901
19902 2010-01-01  Bruno Haible  <bruno@clisp.org>
19903
19904         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
19905         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
19906         defined, use wctomb instead of wcrtomb.
19907
19908 2010-01-01  Bruno Haible  <bruno@clisp.org>
19909
19910         iconv: Reject native Solaris iconv.
19911         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
19912         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
19913
19914 2009-12-31  Bruno Haible  <bruno@clisp.org>
19915
19916         * tests/test-signal.c (main): Remove test of 'SIG'.
19917
19918 2009-12-31  Bruno Haible  <bruno@clisp.org>
19919
19920         spawn: Fix incomplete fix.
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 again.
19924         Reported by Eric Blake.
19925
19926 2009-12-31  Bruno Haible  <bruno@clisp.org>
19927
19928         Avoid namespace pollution on glibc systems.
19929         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
19930         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
19931         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
19932         glibc systems.
19933
19934 2009-12-31  Bruno Haible  <bruno@clisp.org>
19935
19936         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
19937         (gl_REPLACE_WCHAR_H): Turn into a no-op.
19938         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
19939         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
19940         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
19941         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
19942         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
19943
19944 2009-12-31  Bruno Haible  <bruno@clisp.org>
19945
19946         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
19947         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
19948         afterwards.
19949
19950 2009-12-31  Bruno Haible  <bruno@clisp.org>
19951
19952         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
19953         SYS_UTSNAME_H.
19954
19955 2009-12-31  Bruno Haible  <bruno@clisp.org>
19956
19957         spawn: Fix misapplied patch.
19958         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19959         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19960         warnings for GNULIB_POSIXCHECK.
19961
19962 2009-12-31  Bruno Haible  <bruno@clisp.org>
19963
19964         times: Update after sys_times changed.
19965         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
19966         * modules/times (Files): Add it.
19967         (configure.ac): Invoke gl_FUNC_TIMES.
19968
19969 2009-12-31  Bruno Haible  <bruno@clisp.org>
19970
19971         Use AC_C_INLINE where necessary.
19972         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
19973         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
19974         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
19975         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
19976         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19977         * m4/mbiter.m4 (gl_MBITER): Likewise.
19978         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
19979         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19980         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
19981         * modules/u64 (configure.ac): Likewise.
19982
19983 2009-12-31  Bruno Haible  <bruno@clisp.org>
19984
19985         Use AC_C_INLINE instead of module 'inline' where possible.
19986         * modules/inline (Description): Clarify purpose.
19987         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
19988         * modules/count-one-bits (Depends-on): Remove inline.
19989         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
19990         * modules/openat (Depends-on): Remove inline.
19991         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
19992         instead of depending on module 'inline'.
19993         * modules/filevercmp (Depends-on, configure.ac): Likewise.
19994         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
19995         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
19996         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
19997         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
19998         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
19999         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
20000         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
20001         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
20002         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
20003         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
20004         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
20005         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
20006         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
20007         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
20008         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
20009         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
20010         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
20011         Likewise.
20012         * modules/unictype/property-ascii-hex-digit (Depends-on,
20013         configure.ac): Likewise.
20014         * modules/unictype/property-bidi-arabic-digit (Depends-on,
20015         configure.ac): Likewise.
20016         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
20017         configure.ac): Likewise.
20018         * modules/unictype/property-bidi-block-separator (Depends-on,
20019         configure.ac): Likewise.
20020         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
20021         configure.ac): Likewise.
20022         * modules/unictype/property-bidi-common-separator (Depends-on,
20023         configure.ac): Likewise.
20024         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
20025         Likewise.
20026         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
20027         configure.ac): Likewise.
20028         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
20029         configure.ac): Likewise.
20030         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
20031         configure.ac): Likewise.
20032         * modules/unictype/property-bidi-european-digit (Depends-on,
20033         configure.ac): Likewise.
20034         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
20035         configure.ac): Likewise.
20036         * modules/unictype/property-bidi-left-to-right (Depends-on,
20037         configure.ac): Likewise.
20038         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
20039         configure.ac): Likewise.
20040         * modules/unictype/property-bidi-other-neutral (Depends-on,
20041         configure.ac): Likewise.
20042         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
20043         Likewise.
20044         * modules/unictype/property-bidi-segment-separator (Depends-on,
20045         configure.ac): Likewise.
20046         * modules/unictype/property-bidi-whitespace (Depends-on,
20047         configure.ac): Likewise.
20048         * modules/unictype/property-combining (Depends-on, configure.ac):
20049         Likewise.
20050         * modules/unictype/property-composite (Depends-on, configure.ac):
20051         Likewise.
20052         * modules/unictype/property-currency-symbol (Depends-on,
20053         configure.ac): Likewise.
20054         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
20055         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
20056         Likewise.
20057         * modules/unictype/property-default-ignorable-code-point (Depends-on,
20058         configure.ac): Likewise.
20059         * modules/unictype/property-deprecated (Depends-on, configure.ac):
20060         Likewise.
20061         * modules/unictype/property-diacritic (Depends-on, configure.ac):
20062         Likewise.
20063         * modules/unictype/property-extender (Depends-on, configure.ac):
20064         Likewise.
20065         * modules/unictype/property-format-control (Depends-on, configure.ac):
20066         Likewise.
20067         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
20068         Likewise.
20069         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
20070         Likewise.
20071         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
20072         Likewise.
20073         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
20074         Likewise.
20075         * modules/unictype/property-hyphen (Depends-on, configure.ac):
20076         Likewise.
20077         * modules/unictype/property-id-continue (Depends-on, configure.ac):
20078         Likewise.
20079         * modules/unictype/property-id-start (Depends-on, configure.ac):
20080         Likewise.
20081         * modules/unictype/property-ideographic (Depends-on, configure.ac):
20082         Likewise.
20083         * modules/unictype/property-ids-binary-operator (Depends-on,
20084         configure.ac): Likewise.
20085         * modules/unictype/property-ids-trinary-operator (Depends-on,
20086         configure.ac): Likewise.
20087         * modules/unictype/property-ignorable-control (Depends-on,
20088         configure.ac): Likewise.
20089         * modules/unictype/property-iso-control (Depends-on, configure.ac):
20090         Likewise.
20091         * modules/unictype/property-join-control (Depends-on, configure.ac):
20092         Likewise.
20093         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
20094         Likewise.
20095         * modules/unictype/property-line-separator (Depends-on, configure.ac):
20096         Likewise.
20097         * modules/unictype/property-logical-order-exception (Depends-on,
20098         configure.ac): Likewise.
20099         * modules/unictype/property-lowercase (Depends-on, configure.ac):
20100         Likewise.
20101         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
20102         * modules/unictype/property-non-break (Depends-on, configure.ac):
20103         Likewise.
20104         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
20105         Likewise.
20106         * modules/unictype/property-numeric (Depends-on, configure.ac):
20107         Likewise.
20108         * modules/unictype/property-other-alphabetic (Depends-on,
20109         configure.ac): Likewise.
20110         * modules/unictype/property-other-default-ignorable-code-point
20111         (Depends-on, configure.ac): Likewise.
20112         * modules/unictype/property-other-grapheme-extend (Depends-on,
20113         configure.ac): Likewise.
20114         * modules/unictype/property-other-id-continue (Depends-on,
20115         configure.ac): Likewise.
20116         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
20117         Likewise.
20118         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
20119         Likewise.
20120         * modules/unictype/property-other-math (Depends-on, configure.ac):
20121         Likewise.
20122         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
20123         Likewise.
20124         * modules/unictype/property-paired-punctuation (Depends-on,
20125         configure.ac): Likewise.
20126         * modules/unictype/property-paragraph-separator (Depends-on,
20127         configure.ac): Likewise.
20128         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
20129         Likewise.
20130         * modules/unictype/property-pattern-white-space (Depends-on,
20131         configure.ac): Likewise.
20132         * modules/unictype/property-private-use (Depends-on, configure.ac):
20133         Likewise.
20134         * modules/unictype/property-punctuation (Depends-on, configure.ac):
20135         Likewise.
20136         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
20137         Likewise.
20138         * modules/unictype/property-radical (Depends-on, configure.ac):
20139         Likewise.
20140         * modules/unictype/property-sentence-terminal (Depends-on,
20141         configure.ac): Likewise.
20142         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
20143         Likewise.
20144         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
20145         * modules/unictype/property-terminal-punctuation (Depends-on,
20146         configure.ac): Likewise.
20147         * modules/unictype/property-titlecase (Depends-on, configure.ac):
20148         Likewise.
20149         * modules/unictype/property-unassigned-code-value (Depends-on,
20150         configure.ac): Likewise.
20151         * modules/unictype/property-unified-ideograph (Depends-on,
20152         configure.ac): Likewise.
20153         * modules/unictype/property-uppercase (Depends-on, configure.ac):
20154         Likewise.
20155         * modules/unictype/property-variation-selector (Depends-on,
20156         configure.ac): Likewise.
20157         * modules/unictype/property-white-space (Depends-on, configure.ac):
20158         Likewise.
20159         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
20160         Likewise.
20161         * modules/unictype/property-xid-start (Depends-on, configure.ac):
20162         Likewise.
20163         * modules/unictype/property-zero-width (Depends-on, configure.ac):
20164         Likewise.
20165         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
20166         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
20167         Likewise.
20168
20169 2009-12-31  Bruno Haible  <bruno@clisp.org>
20170
20171         Remove unnecessary AC_C_INLINE invocation.
20172         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
20173         since 2009-08-21.
20174
20175 2009-12-31  Jim Meyering  <meyering@redhat.com>
20176
20177         maint.mk: don't require explicit gpg_key_ID in cfg.mk
20178         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
20179         With this change, we can all remove the gpg_key_ID = ... definition
20180         from our respective cfg.mk files.
20181
20182         maint.mk: create announcement template in ~/, not in /tmp
20183         * top/maint.mk (emit_upload_commands): Adjust.
20184         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
20185         Remove temporary file, .ci-msg.
20186
20187 2009-12-31  Eric Blake  <ebb9@byu.net>
20188
20189         link-warning: always build headers with link warnings
20190         * modules/arpa_inet (Makefile.am): Always build replacement
20191         header.
20192         * modules/ctype (Makefile.am): Likewise.
20193         * modules/dirent (Makefile.am): Likewise.
20194         * modules/inttypes (Makefile.am): Likewise.
20195         * modules/langinfo (Makefile.am): Likewise.
20196         * modules/locale (Makefile.am): Likewise.
20197         * modules/spawn (Makefile.am): Likewise.
20198         * modules/sys_file (Makefile.am): Likewise.
20199         * modules/sys_ioctl (Makefile.am): Likewise.
20200         * modules/sys_select (Makefile.am): Likewise.
20201         * modules/sys_socket (Makefile.am): Likewise.
20202         * modules/sys_times (Makefile.am): Likewise.
20203         * modules/sys_utsname (Makefile.am): Likewise.
20204         * modules/sys_wait (Makefile.am): Likewise.
20205         * modules/wchar (Makefile.am): Likewise.
20206         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
20207         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
20208         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
20209         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
20210         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
20211         Likewise.
20212         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
20213         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
20214         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
20215         Likewise.
20216         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
20217         Likewise.
20218         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
20219         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
20220         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
20221         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20222         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20223         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20224         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20225         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
20226         (gl_WCHAR_H_DEFAULTS): Likewise.
20227
20228 2009-12-31  Eric Blake  <ebb9@byu.net>
20229
20230         signal, spawn: use link warnings
20231         * lib/signal.in.h (sigset_t): Make unconditional.
20232         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
20233         (sigpending, sigprocmask, sigaction): Add link warnings.
20234         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
20235         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
20236         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
20237         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
20238         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
20239         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
20240         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
20241         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
20242         (posix_spawn_file_actions_destroy)
20243         (posix_spawn_file_actions_addopen)
20244         (posix_spawn_file_actions_addclose)
20245         (posix_spawn_file_actions_adddup2): Likewise.
20246         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
20247         * tests/test-signal.c (main): Enhance test.
20248
20249         spawn: improve wrapper support
20250         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
20251         (gl_SPAWN_H_DEFAULTS): New defaults.
20252         * modules/spawn (Makefile.am): Substitute them.
20253         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
20254         Only declare if missing or broken.
20255
20256         sys_times, sys_utsname: use include_next
20257         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
20258         header.
20259         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
20260         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
20261         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
20262         * modules/sys_times (Depends-on): Add include_next.
20263         (Makefile.am): Substitute additional values.
20264         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
20265         * lib/sys_times.in.h (includes): Include native header, if
20266         available.
20267         * lib/sys_utsname.in.h (includes): Likewise.
20268         * tests/test-sys_times.c (main): Enhance test.
20269
20270         fdutimensat: revert prior patch
20271         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
20272         utimens.h.
20273         Reported by Bruno Haible.
20274
20275 2009-12-30  Eric Blake  <ebb9@byu.net>
20276
20277         sys_wait: drop link-warning dependency
20278         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
20279         link-warning efforts.
20280         * lib/sys_wait.in.h: Likewise.
20281
20282         fdutimensat: remove bogus dependency
20283         * modules/fdutimensat (Depends-on): Drop inline.
20284
20285         unistd: fix typo
20286         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
20287
20288 2009-12-30  Bruno Haible  <bruno@clisp.org>
20289
20290         Fix compilation error with Solaris cc.
20291         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
20292         * lib/unicase/u16-is-invariant.c: Likewise.
20293         * lib/unicase/u32-is-invariant.c: Likewise.
20294         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
20295
20296 2009-12-30  Bruno Haible  <bruno@clisp.org>
20297
20298         Fix test crash.
20299         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
20300         locales.
20301         Reported by Simon Josefsson <simon@josefsson.org>.
20302
20303 2009-12-30  Bruno Haible  <bruno@clisp.org>
20304
20305         Fix compilation error on most platforms.
20306         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
20307         Reported by Simon Josefsson <simon@josefsson.org>
20308         and Nelson H. F. Beebe <beebe@math.utah.edu>.
20309
20310 2009-12-30  Eric Blake  <ebb9@byu.net>
20311
20312         futimens, utimensat: work around ntfs-3g bug
20313         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
20314         a ctime bug is present, and expand workaround to cover ntfs-3g.
20315         * lib/utimens.c (fdutimens, lutimens): Likewise.
20316         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
20317         (validate_timespec): Adjust return value.
20318         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
20319         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20320         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
20321
20322 2009-12-29  Eric Blake  <ebb9@byu.net>
20323
20324         link-warning: make usage consistent
20325         * modules/ctype (Depends-on): Add link-warning.
20326         (Makefile.am): Update rules accordingly.
20327         * modules/langinfo (Depends-on, Makefile.am): Likewise.
20328         * modules/locale (Depends-on, Makefile.am): Likewise.
20329         * modules/sys_file (Makefile.am): Likewise.
20330         * modules/getopt-posix (Makefile.am): Delete unused link warning
20331         efforts.
20332         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
20333         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
20334         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
20335         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
20336
20337         stdio: remove unused variables
20338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
20339         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
20340         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
20341
20342         tests: test more substitute headers
20343         * modules/ctype-tests: New file.
20344         * modules/dirent-tests: Likewise.
20345         * modules/spawn-tests: Likewise.
20346         * modules/sys_file-tests: Likewise.
20347         * modules/sys_ioctl-tests: Likewise.
20348         * modules/sys_wait-tests: Likewise.
20349         * tests/test-ctype.c: Likewise.
20350         * tests/test-dirent.c: Likewise.
20351         * tests/test-spawn.c: Likewise.
20352         * tests/test-sys_file.c: Likewise.
20353         * tests/test-sys_ioctl.c: Likewise.
20354         * tests/test-sys_wait.c: Likewise.
20355         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
20356         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
20357         whether or not flock is in use.
20358
20359         tests: remove License section from module
20360         * modules/arpa_inet-tests: Remove unneeded section.
20361         * modules/byteswap-tests: Likewise.
20362         * modules/ceilf-tests: Likewise.
20363         * modules/ceill-tests: Likewise.
20364         * modules/crypto/des-tests: Likewise.
20365         * modules/crypto/gc-arcfour-tests: Likewise.
20366         * modules/crypto/gc-arctwo-tests: Likewise.
20367         * modules/crypto/gc-des-tests: Likewise.
20368         * modules/crypto/gc-hmac-md5-tests: Likewise.
20369         * modules/crypto/gc-hmac-sha1-tests: Likewise.
20370         * modules/crypto/gc-md2-tests: Likewise.
20371         * modules/crypto/gc-md4-tests: Likewise.
20372         * modules/crypto/gc-md5-tests: Likewise.
20373         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
20374         * modules/crypto/gc-rijndael-tests: Likewise.
20375         * modules/crypto/gc-sha1-tests: Likewise.
20376         * modules/crypto/gc-tests: Likewise.
20377         * modules/crypto/md2-tests: Likewise.
20378         * modules/crypto/md4-tests: Likewise.
20379         * modules/fcntl-h-tests: Likewise.
20380         * modules/floorf-tests: Likewise.
20381         * modules/floorl-tests: Likewise.
20382         * modules/frexp-nolibm-tests: Likewise.
20383         * modules/frexp-tests: Likewise.
20384         * modules/frexpl-nolibm-tests: Likewise.
20385         * modules/frexpl-tests: Likewise.
20386         * modules/getaddrinfo-tests: Likewise.
20387         * modules/inttypes-tests: Likewise.
20388         * modules/isfinite-tests: Likewise.
20389         * modules/isinf-tests: Likewise.
20390         * modules/ldexpl-tests: Likewise.
20391         * modules/locale-tests: Likewise.
20392         * modules/math-tests: Likewise.
20393         * modules/netdb-tests: Likewise.
20394         * modules/netinet_in-tests: Likewise.
20395         * modules/printf-frexp-tests: Likewise.
20396         * modules/printf-frexpl-tests: Likewise.
20397         * modules/priv-set-tests: Likewise.
20398         * modules/random_r-tests: Likewise.
20399         * modules/round-tests: Likewise.
20400         * modules/roundf-tests: Likewise.
20401         * modules/roundl-tests: Likewise.
20402         * modules/search-tests: Likewise.
20403         * modules/select-tests: Likewise.
20404         * modules/signal-tests: Likewise.
20405         * modules/stdbool-tests: Likewise.
20406         * modules/stddef-tests: Likewise.
20407         * modules/stdint-tests: Likewise.
20408         * modules/stdio-tests: Likewise.
20409         * modules/stdlib-tests: Likewise.
20410         * modules/string-tests: Likewise.
20411         * modules/strings-tests: Likewise.
20412         * modules/sys_select-tests: Likewise.
20413         * modules/sys_socket-tests: Likewise.
20414         * modules/sys_stat-tests: Likewise.
20415         * modules/sys_time-tests: Likewise.
20416         * modules/sys_utsname-tests: Likewise.
20417         * modules/sysexits-tests: Likewise.
20418         * modules/time-tests: Likewise.
20419         * modules/trunc-tests: Likewise.
20420         * modules/truncf-tests: Likewise.
20421         * modules/truncl-tests: Likewise.
20422         * modules/tsearch-tests: Likewise.
20423         * modules/unistd-tests: Likewise.
20424         * modules/wchar-tests: Likewise.
20425         * modules/wctype-tests: Likewise.
20426
20427         tests: fix license on several tests
20428         * tests/test-des.c: Update to GPLv3+.
20429         * tests/test-flock.c: Likewise.
20430         * tests/test-fsync.c: Likewise.
20431         * tests/test-futimens.h: Likewise.
20432         * tests/test-gc-arcfour.c: Likewise.
20433         * tests/test-gc-arctwo.c: Likewise.
20434         * tests/test-gc-des.c: Likewise.
20435         * tests/test-gc-hmac-md5.c: Likewise.
20436         * tests/test-gc-hmac-sha1.c: Likewise.
20437         * tests/test-gc-md2.c: Likewise.
20438         * tests/test-gc-md4.c: Likewise.
20439         * tests/test-gc-md5.c: Likewise.
20440         * tests/test-gc-pbkdf2-sha1.c: Likewise.
20441         * tests/test-gc-rijndael.c: Likewise.
20442         * tests/test-gc-sha1.c: Likewise.
20443         * tests/test-gc.c: Likewise.
20444         * tests/test-getcwd.c: Likewise.
20445         * tests/test-link.c: Likewise.
20446         * tests/test-link.h: Likewise.
20447         * tests/test-lutimens.h: Likewise.
20448         * tests/test-md2.c: Likewise.
20449         * tests/test-md4.c: Likewise.
20450         * tests/test-mkdir.h: Likewise.
20451         * tests/test-rename.c: Likewise.
20452         * tests/test-rename.h: Likewise.
20453         * tests/test-safe-alloc.c: Likewise.
20454         * tests/test-utimens-common.h: Likewise.
20455         * tests/test-utimens.h: Likewise.
20456
20457         maint: sync license texts
20458         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
20459         * doc/gpl-3.0.texi: Revert copyright year update.
20460         * doc/lgpl-3.0.texi: Likewise.
20461
20462 2009-12-29  Jim Meyering  <meyering@redhat.com>
20463
20464         update nearly all FSF copyright year lists to include 2009
20465         The files named by the following are exempted:
20466             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
20467               test -f "$dst" && { echo "$dst"; continue; }
20468               test -d "$dst" || continue
20469               echo "$dst"/$(basename "$src")
20470             done > exempt
20471             git ls-files tests/unictype >> exempt
20472         In the remaining files, convert to all-interval notation if
20473         - there is already at least one year interval like 2000-2003
20474         - the file is maintained by me
20475         - the file is in lib/uni*/, where that style already prevails
20476         Otherwise, use update-copyright's default.
20477
20478 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20479         and Eric Blake  <ebb9@byu.net>
20480
20481         tests: don't require debug system() to pass
20482         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
20483         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20484         * tests/test-unlink.h (test_unlink_func): Likewise.
20485         * tests/test-fstatat.c (main): ...into callers.
20486         * tests/test-lstat.c (main): Likewise.
20487         * tests/test-rmdir.c (main): Likewise.
20488         * tests/test-unlink.c (main): Likewise.
20489         * tests/test-unlinkat.c (main): Likewise.
20490         * tests/test-areadlink-with-size.c (main): Don't require a
20491         debug-only system call to pass, aiding cross-testing to mingw.
20492         * tests/test-areadlink.c (main): Likewise.
20493         * tests/test-areadlinkat-with-size.c (main): Likewise.
20494         * tests/test-areadlinkat.c (main): Likewise.
20495         * tests/test-canonicalize-lgpl.c (main): Likewise.
20496         * tests/test-canonicalize.c (main): Likewise.
20497         * tests/test-chown.c (main): Likewise.
20498         * tests/test-fchownat.c (main): Likewise.
20499         * tests/test-lchown.c (main): Likewise.
20500         * tests/test-fdutimensat.c (main): Likewise.
20501         * tests/test-futimens.c (main): Likewise.
20502         * tests/test-link.c (main): Likewise.
20503         * tests/test-linkat.c (main): Likewise.
20504         * tests/test-mkdir.c (main): Likewise.
20505         * tests/test-mkdirat.c (main): Likewise.
20506         * tests/test-mkfifo.c (main): Likewise.
20507         * tests/test-mkfifoat.c (main): Likewise.
20508         * tests/test-mknod.c (main): Likewise.
20509         * tests/test-readlink.c (main): Likewise.
20510         * tests/test-remove.c (main): Likewise.
20511         * tests/test-rename.c (main): Likewise.
20512         * tests/test-renameat.c (main): Likewise.
20513         * tests/test-symlink.c (main): Likewise.
20514         * tests/test-symlinkat.c (main): Likewise.
20515         * tests/test-utimens.c (main): Likewise.
20516         * tests/test-utimensat.c (main): Likewise.
20517
20518 2009-12-29  Simon Josefsson  <simon@josefsson.org>
20519
20520         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
20521         on $(UNUSED_PARAMETER_H) to avoid build failure.
20522
20523 2009-12-28  Jim Meyering  <meyering@redhat.com>
20524
20525         update-copyright: you may specify a max. line length other than 72
20526         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
20527
20528         maint: use consistent FSF copyright line syntax
20529         * lib/posixtm.c: Add missing comma in FSF copyright line.
20530         * lib/posixtm.h: Likewise.
20531         * lib/getugroups.c: Add missing ", Inc.".
20532
20533         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
20534         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
20535         FSF copyright line.  Remove trailing blanks.
20536
20537 2009-12-28  Eric Blake  <ebb9@byu.net>
20538
20539         test-dup2: reduce dependencies
20540         * modules/cloexec (Configure.ac): Set witness.
20541         * modules/dup2-tests (Depends-on): Drop cloexec.
20542         * tests/test-dup2.c (main): Skip portion of test if cloexec module
20543         not present.
20544         Suggested by Bruno Haible.
20545
20546 2009-12-26  Bruno Haible  <bruno@clisp.org>
20547
20548         Remove an unneeded dependency.
20549         * modules/fseterr (Depends-on): Remove dup2.
20550
20551 2009-12-26  Eric Blake  <ebb9@byu.net>
20552
20553         tests: use macros.h in more places
20554         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
20555         (ASSERT_STREAM): Provide default of stderr.
20556         * tests/test-dirent-safer.c: Include macros.h, using alternate
20557         stream for assertions.
20558         * tests/test-dup-safer.c: Likewise.
20559         * tests/test-freopen-safer.c: Likewise.
20560         * tests/test-getopt.c: Likewise.
20561         * tests/test-openat-safer.c: Likewise.
20562         * tests/test-pipe.c: Likewise.
20563         * tests/test-popen-safer.c: Likewise.
20564         * modules/dirent-safer-tests (Files): Include macros.h.
20565         * modules/unistd-safer-tests (Files): Likewise.
20566         * modules/freopen-safer-tests (Files): Likewise.
20567         * modules/getopt-posix-tests (Files): Likewise.
20568         * modules/openat-safer-tests (Files): Likewise.
20569         * modules/pipe-tests (Files): Likewise.
20570
20571 2009-12-26  Bruno Haible  <bruno@clisp.org>
20572
20573         javacomp: Portability fix.
20574         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
20575         that it also works on Solaris.
20576
20577 2009-12-26  Bruno Haible  <bruno@clisp.org>
20578
20579         localename: Fix storage allocation of gl_locale_name_thread's result.
20580         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
20581         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
20582         all platforms that have 'uselocale'.
20583         (gl_locale_name_thread_unsafe): New function, extracted from
20584         gl_locale_name_thread.
20585         (gl_locale_name_thread): Call struniq on all platforms that have
20586         'uselocale'.
20587         * tests/test-localename.c (test_locale_name_thread): Check that the
20588         resulting strings are permanently allocated.
20589         * modules/localename-tests (Depends-on): Add strdup.
20590
20591 2009-12-26  Bruno Haible  <bruno@clisp.org>
20592
20593         * tests/test-localename.c (categories): Fill in the strings.
20594
20595 2009-12-26  Jim Meyering  <meyering@redhat.com>
20596
20597         isdir: complete the removal of m4/isdir.m4
20598         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
20599
20600         isdir: clean up, since at least grep still uses it
20601         * lib/isdir.c: Include "isdir.h".
20602         (S_ISDIR): Remove now-unneeded definition.
20603         * modules/isdir (Files): Add lib/isdir.h.
20604         * lib/isdir.h: New file, with declaration.
20605         * m4/isdir.m4: Remove file -- unneeded.
20606
20607 2009-12-25  Bruno Haible  <bruno@clisp.org>
20608
20609         selinux-h: Make generated .h files standalone.
20610         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
20611         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
20612         * lib/se-selinux.in.h: Likewise.
20613         * modules/selinux-h (Depends-on): Add unused-parameter.
20614         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
20615         selinux/selinux.h and selinux/context.h.
20616         Suggested by Eric Blake.
20617
20618 2009-12-25  Bruno Haible  <bruno@clisp.org>
20619
20620         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
20621         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
20622         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
20623         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
20624         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
20625
20626 2009-12-24  Bruno Haible  <bruno@clisp.org>
20627
20628         openat: Fix warning.
20629         * lib/openat-proc.c: Include <unistd.h>.
20630
20631 2009-12-24  Bruno Haible  <bruno@clisp.org>
20632
20633         New module 'unused-parameter'.
20634         * build-aux/unused-parameter.h: New file, extracted from earlier
20635         gnulib-common.m4.
20636         * modules/unused-parameter: New file.
20637         * lib/unistr.h: Include unused-parameter.h.
20638         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
20639         _GL_UNUSED.
20640         * modules/unistr/base (Depends-on): Add unused-parameter.
20641
20642 2009-12-24  Bruno Haible  <bruno@clisp.org>
20643
20644         Add missing dependencies to 'extensions' module.
20645         * m4/extensions.m4: Add comment.
20646         * modules/accept4 (Depends-on): Add extensions.
20647         * modules/dup3 (Depends-on): Likewise.
20648         * modules/fcntl (Depends-on): Likewise.
20649         * modules/futimens (Depends-on): Likewise.
20650         * modules/mknod (Depends-on): Likewise.
20651         * modules/pipe2 (Depends-on): Likewise.
20652         * modules/stat-time (Depends-on): Likewise.
20653         * modules/strcasestr-simple (Depends-on): Likewise.
20654         * modules/strsignal (Depends-on): Likewise.
20655         * modules/utimensat (Depends-on): Likewise.
20656         * modules/localcharset (Depends-on): Likewise. Needed because of
20657         gl_FCNTL_O_FLAGS.
20658         * modules/wcrtomb (Depends-on): Likewise. Needed because of
20659         AC_TYPE_MBSTATE_T.
20660         * modules/wcsnrtombs (Depends-on): Likewise.
20661         * modules/wcsrtombs (Depends-on): Likewise.
20662
20663 2009-12-24  Bruno Haible  <bruno@clisp.org>
20664
20665         binary-io: Avoid gcc warning due to SET_BINARY.
20666         * lib/binary-io.h (SET_BINARY): Cast the result to void.
20667         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
20668
20669 2009-12-24  Bruno Haible  <bruno@clisp.org>
20670
20671         Avoid future namespace pollution on glibc systems.
20672         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
20673         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
20674         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
20675         glibc systems.
20676
20677 2009-12-24  Bruno Haible  <bruno@clisp.org>
20678
20679         Refactor common macros used in tests.
20680         * tests/macros.h: New file.
20681         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
20682         and/or <stdlib.h>, if appropriate.
20683         (ASSERT, SIZEOF): Remove macros.
20684         * tests/test-areadlink-with-size.c: Likewise.
20685         * tests/test-areadlinkat.c: Likewise.
20686         * tests/test-areadlinkat-with-size.c: Likewise.
20687         * tests/test-argmatch.c: Likewise.
20688         * tests/test-argv-iter.c: Likewise.
20689         * tests/test-array-mergesort.c: Likewise.
20690         * tests/test-array_list.c: Likewise.
20691         * tests/test-array_oset.c: Likewise.
20692         * tests/test-avltree_list.c: Likewise.
20693         * tests/test-avltree_oset.c: Likewise.
20694         * tests/test-avltreehash_list.c: Likewise.
20695         * tests/test-base64.c: Likewise.
20696         * tests/test-binary-io.c: Likewise.
20697         * tests/test-bitrotate.c: Likewise.
20698         * tests/test-btowc.c: Likewise.
20699         * tests/test-byteswap.c: Likewise.
20700         * tests/test-c-ctype.c: Likewise.
20701         * tests/test-c-stack.c: Likewise.
20702         * tests/test-c-strcasecmp.c: Likewise.
20703         * tests/test-c-strcasestr.c: Likewise.
20704         * tests/test-c-strncasecmp.c: Likewise.
20705         * tests/test-c-strstr.c: Likewise.
20706         * tests/test-canonicalize-lgpl.c: Likewise.
20707         * tests/test-canonicalize.c: Likewise.
20708         * tests/test-carray_list.c: Likewise.
20709         * tests/test-ceilf1.c: Likewise.
20710         * tests/test-ceilf2.c: Likewise.
20711         * tests/test-ceill.c: Likewise.
20712         * tests/test-chown.c: Likewise.
20713         * tests/test-cloexec.c: Likewise.
20714         * tests/test-copy-acl.c: Likewise.
20715         * tests/test-copy-file.c: Likewise.
20716         * tests/test-count-one-bits.c: Likewise.
20717         * tests/test-dprintf-posix.c: Likewise.
20718         * tests/test-dup2.c: Likewise.
20719         * tests/test-dup3.c: Likewise.
20720         * tests/test-duplocale.c: Likewise.
20721         * tests/test-fbufmode.c: Likewise.
20722         * tests/test-fchdir.c: Likewise.
20723         * tests/test-fchownat.c: Likewise.
20724         * tests/test-fcntl-safer.c: Likewise.
20725         * tests/test-fcntl.c: Likewise.
20726         * tests/test-fdopendir.c: Likewise.
20727         * tests/test-fdutimensat.c: Likewise.
20728         * tests/test-fflush2.c: Likewise.
20729         * tests/test-file-has-acl.c: Likewise.
20730         * tests/test-filevercmp.c: Likewise.
20731         * tests/test-flock.c: Likewise.
20732         * tests/test-floorf1.c: Likewise.
20733         * tests/test-floorf2.c: Likewise.
20734         * tests/test-floorl.c: Likewise.
20735         * tests/test-fnmatch.c: Likewise.
20736         * tests/test-fopen.h: Likewise.
20737         * tests/test-fpending.c: Likewise.
20738         * tests/test-fprintf-posix.c: Likewise.
20739         * tests/test-fpurge.c: Likewise.
20740         * tests/test-freadable.c: Likewise.
20741         * tests/test-freadahead.c: Likewise.
20742         * tests/test-freading.c: Likewise.
20743         * tests/test-freadptr.c: Likewise.
20744         * tests/test-freadptr2.c: Likewise.
20745         * tests/test-freadseek.c: Likewise.
20746         * tests/test-freopen.c: Likewise.
20747         * tests/test-frexp.c: Likewise.
20748         * tests/test-frexpl.c: Likewise.
20749         * tests/test-fseek.c: Likewise.
20750         * tests/test-fseeko.c: Likewise.
20751         * tests/test-fstatat.c: Likewise.
20752         * tests/test-fstrcmp.c: Likewise.
20753         * tests/test-fsync.c: Likewise.
20754         * tests/test-ftell.c: Likewise.
20755         * tests/test-ftello.c: Likewise.
20756         * tests/test-func.c: Likewise.
20757         * tests/test-futimens.c: Likewise.
20758         * tests/test-fwritable.c: Likewise.
20759         * tests/test-fwriting.c: Likewise.
20760         * tests/test-getcwd.c: Likewise.
20761         * tests/test-getdate.c: Likewise.
20762         * tests/test-getdelim.c: Likewise.
20763         * tests/test-getdtablesize.c: Likewise.
20764         * tests/test-getgroups.c: Likewise.
20765         * tests/test-getline.c: Likewise.
20766         * tests/test-getndelim2.c: Likewise.
20767         * tests/test-glob.c: Likewise.
20768         * tests/test-hash.c: Likewise.
20769         * tests/test-i-ring.c: Likewise.
20770         * tests/test-iconv-utf.c: Likewise.
20771         * tests/test-iconv.c: Likewise.
20772         * tests/test-idpriv-drop.c: Likewise.
20773         * tests/test-idpriv-droptemp.c: Likewise.
20774         * tests/test-inet_ntop.c: Likewise.
20775         * tests/test-inet_pton.c: Likewise.
20776         * tests/test-isblank.c: Likewise.
20777         * tests/test-isfinite.c: Likewise.
20778         * tests/test-isinf.c: Likewise.
20779         * tests/test-isnan.c: Likewise.
20780         * tests/test-isnand.h: Likewise.
20781         * tests/test-isnanf.h: Likewise.
20782         * tests/test-isnanl.h: Likewise.
20783         * tests/test-lchown.c: Likewise.
20784         * tests/test-ldexpl.c: Likewise.
20785         * tests/test-link.c: Likewise.
20786         * tests/test-linkat.c: Likewise.
20787         * tests/test-linked_list.c: Likewise.
20788         * tests/test-linkedhash_list.c: Likewise.
20789         * tests/test-localename.c: Likewise.
20790         * tests/test-lseek.c: Likewise.
20791         * tests/test-lstat.c: Likewise.
20792         * tests/test-mbmemcasecmp.c: Likewise.
20793         * tests/test-mbmemcasecoll.c: Likewise.
20794         * tests/test-mbrtowc.c: Likewise.
20795         * tests/test-mbscasecmp.c: Likewise.
20796         * tests/test-mbscasestr1.c: Likewise.
20797         * tests/test-mbscasestr2.c: Likewise.
20798         * tests/test-mbscasestr3.c: Likewise.
20799         * tests/test-mbscasestr4.c: Likewise.
20800         * tests/test-mbschr.c: Likewise.
20801         * tests/test-mbscspn.c: Likewise.
20802         * tests/test-mbsinit.c: Likewise.
20803         * tests/test-mbsncasecmp.c: Likewise.
20804         * tests/test-mbsnrtowcs.c: Likewise.
20805         * tests/test-mbspbrk.c: Likewise.
20806         * tests/test-mbspcasecmp.c: Likewise.
20807         * tests/test-mbsrchr.c: Likewise.
20808         * tests/test-mbsrtowcs.c: Likewise.
20809         * tests/test-mbsspn.c: Likewise.
20810         * tests/test-mbsstr1.c: Likewise.
20811         * tests/test-mbsstr2.c: Likewise.
20812         * tests/test-mbsstr3.c: Likewise.
20813         * tests/test-memchr.c: Likewise.
20814         * tests/test-memchr2.c: Likewise.
20815         * tests/test-memcmp.c: Likewise.
20816         * tests/test-memmem.c: Likewise.
20817         * tests/test-memrchr.c: Likewise.
20818         * tests/test-mkdir.c: Likewise.
20819         * tests/test-mkdirat.c: Likewise.
20820         * tests/test-mkfifo.c: Likewise.
20821         * tests/test-mkfifoat.c: Likewise.
20822         * tests/test-mknod.c: Likewise.
20823         * tests/test-nanosleep.c: Likewise.
20824         * tests/test-nl_langinfo.c: Likewise.
20825         * tests/test-obstack-printf.c: Likewise.
20826         * tests/test-open.c: Likewise.
20827         * tests/test-openat.c: Likewise.
20828         * tests/test-pipe-filter-gi1.c: Likewise.
20829         * tests/test-pipe-filter-gi2-main.c: Likewise.
20830         * tests/test-pipe-filter-ii1.c: Likewise.
20831         * tests/test-pipe-filter-ii2-main.c: Likewise.
20832         * tests/test-pipe2.c: Likewise.
20833         * tests/test-popen.h: Likewise.
20834         * tests/test-posixtm.c: Likewise.
20835         * tests/test-pread.c: Likewise.
20836         * tests/test-printf-frexp.c: Likewise.
20837         * tests/test-printf-frexpl.c: Likewise.
20838         * tests/test-printf-posix.c: Likewise.
20839         * tests/test-priv-set.c: Likewise.
20840         * tests/test-quotearg.c: Likewise.
20841         * tests/test-random_r.c: Likewise.
20842         * tests/test-rawmemchr.c: Likewise.
20843         * tests/test-rbtree_list.c: Likewise.
20844         * tests/test-rbtree_oset.c: Likewise.
20845         * tests/test-rbtreehash_list.c: Likewise.
20846         * tests/test-readlink.c: Likewise.
20847         * tests/test-remove.c: Likewise.
20848         * tests/test-rename.c: Likewise.
20849         * tests/test-renameat.c: Likewise.
20850         * tests/test-rmdir.c: Likewise.
20851         * tests/test-round1.c: Likewise.
20852         * tests/test-roundf1.c: Likewise.
20853         * tests/test-roundl.c: Likewise.
20854         * tests/test-safe-alloc.c: Likewise.
20855         * tests/test-sameacls.c: Likewise.
20856         * tests/test-set-mode-acl.c: Likewise.
20857         * tests/test-setenv.c: Likewise.
20858         * tests/test-sigaction.c: Likewise.
20859         * tests/test-signbit.c: Likewise.
20860         * tests/test-sleep.c: Likewise.
20861         * tests/test-snprintf-posix.c: Likewise.
20862         * tests/test-snprintf.c: Likewise.
20863         * tests/test-sprintf-posix.c: Likewise.
20864         * tests/test-stat-time.c: Likewise.
20865         * tests/test-stat.c: Likewise.
20866         * tests/test-strcasestr.c: Likewise.
20867         * tests/test-strchrnul.c: Likewise.
20868         * tests/test-strerror.c: Likewise.
20869         * tests/test-striconv.c: Likewise.
20870         * tests/test-striconveh.c: Likewise.
20871         * tests/test-striconveha.c: Likewise.
20872         * tests/test-strsignal.c: Likewise.
20873         * tests/test-strstr.c: Likewise.
20874         * tests/test-strtod.c: Likewise.
20875         * tests/test-strverscmp.c: Likewise.
20876         * tests/test-symlink.c: Likewise.
20877         * tests/test-symlinkat.c: Likewise.
20878         * tests/test-trunc1.c: Likewise.
20879         * tests/test-trunc2.c: Likewise.
20880         * tests/test-truncf1.c: Likewise.
20881         * tests/test-truncf2.c: Likewise.
20882         * tests/test-truncl.c: Likewise.
20883         * tests/test-uname.c: Likewise.
20884         * tests/test-unlink.c: Likewise.
20885         * tests/test-unlinkat.c: Likewise.
20886         * tests/test-unsetenv.c: Likewise.
20887         * tests/test-usleep.c: Likewise.
20888         * tests/test-utimens.c: Likewise.
20889         * tests/test-utimensat.c: Likewise.
20890         * tests/test-vasnprintf-posix.c: Likewise.
20891         * tests/test-vasnprintf-posix2.c: Likewise.
20892         * tests/test-vasnprintf.c: Likewise.
20893         * tests/test-vasprintf-posix.c: Likewise.
20894         * tests/test-vasprintf.c: Likewise.
20895         * tests/test-vdprintf-posix.c: Likewise.
20896         * tests/test-vfprintf-posix.c: Likewise.
20897         * tests/test-vprintf-posix.c: Likewise.
20898         * tests/test-vsnprintf-posix.c: Likewise.
20899         * tests/test-vsnprintf.c: Likewise.
20900         * tests/test-vsprintf-posix.c: Likewise.
20901         * tests/test-wcrtomb.c: Likewise.
20902         * tests/test-wcsnrtombs.c: Likewise.
20903         * tests/test-wcsrtombs.c: Likewise.
20904         * tests/test-wctype.c: Likewise.
20905         * tests/test-wcwidth.c: Likewise.
20906         * tests/test-xfprintf-posix.c: Likewise.
20907         * tests/test-xmemdup0.c: Likewise.
20908         * tests/test-xprintf-posix.c: Likewise.
20909         * tests/test-xvasprintf.c: Likewise.
20910         * tests/unicase/test-locale-language.c: Likewise.
20911         * tests/unicase/test-mapping-part1.h: Likewise.
20912         * tests/unicase/test-predicate-part1.h: Likewise.
20913         * tests/unicase/test-u8-casecmp.c: Likewise.
20914         * tests/unicase/test-u8-casecoll.c: Likewise.
20915         * tests/unicase/test-u8-casefold.c: Likewise.
20916         * tests/unicase/test-u8-is-cased.c: Likewise.
20917         * tests/unicase/test-u8-is-casefolded.c: Likewise.
20918         * tests/unicase/test-u8-is-lowercase.c: Likewise.
20919         * tests/unicase/test-u8-is-titlecase.c: Likewise.
20920         * tests/unicase/test-u8-is-uppercase.c: Likewise.
20921         * tests/unicase/test-u8-tolower.c: Likewise.
20922         * tests/unicase/test-u8-totitle.c: Likewise.
20923         * tests/unicase/test-u8-toupper.c: Likewise.
20924         * tests/unicase/test-u16-casecmp.c: Likewise.
20925         * tests/unicase/test-u16-casecoll.c: Likewise.
20926         * tests/unicase/test-u16-casefold.c: Likewise.
20927         * tests/unicase/test-u16-is-cased.c: Likewise.
20928         * tests/unicase/test-u16-is-casefolded.c: Likewise.
20929         * tests/unicase/test-u16-is-lowercase.c: Likewise.
20930         * tests/unicase/test-u16-is-titlecase.c: Likewise.
20931         * tests/unicase/test-u16-is-uppercase.c: Likewise.
20932         * tests/unicase/test-u16-tolower.c: Likewise.
20933         * tests/unicase/test-u16-totitle.c: Likewise.
20934         * tests/unicase/test-u16-toupper.c: Likewise.
20935         * tests/unicase/test-u32-casecmp.c: Likewise.
20936         * tests/unicase/test-u32-casecoll.c: Likewise.
20937         * tests/unicase/test-u32-casefold.c: Likewise.
20938         * tests/unicase/test-u32-is-cased.c: Likewise.
20939         * tests/unicase/test-u32-is-casefolded.c: Likewise.
20940         * tests/unicase/test-u32-is-lowercase.c: Likewise.
20941         * tests/unicase/test-u32-is-titlecase.c: Likewise.
20942         * tests/unicase/test-u32-is-uppercase.c: Likewise.
20943         * tests/unicase/test-u32-tolower.c: Likewise.
20944         * tests/unicase/test-u32-totitle.c: Likewise.
20945         * tests/unicase/test-u32-toupper.c: Likewise.
20946         * tests/unicase/test-ulc-casecmp.c: Likewise.
20947         * tests/unicase/test-ulc-casecoll.c: Likewise.
20948         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
20949         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
20950         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
20951         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
20952         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
20953         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
20954         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
20955         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
20956         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
20957         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
20958         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
20959         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
20960         * tests/unictype/test-bidi_byname.c: Likewise.
20961         * tests/unictype/test-bidi_name.c: Likewise.
20962         * tests/unictype/test-bidi_of.c: Likewise.
20963         * tests/unictype/test-bidi_test.c: Likewise.
20964         * tests/unictype/test-block_list.c: Likewise.
20965         * tests/unictype/test-block_of.c: Likewise.
20966         * tests/unictype/test-block_test.c: Likewise.
20967         * tests/unictype/test-categ_and.c: Likewise.
20968         * tests/unictype/test-categ_and_not.c: Likewise.
20969         * tests/unictype/test-categ_byname.c: Likewise.
20970         * tests/unictype/test-categ_name.c: Likewise.
20971         * tests/unictype/test-categ_none.c: Likewise.
20972         * tests/unictype/test-categ_of.c: Likewise.
20973         * tests/unictype/test-categ_or.c: Likewise.
20974         * tests/unictype/test-categ_test_withtable.c: Likewise.
20975         * tests/unictype/test-combining.c: Likewise.
20976         * tests/unictype/test-decdigit.c: Likewise.
20977         * tests/unictype/test-digit.c: Likewise.
20978         * tests/unictype/test-mirror.c: Likewise.
20979         * tests/unictype/test-numeric.c: Likewise.
20980         * tests/unictype/test-pr_byname.c: Likewise.
20981         * tests/unictype/test-pr_test.c: Likewise.
20982         * tests/unictype/test-predicate-part1.h: Likewise.
20983         * tests/unictype/test-scripts.c: Likewise.
20984         * tests/unictype/test-sy_c_ident.c: Likewise.
20985         * tests/unictype/test-sy_java_ident.c: Likewise.
20986         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
20987         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
20988         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
20989         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
20990         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
20991         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
20992         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
20993         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
20994         * tests/uninorm/test-canonical-decomposition.c: Likewise.
20995         * tests/uninorm/test-compat-decomposition.c: Likewise.
20996         * tests/uninorm/test-composition.c: Likewise.
20997         * tests/uninorm/test-decomposing-form.c: Likewise.
20998         * tests/uninorm/test-decomposition.c: Likewise.
20999         * tests/uninorm/test-u8-nfc.c: Likewise.
21000         * tests/uninorm/test-u8-nfd.c: Likewise.
21001         * tests/uninorm/test-u8-nfkc.c: Likewise.
21002         * tests/uninorm/test-u8-nfkd.c: Likewise.
21003         * tests/uninorm/test-u8-normcmp.c: Likewise.
21004         * tests/uninorm/test-u8-normcoll.c: Likewise.
21005         * tests/uninorm/test-u16-nfc.c: Likewise.
21006         * tests/uninorm/test-u16-nfd.c: Likewise.
21007         * tests/uninorm/test-u16-nfkc.c: Likewise.
21008         * tests/uninorm/test-u16-nfkd.c: Likewise.
21009         * tests/uninorm/test-u16-normcmp.c: Likewise.
21010         * tests/uninorm/test-u16-normcoll.c: Likewise.
21011         * tests/uninorm/test-u32-nfc.c: Likewise.
21012         * tests/uninorm/test-u32-nfd.c: Likewise.
21013         * tests/uninorm/test-u32-nfkc.c: Likewise.
21014         * tests/uninorm/test-u32-nfkd.c: Likewise.
21015         * tests/uninorm/test-u32-normalize-big.c: Likewise.
21016         * tests/uninorm/test-u32-normcmp.c: Likewise.
21017         * tests/uninorm/test-u32-normcoll.c: Likewise.
21018         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
21019         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
21020         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
21021         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
21022         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
21023         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
21024         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
21025         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
21026         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
21027         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
21028         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
21029         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
21030         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
21031         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
21032         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
21033         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
21034         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
21035         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
21036         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
21037         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
21038         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
21039         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
21040         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
21041         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
21042         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
21043         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
21044         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
21045         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
21046         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
21047         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
21048         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
21049         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
21050         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
21051         * tests/uniwidth/test-u8-strwidth.c: Likewise.
21052         * tests/uniwidth/test-u8-width.c: Likewise.
21053         * tests/uniwidth/test-u16-strwidth.c: Likewise.
21054         * tests/uniwidth/test-u16-width.c: Likewise.
21055         * tests/uniwidth/test-u32-strwidth.c: Likewise.
21056         * tests/uniwidth/test-u32-width.c: Likewise.
21057         * tests/uniwidth/test-uc_width.c: Likewise.
21058         * tests/uniwidth/test-uc_width2.c: Likewise.
21059         * modules/acl-tests (Files): Add tests/macros.h.
21060         * modules/areadlink-tests (Files): Likewise.
21061         * modules/areadlink-with-size-tests (Files): Likewise.
21062         * modules/areadlinkat-tests (Files): Likewise.
21063         * modules/areadlinkat-with-size-tests (Files): Likewise.
21064         * modules/argmatch-tests (Files): Likewise.
21065         * modules/argv-iter-tests (Files): Likewise.
21066         * modules/array-list-tests (Files): Likewise.
21067         * modules/array-mergesort-tests (Files): Likewise.
21068         * modules/array-oset-tests (Files): Likewise.
21069         * modules/avltree-list-tests (Files): Likewise.
21070         * modules/avltree-oset-tests (Files): Likewise.
21071         * modules/avltreehash-list-tests (Files): Likewise.
21072         * modules/base64-tests (Files): Likewise.
21073         * modules/binary-io-tests (Files): Likewise.
21074         * modules/bitrotate-tests (Files): Likewise.
21075         * modules/btowc-tests (Files): Likewise.
21076         * modules/byteswap-tests (Files): Likewise.
21077         * modules/c-ctype-tests (Files): Likewise.
21078         * modules/c-stack-tests (Files): Likewise.
21079         * modules/c-strcase-tests (Files): Likewise.
21080         * modules/c-strcasestr-tests (Files): Likewise.
21081         * modules/c-strstr-tests (Files): Likewise.
21082         * modules/canonicalize-lgpl-tests (Files): Likewise.
21083         * modules/canonicalize-tests (Files): Likewise.
21084         * modules/carray-list-tests (Files): Likewise.
21085         * modules/ceilf-tests (Files): Likewise.
21086         * modules/ceill-tests (Files): Likewise.
21087         * modules/chown-tests (Files): Likewise.
21088         * modules/cloexec-tests (Files): Likewise.
21089         * modules/copy-file-tests (Files): Likewise.
21090         * modules/count-one-bits-tests (Files): Likewise.
21091         * modules/dprintf-posix-tests (Files): Likewise.
21092         * modules/dup2-tests (Files): Likewise.
21093         * modules/dup3-tests (Files): Likewise.
21094         * modules/duplocale-tests (Files): Likewise.
21095         * modules/fbufmode-tests (Files): Likewise.
21096         * modules/fchdir-tests (Files): Likewise.
21097         * modules/fcntl-safer-tests (Files): Likewise.
21098         * modules/fcntl-tests (Files): Likewise.
21099         * modules/fdopendir-tests (Files): Likewise.
21100         * modules/fdutimensat-tests (Files): Likewise.
21101         * modules/fflush-tests (Files): Likewise.
21102         * modules/filevercmp-tests (Files): Likewise.
21103         * modules/flock-tests (Files): Likewise.
21104         * modules/floorf-tests (Files): Likewise.
21105         * modules/floorl-tests (Files): Likewise.
21106         * modules/fnmatch-tests (Files): Likewise.
21107         * modules/fopen-safer-tests (Files): Likewise.
21108         * modules/fopen-tests (Files): Likewise.
21109         * modules/fpending-tests (Files): Likewise.
21110         * modules/fprintf-posix-tests (Files): Likewise.
21111         * modules/fpurge-tests (Files): Likewise.
21112         * modules/freadable-tests (Files): Likewise.
21113         * modules/freadahead-tests (Files): Likewise.
21114         * modules/freading-tests (Files): Likewise.
21115         * modules/freadptr-tests (Files): Likewise.
21116         * modules/freadseek-tests (Files): Likewise.
21117         * modules/freopen-tests (Files): Likewise.
21118         * modules/frexp-nolibm-tests (Files): Likewise.
21119         * modules/frexp-tests (Files): Likewise.
21120         * modules/frexpl-nolibm-tests (Files): Likewise.
21121         * modules/frexpl-tests (Files): Likewise.
21122         * modules/fseek-tests (Files): Likewise.
21123         * modules/fseeko-tests (Files): Likewise.
21124         * modules/fstrcmp-tests (Files): Likewise.
21125         * modules/fsync-tests (Files): Likewise.
21126         * modules/ftell-tests (Files): Likewise.
21127         * modules/ftello-tests (Files): Likewise.
21128         * modules/func-tests (Files): Likewise.
21129         * modules/futimens-tests (Files): Likewise.
21130         * modules/fwritable-tests (Files): Likewise.
21131         * modules/fwriting-tests (Files): Likewise.
21132         * modules/getcwd-tests (Files): Likewise.
21133         * modules/getdate-tests (Files): Likewise.
21134         * modules/getdelim-tests (Files): Likewise.
21135         * modules/getdtablesize-tests (Files): Likewise.
21136         * modules/getgroups-tests (Files): Likewise.
21137         * modules/getline-tests (Files): Likewise.
21138         * modules/getndelim2-tests (Files): Likewise.
21139         * modules/glob-tests (Files): Likewise.
21140         * modules/hash-tests (Files): Likewise.
21141         * modules/i-ring-tests (Files): Likewise.
21142         * modules/iconv-tests (Files): Likewise.
21143         * modules/iconv_open-utf-tests (Files): Likewise.
21144         * modules/idpriv-drop-tests (Files): Likewise.
21145         * modules/idpriv-droptemp-tests (Files): Likewise.
21146         * modules/inet_ntop-tests (Files): Likewise.
21147         * modules/inet_pton-tests (Files): Likewise.
21148         * modules/isblank-tests (Files): Likewise.
21149         * modules/isfinite-tests (Files): Likewise.
21150         * modules/isinf-tests (Files): Likewise.
21151         * modules/isnan-tests (Files): Likewise.
21152         * modules/isnand-nolibm-tests (Files): Likewise.
21153         * modules/isnand-tests (Files): Likewise.
21154         * modules/isnanf-nolibm-tests (Files): Likewise.
21155         * modules/isnanf-tests (Files): Likewise.
21156         * modules/isnanl-nolibm-tests (Files): Likewise.
21157         * modules/isnanl-tests (Files): Likewise.
21158         * modules/lchown-tests (Files): Likewise.
21159         * modules/ldexpl-tests (Files): Likewise.
21160         * modules/link-tests (Files): Likewise.
21161         * modules/linkat-tests (Files): Likewise.
21162         * modules/linked-list-tests (Files): Likewise.
21163         * modules/linkedhash-list-tests (Files): Likewise.
21164         * modules/localename-tests (Files): Likewise.
21165         * modules/lseek-tests (Files): Likewise.
21166         * modules/lstat-tests (Files): Likewise.
21167         * modules/mbmemcasecmp-tests (Files): Likewise.
21168         * modules/mbmemcasecoll-tests (Files): Likewise.
21169         * modules/mbrtowc-tests (Files): Likewise.
21170         * modules/mbscasecmp-tests (Files): Likewise.
21171         * modules/mbscasestr-tests (Files): Likewise.
21172         * modules/mbschr-tests (Files): Likewise.
21173         * modules/mbscspn-tests (Files): Likewise.
21174         * modules/mbsinit-tests (Files): Likewise.
21175         * modules/mbsncasecmp-tests (Files): Likewise.
21176         * modules/mbsnrtowcs-tests (Files): Likewise.
21177         * modules/mbspbrk-tests (Files): Likewise.
21178         * modules/mbspcasecmp-tests (Files): Likewise.
21179         * modules/mbsrchr-tests (Files): Likewise.
21180         * modules/mbsrtowcs-tests (Files): Likewise.
21181         * modules/mbsspn-tests (Files): Likewise.
21182         * modules/mbsstr-tests (Files): Likewise.
21183         * modules/memchr-tests (Files): Likewise.
21184         * modules/memchr2-tests (Files): Likewise.
21185         * modules/memcmp-tests (Files): Likewise.
21186         * modules/memmem-tests (Files): Likewise.
21187         * modules/memrchr-tests (Files): Likewise.
21188         * modules/mkdir-tests (Files): Likewise.
21189         * modules/mkfifo-tests (Files): Likewise.
21190         * modules/mkfifoat-tests (Files): Likewise.
21191         * modules/mknod-tests (Files): Likewise.
21192         * modules/nanosleep-tests (Files): Likewise.
21193         * modules/nl_langinfo-tests (Files): Likewise.
21194         * modules/obstack-printf-tests (Files): Likewise.
21195         * modules/open-tests (Files): Likewise.
21196         * modules/openat-tests (Files): Likewise.
21197         * modules/pipe-filter-gi-tests (Files): Likewise.
21198         * modules/pipe-filter-ii-tests (Files): Likewise.
21199         * modules/pipe2-tests (Files): Likewise.
21200         * modules/popen-safer-tests (Files): Likewise.
21201         * modules/popen-tests (Files): Likewise.
21202         * modules/posixtm-tests (Files): Likewise.
21203         * modules/pread-tests (Files): Likewise.
21204         * modules/printf-frexp-tests (Files): Likewise.
21205         * modules/printf-frexpl-tests (Files): Likewise.
21206         * modules/printf-posix-tests (Files): Likewise.
21207         * modules/priv-set-tests (Files): Likewise.
21208         * modules/quotearg-tests (Files): Likewise.
21209         * modules/random_r-tests (Files): Likewise.
21210         * modules/rawmemchr-tests (Files): Likewise.
21211         * modules/rbtree-list-tests (Files): Likewise.
21212         * modules/rbtree-oset-tests (Files): Likewise.
21213         * modules/rbtreehash-list-tests (Files): Likewise.
21214         * modules/readlink-tests (Files): Likewise.
21215         * modules/remove-tests (Files): Likewise.
21216         * modules/rename-tests (Files): Likewise.
21217         * modules/renameat-tests (Files): Likewise.
21218         * modules/rmdir-tests (Files): Likewise.
21219         * modules/round-tests (Files): Likewise.
21220         * modules/roundf-tests (Files): Likewise.
21221         * modules/roundl-tests (Files): Likewise.
21222         * modules/safe-alloc-tests (Files): Likewise.
21223         * modules/setenv-tests (Files): Likewise.
21224         * modules/sigaction-tests (Files): Likewise.
21225         * modules/signbit-tests (Files): Likewise.
21226         * modules/sleep-tests (Files): Likewise.
21227         * modules/snprintf-posix-tests (Files): Likewise.
21228         * modules/snprintf-tests (Files): Likewise.
21229         * modules/sprintf-posix-tests (Files): Likewise.
21230         * modules/stat-tests (Files): Likewise.
21231         * modules/stat-time-tests (Files): Likewise.
21232         * modules/strcasestr-tests (Files): Likewise.
21233         * modules/strchrnul-tests (Files): Likewise.
21234         * modules/strerror-tests (Files): Likewise.
21235         * modules/striconv-tests (Files): Likewise.
21236         * modules/striconveh-tests (Files): Likewise.
21237         * modules/striconveha-tests (Files): Likewise.
21238         * modules/strsignal-tests (Files): Likewise.
21239         * modules/strstr-tests (Files): Likewise.
21240         * modules/strtod-tests (Files): Likewise.
21241         * modules/strverscmp-tests (Files): Likewise.
21242         * modules/symlink-tests (Files): Likewise.
21243         * modules/symlinkat-tests (Files): Likewise.
21244         * modules/trunc-tests (Files): Likewise.
21245         * modules/truncf-tests (Files): Likewise.
21246         * modules/truncl-tests (Files): Likewise.
21247         * modules/uname-tests (Files): Likewise.
21248         * modules/unicase/cased-tests (Files): Likewise.
21249         * modules/unicase/ignorable-tests (Files): Likewise.
21250         * modules/unicase/locale-language-tests (Files): Likewise.
21251         * modules/unicase/tolower-tests (Files): Likewise.
21252         * modules/unicase/totitle-tests (Files): Likewise.
21253         * modules/unicase/toupper-tests (Files): Likewise.
21254         * modules/unicase/u8-casecmp-tests (Files): Likewise.
21255         * modules/unicase/u8-casecoll-tests (Files): Likewise.
21256         * modules/unicase/u8-casefold-tests (Files): Likewise.
21257         * modules/unicase/u8-is-cased-tests (Files): Likewise.
21258         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
21259         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
21260         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
21261         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
21262         * modules/unicase/u8-tolower-tests (Files): Likewise.
21263         * modules/unicase/u8-totitle-tests (Files): Likewise.
21264         * modules/unicase/u8-toupper-tests (Files): Likewise.
21265         * modules/unicase/u16-casecmp-tests (Files): Likewise.
21266         * modules/unicase/u16-casecoll-tests (Files): Likewise.
21267         * modules/unicase/u16-casefold-tests (Files): Likewise.
21268         * modules/unicase/u16-is-cased-tests (Files): Likewise.
21269         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
21270         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
21271         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
21272         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
21273         * modules/unicase/u16-tolower-tests (Files): Likewise.
21274         * modules/unicase/u16-totitle-tests (Files): Likewise.
21275         * modules/unicase/u16-toupper-tests (Files): Likewise.
21276         * modules/unicase/u32-casecmp-tests (Files): Likewise.
21277         * modules/unicase/u32-casecoll-tests (Files): Likewise.
21278         * modules/unicase/u32-casefold-tests (Files): Likewise.
21279         * modules/unicase/u32-is-cased-tests (Files): Likewise.
21280         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
21281         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
21282         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
21283         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
21284         * modules/unicase/u32-tolower-tests (Files): Likewise.
21285         * modules/unicase/u32-totitle-tests (Files): Likewise.
21286         * modules/unicase/u32-toupper-tests (Files): Likewise.
21287         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
21288         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
21289         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
21290         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
21291         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
21292         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
21293         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
21294         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
21295         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
21296         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
21297         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
21298         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
21299         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
21300         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
21301         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
21302         * modules/unictype/bidicategory-name-tests (Files): Likewise.
21303         * modules/unictype/bidicategory-of-tests (Files): Likewise.
21304         * modules/unictype/bidicategory-test-tests (Files): Likewise.
21305         * modules/unictype/block-list-tests (Files): Likewise.
21306         * modules/unictype/block-of-tests (Files): Likewise.
21307         * modules/unictype/block-test-tests (Files): Likewise.
21308         * modules/unictype/category-C-tests (Files): Likewise.
21309         * modules/unictype/category-Cc-tests (Files): Likewise.
21310         * modules/unictype/category-Cf-tests (Files): Likewise.
21311         * modules/unictype/category-Cn-tests (Files): Likewise.
21312         * modules/unictype/category-Co-tests (Files): Likewise.
21313         * modules/unictype/category-Cs-tests (Files): Likewise.
21314         * modules/unictype/category-L-tests (Files): Likewise.
21315         * modules/unictype/category-Ll-tests (Files): Likewise.
21316         * modules/unictype/category-Lm-tests (Files): Likewise.
21317         * modules/unictype/category-Lo-tests (Files): Likewise.
21318         * modules/unictype/category-Lt-tests (Files): Likewise.
21319         * modules/unictype/category-Lu-tests (Files): Likewise.
21320         * modules/unictype/category-M-tests (Files): Likewise.
21321         * modules/unictype/category-Mc-tests (Files): Likewise.
21322         * modules/unictype/category-Me-tests (Files): Likewise.
21323         * modules/unictype/category-Mn-tests (Files): Likewise.
21324         * modules/unictype/category-N-tests (Files): Likewise.
21325         * modules/unictype/category-Nd-tests (Files): Likewise.
21326         * modules/unictype/category-Nl-tests (Files): Likewise.
21327         * modules/unictype/category-No-tests (Files): Likewise.
21328         * modules/unictype/category-P-tests (Files): Likewise.
21329         * modules/unictype/category-Pc-tests (Files): Likewise.
21330         * modules/unictype/category-Pd-tests (Files): Likewise.
21331         * modules/unictype/category-Pe-tests (Files): Likewise.
21332         * modules/unictype/category-Pf-tests (Files): Likewise.
21333         * modules/unictype/category-Pi-tests (Files): Likewise.
21334         * modules/unictype/category-Po-tests (Files): Likewise.
21335         * modules/unictype/category-Ps-tests (Files): Likewise.
21336         * modules/unictype/category-S-tests (Files): Likewise.
21337         * modules/unictype/category-Sc-tests (Files): Likewise.
21338         * modules/unictype/category-Sk-tests (Files): Likewise.
21339         * modules/unictype/category-Sm-tests (Files): Likewise.
21340         * modules/unictype/category-So-tests (Files): Likewise.
21341         * modules/unictype/category-Z-tests (Files): Likewise.
21342         * modules/unictype/category-Zl-tests (Files): Likewise.
21343         * modules/unictype/category-Zp-tests (Files): Likewise.
21344         * modules/unictype/category-Zs-tests (Files): Likewise.
21345         * modules/unictype/category-and-not-tests (Files): Likewise.
21346         * modules/unictype/category-and-tests (Files): Likewise.
21347         * modules/unictype/category-byname-tests (Files): Likewise.
21348         * modules/unictype/category-name-tests (Files): Likewise.
21349         * modules/unictype/category-none-tests (Files): Likewise.
21350         * modules/unictype/category-of-tests (Files): Likewise.
21351         * modules/unictype/category-or-tests (Files): Likewise.
21352         * modules/unictype/category-test-withtable-tests (Files): Likewise.
21353         * modules/unictype/combining-class-tests (Files): Likewise.
21354         * modules/unictype/ctype-alnum-tests (Files): Likewise.
21355         * modules/unictype/ctype-alpha-tests (Files): Likewise.
21356         * modules/unictype/ctype-blank-tests (Files): Likewise.
21357         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
21358         * modules/unictype/ctype-digit-tests (Files): Likewise.
21359         * modules/unictype/ctype-graph-tests (Files): Likewise.
21360         * modules/unictype/ctype-lower-tests (Files): Likewise.
21361         * modules/unictype/ctype-print-tests (Files): Likewise.
21362         * modules/unictype/ctype-punct-tests (Files): Likewise.
21363         * modules/unictype/ctype-space-tests (Files): Likewise.
21364         * modules/unictype/ctype-upper-tests (Files): Likewise.
21365         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
21366         * modules/unictype/decimal-digit-tests (Files): Likewise.
21367         * modules/unictype/digit-tests (Files): Likewise.
21368         * modules/unictype/mirror-tests (Files): Likewise.
21369         * modules/unictype/numeric-tests (Files): Likewise.
21370         * modules/unictype/property-alphabetic-tests (Files): Likewise.
21371         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
21372         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
21373         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
21374         Likewise.
21375         * modules/unictype/property-bidi-block-separator-tests (Files):
21376         Likewise.
21377         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
21378         Likewise.
21379         * modules/unictype/property-bidi-common-separator-tests (Files):
21380         Likewise.
21381         * modules/unictype/property-bidi-control-tests (Files): Likewise.
21382         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
21383         Likewise.
21384         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
21385         Likewise.
21386         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
21387         Likewise.
21388         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
21389         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
21390         Likewise.
21391         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
21392         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
21393         Likewise.
21394         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
21395         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
21396         * modules/unictype/property-bidi-segment-separator-tests (Files):
21397         Likewise.
21398         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
21399         * modules/unictype/property-byname-tests (Files): Likewise.
21400         * modules/unictype/property-combining-tests (Files): Likewise.
21401         * modules/unictype/property-composite-tests (Files): Likewise.
21402         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
21403         * modules/unictype/property-dash-tests (Files): Likewise.
21404         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
21405         * modules/unictype/property-default-ignorable-code-point-tests (Files):
21406         Likewise.
21407         * modules/unictype/property-deprecated-tests (Files): Likewise.
21408         * modules/unictype/property-diacritic-tests (Files): Likewise.
21409         * modules/unictype/property-extender-tests (Files): Likewise.
21410         * modules/unictype/property-format-control-tests (Files): Likewise.
21411         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
21412         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
21413         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
21414         * modules/unictype/property-hex-digit-tests (Files): Likewise.
21415         * modules/unictype/property-hyphen-tests (Files): Likewise.
21416         * modules/unictype/property-id-continue-tests (Files): Likewise.
21417         * modules/unictype/property-id-start-tests (Files): Likewise.
21418         * modules/unictype/property-ideographic-tests (Files): Likewise.
21419         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
21420         * modules/unictype/property-ids-trinary-operator-tests (Files):
21421         Likewise.
21422         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
21423         * modules/unictype/property-iso-control-tests (Files): Likewise.
21424         * modules/unictype/property-join-control-tests (Files): Likewise.
21425         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
21426         * modules/unictype/property-line-separator-tests (Files): Likewise.
21427         * modules/unictype/property-logical-order-exception-tests (Files):
21428         Likewise.
21429         * modules/unictype/property-lowercase-tests (Files): Likewise.
21430         * modules/unictype/property-math-tests (Files): Likewise.
21431         * modules/unictype/property-non-break-tests (Files): Likewise.
21432         * modules/unictype/property-not-a-character-tests (Files): Likewise.
21433         * modules/unictype/property-numeric-tests (Files): Likewise.
21434         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
21435         * modules/unictype/property-other-default-ignorable-code-point-tests
21436         (Files): Likewise.
21437         * modules/unictype/property-other-grapheme-extend-tests (Files):
21438         Likewise.
21439         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
21440         * modules/unictype/property-other-id-start-tests (Files): Likewise.
21441         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
21442         * modules/unictype/property-other-math-tests (Files): Likewise.
21443         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
21444         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
21445         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
21446         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
21447         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
21448         * modules/unictype/property-private-use-tests (Files): Likewise.
21449         * modules/unictype/property-punctuation-tests (Files): Likewise.
21450         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
21451         * modules/unictype/property-radical-tests (Files): Likewise.
21452         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
21453         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
21454         * modules/unictype/property-space-tests (Files): Likewise.
21455         * modules/unictype/property-terminal-punctuation-tests (Files):
21456         Likewise.
21457         * modules/unictype/property-test-tests (Files): Likewise.
21458         * modules/unictype/property-titlecase-tests (Files): Likewise.
21459         * modules/unictype/property-unassigned-code-value-tests (Files):
21460         Likewise.
21461         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
21462         * modules/unictype/property-uppercase-tests (Files): Likewise.
21463         * modules/unictype/property-variation-selector-tests (Files): Likewise.
21464         * modules/unictype/property-white-space-tests (Files): Likewise.
21465         * modules/unictype/property-xid-continue-tests (Files): Likewise.
21466         * modules/unictype/property-xid-start-tests (Files): Likewise.
21467         * modules/unictype/property-zero-width-tests (Files): Likewise.
21468         * modules/unictype/scripts-tests (Files): Likewise.
21469         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
21470         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
21471         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
21472         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
21473         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
21474         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
21475         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
21476         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
21477         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
21478         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
21479         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
21480         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
21481         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
21482         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
21483         * modules/uninorm/composition-tests (Files): Likewise.
21484         * modules/uninorm/decomposing-form-tests (Files): Likewise.
21485         * modules/uninorm/decomposition-tests (Files): Likewise.
21486         * modules/uninorm/filter-tests (Files): Likewise.
21487         * modules/uninorm/nfc-tests (Files): Likewise.
21488         * modules/uninorm/nfd-tests (Files): Likewise.
21489         * modules/uninorm/nfkc-tests (Files): Likewise.
21490         * modules/uninorm/nfkd-tests (Files): Likewise.
21491         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
21492         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
21493         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
21494         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
21495         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
21496         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
21497         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
21498         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21499         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
21500         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
21501         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
21502         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
21503         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21504         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
21505         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
21506         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
21507         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
21508         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21509         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
21510         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
21511         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
21512         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
21513         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21514         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
21515         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
21516         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
21517         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
21518         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
21519         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
21520         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
21521         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
21522         * modules/uniwidth/u8-width-tests (Files): Likewise.
21523         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
21524         * modules/uniwidth/u16-width-tests (Files): Likewise.
21525         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
21526         * modules/uniwidth/u32-width-tests (Files): Likewise.
21527         * modules/uniwidth/width-tests (Files): Likewise.
21528         * modules/unlink-tests (Files): Likewise.
21529         * modules/unsetenv-tests (Files): Likewise.
21530         * modules/usleep-tests (Files): Likewise.
21531         * modules/utimens-tests (Files): Likewise.
21532         * modules/utimensat-tests (Files): Likewise.
21533         * modules/vasnprintf-posix-tests (Files): Likewise.
21534         * modules/vasnprintf-tests (Files): Likewise.
21535         * modules/vasprintf-posix-tests (Files): Likewise.
21536         * modules/vasprintf-tests (Files): Likewise.
21537         * modules/vdprintf-posix-tests (Files): Likewise.
21538         * modules/vfprintf-posix-tests (Files): Likewise.
21539         * modules/vprintf-posix-tests (Files): Likewise.
21540         * modules/vsnprintf-posix-tests (Files): Likewise.
21541         * modules/vsnprintf-tests (Files): Likewise.
21542         * modules/vsprintf-posix-tests (Files): Likewise.
21543         * modules/wcrtomb-tests (Files): Likewise.
21544         * modules/wcsnrtombs-tests (Files): Likewise.
21545         * modules/wcsrtombs-tests (Files): Likewise.
21546         * modules/wctype-tests (Files): Likewise.
21547         * modules/wcwidth-tests (Files): Likewise.
21548         * modules/xmemdup0-tests (Files): Likewise.
21549         * modules/xprintf-posix-tests (Files): Likewise.
21550         * modules/xvasprintf-tests (Files): Likewise.
21551
21552 2009-12-24  Eric Blake  <ebb9@byu.net>
21553
21554         test-nanosleep: fix typo
21555         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
21556         patch.
21557         Reported by Bruno Haible.
21558
21559 2009-12-24  Bruno Haible  <bruno@clisp.org>
21560
21561         Reduce namespace pollution on glibc systems.
21562         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
21563         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
21564         systems.
21565         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
21566         <getopt.h> on glibc systems.
21567         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
21568         systems.
21569         * lib/fcntl.c: Include <unistd.h> here instead.
21570
21571 2009-12-24  Bruno Haible  <bruno@clisp.org>
21572
21573         * lib/stdlib.in.h (includes): Fix typo in today's commit.
21574
21575 2009-12-24  Eric Blake  <ebb9@byu.net>
21576
21577         tests: add signature checks
21578         * tests/signature.h (SIGNATURE_CHECK): New file.
21579         * modules/atexit-tests (Files): Use it.
21580         * modules/btowc-tests (Files): Likewise.
21581         * modules/canonicalize-lgpl-tests (Files): Likewise.
21582         * modules/ceilf-tests (Files): Likewise.
21583         * modules/ceill-tests (Files): Likewise.
21584         * modules/chown-tests (Files): Likewise.
21585         * modules/dprintf-posix-tests (Files): Likewise.
21586         * modules/dup2-tests (Files): Likewise.
21587         * modules/dup3-tests (Files): Likewise.
21588         * modules/duplocale-tests (Files): Likewise.
21589         * modules/fchdir-tests (Files): Likewise.
21590         * modules/fcntl-tests (Files): Likewise.
21591         * modules/fdopendir-tests (Files): Likewise.
21592         * modules/fflush-tests (Files): Likewise.
21593         * modules/flock-tests (Files): Likewise.
21594         * modules/floorf-tests (Files): Likewise.
21595         * modules/floorl-tests (Files): Likewise.
21596         * modules/fnmatch-tests (Files): Likewise.
21597         * modules/fopen-tests (Files): Likewise.
21598         * modules/fprintf-posix-tests (Files): Likewise.
21599         * modules/freopen-tests (Files): Likewise.
21600         * modules/frexp-nolibm-tests (Files): Likewise.
21601         * modules/frexp-tests (Files): Likewise.
21602         * modules/frexpl-nolibm-tests (Files): Likewise.
21603         * modules/frexpl-tests (Files): Likewise.
21604         * modules/fseek-tests (Files): Likewise.
21605         * modules/fseeko-tests (Files): Likewise.
21606         * modules/fsync-tests (Files): Likewise.
21607         * modules/ftell-tests (Files): Likewise.
21608         * modules/ftello-tests (Files): Likewise.
21609         * modules/futimens-tests (Files): Likewise.
21610         * modules/getaddrinfo-tests (Files): Likewise.
21611         * modules/getcwd-tests (Files): Likewise.
21612         * modules/getdelim-tests (Files): Likewise.
21613         * modules/getdtablesize-tests (Files): Likewise.
21614         * modules/getgroups-tests (Files): Likewise.
21615         * modules/gethostname-tests (Files): Likewise.
21616         * modules/getline-tests (Files): Likewise.
21617         * modules/getopt-posix-tests (Files): Likewise.
21618         * modules/gettimeofday-tests (Files): Likewise.
21619         * modules/glob-tests (Files): Likewise.
21620         * modules/iconv-tests (Files): Likewise.
21621         * modules/inet_ntop-tests (Files): Likewise.
21622         * modules/inet_pton-tests (Files): Likewise.
21623         * modules/isblank-tests (Files): Likewise.
21624         * modules/lchown-tests (Files): Likewise.
21625         * modules/ldexpl-tests (Files): Likewise.
21626         * modules/link-tests (Files): Likewise.
21627         * modules/linkat-tests (Files): Likewise.
21628         * modules/lseek-tests (Files): Likewise.
21629         * modules/lstat-tests (Files): Likewise.
21630         * modules/mbrtowc-tests (Files): Likewise.
21631         * modules/mbsinit-tests (Files): Likewise.
21632         * modules/mbsnrtowcs-tests (Files): Likewise.
21633         * modules/mbsrtowcs-tests (Files): Likewise.
21634         * modules/memchr-tests (Files): Likewise.
21635         * modules/memcmp-tests (Files): Likewise.
21636         * modules/memmem-tests (Files): Likewise.
21637         * modules/memrchr-tests (Files): Likewise.
21638         * modules/mkdir-tests (Files): Likewise.
21639         * modules/mkfifo-tests (Files): Likewise.
21640         * modules/mkfifoat-tests (Files): Likewise.
21641         * modules/mknod-tests (Files): Likewise.
21642         * modules/nanosleep-tests (Files): Likewise.
21643         * modules/nl_langinfo-tests (Files): Likewise.
21644         * modules/obstack-printf-tests (Files): Likewise.
21645         * modules/open-tests (Files): Likewise.
21646         * modules/openat-tests (Files): Likewise.
21647         * modules/perror-tests (Files): Likewise.
21648         * modules/pipe2-tests (Files): Likewise.
21649         * modules/poll-tests (Files): Likewise.
21650         * modules/popen-tests (Files): Likewise.
21651         * modules/posix_spawn-tests (Files): Likewise.
21652         * modules/posix_spawnp-tests (Files): Likewise.
21653         * modules/pread-tests (Files): Likewise.
21654         * modules/printf-posix-tests (Files): Likewise.
21655         * modules/pty-tests (Files): Likewise.
21656         * modules/random_r-tests (Files): Likewise.
21657         * modules/rawmemchr-tests (Files): Likewise.
21658         * modules/readlink-tests (Files): Likewise.
21659         * modules/remove-tests (Files): Likewise.
21660         * modules/rename-tests (Files): Likewise.
21661         * modules/renameat-tests (Files): Likewise.
21662         * modules/rmdir-tests (Files): Likewise.
21663         * modules/round-tests (Files): Likewise.
21664         * modules/roundf-tests (Files): Likewise.
21665         * modules/roundl-tests (Files): Likewise.
21666         * modules/select-tests (Files): Likewise.
21667         * modules/setenv-tests (Files): Likewise.
21668         * modules/sigaction-tests (Files): Likewise.
21669         * modules/sleep-tests (Files): Likewise.
21670         * modules/snprintf-posix-tests (Files): Likewise.
21671         * modules/snprintf-tests (Files): Likewise.
21672         * modules/sprintf-posix-tests (Files): Likewise.
21673         * modules/stat-tests (Files): Likewise.
21674         * modules/strcasestr-tests (Files): Likewise.
21675         * modules/strchrnul-tests (Files): Likewise.
21676         * modules/strerror-tests (Files): Likewise.
21677         * modules/strsignal-tests (Files): Likewise.
21678         * modules/strstr-tests (Files): Likewise.
21679         * modules/strtod-tests (Files): Likewise.
21680         * modules/strverscmp-tests (Files): Likewise.
21681         * modules/symlink-tests (Files): Likewise.
21682         * modules/symlinkat-tests (Files): Likewise.
21683         * modules/times-tests (Files): Likewise.
21684         * modules/trunc-tests (Files): Likewise.
21685         * modules/truncf-tests (Files): Likewise.
21686         * modules/truncl-tests (Files): Likewise.
21687         * modules/tsearch-tests (Files): Likewise.
21688         * modules/uname-tests (Files): Likewise.
21689         * modules/unlink-tests (Files): Likewise.
21690         * modules/unsetenv-tests (Files): Likewise.
21691         * modules/usleep-tests (Files): Likewise.
21692         * modules/utimensat-tests (Files): Likewise.
21693         * modules/vasprintf-tests (Files): Likewise.
21694         * modules/vdprintf-posix-tests (Files): Likewise.
21695         * modules/vfprintf-posix-tests (Files): Likewise.
21696         * modules/vprintf-posix-tests (Files): Likewise.
21697         * modules/vsnprintf-posix-tests (Files): Likewise.
21698         * modules/vsnprintf-tests (Files): Likewise.
21699         * modules/vsprintf-posix-tests (Files): Likewise.
21700         * modules/wcrtomb-tests (Files): Likewise.
21701         * modules/wcsnrtombs-tests (Files): Likewise.
21702         * modules/wcsrtombs-tests (Files): Likewise.
21703         * modules/wcwidth-tests (Files): Likewise.
21704         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
21705         * tests/test-isinf.c (isinf): Likewise.
21706         * tests/test-isnan.c (isnan): Likewise.
21707         * tests/test-signbit.c (signbit): Likewise.
21708         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
21709         declaration, either as macro or with correct signature.
21710         (select): Ensure function under test is declared with correct
21711         signature in correct header.
21712         * tests/test-atexit.c (atexit): Likewise.
21713         * tests/test-btowc.c (btowc): Likewise.
21714         * tests/test-canonicalize-lgpl.c (realpath)
21715         (canonicalize_file_name): Likewise.
21716         * tests/test-ceilf1.c (ceilf): Likewise.
21717         * tests/test-ceill.c (ceill): Likewise.
21718         * tests/test-chown.c (chown): Likewise.
21719         * tests/test-dprintf-posix.c (dprintf): Likewise.
21720         * tests/test-dup2.c (dup2): Likewise.
21721         * tests/test-dup3.c (dup3): Likewise.
21722         * tests/test-duplocale.c (duplocale): Likewise.
21723         * tests/test-fchdir.c (fchdir): Likewise.
21724         * tests/test-fchownat.c (fchownat): Likewise.
21725         * tests/test-fcntl.c (fcntl): Likewise.
21726         * tests/test-fdopendir.c (fdopendir): Likewise.
21727         * tests/test-fflush.c (fflush): Likewise.
21728         * tests/test-flock.c (flock): Likewise.
21729         * tests/test-floorf1.c (floorf): Likewise.
21730         * tests/test-floorl.c (floorl): Likewise.
21731         * tests/test-fnmatch.c (fnmatch): Likewise.
21732         * tests/test-fopen.c (fopen): Likewise.
21733         * tests/test-fprintf-posix.c (fprintf): Likewise.
21734         * tests/test-freopen.c (freopen): Likewise.
21735         * tests/test-frexp.c (frexp): Likewise.
21736         * tests/test-frexpl.c (frexpl): Likewise.
21737         * tests/test-fseek.c (fseek): Likewise.
21738         * tests/test-fseeko.c (fseeko): Likewise.
21739         * tests/test-fstatat.c (fstatat): Likewise.
21740         * tests/test-fsync.c (fsync): Likewise.
21741         * tests/test-ftell.c (ftell): Likewise.
21742         * tests/test-ftello.c (ftello): Likewise.
21743         * tests/test-futimens.c (futimens): Likewise.
21744         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
21745         (gai_strerror): Likewise.
21746         * tests/test-getcwd.c (getcwd): Likewise.
21747         * tests/test-getdelim.c (getdelim): Likewise.
21748         * tests/test-getdtablesize.c (getdtablesize): Likewise.
21749         * tests/test-getgroups.c (getgroups): Likewise.
21750         * tests/test-gethostname.c (gethostname): Likewise.
21751         * tests/test-getline.c (getline): Likewise.
21752         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
21753         Likewise.
21754         * tests/test-gettimeofday.c (gettimeofday): Likewise.
21755         * tests/test-glob.c (glob, globfree): Likewise.
21756         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
21757         * tests/test-inet_ntop.c (inet_ntop): Likewise.
21758         * tests/test-inet_pton.c (inet_pton): Likewise.
21759         * tests/test-isblank.c (isblank): Likewise.
21760         * tests/test-lchown.c (lchown): Likewise.
21761         * tests/test-ldexpl.c (ldexpl): Likewise.
21762         * tests/test-link.c (link): Likewise.
21763         * tests/test-linkat.c (linkat): Likewise.
21764         * tests/test-lseek.c (lseek): Likewise.
21765         * tests/test-lstat.c (lstat): Likewise.
21766         * tests/test-mbrtowc.c (mbrtowc): Likewise.
21767         * tests/test-mbsinit.c (mbsinit): Likewise.
21768         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
21769         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
21770         * tests/test-memchr.c (memchr): Likewise.
21771         * tests/test-memcmp.c (memcmp): Likewise.
21772         * tests/test-memmem.c (memmem): Likewise.
21773         * tests/test-memrchr.c (memrchr): Likewise.
21774         * tests/test-mkdir.c (mkdir): Likewise.
21775         * tests/test-mkdirat.c (mkdirat): Likewise.
21776         * tests/test-mkfifo.c (mkfifo): Likewise.
21777         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
21778         * tests/test-mknod.c (mknod): Likewise.
21779         * tests/test-nanosleep.c (nanosleep): Likewise.
21780         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
21781         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
21782         Likewise.
21783         * tests/test-open.c (open): Likewise.
21784         * tests/test-openat.c (openat): Likewise.
21785         * tests/test-perror.c (perror): Likewise.
21786         * tests/test-pipe2.c (pipe2): Likewise.
21787         * tests/test-poll.c (poll): Likewise.
21788         * tests/test-popen.c (popen, pclose): Likewise.
21789         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
21790         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
21791         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
21792         (posix_spawn_file_actions_destroy)
21793         (posix_spawn_file_actions_addclose)
21794         (posix_spawn_file_actions_addopen)
21795         (posix_spawn_file_actions_adddup2): Likewise.
21796         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
21797         * tests/test-pread.c (pread): Likewise.
21798         * tests/test-printf-posix.c (printf): Likewise.
21799         * tests/test-pty.c (openpty, forkpty): Likewise.
21800         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
21801         (random_r): Likewise.
21802         * tests/test-rawmemchr.c (rawmemchr): Likewise.
21803         * tests/test-readlink.c (readlink): Likewise.
21804         * tests/test-remove.c (remove): Likewise.
21805         * tests/test-rename.c (rename): Likewise.
21806         * tests/test-renameat.c (renameat): Likewise.
21807         * tests/test-rmdir.c (rmdir): Likewise.
21808         * tests/test-round1.c (round): Likewise.
21809         * tests/test-roundf1.c (roundf): Likewise.
21810         * tests/test-roundl.c (roundl): Likewise.
21811         * tests/test-setenv.c (setenv): Likewise.
21812         * tests/test-sigaction.c (sigaction): Likewise.
21813         * tests/test-sleep.c (sleep): Likewise.
21814         * tests/test-snprintf.c (snprintf): Likewise.
21815         * tests/test-sprintf-posix.c (sprintf): Likewise.
21816         * tests/test-stat.c (stat): Likewise.
21817         * tests/test-stpncpy.c (stpncpy): Likewise.
21818         * tests/test-strcasestr.c (strcasestr): Likewise.
21819         * tests/test-strchrnul.c (strchrnul): Likewise.
21820         * tests/test-strerror.c (strerror): Likewise.
21821         * tests/test-strsignal.c (strsignal): Likewise.
21822         * tests/test-strstr.c (strstr): Likewise.
21823         * tests/test-strtod.c (strtod): Likewise.
21824         * tests/test-strverscmp.c (strverscmp): Likewise.
21825         * tests/test-symlink.c (symlink): Likewise.
21826         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
21827         * tests/test-times.c (times): Likewise.
21828         * tests/test-trunc1.c (trunc): Likewise.
21829         * tests/test-truncf1.c (truncf): Likewise.
21830         * tests/test-truncl.c (truncl): Likewise.
21831         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
21832         Likewise.
21833         * tests/test-uname.c (uname): Likewise.
21834         * tests/test-unlink.c (unlink): Likewise.
21835         * tests/test-unlinkat.c (unlinkat): Likewise.
21836         * tests/test-unsetenv.c (unsetenv): Likewise.
21837         * tests/test-usleep.c (usleep): Likewise.
21838         * tests/test-utimensat.c (utimensat): Likewise.
21839         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
21840         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
21841         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
21842         * tests/test-vprintf-posix.c (vprintf): Likewise.
21843         * tests/test-vsnprintf.c (vsnprintf): Likewise.
21844         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
21845         * tests/test-wcrtomb.c (wcrtomb): Likewise.
21846         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
21847         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
21848         * tests/test-wcwidth.c (wcwidth): Likewise.
21849
21850         build: pull in conditional headers during GNULIB_POSIXCHECK
21851         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
21852         definitions from any conditionally-included headers.
21853         * lib/stdlib.in.h (includes): Likewise.
21854         * lib/unistd.in.h (includes): Likewise.
21855
21856 2009-12-24  Bruno Haible  <bruno@clisp.org>
21857
21858         * tests/test-argv-iter.c: Include header file being tested immediately
21859         after config.h.
21860         * tests/test-base64.c: Likewise.
21861         * tests/test-flock.c: Likewise.
21862         * tests/test-fsync.c: Likewise.
21863         * tests/test-getdate.c: Likewise.
21864         * tests/test-getndelim2.c: Likewise.
21865         * tests/test-isfinite.c: Likewise.
21866         * tests/test-isinf.c: Likewise.
21867         * tests/test-strerror.c: Likewise.
21868         * tests/test-strsignal.c: Likewise.
21869
21870 2009-12-23  Eric Blake  <ebb9@byu.net>
21871
21872         unistd: work around cygwin bug
21873         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
21874         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
21875         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
21876
21877 2009-12-23  Bruno Haible  <bruno@clisp.org>
21878
21879         localename: More tests.
21880         * tests/test-localename.c (SIZEOF): New macro.
21881         (categories): New variable.
21882         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
21883         test_locale_name_default): Add test w.r.t. thread locale.
21884         (test_locale_name_thread): New function.
21885         (main): Invoke it.
21886
21887         localename: Make aware of thread locale.
21888         * lib/localename.h (gl_locale_name_thread): New declaration.
21889         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
21890         behaviour with respect to thread locale.
21891         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
21892         <langinfo.h>, glthread/lock.h.
21893         (SIZE_BITS): New macro.
21894         (string_hash): New function.
21895         (struct hash_node): New type.
21896         (HASH_TABLE_SIZE): New macro.
21897         (struniq_hash_table, struniq_lock): New variables.
21898         (struniq): New function.
21899         (gl_locale_name_thread): New function.
21900         (gl_locale_name): Invoke it.
21901         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
21902         * modules/localename (Depends-on): Add lock.
21903         Reported by Mike Gran <spk121@yahoo.com>.
21904
21905 2009-12-23  Eric Blake  <ebb9@byu.net>
21906
21907         va-args: new module
21908         * modules/va-args: New file.
21909         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
21910         * MODULES.html.sh (Core language properties): Mention it.
21911
21912         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
21913         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
21914         named alias for __attribute__((__unused__)).
21915         * lib/chown.c: Update client.
21916         * lib/fchmodat.c: Likewise.
21917         * lib/fts.c: Likewise.
21918         * lib/getdate.y: Likewise.
21919         * lib/getgroups.c: Likewise.
21920         * lib/getopt.c: Likewise.
21921         * lib/getugroups.c: Likewise.
21922         * lib/mkdir.c: Likewise.
21923         * lib/mkfifo.c: Likewise.
21924         * lib/mkfifoat.c: Likewise.
21925         * lib/mknod.c: Likewise.
21926         * lib/mknodat.c: Likewise.
21927         * lib/readlink.c: Likewise.
21928         * lib/se-context.in.h: Likewise.
21929         * lib/se-selinux.in.h: Likewise.
21930         * lib/sockets.c: Likewise.
21931         * lib/symlink.c: Likewise.
21932         * lib/symlinkat.c: Likewise.
21933         * lib/unicodeio.c: Likewise.
21934         * lib/unistr.h: Likewise.
21935         * tests/test-areadlink.c: Likewise.
21936         * tests/test-areadlinkat.c: Likewise.
21937         * tests/test-filenamecat.c: Likewise.
21938         * tests/test-fseeko.c: Likewise.
21939         * tests/test-ftello.c: Likewise.
21940         * tests/test-getdate.c: Likewise.
21941         * tests/test-getgroups.c: Likewise.
21942         * tests/test-gethostname.c: Likewise.
21943         * tests/test-quotearg.c: Likewise.
21944         * tests/test-version-etc.c: Likewise.
21945         * tests/test-xalloc-die.c: Likewise.
21946         * tests/test-xfprintf-posix.c: Likewise.
21947         * tests/test-xprintf-posix.c: Likewise.
21948         * tests/test-xvasprintf.c: Likewise.
21949
21950         tests: avoid compiler warnings
21951         * tests/test-fcntl.c (main): Delete unused parameters.
21952         * tests/test-freopen-safer.c (main): Likewise.
21953         * tests/test-xalloc-die.c (main): Mark unused parameters.
21954         * tests/test-fseeko.c (main): Likewise.
21955         * tests/test-ftello.c (main): Likewise.
21956         * tests/test-nanosleep.c (main): Avoid declaration warning.
21957         * tests/test-sleep.c (main): Likewise.
21958         * tests/test-unsetenv.c (main): Silence warning about string
21959         literal.
21960         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
21961
21962 2009-12-23  Bruno Haible  <bruno@clisp.org>
21963
21964         * tests/test-localename.c (test_locale_name): New function, extracted
21965         from main. Also test mixed situations.
21966         (test_locale_name_posix, test_locale_name_environ,
21967         test_locale_name_default): New functions.
21968         (main): Invoke them all.
21969         * modules/localename-tests (configure.ac): Test for newlocale.
21970
21971 2009-12-23  Bruno Haible  <bruno@clisp.org>
21972
21973         unistd: Ensure getcwd gets declared before being overridden.
21974         * lib/unistd.in.h: Conditionally include <io.h>.
21975
21976 2009-12-22  Bruno Haible  <bruno@clisp.org>
21977
21978         wchar: Diagnose broken combination of glibc and gcc versions and flags.
21979         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
21980         (gl_WCHAR_H): Invoke it.
21981         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
21982         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
21983         Reported by Karl Berry <karl@freefriends.org>.
21984
21985 2009-12-22  Eric Blake  <ebb9@byu.net>
21986
21987         math, unistd: avoid redundant includes
21988         * lib/math.in.h (isnan): No need to re-include <math.h>.
21989         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
21990
21991         getsubopt: work around cygwin bug
21992         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
21993         avoid conflicting with system getsubopt.
21994         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
21995         bug.
21996
21997         getopt: synchronize from glibc
21998         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
21999         parameter order.  Adjust all callers.
22000         (_getopt_internal_r, main): Adjust quoting in error messages.
22001         Drop considerations for outdated POSIX 1003.2 error message.
22002         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
22003         callers.
22004         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
22005
22006         test-getopt: test stderr behavior
22007         * modules/getopt-posix-tests (Depends-on): Add dup2.
22008         * tests/test-getopt.c (ASSERT): Avoid stderr.
22009         (main): Move stderr to a temporary file.
22010         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
22011         Instead, add parameter to inform caller if output occurred.
22012         (test_getopt): Adjust all existing tests to expect silence, and
22013         add new tests of leading ":".
22014         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
22015         glibc shortcomings with leading "-:" or "+:" in optstring.
22016         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22017         Likewise.
22018         * doc/posix-functions/getopt.texi (getopt): Likewise.
22019
22020         test-getopt: enhance test
22021         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
22022         supports optind=0.
22023         * tests/test-getopt.c (OPTIND_MIN): Move...
22024         * tests/test-getopt.h (OPTIND_MIN): ...here.
22025         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
22026         Require that optind=0 works, since modern BSD supports it in
22027         addition to optreset, and since coreutils expects it.
22028         (test_getopt_long_only): New test.
22029         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
22030         glibc shortcomings with 'W;', and enforcement of optind=0.
22031         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22032         Likewise.
22033
22034 2009-12-21  Bruno Haible  <bruno@clisp.org>
22035
22036         localename: Improvements for MacOS X and Cygwin.
22037         * lib/localename.h (gl_locale_name_environ): New declaration.
22038         * lib/localename.c (gl_locale_name_environ): New function, extracted from
22039         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
22040         (gl_locale_name_posix): Invoke it.
22041         (gl_locale_name_default): Add comments. Use Windows native API also on
22042         Cygwin.
22043
22044 2009-12-21  Bruno Haible  <bruno@clisp.org>
22045
22046         Update list of Win32 locale ids.
22047         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
22048         (LANG_SAMI): Renamed from LANG_SAAMI.
22049         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
22050         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
22051         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
22052         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
22053         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
22054         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
22055         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
22056         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
22057         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
22058         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
22059         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
22060         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
22061         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
22062         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
22063         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
22064         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
22065         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
22066         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
22067         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
22068         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
22069         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
22070         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
22071         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
22072         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
22073         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
22074         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
22075         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
22076         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
22077         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
22078         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
22079         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
22080         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
22081         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
22082         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
22083         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
22084         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
22085         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
22086         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
22087         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
22088         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
22089         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
22090         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
22091         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
22092         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
22093         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
22094         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
22095         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
22096         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
22097         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
22098         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
22099         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
22100         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
22101         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
22102         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
22103         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
22104         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
22105         Add more languages and countries for Sami, Sorbian. Add more countries
22106         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
22107         for Pashto. Change country for Syriac, Tswana.
22108
22109 2009-12-21  Eric Blake  <ebb9@byu.net>
22110
22111         test-utimens: avoid spurious failure
22112         * tests/test-chown.h (nap): Factor...
22113         * tests/nap.h: ...into new file.
22114         * tests/test-lchown.h (nap): Avoid duplication.
22115         * tests/test-utimens-common.h (nap): Use shared implementation,
22116         necessary on file systems with 1-second resolution.
22117         * modules/chown-tests (Files): Include new file.
22118         * modules/fdutimensat-tests (Files): Likewise.
22119         * modules/futimens-tests (Files): Likewise.
22120         * modules/lchown-tests (Files): Likewise.
22121         * modules/openat-tests (Files): Likewise.
22122         * modules/utimens-tests (Files): Likewise.
22123         * modules/utimensat-tests (Files): Likewise.
22124
22125 2009-12-19  Eric Blake  <ebb9@byu.net>
22126
22127         futimens, utimensat: work around Linux bug
22128         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
22129         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22130         * lib/utimensat.c (rpl_utimensat): Work around it.
22131         * lib/futimens.c (rpl_futimens): Adjust comment.
22132
22133         utimens: work around Linux ctime bug
22134         * lib/utimens.c (detect_ctime_bug): New helper function.
22135         (update_timespec): Differentiate between workaround needed for
22136         this bug vs. what is needed for systems that lack utimensat.
22137         (fdutimens, lutimens): Work around bug.
22138
22139         utimens: check for ctime update
22140         * tests/test-utimens-common.h (check_ctime): Define.
22141         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
22142         * tests/test-futimens.h (test_futimens): Likewise.
22143         * tests/test-lutimens.h (test_lutimens): Likewise.
22144         * doc/posix-functions/futimens.texi (futimens): Document the bug.
22145         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22146
22147 2009-12-19  Bruno Haible  <bruno@clisp.org>
22148
22149         dprintf-posix: Check against memory leak fixed on 2009-12-15.
22150         * tests/test-dprintf-posix2.sh: New file.
22151         * tests/test-dprintf-posix2.c: New file.
22152         * modules/dprintf-posix-tests (Files): Add them.
22153         (configure.ac): Check for getrlimit and setrlimit.
22154         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22155
22156 2009-12-19  Bruno Haible  <bruno@clisp.org>
22157
22158         fprintf-posix: Check against memory leak fixed on 2009-12-15.
22159         * tests/test-fprintf-posix3.sh: New file.
22160         * tests/test-fprintf-posix3.c: New file.
22161         * modules/fprintf-posix-tests (Files): Add them.
22162         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
22163
22164 2009-12-19  Eric Blake  <ebb9@byu.net>
22165
22166         dirfd: fix prototype
22167         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
22168         * lib/dirfd.c (dirfd): Likewise.
22169
22170         canonicalize: reduce memory usage
22171         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
22172         allocation to size.
22173         Reported by Solar Designer <solar@openwall.com>.
22174
22175 2009-12-19  Bruno Haible  <bruno@clisp.org>
22176
22177         New module attribute 'Applicability'.
22178         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
22179         * gnulib-tool: New option --extract-applicability.
22180         (func_usage): Document it.
22181         (sed_extract_prog): Recognize it.
22182         (func_get_applicability): New function.
22183         (func_import): Generalize handling of 'link-warning' module.
22184         * modules/link-warning (Applicability): New section.
22185         * modules/arg-nonnull (Applicability): New section.
22186         Repoted by Simon Josefsson <simon@josefsson.org>.
22187
22188 2009-12-19  Bruno Haible  <bruno@clisp.org>
22189
22190         fflush: tweak
22191         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
22192         * lib/fseeko.c (rpl_fseeko): Likewise.
22193
22194 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
22195
22196         * lib/gl_list.h: Fix typo in comment.
22197
22198 2009-12-16  Eric Blake  <ebb9@byu.net>
22199
22200         fcntl: use to simplify other modules
22201         * modules/cloexec (Depends-on): Add fcntl.
22202         * modules/fchdir (Depends-on): Likewise.
22203         * modules/fd-safer-flag (Depends-on): Likewise.
22204         * modules/unistd-safer (Depends-on): Likewise.
22205         * modules/dup3 (configure.ac): Set module indicator.
22206         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
22207         missing.
22208         * lib/fchdir.c (_gl_register_dup): Fix comment.
22209         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
22210         * lib/dup-safer.c (dup_safer): Likewise.
22211         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
22212         * lib/dup3.c (dup3): Likewise.
22213         * tests/test-fchdir.c (main): Enhance test.
22214         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
22215
22216         fcntl: port portions of fcntl to mingw
22217         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
22218         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
22219         replacement for mingw.
22220         * modules/fcntl (Description): Update.
22221         (Depends-on): Add dup2.
22222         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
22223         * modules/fcntl-h (Makefile.am): Substitute it.
22224         * lib/fcntl.in.h (fcntl): Update declaration.
22225         (F_DUPFD, F_GETFD): New macros, when needed.
22226         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22227         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
22228         * tests/test-fcntl.c (check_flags, main): Enhance test for items
22229         we now guarantee.
22230
22231         fcntl: work around cygwin bug in F_DUPFD
22232         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
22233         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
22234         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
22235         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
22236         * doc/posix-functions/fcntl.texi (fcntl): Document it.
22237
22238         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
22239         * modules/fcntl (Files): List new files.
22240         (configure.ac): Run a test.
22241         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
22242         * lib/fcntl.c (rpl_fcntl): Likewise.
22243         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
22244         (gl_FCNTL_H): Always replace fcntl.h.
22245         * modules/fcntl-h (Makefile.am): Substitute witnesses.
22246         * lib/fcntl.in.h (fcntl): Declare replacement.
22247         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
22248         needed, plus a witness.
22249         * doc/posix-functions/fcntl.texi (fcntl): Document this.
22250         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
22251         * tests/test-fcntl.c: New file.
22252         * modules/fcntl-tests: Likewise.
22253
22254         binary-io: avoid potential compilation warning
22255         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
22256         directives.
22257
22258         fflush: avoid compilation error on NetBSD
22259         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
22260         between off_t and fpos_t, since the latter is sometimes a struct.
22261         * lib/fseeko.c (rpl_fseeko): Likewise.
22262         Reported by Alexander Nasonov <alnsn@yandex.ru>.
22263
22264 2009-12-15  Eric Blake  <ebb9@byu.net>
22265
22266         fcntl-h, stdio, sys_ioctl: fix declarations
22267         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
22268         function must not take arguments.
22269         * lib/sys_ioctl.in.h (ioctl): Likewise.
22270         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
22271         (open): Add a link warning.
22272
22273 2009-12-15  Jim Meyering  <meyering@redhat.com>
22274
22275         areadlink, areadlink-with-size: relax license to LGPLv2+
22276         * modules/areadlink (License): Relax to LGPLv2+.
22277         * modules/areadlink-with-size (License): Likewise.
22278
22279 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
22280             Bruno Haible  <bruno@clisp.org>
22281
22282         *printf: Fix memory leak.
22283         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
22284         * lib/vfprintf.c (vfprintf): Likewise.
22285         * lib/dprintf.c (dprintf): Likewise.
22286         * lib/vdprintf.c (vdprintf): Likewise.
22287
22288 2009-12-14  Eric Blake  <ebb9@byu.net>
22289
22290         accept4: adjust module dependencies
22291         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
22292
22293         utimens: one more try at avoiding compiler warning
22294         * lib/utimens.c (lutimens): Lower scope of result.
22295
22296 2009-12-13  Bruno Haible  <bruno@clisp.org>
22297
22298         Move the malloc checking from module 'list' to new module 'xlist'.
22299         * modules/xlist: New file.
22300         * lib/gl_xlist.h: New file.
22301         * lib/gl_xlist.c: New file.
22302         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
22303         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
22304         gl_list_add_last, gl_list_add_before, gl_list_add_after,
22305         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
22306         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
22307         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
22308         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
22309         gl_sortedlist_nx_add): New declarations.
22310         (struct gl_list_implementation): Rename and change methods accordingly.
22311         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
22312         (gl_list_nx_create): Renamed from gl_list_create.
22313         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22314         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22315         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22316         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22317         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22318         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22319         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22320         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22321         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
22322         gl_list_create_empty.
22323         (gl_list_nx_create): Renamed from gl_list_create.
22324         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
22325         (gl_list_nx_set_at): Renamed from gl_list_set_at.
22326         (gl_list_nx_add_first): Renamed from gl_list_add_first.
22327         (gl_list_nx_add_last): Renamed from gl_list_add_last.
22328         (gl_list_nx_add_before): Renamed from gl_list_add_before.
22329         (gl_list_nx_add_after): Renamed from gl_list_add_after.
22330         (gl_list_nx_add_at): Renamed from gl_list_add_at.
22331         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
22332         * lib/gl_array_list.c: Don't include xalloc.h.
22333         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
22334         NULL upon out-of-memory.
22335         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
22336         out-of-memory.
22337         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
22338         Change return type to 'int'.
22339         (gl_array_nx_set_at): Renamed from gl_array_set_at.
22340         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22341         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
22342         upon out-of-memory.
22343         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
22344         upon out-of-memory.
22345         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
22346         upon out-of-memory.
22347         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
22348         upon out-of-memory.
22349         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
22350         out-of-memory.
22351         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
22352         Update.
22353         (gl_array_list_implementation): Update.
22354         * lib/gl_carray_list.c: Don't include xalloc.h.
22355         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
22356         Return NULL upon out-of-memory.
22357         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
22358         out-of-memory.
22359         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
22360         Change return type to 'int'.
22361         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
22362         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
22363         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
22364         upon out-of-memory.
22365         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
22366         upon out-of-memory.
22367         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
22368         out-of-memory.
22369         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
22370         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
22371         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
22372         Update.
22373         (gl_carray_list_implementation): Update.
22374         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
22375         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
22376         gl_linked_create_empty. Return NULL upon out-of-memory.
22377         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
22378         out-of-memory.
22379         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
22380         Change return type to 'int'. Return -1 upon out-of-memory.
22381         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
22382         out-of-memory.
22383         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
22384         upon out-of-memory.
22385         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
22386         upon out-of-memory.
22387         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
22388         NULL upon out-of-memory.
22389         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
22390         upon out-of-memory.
22391         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
22392         out-of-memory.
22393         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
22394         Update.
22395         * lib/gl_linked_list.c: Don't include xalloc.h.
22396         (gl_linked_list_implementation): Update.
22397         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
22398         (add_to_bucket): Change return type to 'int'.
22399         (gl_linkedhash_list_implementation): Update.
22400         * lib/gl_anytree_list1.h (free_subtree): New function.
22401         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
22402         gl_tree_create_empty. Return NULL upon out-of-memory.
22403         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
22404         Change return type to 'int'. Return -1 upon out-of-memory.
22405         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
22406         out-of-memory.
22407         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
22408         (gl_tree_remove_node): New function, moved here from
22409         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
22410         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
22411         Update.
22412         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
22413         malloc, not xmalloc. Return NULL upon out-of-memory.
22414         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22415         out-of-memory.
22416         (gl_tree_remove_node_from_tree): New function, extracted from
22417         gl_tree_remove_node.
22418         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22419         upon out-of-memory.
22420         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22421         out-of-memory.
22422         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22423         upon out-of-memory.
22424         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22425         upon out-of-memory.
22426         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22427         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
22428         not xmalloc. Return NULL upon out-of-memory.
22429         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
22430         out-of-memory.
22431         (gl_tree_remove_node_from_tree): New function, extracted from
22432         gl_tree_remove_node.
22433         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
22434         upon out-of-memory.
22435         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
22436         out-of-memory.
22437         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
22438         upon out-of-memory.
22439         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
22440         upon out-of-memory.
22441         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
22442         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
22443         gl_anytree_list1.h before gl_anyavltree_list2.h.
22444         (gl_avltree_list_implementation): Update.
22445         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
22446         gl_anytree_list1.h before gl_anyavltree_list2.h.
22447         (gl_rbtree_list_implementation): Update.
22448         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
22449         Change return type to 'int'. Return -1 upon out-of-memory. Use
22450         __builtin_expect.
22451         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
22452         (gl_avltreehash_list_implementation): Update.
22453         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
22454         (gl_rbtreehash_list_implementation): Update.
22455         * modules/array-list (Depends-on): Remove xalloc.
22456         * modules/carray-list (Depends-on): Likewise.
22457         * modules/linked-list (Depends-on): Likewise.
22458         * modules/linkedhash-list (Depends-on): Likewise.
22459         * modules/avltree-list (Depends-on): Likewise.
22460         * modules/rbtree-list (Depends-on): Likewise.
22461         * modules/avltreehash-list (Depends-on): Likewise.
22462         * modules/rbtreehash-list (Depends-on): Likewise.
22463
22464         * modules/xsublist: New file.
22465         * lib/gl_xsublist.h: New file.
22466         * lib/gl_xsublist.c: New file.
22467         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
22468         (gl_sublist_nx_create): New declaration.
22469         * lib/gl_sublist.c: Don't include xalloc.h.
22470         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
22471         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
22472         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
22473         Change return type to 'int'. Return -1 upon out-of-memory.
22474         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
22475         upon out-of-memory.
22476         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
22477         NULL upon out-of-memory.
22478         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
22479         upon out-of-memory.
22480         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
22481         NULL upon out-of-memory.
22482         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
22483         NULL upon out-of-memory.
22484         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
22485         upon out-of-memory.
22486         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
22487         (gl_sublist_list_implementation): Update.
22488         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
22489         upon out-of-memory.
22490         * modules/sublist (Depends-on): Remove xalloc.
22491
22492         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
22493         * tests/test-carray_list.c: Likewise.
22494         * tests/test-linked_list.c: Likewise.
22495         * tests/test-linkedhash_list.c: Likewise.
22496         * tests/test-avltree_list.c: Likewise.
22497         * tests/test-rbtree_list.c: Likewise.
22498         * tests/test-avltreehash_list.c: Likewise.
22499         * tests/test-rbtreehash_list.c: Likewise.
22500         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
22501         * modules/carray-list-tests (Makefile.am): Likewise.
22502         * modules/linked-list-tests (Makefile.am): Likewise.
22503         * modules/linkedhash-list-tests (Makefile.am): Likewise.
22504         * modules/avltree-list-tests (Makefile.am): Likewise.
22505         * modules/rbtree-list-tests (Makefile.am): Likewise.
22506         * modules/avltreehash-list-tests (Makefile.am): Likewise.
22507         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
22508
22509         * NEWS: Mention the changes.
22510
22511         * lib/clean-temp.c: Include gl_xlist.h.
22512         * modules/clean-temp (Depends-on): Add xlist.
22513
22514         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
22515         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
22516
22517         * tests/test-array_oset.c: Include gl_xlist.h.
22518         * modules/array-oset-tests (Depends-on): Add xlist.
22519
22520         Reported by José E. Marchesi <jemarch@gnu.org>.
22521
22522 2009-12-13  Bruno Haible  <bruno@clisp.org>
22523
22524         Move the malloc checking from module 'oset' to new module 'xoset'.
22525         * modules/xoset: New file.
22526         * lib/gl_xoset.h: New file.
22527         * lib/gl_xoset.c: New file.
22528         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
22529         declarations.
22530         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
22531         (struct gl_oset_implementation): Rename and change methods accordingly.
22532         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
22533         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22534         'int'. Mark as __warn_unused_result__.
22535         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
22536         gl_oset_create_empty.
22537         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
22538         'int'.
22539         * lib/gl_array_oset.c: Don't include xalloc.h.
22540         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
22541         malloc, not xmalloc.
22542         (grow): Change return type to 'int'. Don't call xalloc_die.
22543         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
22544         to 'int'.
22545         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
22546         'int'.
22547         (gl_array_oset_implementation): Update.
22548         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
22549         gl_tree_create_empty.
22550         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
22551         'int'.
22552         * lib/gl_avltree_oset.c: Don't include xalloc.h.
22553         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22554         xmalloc.
22555         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22556         not xmalloc.
22557         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22558         xmalloc.
22559         (gl_avltree_oset_implementation): Update.
22560         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
22561         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
22562         xmalloc.
22563         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
22564         not xmalloc.
22565         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
22566         xmalloc.
22567         (gl_rbtree_oset_implementation): Update.
22568         * modules/array-oset (Depends-on): Remove xalloc.
22569         * modules/avltree-oset (Depends-on): Likewise.
22570         * modules/rbtree-oset (Depends-on): Likewise.
22571         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
22572         * tests/test-avltree_oset.c: Likewise.
22573         * tests/test-rbtree_oset.c: Likewise.
22574         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
22575         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
22576         * modules/rbtree-oset-tests (Makefile.am): Likewise.
22577         * NEWS: Mention the change.
22578
22579 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
22580
22581         maint.mk: allow a project to override release-prep commands
22582         * top/maint.mk (alpha, beta, stable): Move release-preparatory
22583         commands into a new rule.
22584         (release-prep): New rule.
22585         (release-prep-hook): New overridable variable.
22586
22587 2009-12-13  Bruno Haible  <bruno@clisp.org>
22588
22589         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
22590
22591 2009-12-13  Jim Meyering  <meyering@redhat.com>
22592
22593         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
22594         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
22595
22596 2009-12-12  Bruno Haible  <bruno@clisp.org>
22597
22598         duplocale: Tweak.
22599         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
22600
22601 2009-12-12  Karl Berry  <karl@gnu.org>
22602
22603         * config/srclist.txt (strtoll.c): tab changes, no more sync.
22604
22605 2009-12-12  Bruno Haible  <bruno@clisp.org>
22606
22607         * m4/po.m4: Undo incorrect untabification.
22608
22609 2009-12-12  Bruno Haible  <bruno@clisp.org>
22610
22611         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
22612         * modules/c-strtod (Depends-on): Add locale.
22613         * modules/c-strtold (Depends-on): Likewise.
22614
22615 2009-12-12  Bruno Haible  <bruno@clisp.org>
22616
22617         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
22618
22619 2009-12-11  Eric Blake  <ebb9@byu.net>
22620
22621         setenv: relax requirement in light of POSIX ruling
22622         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
22623         not NULL.
22624         * tests/test-setenv.c (main): Relax test.
22625         * tests/test-unsetenv.c (main): Likewise.
22626         * doc/posix-functions/setenv.texi (setenv): Document this.
22627         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22628
22629 2009-12-11  Bruno Haible  <bruno@clisp.org>
22630
22631         New module 'fd-safer-flag'.
22632         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
22633         * lib/dup-safer.c (dup_safer_flag): Remove function.
22634         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
22635         * lib/fd-safer.c (fd_safer_flag): Remove function.
22636         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
22637         * modules/cloexec (configure.ac): Drop indicator macro.
22638         * modules/fd-safer-flag: New file.
22639         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
22640         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
22641         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
22642
22643 2009-12-11  Bruno Haible  <bruno@clisp.org>
22644
22645         Tests for module 'nl_langinfo'.
22646         * modules/nl_langinfo-tests: New file.
22647         * tests/test-nl_langinfo.sh: New file.
22648         * tests/test-nl_langinfo.c: New file.
22649
22650         New module 'nl_langinfo'.
22651         * lib/nl_langinfo.c: New file.
22652         * m4/nl_langinfo.m4: New file.
22653         * modules/nl_langinfo: New file.
22654         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
22655
22656 2009-12-11  Bruno Haible  <bruno@clisp.org>
22657
22658         Tests for module 'langinfo'.
22659         * modules/langinfo-tests: New file.
22660         * tests/test-langinfo.c: New file.
22661
22662         New module 'langinfo'.
22663         * lib/langinfo.in.h: New file.
22664         * m4/langinfo_h.m4: New file.
22665         * modules/langinfo: New file.
22666         * doc/posix-headers/langinfo.texi: Mention the new module.
22667
22668 2009-12-11  Bruno Haible  <bruno@clisp.org>
22669
22670         * lib/config.charset: Untabify.
22671
22672 2009-12-11  Bruno Haible  <bruno@clisp.org>
22673
22674         * modules/unistd-safer (configure.ac): Drop indicator macro.
22675
22676 2009-12-11  Bruno Haible  <bruno@clisp.org>
22677
22678         Move pipe2-safer code to its own file.
22679         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
22680         * lib/pipe-safer.c (pipe2_safer): Remove function.
22681         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
22682         (Makefile.am): Add it to lib_SOURCES.
22683
22684 2009-12-10  Bruno Haible  <bruno@clisp.org>
22685
22686         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
22687
22688 2009-12-10  Bruno Haible  <bruno@clisp.org>
22689
22690         Declare which arguments expect non-NULL values, for GCC and clang.
22691         * build-aux/arg-nonnull.h: New file.
22692         * modules/arg-nonnull: New file.
22693         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
22694         (inet_ntop, inet_pton): Use it.
22695         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
22696         (closedir, dirfd, opendir, scandir, alphasort): Use it.
22697         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
22698         (open, openat): Use it.
22699         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
22700         (fnmatch): Use it.
22701         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
22702         (getopt, getopt_long, getopt_long_only): Use it.
22703         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
22704         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
22705         Use it.
22706         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
22707         (iconv_open): Use it.
22708         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
22709         (strtoimax, strtoumax): Use it.
22710         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
22711         (duplocale): Use it.
22712         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
22713         (frexp, frexpl): Use it.
22714         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
22715         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
22716         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
22717         (tsearch, tfind, tdelete, twalk): Use it.
22718         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
22719         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
22720         sigpending): Use it.
22721         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
22722         (posix_spawn, posix_spawnp, posix_spawnattr_init,
22723         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
22724         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
22725         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
22726         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
22727         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
22728         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
22729         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
22730         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
22731         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
22732         Use it.
22733         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
22734         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
22735         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
22736         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
22737         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
22738         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
22739         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
22740         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
22741         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
22742         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
22743         strtoull, unsetenv): Use it.
22744         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
22745         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
22746         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
22747         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
22748         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
22749         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
22750         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
22751         (strcasecmp, strncasecmp): Use it.
22752         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
22753         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
22754         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
22755         rpl_setsockopt): Use it.
22756         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
22757         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
22758         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
22759         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
22760         (gettimeofday): Use it.
22761         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
22762         (times): Use it.
22763         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
22764         (uname): Use it.
22765         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
22766         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
22767         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
22768         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
22769         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
22770         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
22771         unlinkat, write): Use it.
22772         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
22773         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
22774         * lib/argv-iter.h: Include arg-nonnull.h.
22775         (_ATTRIBUTE_NONNULL_): Remove macro.
22776         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
22777         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
22778         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
22779         optimization.
22780         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
22781         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
22782         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
22783         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
22784         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
22785         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
22786         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
22787         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
22788         * modules/arpa_inet (Depends-on): Add arg-nonnull.
22789         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
22790         * modules/dirent (Depends-on): Add arg-nonnull.
22791         (Makefile.am): Insert arg-nonnull.h into dirent.h.
22792         * modules/fcntl-h (Depends-on): Add arg-nonnull.
22793         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
22794         * modules/fnmatch (Depends-on): Add arg-nonnull.
22795         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
22796         * modules/getopt-posix (Depends-on): Add arg-nonnull.
22797         (Makefile.am): Insert arg-nonnull.h into getopt.h.
22798         * modules/glob (Depends-on): Add arg-nonnull.
22799         (Makefile.am): Insert arg-nonnull.h into glob.h.
22800         * modules/iconv_open (Depends-on): Add arg-nonnull.
22801         (Makefile.am): Insert arg-nonnull.h into iconv.h.
22802         * modules/inttypes (Depends-on): Add arg-nonnull.
22803         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
22804         * modules/locale (Depends-on): Add arg-nonnull.
22805         (Makefile.am): Insert arg-nonnull.h into locale.h.
22806         * modules/math (Depends-on): Add arg-nonnull.
22807         (Makefile.am): Insert arg-nonnull.h into math.h.
22808         * modules/netdb (Depends-on): Add arg-nonnull.
22809         (Makefile.am): Insert arg-nonnull.h into netdb.h.
22810         * modules/search (Depends-on): Add arg-nonnull.
22811         (Makefile.am): Insert arg-nonnull.h into search.h.
22812         * modules/signal (Depends-on): Add arg-nonnull.
22813         (Makefile.am): Insert arg-nonnull.h into signal.h.
22814         * modules/spawn (Depends-on): Add arg-nonnull.
22815         (Makefile.am): Insert arg-nonnull.h into spawn.h.
22816         * modules/stdio (Depends-on): Add arg-nonnull.
22817         (Makefile.am): Insert arg-nonnull.h into stdio.h.
22818         * modules/stdlib (Depends-on): Add arg-nonnull.
22819         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
22820         * modules/string (Depends-on): Add arg-nonnull.
22821         (Makefile.am): Insert arg-nonnull.h into string.h.
22822         * modules/strings (Depends-on): Add arg-nonnull.
22823         (Makefile.am): Insert arg-nonnull.h into strings.h.
22824         * modules/sys_socket (Depends-on): Add arg-nonnull.
22825         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
22826         * modules/sys_stat (Depends-on): Add arg-nonnull.
22827         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
22828         * modules/sys_time (Depends-on): Add arg-nonnull.
22829         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
22830         * modules/sys_times (Depends-on): Add arg-nonnull.
22831         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
22832         * modules/sys_utsname (Depends-on): Add arg-nonnull.
22833         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
22834         * modules/time (Depends-on): Add arg-nonnull.
22835         (Makefile.am): Insert arg-nonnull.h into time.h.
22836         * modules/unistd (Depends-on): Add arg-nonnull.
22837         (Makefile.am): Insert arg-nonnull.h into unistd.h.
22838         * modules/wchar (Depends-on): Add arg-nonnull.
22839         (Makefile.am): Insert arg-nonnull.h into wchar.h.
22840         * modules/argv-iter (Depends-on): Add arg-nonnull.
22841         * tests/test-canonicalize.c (null_ptr): New function.
22842         (main): Use it.
22843         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
22844         (main): Use it.
22845         * tests/test-memmem.c (null_ptr): New function.
22846         (main): Use it.
22847         Reported by Jim Meyering.
22848
22849 2009-12-10  Bruno Haible  <bruno@clisp.org>
22850
22851         Use spaces for indentation, not tabs.
22852         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
22853         * m4/*.m4: Untabify.
22854         * build-aux/*.h: Untabify.
22855         * tests/**/*.[hc]: Untabify.
22856         * README: New section "Indent with spaces, not TABs", based on
22857         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
22858         * NEWS: Mention the change.
22859
22860 2009-12-10  Bruno Haible  <bruno@clisp.org>
22861
22862         pty test: Fix link error.
22863         * modules/pty-tests (Makefile.am): Add the default LDADD value to
22864         test_pty_LDADD.
22865
22866 2009-12-07  Simon Josefsson  <simon@josefsson.org>
22867
22868         * modules/pty: New file.
22869         * modules/pty-tests: New file.
22870         * m4/pty.m4: New file.
22871         * tests/test-pty.c: New file.
22872         * doc/glibc-headers/pty.texi: Modified.
22873         * doc/glibc-functions/forkpty.texi: Modified.
22874         * doc/glibc-functions/openpty.texi: Modified.
22875
22876 2009-12-10  Bruno Haible  <bruno@clisp.org>
22877
22878         Avoid syntax error in C++ mode.
22879         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
22880
22881 2009-12-10  Bruno Haible  <bruno@clisp.org>
22882
22883         Use sed with option -e.
22884         * gnulib-tool (func_version, func_emit_copyright_notice,
22885         func_emit_initmacro_end, func_import, func_create_testdir): Pass
22886         option -e to sed.
22887         * modules/link-warning (Makefile.am): Likewise.
22888
22889 2009-12-10  Jim Meyering  <meyering@redhat.com>
22890
22891         mgetgroups: do not write bytes beyond end of malloc'd buffer
22892         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
22893         username, we call getgroups with a one-element-shorter buffer,
22894         but still told it the length was original, max_n_groups.
22895
22896 2009-12-09  Eric Blake  <ebb9@byu.net>
22897
22898         cloexec: relax license
22899         * modules/cloexec (Maintainer): Add myself.
22900         (License): Use LGPL, not GPL.
22901
22902         link-warning: optimize generation
22903         * modules/link-warning (Makefile.am): Reduce process usage.
22904
22905 2009-12-09  Bruno Haible  <bruno@clisp.org>
22906
22907         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
22908         workaround was added on 2009-11-17.
22909
22910 2009-12-09  Jim Meyering  <meyering@redhat.com>
22911             Bruno Haible  <bruno@clisp.org>
22912
22913         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
22914         * modules/link-warning (Makefile.am): Make the comment-removing sed
22915         command more robust in the face of bootstrap-prepended comment lines.
22916
22917 2009-12-09  Bruno Haible  <bruno@clisp.org>
22918
22919         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
22920         most one group.
22921
22922 2009-12-09  Simon Josefsson <simon@josefsson.org>
22923             Bruno Haible  <bruno@clisp.org>
22924
22925         * build-aux/link-warning.h: Add copyright notice.
22926         * modules/link-warning (Makefile.am): Generate link-warning.h from
22927         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
22928         * NEWS: Mention change in link-warning module.
22929         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
22930         * modules/dirent (Makefile.am): Add dependency to dirent.h.
22931         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
22932         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
22933         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
22934         * modules/math (Makefile.am): Add dependency to math.h.
22935         * modules/search (Makefile.am): Add dependency to search.h.
22936         * modules/signal (Makefile.am): Add dependency to signal.h.
22937         * modules/spawn (Makefile.am): Add dependency to spawn.h.
22938         * modules/stdio (Makefile.am): Add dependency to stdio.h.
22939         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
22940         * modules/string (Makefile.am): Add dependency to string.h.
22941         * modules/strings (Makefile.am): Add dependency to strings.h.
22942         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
22943         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
22944         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
22945         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
22946         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
22947         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
22948         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
22949         * modules/unistd (Makefile.am): Add dependency to unistd.h.
22950         * modules/wchar (Makefile.am): Add dependency to wchar.h.
22951
22952 2009-12-09  Bruno Haible  <bruno@clisp.org>
22953
22954         fchdir: Optimize away rpl_fstat when possible.
22955         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
22956         REPLACE_OPEN_DIRECTORY.
22957         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
22958
22959 2009-12-09  Bruno Haible  <bruno@clisp.org>
22960
22961         * lib/fchdir.c: Update comment.
22962
22963 2009-12-09  Bruno Haible  <bruno@clisp.org>
22964
22965         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
22966
22967 2009-12-08  Eric Blake  <ebb9@byu.net>
22968
22969         fchdir: avoid memory leak on re-registration.
22970         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
22971
22972 2009-12-08  Jim Meyering  <meyering@redhat.com>
22973
22974         init.sh: avoid Solaris 10 /bin/sh portability problem
22975         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
22976         sourced script:
22977           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
22978           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
22979           bar
22980         tests/init.sh relied on that, accepting a --set-path=DIR argument,
22981         and two tests used that idiom.
22982         * tests/init.sh: Update suggested usage comments.
22983         (path_prepend_): New function, to be used in place
22984         of the --src-path=DIR option.
22985         (setup_): Move PATH-prepending code into path_prepend_.
22986         * tests/test-pread.sh: Adapt to new usage.
22987         * tests/test-xalloc-die.sh: Likewise.
22988
22989 2009-12-08  Simon Josefsson  <simon@josefsson.org>
22990
22991         * doc/gnulib.texi (Glibc pty.h): Add.
22992         * doc/glibc-functions/forkpty.texi: Add.
22993         * doc/glibc-functions/openpty.texi: Add.
22994         Suggested by Bruno Haible.
22995
22996 2009-12-08  Eric Blake  <ebb9@byu.net>
22997
22998         fchdir: fix logic bugs
22999         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
23000         * tests/test-fchdir.c (main): Enhance test.
23001         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
23002         is in use.
23003
23004         dup2: fix logic bugs
23005         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
23006         REPLACE_DUP2 to decide when rpl_dup2 is needed.
23007         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
23008         exists.
23009         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
23010
23011 2009-12-07  Eric Blake  <ebb9@byu.net>
23012
23013         unlink: fix m4 detection
23014         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
23015
23016         unistd-safer: add unit test
23017         * modules/unistd-safer-tests: New file.
23018         * tests/test-dup-safer.c: Likewise.
23019         * tests/test-cloexec.c (setmode): Avoid compiler warning.
23020         * tests/test-dup2.c (setmode): Likewise.
23021         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
23022
23023         cloexec: preserve text vs. binary across dup_cloexec
23024         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
23025         mode.
23026         * modules/dup2-tests (Depends-on): Add binary-io.
23027         * modules/cloexec-tests (Depends-on): Likewise.
23028         * tests/test-dup2.c (setmode, is_mode): New helpers.
23029         (main): Add tests that translation mode is preserved.
23030         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
23031         Reported by Bruno Haible.
23032
23033         mgetgroups: reduce duplicate listings
23034         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
23035         resulting array.
23036         * tests/test-chown.h (test_chown): Simplify client.
23037         * tests/test-lchown.h (test_lchown): Likewise.
23038
23039 2009-12-06  Bruno Haible  <bruno@clisp.org>
23040
23041         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
23042         value.
23043
23044 2009-12-06  Bruno Haible  <bruno@clisp.org>
23045
23046         * lib/progname.c: Include stdio.h, stdlib.h.
23047         (set_program_name): Reject a NULL argument.
23048
23049 2009-12-05  Eric Blake  <ebb9@byu.net>
23050
23051         pipe2-safer: new module
23052         * modules/pipe2-safer: New file.
23053         * lib/unistd-safer.h (pipe2_safer): New prototype.
23054         * lib/unistd--.h (pipe2): New wrapper.
23055         * lib/pipe-safer.c (pipe2_safer): New function.
23056         * modules/pipe (Depends-on): Add pipe2-safer.
23057         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
23058
23059         stdlib-safer: preserve cloexec flag for mkostemp[s]
23060         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
23061         fd_safer_flag.
23062
23063         unistd-safer: allow preservation of cloexec status via flag
23064         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
23065         prototypes.
23066         * lib/dup-safer.c (dup_safer_flag): New function.
23067         * lib/fd-safer.c (fd_safer_flag): Likewise.
23068         * modules/cloexec (configure.ac): Set witness.
23069
23070         test-dup2: enhance test
23071         * modules/dup2-tests (Depends-on): Add cloexec.
23072         * tests/test-dup2.c (main): Enhance test.
23073
23074         cloexec: add dup_cloexec
23075         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
23076         header and comments.
23077         * lib/cloexec.c (set_cloexec_flag): Add comments.
23078         (dup_cloexec): New function, with mingw implementation borrowed
23079         from...
23080         * lib/w32spawn.h (dup_noinherit): ...here.
23081         * modules/execute (Depends-on): Add cloexec.
23082         * modules/pipe (Depends-on): Likewise.
23083         * modules/cloexec (Depends-on): Add dup2.
23084         * modules/cloexec-tests (Files): New file.
23085         * tests/test-cloexec.c: Likewise.
23086
23087         test-xalloc-die: fix test for mingw
23088         * modules/xalloc-die-tests (Files): Add tests/init.sh.
23089         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
23090         directory and .exe suffix off argv[0] output.
23091
23092         test-fseeko: fix test for mingw
23093         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
23094         than undefining fseek, so test will pass on mingw.
23095
23096 2009-12-05  Bruno Haible  <bruno@clisp.org>
23097
23098         * lib/progname.h (set_program_name): Clarify specification.
23099         * lib/progname.c (set_program_name): Likewise.
23100         Reported by Jim Meyering.
23101
23102 2009-12-05  Jim Meyering  <meyering@redhat.com>
23103
23104         maint.mk: backslash-escape parens in default regexp
23105         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
23106         backslash-escape the literal parentheses.
23107
23108         maint.mk: news-date-check: use grep -E
23109         * top/maint.mk (today): Define a Make variable, not a...
23110         (news-date-check): ...shell variable.
23111         (news-date-regexp): Use the Make variable.
23112         Use grep's -E option.  Change the failing diagnostic to mention
23113         the variable, $(news-date-regexp).
23114
23115 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
23116
23117         maintainer-makefile: allow customization of NEWS entry format
23118         * top/maint.mk (news-date-regexp): New overridable variable.
23119         (news-date-check): Use it.
23120
23121 2009-12-04  Eric Blake  <ebb9@byu.net>
23122
23123         mgetgroups: add xgetgroups, and avoid ENOSYS failures
23124         * lib/mgetgroups.h (xgetgroups): New prototype.
23125         * lib/mgetgroups.c (xgetgroups): New wrapper.
23126         (mgetgroups): Handle ENOSYS.
23127         * modules/mgetgroups (Depends-on): Add realloc.
23128         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
23129
23130         mgetgroups: avoid argument promotion issues with -1
23131         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
23132         for invalid gid_t.
23133         * tests/test-chown.h (getegid, test_chown): Likewise.
23134         * tests/test-lchown.h (getegid, test_lchown): Likewise.
23135
23136 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
23137
23138         exclude: Fix header file problems.
23139         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
23140
23141 2009-12-01  Jim Meyering  <meyering@redhat.com>
23142
23143         fts: fts_open: do not let an empty string cause immediate failure
23144         This is required in support of GNU rm, for which the command
23145         "rm A '' B" must process and remove both A and B, in spite of
23146         the empty string argument.
23147         * lib/fts.c (fts_open): Do not let the presence of an empty string
23148         cause fts_open to fail immediately.  Most fts-using tools must be
23149         able to process all arguments, in order, and can be expected to
23150         diagnose such arguments themselves.
23151
23152 2009-11-30  Eric Blake  <ebb9@byu.net>
23153
23154         utimens: fix compilation error
23155         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
23156         Declare variable at right scope.
23157
23158 2009-11-29  Jim Meyering  <meyering@redhat.com>
23159
23160         bootstrap: handle perl-5.11's changed --version output
23161         * build-aux/bootstrap (get_version): Handle perl separately,
23162         since perl-5.11's --version output is different.
23163
23164 2009-11-28  Jim Meyering  <meyering@redhat.com>
23165
23166         userspec: depend on the inttostr module, too
23167         * modules/userspec (Depends-on): Add inttostr.
23168
23169         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
23170         * lib/userspec.c (parse_with_separator): Do not accept a user ID
23171         number of MAXUID when it evaluates to (uid_t) -1.
23172         Likewise for group ID.  Reported by Matt McCutchen in
23173         <http://savannah.gnu.org/bugs/?28113>
23174
23175         userspec: reformat to use spaces, not TABs
23176         * lib/userspec.c: Expand TABs to spaces.
23177         Add Emacs' "indent-tabs-mode: nil" hint.
23178
23179 2009-11-27  Eric Blake  <ebb9@byu.net>
23180
23181         getopt-gnu: flush out another BSD bug
23182         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
23183         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
23184         flush out BSD bug.
23185         * tests/test-getopt.h (test_getopt): End lists with NULL.
23186         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23187         (test_getopt_long_posix): Enhance test.
23188         * modules/getopt-posix-tests (Depends-on): Add stdbool.
23189         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
23190         getopt-gnu.
23191         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
23192         Likewise.
23193
23194 2009-11-27  Simon Josefsson  <simon@josefsson.org>
23195
23196         * modules/idpriv-droptemp-tests (Notice): Fix text.
23197
23198 2009-11-27  Jim Meyering  <meyering@redhat.com>
23199
23200         test-xalloc-die: avoid spurious failure due to libtool argv difference
23201         In a libtool-enabled project, this test would fail due to a difference
23202         in the emitted program name, e.g.,
23203         -test-xalloc-die: memory exhausted
23204         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
23205         Use program to avoid that.
23206         * modules/xalloc-die-tests (Depends-on): Add progname.
23207         * tests/test-xalloc-die.c: Include progname.h".
23208         (program_name): Remove decl.
23209         (main): Call set_program_name.
23210         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
23211
23212 2009-11-26  Richard Jones  <rjones@redhat.com>
23213
23214         w32sock: leave win32 error in place.
23215         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
23216
23217 2009-11-26  Eric Blake  <ebb9@byu.net>
23218
23219         init.sh: suggest to use skip_ and fail_ functions in comments
23220         * tests/init.sh: Add a sentence.
23221
23222 2009-11-25  Bruno Haible  <bruno@clisp.org>
23223
23224         init.sh: add documentation in comments
23225         * tests/init.sh: Add some developer and user documentation.
23226
23227 2009-11-26  Jim Meyering  <meyering@redhat.com>
23228
23229         init.sh: accommodate even those who specify bogus srcdir manually
23230         * tests/init.sh: Normally, srcdir is guaranteed by automake and
23231         configure-time tests to be sanitized, so that there is no need to
23232         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
23233         (with no double quotes) suffices.  However, since tests may be
23234         invoked manually, and since you may explicitly set srcdir to the
23235         name of a directory containing spaces, do quote its uses here.
23236         * tests/test-pread.sh: Likewise.
23237         Suggested by Bruno Haible.
23238
23239         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
23240         * tests/test-pread.sh: Write no data into the pipe, because
23241         test-pread actually reads none.  This avoids a diagnostic,
23242         "bash: echo: write error: Broken pipe", that arises in the unusual
23243         event something is ignoring SIGPIPE, and might be interpreted
23244         as some sort of failure.  Reported by Bruno Haible.
23245
23246 2009-11-25  Jim Meyering  <meyering@redhat.com>
23247
23248         test-pread: cover failure with ESPIPE and EINVAL
23249         * tests/test-pread.c (main): Test for failure, too.
23250         * tests/test-pread.sh: Invoke with stdin on a pipe.
23251         Suggested by Eric Blake.
23252
23253         pread: improvement and fix
23254         * modules/pread (Depends-on): Depend on lseek, for portability to
23255         e.g., mingw.  Suggested by Eric Blake.
23256         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
23257
23258         unistd.in.h: correct declaration of pread
23259         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
23260         Reported by Richard W.M. Jones.
23261
23262         test-pread.sh: distribute the test script
23263         * modules/pread-tests (Files): Include test-pread.sh.
23264
23265         test-pread.sh: clean up
23266         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
23267         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
23268         That is unnecessary, since it's always ".".
23269         Suggestion from Eric Blake.
23270
23271         test-pread.sh: make executable
23272         * tests/test-pread.sh: Set executable bit.
23273         Reported by Eric Blake.
23274
23275         correct typo in test-pread.sh
23276         * tests/test-pread.sh: Add #! line.
23277
23278         test pread
23279         * tests/test-pread.c: New file.
23280         * tests/test-pread.sh: Likewise.
23281         * modules/pread-tests: Likewise.
23282
23283         pread: new module
23284         * modules/pread: New file.
23285         * lib/unistd.in.h (pread): Define/declare.
23286         * lib/pread.c (pread): New file.
23287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
23288         * modules/unistd (Makefile.am): Substitute witnesses.
23289         * doc/posix-functions/pread.texi (pread): Update.
23290         * MODULES.html.sh: Add pread.
23291
23292 2009-11-25  Jim Meyering  <meyering@redhat.com>
23293
23294         tests/init.sh: new file to be used via most *.sh tests
23295         * tests/init.sh: New file.
23296
23297 2009-11-25  Eric Blake  <ebb9@byu.net>
23298
23299         utimens: work around older Linux failure with symlinks
23300         * lib/utimens.c (lutimensat_works_really): New variable.
23301         (fdutimens, lutimens): Use it to manage kernels that support
23302         nanosecond times on files, but not on symlinks.
23303         Reported by OndÅ™ej Vašík.
23304
23305         utimes: fix configure grammar
23306         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
23307
23308 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
23309
23310         regex: Fix fastmap for multibyte character ranges.
23311         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
23312         characters when a multibyte character range is included.
23313
23314 2009-11-22  Andy Wingo  <wingo@pobox.com>
23315
23316         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
23317         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
23318
23319 2009-11-24  Bruno Haible  <bruno@clisp.org>
23320
23321         doc: Most *_l functions exist in MacOS X 10.5.
23322         * doc/posix-functions/duplocale.texi: Update platforms list.
23323         * doc/posix-functions/freelocale.texi: Likewise.
23324         * doc/posix-functions/newlocale.texi: Likewise.
23325         * doc/posix-functions/uselocale.texi: Likewise.
23326         * doc/posix-functions/isalnum_l.texi: Likewise.
23327         * doc/posix-functions/isalpha_l.texi: Likewise.
23328         * doc/posix-functions/isblank_l.texi: Likewise.
23329         * doc/posix-functions/iscntrl_l.texi: Likewise.
23330         * doc/posix-functions/isdigit_l.texi: Likewise.
23331         * doc/posix-functions/isgraph_l.texi: Likewise.
23332         * doc/posix-functions/islower_l.texi: Likewise.
23333         * doc/posix-functions/isprint_l.texi: Likewise.
23334         * doc/posix-functions/ispunct_l.texi: Likewise.
23335         * doc/posix-functions/isspace_l.texi: Likewise.
23336         * doc/posix-functions/isupper_l.texi: Likewise.
23337         * doc/posix-functions/iswalnum_l.texi: Likewise.
23338         * doc/posix-functions/iswalpha_l.texi: Likewise.
23339         * doc/posix-functions/iswblank_l.texi: Likewise.
23340         * doc/posix-functions/iswcntrl_l.texi: Likewise.
23341         * doc/posix-functions/iswctype_l.texi: Likewise.
23342         * doc/posix-functions/iswdigit_l.texi: Likewise.
23343         * doc/posix-functions/iswgraph_l.texi: Likewise.
23344         * doc/posix-functions/iswlower_l.texi: Likewise.
23345         * doc/posix-functions/iswprint_l.texi: Likewise.
23346         * doc/posix-functions/iswpunct_l.texi: Likewise.
23347         * doc/posix-functions/iswspace_l.texi: Likewise.
23348         * doc/posix-functions/iswupper_l.texi: Likewise.
23349         * doc/posix-functions/iswxdigit_l.texi: Likewise.
23350         * doc/posix-functions/isxdigit_l.texi: Likewise.
23351         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
23352         * doc/posix-functions/strcasecmp_l.texi: Likewise.
23353         * doc/posix-functions/strcoll_l.texi: Likewise.
23354         * doc/posix-functions/strfmon_l.texi: Likewise.
23355         * doc/posix-functions/strftime_l.texi: Likewise.
23356         * doc/posix-functions/strncasecmp_l.texi: Likewise.
23357         * doc/posix-functions/strxfrm_l.texi: Likewise.
23358         * doc/posix-functions/tolower_l.texi: Likewise.
23359         * doc/posix-functions/toupper_l.texi: Likewise.
23360         * doc/posix-functions/towctrans_l.texi: Likewise.
23361         * doc/posix-functions/towlower_l.texi: Likewise.
23362         * doc/posix-functions/towupper_l.texi: Likewise.
23363         * doc/posix-functions/wcscoll_l.texi: Likewise.
23364         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
23365         * doc/posix-functions/wctrans_l.texi: Likewise.
23366         * doc/posix-functions/wctype_l.texi: Likewise.
23367         * doc/glibc-functions/strptime_l.texi: Likewise.
23368         * doc/glibc-functions/strtod_l.texi: Likewise.
23369         * doc/glibc-functions/strtof_l.texi: Likewise.
23370         * doc/glibc-functions/strtol_l.texi: Likewise.
23371         * doc/glibc-functions/strtold_l.texi: Likewise.
23372         * doc/glibc-functions/strtoll_l.texi: Likewise.
23373         * doc/glibc-functions/strtoul_l.texi: Likewise.
23374         * doc/glibc-functions/strtoull_l.texi: Likewise.
23375         * doc/glibc-functions/wcsftime_l.texi: Likewise.
23376         * doc/glibc-functions/wcstod_l.texi: Likewise.
23377         * doc/glibc-functions/wcstof_l.texi: Likewise.
23378         * doc/glibc-functions/wcstol_l.texi: Likewise.
23379         * doc/glibc-functions/wcstold_l.texi: Likewise.
23380         * doc/glibc-functions/wcstoll_l.texi: Likewise.
23381         * doc/glibc-functions/wcstoul_l.texi: Likewise.
23382         * doc/glibc-functions/wcstoull_l.texi: Likewise.
23383
23384 2009-11-24  Bruno Haible  <bruno@clisp.org>
23385
23386         duplocale: Fix logic bug.
23387         * lib/duplocale.c: Don't include <langinfo.h>.
23388         (_NL_LOCALE_NAME): Remove macro.
23389         (rpl_duplocale): Use setlocale instead of nl_langinfo.
23390         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
23391
23392 2009-11-23  Jim Meyering  <meyering@redhat.com>
23393
23394         test-update-copyright: don't hard-code /usr/bin/perl
23395         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
23396         perl to print the current year.  Gilles Espinasse reported that
23397         the replaced use of perl was hard-coded as /usr/bin/perl.
23398
23399 2009-11-23  Bruno Haible  <bruno@clisp.org>
23400
23401         duplocale: Add support for glibc 2.3.x.
23402         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
23403
23404 2009-11-22  Bruno Haible  <bruno@clisp.org>
23405
23406         vasnprintf: Tiny optimization.
23407         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
23408         MacOS X.
23409
23410 2009-11-22  Bruno Haible  <bruno@clisp.org>
23411
23412         Tests for module 'duplocale'.
23413         * modules/duplocale-tests: New file.
23414         * tests/test-duplocale.c: New file.
23415
23416         New module 'duplocale'.
23417         * m4/duplocale.m4: New file.
23418         * lib/locale.in.h (duplocale): New declaration.
23419         * lib/duplocale.c: New file.
23420         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
23421         gl_LOCALE_H_DEFAULTS): New macros.
23422         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
23423         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
23424         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
23425         REPLACE_DUPLOCALE.
23426         * modules/duplocale: New file.
23427         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
23428
23429 2009-11-22  Bruno Haible  <bruno@clisp.org>
23430
23431         * modules/locale-tests (configure.ac): Test for newlocale function.
23432         * tests/test-locale.c: When the system has extended locale functions,
23433         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
23434
23435         locale: Make locale_t available when possible.
23436         * lib/locale.in.h: Include <xlocale.h> when it exists.
23437         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
23438         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
23439         * modules/locale (Depends-on): Add extensions.
23440         (Makefile.am): Also substitute HAVE_XLOCALE_H.
23441         * doc/posix-headers/locale.texi: Document the problem with locale_t.
23442
23443 2009-11-22  Bruno Haible  <bruno@clisp.org>
23444
23445         Add comments.
23446         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
23447         invocation.
23448         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
23449         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23450         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23451
23452 2009-11-22  Bruno Haible  <bruno@clisp.org>
23453
23454         error: account for the possibility of freopen (stdout).
23455         * lib/error.c: Include <unistd.h>.
23456         (flush_stdout): New function, extracted from error and error_at_line.
23457         Determine stdout's fd dynamically.
23458         (error, error_at_line): Invoke flush_stdout.
23459         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
23460         * modules/error (Depends-on): Add unistd.
23461
23462 2009-11-22  Bruno Haible  <bruno@clisp.org>
23463
23464         diffseq: Add comment.
23465         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
23466
23467 2009-11-22  Jim Meyering  <meyering@redhat.com>
23468
23469         c-stack: avoid defining an unused static function
23470         * lib/c-stack.c (find_stack_direction): Do not define this function
23471         when it will not be used.
23472
23473         diffseq: avoid spurious gcc warnings
23474         * lib/diffseq.h (IF_LINT2): Define.
23475         (compareseq): Use it to initialize two members of "part".
23476         This avoids two used-uninitialized warnings.
23477
23478 2009-11-21  Jim Meyering  <meyering@redhat.com>
23479
23480         c-stack: avoid "ignoring return value of `write'" warning
23481         * lib/c-stack.c: Include "ignore-value.h".
23482         (die): Explicitly ignore each write return value.
23483         * modules/c-stack (Depends-on): Add ignore-value.
23484
23485 2009-11-21  Bruno Haible  <bruno@clisp.org>
23486
23487         diffseq: reduce scope of variable 'best'.
23488         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
23489         variable, earlier used for two different purposes.
23490
23491 2009-11-21  Jim Meyering  <meyering@redhat.com>
23492
23493         diffseq: remove useless assignment to "best"
23494         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
23495         assignment.  At that point "best" is already guaranteed to be zero.
23496
23497 2009-11-20  Eric Blake  <ebb9@byu.net>
23498
23499         build: mention ftp redirector in release announcements
23500         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
23501         values that used to come from cfg.mk; mention FTP redirect URL.
23502         * build-aux/announce-gen: Mention the mirror list.
23503         Suggested by Karl Berry.
23504
23505         nanosleep: improve port to mingw
23506         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
23507         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
23508         LIB_NANOSLEEP, but only when needed.
23509         * modules/select (Link): Document LIBSOCKET.
23510         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
23511         enough.
23512
23513         nanosleep: work around cygwin bug
23514         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
23515         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
23516         bug.
23517         (getnow): Delete, not needed.
23518         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
23519         LIB_CLOCK_GETTIME.
23520         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
23521         clock-time, gettime.
23522         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
23523         bug.
23524         * modules/nanosleep-tests: New test.
23525         * tests/test-nanosleep.c: New file.
23526
23527         sleep: work around cygwin bug
23528         * lib/sleep.c (rpl_sleep): Work around the bug.
23529         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
23530         (gl_PREREQ_SLEEP): Delete unused macro.
23531         * modules/sleep (Depends-on): Add verify.
23532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23533         * modules/unistd (Makefile.am): Substitute witness.
23534         * lib/unistd.in.h (sleep): Update prototype.
23535         * doc/posix-functions/sleep.texi (sleep): Document the bug.
23536         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
23537         * modules/sleep-tests (Depends-on): Check for alarm.
23538
23539 2009-11-20  Jim Meyering  <meyering@redhat.com>
23540
23541         maint.mk: improve sc_prohibit_magic_number_exit
23542         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
23543         so it does not match uses like System.exit(1).
23544         Add comments showing how to correct all offenders.
23545
23546 2009-11-19  Eric Blake  <ebb9@byu.net>
23547
23548         xalloc-die-tests: add missing library
23549         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
23550
23551         test-xvasprintf: silence compiler warnings
23552         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
23553         empty string from gcc.
23554
23555 2009-11-19  Jim Meyering  <meyering@redhat.com>
23556
23557         xfreopen: new module, from coreutils
23558         * modules/xfreopen: New module.
23559         * lib/xfreopen.c: New file.
23560         * lib/xfreopen.h: New file.
23561         * MODULES.html.sh (File stream based Input/Output"): Add it.
23562
23563 2009-11-19  Eric Blake  <ebb9@byu.net>
23564
23565         manywarnings: depend on warnings
23566         * modules/manywarnings (Depends-on): Add warnings.
23567
23568         build: avoid compiler warnings
23569         * lib/select.c (rpl_select): Delete unused variable.
23570         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
23571
23572 2009-11-18  Eric Blake  <ebb9@byu.net>
23573
23574         tests: avoid false negative with --with-packager
23575         * tests/test-version-etc.sh: Discard packager information.
23576         * tests/test-argp-version-etc-1.sh: Likewise.
23577         Reported by Mike Frysinger.
23578
23579         utimens: fix regression on Solaris
23580         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
23581         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
23582         can only change fd timestamps via futimesat.  Instead, use an
23583         additional witness macro to avoid BSD bug.
23584         Reported by Jim Meyering.
23585
23586 2009-11-17  Eric Blake  <ebb9@byu.net>
23587
23588         usleep: use it to simplify tests
23589         * modules/stat-time-tests (Depends-on): Add usleep.
23590         (configure.ac): Drop usleep check.
23591         * modules/chown-tests (Depends-on, configure.ac): Likewise.
23592         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
23593         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
23594         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
23595         * modules/openat-tests (Depends-on, configure.ac): Likewise.
23596         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
23597         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
23598         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
23599         Likewise.
23600         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
23601         * tests/test-lchown.h (nap): Likewise.
23602         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
23603         * tests/test-stat-time.c (nap): Likewise.
23604         * tests/test-utimens-common.h (nap): Update comments.
23605
23606         usleep: new module
23607         * modules/usleep: New file.
23608         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
23609         * lib/usleep.c (usleep): Likewise.
23610         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23611         * modules/unistd (Makefile.am): Substitute witnesses.
23612         * lib/unistd.in.h (usleep): Add declaration.
23613         * doc/pastposix-functions/usleep.texi (usleep): Document this.
23614         * MODULES.html.sh (Date and time): Likewise.
23615         * modules/usleep-tests (Depends-on): New test.
23616         * tests/test-usleep.c: New file.
23617
23618         chown: work around OpenBSD bug
23619         * lib/chown.c (rpl_chown): Work around the bug.
23620         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
23621         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
23622         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
23623         * modules/chown (Depends-on): Add stdbool.
23624         * modules/lchown (Depends-on): Likewise.
23625         * doc/posix-functions/chown.texi (chown): Document the bug.
23626         * doc/posix-functions/lchown.texi (lchown): Likewise.
23627         * tests/test-lchown.h (test_chown): Relax test.
23628
23629         mkstemp: avoid conflict with C++ keyword template
23630         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
23631         * lib/mkostemp.c (mkostemp): Likewise.
23632         * lib/mkostemps.c (mkostemps): Likewise.
23633         * lib/mkstemp.c (mkstemp): Likewise.
23634         * lib/mkstemps.c (mkstemps): Likewise.
23635
23636         xalloc-die-tests: optimize
23637         * tests/test-xalloc-die.sh: Reduce number of processes.
23638
23639 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23640
23641         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
23642         patch from ludo@gnu.org (Ludovic Courtès).
23643
23644 2009-11-17  Jim Meyering  <meyering@redhat.com>
23645
23646         version-etc: use proper license string
23647         * modules/version-etc (License): Use LGPL, not LGPLv3+.
23648         * modules/version-etc-fsf: Likewise.
23649
23650 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23651
23652         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
23653         printed to stdout.  Deal with EOL differences.
23654
23655 2009-11-17  Eric Blake  <ebb9@byu.net>
23656
23657         unsetenv: work around Solaris bug
23658         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
23659         * lib/unsetenv.c (rpl_unsetenv): Work around it.
23660         Reported by Jim Meyering.
23661
23662         vasnprintf: avoid compiler warnings
23663         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
23664         variables.
23665         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
23666
23667 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23668
23669         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
23670         settings since xalloc-die is no longer the self test,
23671         xalloc-die.sh is.
23672
23673 2009-11-17  Jim Meyering  <meyering@redhat.com>
23674
23675         test-xalloc-die.sh: make the code agree with the commit log
23676         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
23677         at the end, just in case you happen to have a test-xalloc-die
23678         program in some other PATH directory.
23679
23680         test-xalloc-die.sh: fix a portability bug
23681         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
23682         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
23683         Otherwise, argv[0] (as often seen in diagnostics) would be too
23684         system-dependent, sometimes with, and sometimes without the leading "./".
23685
23686         version-etc-fsf: relax license to LGPLv3+
23687         * modules/version-etc-fsf (License): Relax license.
23688
23689 2009-11-16  Eric Blake  <ebb9@byu.net>
23690
23691         xalloc-die-tests: avoid printing null pointer
23692         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
23693         shell script.
23694         * tests/test-xalloc-die.c (program_name): Declare.
23695         * tests/test-xalloc-die.sh (tmpfiles): New file.
23696
23697         setenv, unsetenv: work around various bugs
23698         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
23699         (setenv) [HAVE_SETENV]: Work around bugs.
23700         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
23701         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
23702         for bugs.
23703         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
23704         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
23705         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
23706         * modules/stdlib (Makefile.am): Update substitutions.
23707         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
23708         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
23709         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
23710         * modules/setenv-tests: New test.
23711         * modules/unsetenv-tests: Likewise.
23712         * tests/test-setenv.c: New file.
23713         * tests/test-unsetenv.c: Likewise.
23714
23715 2009-11-16  Jim Meyering  <meyering@redhat.com>
23716
23717         version-etc: relax license to LGPLv3+
23718         * modules/version-etc (License): Relax license.
23719
23720         better AC_REQUIRE expanded-before-required-warning avoidance
23721         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
23722         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
23723         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
23724         which is no longer needed.
23725
23726 2009-11-16  Eric Blake  <ebb9@byu.net>
23727
23728         test-freading: clean up temporary file
23729         * tests/test-freading.c (main): Remove file on success, and use
23730         ASSERT more liberally.
23731         Reported by Jim Meyering.
23732
23733 2009-11-16  Jim Meyering  <meyering@redhat.com>
23734
23735         avoid new AC_REQUIRE expanded-before-required warnings
23736         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
23737         merely using it.
23738         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
23739         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
23740
23741 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23742
23743         * tests/test-xalloc-die.c: New file.
23744         * modules/xalloc-die-tests: New file.
23745         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
23746         XFAIL_TESTS so it can be appended by modules.
23747
23748 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23749
23750         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
23751         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
23752
23753 2009-11-14  Eric Blake  <ebb9@byu.net>
23754
23755         fnmatch: avoid compiler warning
23756         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
23757         to silence compiler warning about mismatch signedness in ?:.
23758         Reported by Robert Millan.
23759
23760         intprops: add double-inclusion guard
23761         * lib/intprops.h: Allow idempotent includes.
23762         Suggested by Bruce Korb.
23763
23764         openat: detect Solaris fchownat bug
23765         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
23766         penalizing glibc chownat when only lchownat is broken.
23767         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
23768         trailing slash bugs.
23769         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
23770         * modules/openat-tests (Files): Include more files.
23771         (Depends-on): Add mgetgroups, sleep, stat-time.
23772         (configure.ac): Add additional checks.
23773         (Makefile.am): Build new test.
23774         * tests/test-fchownat.c: New file.
23775
23776         lchown: detect Solaris and FreeBSD bug
23777         * lib/lchown.c (rpl_lchown): Work around bug.
23778         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
23779         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23780         * modules/unistd (Makefile.am): Populate it.
23781         * lib/unistd.in.h (lchown): Update declaration.
23782         * doc/posix-functions/lchown.texi (lchown): Document the bug.
23783         * modules/lchown-tests: New file.
23784         * tests/test-lchown.h (test_lchown): Likewise.
23785         * tests/test-lchown.c (main): Likewise.
23786
23787         chown: detect Solaris and FreeBSD bug
23788         * lib/chown.c (rpl_chown): Work around bug.
23789         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
23790         (gl_PREREQ_CHOWN): Delete.
23791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23792         * modules/unistd (Makefile.am): Populate it.
23793         * lib/unistd.in.h (chown): Update declaration.
23794         * lib/lchown.c (chown): Update client.
23795         * modules/lchown (Depends-on): Add lstat.
23796         * doc/posix-functions/chown.texi (chown): Document the bug.
23797         * doc/posix-functions/getgroups.texi (getgroups): Document
23798         getgroups pitfall.
23799         * modules/chown-tests: New file.
23800         * tests/test-chown.h (test_chown): Likewise.
23801         * tests/test-chown.c (main): Likewise.
23802
23803 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
23804
23805         gnulib-tool: correctly detect absence of m4 directories
23806         * gnulib-tool: Avoid extra newline on data passed to wc -l.
23807
23808 2009-11-14  Jim Meyering  <meyering@redhat.com>
23809
23810         maint.mk: Prohibit inclusion of "xalloc.h" without use.
23811         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23812
23813 2009-11-14  John W. Eaton  <jwe@gnu.org>
23814
23815         strftime.h: wrap funtion declaration in extern "C" block
23816         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
23817
23818 2009-11-13  Eric Blake  <ebb9@byu.net>
23819
23820         getgroups: avoid compiler warning
23821         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
23822
23823         getgroups: work around FreeBSD bug
23824         * lib/getgroups.c (rpl_getgroups): Work around the bug.
23825         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
23826         * doc/posix-functions/getgroups.texi (getgroups): Document it.
23827         * tests/test-getgroups.c (main): Fix buffer overrun.
23828
23829         getgroups: avoid compilation failure
23830         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
23831         * modules/getgroups (Depends-on): Add stdint.
23832
23833 2009-11-13  Jim Meyering  <meyering@redhat.com>
23834
23835         test-getgroups: avoid compilation failure
23836         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
23837
23838 2009-11-13  Eric Blake  <ebb9@byu.net>
23839
23840         mgetgroups: new module, taken from coreutils
23841         * modules/mgetgroups: New file.
23842         * lib/mgetgroups.h: Likewise.
23843         * lib/mgetgroups.c (mgetgroups): Likewise.
23844         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
23845         * MODULES.html.sh (Users and groups): Mention it.
23846
23847         getgroups: don't expose GETGROUPS_T to user
23848         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
23849         an element at a time if GETGROUPS_T is wrong size.
23850         * lib/getugroups.h (getugroups): Change signature.
23851         * lib/unistd.in.h (getgroups): Likewise.
23852         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
23853         signature needs fixing.
23854         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
23855         AC_TYPE_GETGROUPS.
23856         * modules/group-member (Depends-on): Add getgroups.
23857         * lib/group-member.c (group_info, get_group_info): Use gid_t.
23858         (group_member): Rely on getgroups replacement.
23859         * lib/getugroups.c (getugroups): Use gid_t.
23860         * tests/test-getgroups.c (main): Likewise.
23861         * NEWS: Mention the signature change.
23862         * doc/posix-functions/getgroups.texi (getgroups): Mention the
23863         problem with signature.
23864         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
23865         GETGROUPS_T is still useful for setgroups.
23866
23867         getgroups, getugroups: provide stubs for mingw
23868         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
23869         * lib/getugroups.c (getugroups): Likewise.
23870         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
23871         function.  Modernize replacement scheme.
23872         (gl_PREREQ_GETGROUPS): Delete.
23873         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
23874         * modules/getgroups (configure.ac): Declare witness.
23875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23876         * modules/unistd (Depends-on): Substitute witness.
23877         * lib/unistd.in.h (getgroups): Declare replacement.
23878
23879         getgroups: avoid calling exit
23880         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
23881         drop xalloc.
23882         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
23883         dependencies.
23884         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
23885         exiting, in the rare case of malloc failure.
23886
23887         getgroups: fix logic error
23888         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
23889         has more than 20 groups.
23890         * modules/getgroups-tests: New test.
23891         * tests/test-getgroups.c: New file.
23892
23893 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23894
23895         * tests/test-base64.c: Improve.
23896
23897 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23898
23899         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
23900         Blake <ebb9@byu.net>.
23901
23902 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23903
23904         * tests/test-xvasprintf.c: Add %s%s related checks.
23905
23906 2009-11-12  Eric Blake  <ebb9@byu.net>
23907
23908         version-etc: match standards.texi style
23909         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
23910         and use <> only for URLs.
23911
23912 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
23913
23914         fts: do not fail on a submount during traversal
23915         * lib/fts.c (fts_build): Read the stat info again after opening
23916         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
23917         Original report at http://bugzilla.redhat.com/501848.
23918
23919 2009-11-12  Jim Meyering  <meyering@redhat.com>
23920
23921         bootstrap: sync from coreutils
23922         * build-aux/bootstrap (bootstrap_epilogue): New function.
23923         Use git_modules_config in one more place.  This make bootstrap's
23924         --gnulib-srcdir option more useful for testing.
23925
23926         bootstrap: generalize autoheader check
23927         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
23928         AC_CONFIG_HEADERS.
23929
23930 2009-11-11  Eric Blake  <ebb9@byu.net>
23931
23932         mkfifoat: use new modules for Solaris and BSD bugs
23933         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
23934         * lib/mkfifoat.c (mknodat): Split...
23935         * lib/mknodat.c (mknodat): ...into new file.
23936         * modules/mkfifoat (Files): Ship new file.
23937         (Depends-on): Add mkfifo, mknod.
23938         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
23939         (Depends-on): Add symlink.
23940         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
23941         redundant with test_mkfifo.h.
23942         (do_mkfifoat, do_mknodat): New helpers.
23943
23944         mknod: new module
23945         * modules/mknod: New file.
23946         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
23947         * lib/mknod.c (mknod): Likewise.
23948         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23949         defaults.
23950         * modules/sys_stat (Makefile.am): Substitute them.
23951         * lib/sys_stat.in.h (mknod): Declare replacement.
23952         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23953         Document it.
23954         * doc/posix-functions/mknod.texi (mknod): Likewise.
23955         * modules/mknod-tests: New test.
23956         * tests/test-mknod.c: Likewise.
23957
23958         mkfifo: new module
23959         * modules/mkfifo: New file.
23960         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23961         * lib/mkfifo.c (mkfifo): Likewise.
23962         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23963         defaults.
23964         * modules/sys_stat (Makefile.am): Substitute them.
23965         * lib/sys_stat.in.h (mkfifo): Declare replacement.
23966         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23967         Document it.
23968         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
23969         * modules/mkfifo-tests: New test.
23970         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
23971         from test-mkfifoat.c.
23972         * tests/test-mkfifo.c: New file.
23973
23974         readlink: detect FreeBSD bug
23975         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
23976         slash on symlink.
23977         * doc/posix-functions/readlink.texi (readlink): Document the bug.
23978         * tests/test-readlink.h (test_readlink): Enhance test.
23979
23980         symlink: detect FreeBSD bug
23981         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
23982         slash on symlink.
23983         * doc/posix-functions/symlink.texi (symlink): Document the bug.
23984         * tests/test-symlink.h (test_symlink): Enhance test.
23985
23986 2009-11-10  Eric Blake  <ebb9@byu.net>
23987
23988         link: detect FreeBSD bug
23989         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
23990         symlink.
23991         * doc/posix-functions/link.texi (link): Document the bug.
23992         * tests/test-link.h (test_link): Enhance test.
23993         * tests/test-linkat.c (main): Update caller.
23994
23995         unlink, remove: detect FreeBSD bug
23996         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
23997         slash on symlink.
23998         * doc/posix-functions/unlink.texi (unlink): Document the bug.
23999         * doc/posix-functions/remove.texi (remove): Likewise.
24000         * tests/test-unlink.h (test_unlink): Enhance test.
24001         * tests/test-remove.c (main): Likewise.
24002
24003 2009-11-09  Eric Blake  <ebb9@byu.net>
24004
24005         rename: detect FreeBSD bug
24006         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
24007         slash on symlink.
24008         * modules/renameat-tests (Depends-on): Add filenamecat.
24009         * tests/test-rename.h (test_rename): Allow one more errno.
24010         * tests/test-renameat.c (main): Likewise.
24011         * doc/posix-functions/rename.texi (rename): Document the bug.
24012
24013         open: detect FreeBSD bug
24014         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
24015         symlink.
24016         * doc/posix-functions/open.texi (open): Document the bug.
24017         * doc/posix-functions/utimes.texi (utimes): Likewise.
24018         * tests/test-open.h (test_open): Add parameters, and test symlink
24019         handling.
24020         * tests/test-open.c (main): Adjust caller.
24021         * tests/test-fcntl-safer.c (main): Likewise.
24022         * modules/open-tests (Depends-on): Add stdbool, symlink.
24023         * modules/fcntl-safer-tests (Depends-on): Likewise.
24024         * tests/test-openat.c (main): Add test-open tests.
24025
24026         stat: detect FreeBSD bug
24027         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
24028         symlink.
24029         * doc/posix-functions/stat.texi (stat): Document the bug.
24030         * tests/test-stat.h (test_stat_func): Add argument.
24031         * tests/test-stat.c (main): Adjust caller.
24032         * tests/test-fstatat.c (main): Likewise.
24033         * modules/stat-tests (Depends-on): Add stdbool, symlink.
24034         Reported by Jim Meyering.
24035
24036 2009-11-09  James Youngman  <jay@gnu.org>
24037
24038         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
24039         * lib/strftime.c: Correct placement of #include "ignore-value.h".
24040
24041 2009-11-08  Jim Meyering  <meyering@redhat.com>
24042
24043         utimens: remove invalid futimesat call
24044         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
24045         It used the file descriptor of the target file as the DIR_FD
24046         parameter and NULL as the file name.  That caused failure with
24047         errno == EFAULT on FreeBSD-8.0-rc2
24048
24049 2009-11-07  Eric Blake  <ebb9@byu.net>
24050
24051         fflush, freadseek: use fseeko, not fseek
24052         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
24053         (clear_ungetc_buffer): Avoid potential problems on large files.
24054         * lib/freadseek.c (freadseek): Likewise.
24055         * modules/freadseek (Depends-on): Add fseeko.
24056         * modules/fseek (configure.ac): Set a witness.
24057         * tests/test-fflush.c (main): Use fseeko.
24058         * tests/test-fpurge.c (fseek): Disable link warning.
24059         * tests/test-freadable.c (fseek): Likewise.
24060         * tests/test-freading.c (fseek): Likewise.
24061         * tests/test-fseeko.c (fseek): Likewise.
24062         * tests/test-ftell.c (fseek): Likewise.
24063         * tests/test-ftello.c (fseek): Likewise.
24064         * tests/test-fwritable.c (fseek): Likewise.
24065         * tests/test-fwriting.c (fseek): Likewise.
24066
24067 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24068
24069         * modules/memchr (Depends-on): Drop getpagesize dependency.
24070
24071 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24072
24073         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
24074         Reported by Ludovic Courtès.
24075         * build-aux/pmccabe2html: Improve example usage.
24076         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
24077
24078 2009-11-06  Jim Meyering  <meyering@redhat.com>
24079
24080         do-release-commit-and-tag: New module.
24081         Automate the release-commit and tag process.
24082         * build-aux/do-release-commit-and-tag: New script, from coreutils.
24083         * modules/do-release-commit-and-tag: New file.
24084         * MODULES.html.sh (Support for maintaining and releasing): Add it.
24085
24086 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24087
24088         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
24089         because test-select.c uses inet_pton.
24090
24091 2009-11-06  Simon Josefsson  <simon@josefsson.org>
24092
24093         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
24094         GETADDRINFO_LIB.  Bump serial number.
24095         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
24096         Suggested by Eric Blake <ebb9@byu.net>.
24097
24098 2009-11-05  Eric Blake  <ebb9@byu.net>
24099
24100         strtod: detect darwin bug
24101         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
24102         Reported by Leo Davis.
24103
24104         freopen-safer: new module
24105         * modules/freopen-safer: New module.
24106         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
24107         * lib/freopen-safer.c (freopen_safer): New file.
24108         * lib/stdio-safer.h (freopen_safer): New declaration.
24109         * lib/stdio--.h (freopen): New override.
24110         * MODULES.html.sh (File stream based Input/Output): Mention it.
24111         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
24112         freopen-safer module.
24113         * doc/posix-functions/stderr.texi (stderr): Likewise.
24114         * doc/posix-functions/stdin.texi (stdin): Likewise.
24115         * doc/posix-functions/stdout.texi (stdout): Likewise.
24116         * modules/freopen-safer-tests: New test.
24117         * tests/test-reopen-safer.c: New file.
24118
24119 2009-11-05  Jim Meyering  <meyering@redhat.com>
24120
24121         maint.mk: Prohibit inclusion of "close-stream.h" without use.
24122         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
24123
24124 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24125
24126         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
24127
24128 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24129
24130         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
24131
24132 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24133
24134         Fix link error.
24135         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24136         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24137
24138 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24139
24140         * tests/test-func.c: Also test value of __func__.
24141
24142 2009-11-05  Simon Josefsson  <simon@josefsson.org>
24143
24144         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
24145         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
24146
24147 2009-11-05  Bruno Haible  <bruno@clisp.org>
24148
24149         Fix link error.
24150         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
24151         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24152         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
24153
24154 2009-11-05  Bruno Haible  <bruno@clisp.org>
24155
24156         Tests for module 'inet_pton'.
24157         * modules/inet_pton-tests: New file.
24158         * tests/test-inet_pton.c: New file.
24159
24160 2009-11-05  Bruno Haible  <bruno@clisp.org>
24161
24162         Tests for module 'inet_ntop'.
24163         * modules/inet_ntop-tests: New file.
24164         * tests/test-inet_ntop.c: New file.
24165
24166 2009-11-04  Eric Blake  <ebb9@byu.net>
24167
24168         stdlib-safer: wrap all mkstemp variants
24169         * modules/mkostemp (configure.ac): Set witness.
24170         * modules/mkostemps (configure.ac): Likewise.
24171         * modules/mkstemps (configure.ac): Likewise.
24172         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
24173         (mkstemps_safer): Wrap more functions.
24174         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
24175         wrapping.
24176         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
24177         (mkstemps_safer): Implement the wrappers.
24178
24179         mkstemps, mkostemps: new modules
24180         * modules/mkostemps: New module.
24181         * modules/mkstemps: Likewise.
24182         * lib/mkostemps.c (mkostemps): New file.
24183         * lib/mkstemps.c (mkstemps): Likewise.
24184         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
24185         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
24186         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
24187         * modules/stdlib (Makefile.am): Substitute them.
24188         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
24189         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
24190         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
24191         * doc/gnulib.texi (Glibc stdlib.h): Include them.
24192         * MODULES.html.sh (File system functions): Mention them.
24193
24194         tempname: resync from glibc
24195         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
24196         same values for __GT_FILE as glibc.  Abort even when assertions
24197         are disabled.
24198         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
24199         match its value otherwise.  Allow idempotent inclusion.
24200         * lib/mkdtemp.c (mkdtemp): Adjust caller.
24201         * lib/mkostemp.c (mkostemp): Likewise.
24202         * lib/mkstemp.c (mkstemp): Likewise.
24203         * lib/tmpfile.c (tmpfile): Likewise.
24204         * NEWS: Document this.
24205
24206         utimens: fix use of futimens on older Linux
24207         * lib/utimens.c (fdutimens): Use updated, rather than original,
24208         timespec to avoid bug in older Linux kernel.
24209         Reported by Simon Josefsson.
24210
24211 2009-11-04  Bruno Haible  <bruno@clisp.org>
24212
24213         Make num_processors more flexible and consistent.
24214         * lib/nproc.h (enum nproc_query): New type.
24215         (num_processors): Add a 'query' argument.
24216         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
24217         (num_processors): Add a 'query' argument. Test the value of the
24218         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
24219         mingw, count the number of CPUs available for the current process.
24220         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
24221         Check for sched_getaffinity and sched_getaffinity_np.
24222         * modules/nproc (Depends-on): Add c-ctype, extensions.
24223         * NEWS: Mention the change.
24224
24225 2009-11-03  Bruno Haible  <bruno@clisp.org>
24226
24227         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
24228
24229 2009-11-03  Jim Meyering  <meyering@redhat.com>
24230
24231         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
24232         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
24233         if it is defined.
24234
24235 2009-11-02  Eric Blake  <ebb9@byu.net>
24236
24237         mktime, timegm: share common declaration
24238         * lib/mktime-internal.h: New file.
24239         * lib/mktime.c: Use it rather than open-coding a declaration.
24240         * lib/timegm.c: Likewise.
24241         * modules/mktime (Files): Ship it.
24242         * modules/timegm (Files): Likewise.
24243         Suggested by Bruno Haible.
24244
24245         test-update-copyright: update test to match script changes
24246         * tests/test-update-copyright.sh: Avoid hard-coding perl
24247         location.  Don't update *.bak created by earlier runs.
24248
24249 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
24250             Simon Josefsson  <simon@josefsson.org>
24251             Bruno Haible  <bruno@clisp.org>
24252
24253         Fix link error on Solaris 8.
24254         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
24255         also in libnsl. Define also INET_PTON_LIB.
24256         * modules/inet_pton (Link): New section.
24257
24258 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24259             Bruno Haible  <bruno@clisp.org>
24260
24261         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
24262         * modules/inet_ntop (Link): New section.
24263         Reported by Boyan Kasarov <bkasarov@gmail.com>.
24264
24265 2009-11-02  Eric Blake  <ebb9@byu.net>
24266
24267         maint: avoid compiler warnings in m4 macros
24268         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
24269         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
24270
24271 2009-11-02  Simon Josefsson  <simon@josefsson.org>
24272
24273         * m4/pmccabe2html.m4: Remove file.
24274         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
24275         function.  Change maintainer.
24276         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
24277         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
24278         Courtès).
24279
24280 2009-10-31  Eric Blake  <ebb9@byu.net>
24281
24282         fseeko: fix m4 regression
24283         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
24284         regression from 2009-10-27.
24285         Reported by Ralf Wildenhues.
24286
24287 2009-10-31  Jim Meyering  <meyering@redhat.com>
24288
24289         inttostr: aesthetics and improved (compile-time) safety
24290         Define inttype_is_signed rather than inttype_is_unsigned,
24291         since the sole use is via "#if inttype_is_signed".
24292         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
24293         inttype_is_unsigned.
24294         * lib/offtostr.c (inttype_is_signed): Likewise.
24295         * lib/uinttostr.c (inttype_is_signed): Likewise.
24296         * lib/umaxtostr.c (inttype_is_signed): Likewise.
24297         * lib/inttostr.c (inttostr): Use verify to cross-check the
24298         inttype_is_signed value and the signedness of the actual type.
24299         * modules/inttostr (Depends-on): Add verify.
24300
24301 2009-10-30  Eric Blake  <ebb9@byu.net>
24302
24303         build: avoid compiler warnings
24304         * lib/fchmodat.c (lchmod): Mark unused variables.
24305         * lib/getopt.c (_getopt_initialize): Likewise.
24306         * lib/mktime.c (__mktime_internal): Provide prototype.
24307         * lib/inttostr.c (inttostr): Avoid compiler warning even with
24308         older gcc that do not understand #pragma GCC diagnostic.
24309         * lib/uinttostr.c (inttype_is_unsigned): Define.
24310         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
24311
24312 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
24313
24314         stat: fix compilation on AIX
24315         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
24316         only see struct stat64.
24317
24318 2009-10-30  Eric Blake  <ebb9@byu.net>
24319
24320         exclude: make more robust
24321         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
24322         rather than masking a coding bug.
24323         Suggested by Bruno Haible.
24324
24325 2009-10-30  Jim Meyering  <meyering@redhat.com>
24326
24327         perl scripts: remove #!/usr/bin/perl in favor of more portable...
24328         Rather than putting #!/usr/bin/perl on the first line,
24329         start with a variant of what's recommended by "man perlrun" that
24330         invokes the first "perl" program from your shell's search path.
24331         * build-aux/gitlog-to-changelog: Replace #!... as above.
24332         Add a "Local Variables" perl mode setting.
24333         Prompted by a patch from Ludovic Courtès.
24334         Improved by Eric Blake.
24335         * build-aux/useless-if-before-free: Likewise.
24336         * build-aux/announce-gen: Likewise.
24337         * build-aux/update-copyright: Likewise.
24338
24339 2009-10-29  Eric Blake  <ebb9@byu.net>
24340
24341         filenamecat-lgpl: adjust clients
24342         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
24343         filenamecat.
24344         * modules/renameat (Depends-on): Likewise.
24345
24346         filenamecat: split into filenamecat-lgpl
24347         * modules/filenamecat-lgpl: New module.
24348         * modules/filenamecat (Files): Move library-safe files into
24349         filenamecat-lgpl.
24350         (Depends-on): Add filenamecat-lgpl.
24351         (configure.ac): Declare witness.
24352         * lib/filenamecat.h (file_name_concat): Only declare when using
24353         GPL module.
24354         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
24355         Move...
24356         * lib/filenamecat-lgpl.c: ...into new file.
24357         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
24358         (gl_FILE_NAME_CONCAT): Use it.
24359         * MODULES.html.sh (File system functions): Mention new module.
24360
24361         argp: avoid memory leak
24362         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
24363         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
24364         base_name, since the latter malloc()s and can call exit().
24365         Leak introduced 2006-07-03.
24366
24367         dirname-lgpl: adjust clients that don't need full dirname
24368         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
24369         * modules/filenamecat (Depends-on): Likewise.
24370         * modules/linkat (Depends-on): Likewise.
24371         * modules/mkancesdirs (Depends-on): Likewise.
24372         * modules/mkdir (Depends-on): Likewise.
24373         * modules/openat (Depends-on): Likewise.
24374         * modules/savewd (Depends-on): Likewise.
24375         * modules/rename (Depends-on): Likewise.
24376         (License): Relax license.
24377         * modules/mkdir-tests (Depends-on): Drop progname.
24378         (Makefile.am): Delete unneeded LDADD.
24379         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
24380
24381         dirname: split into dirname-lgpl
24382         * modules/dirname-lgpl: New module.
24383         * modules/dirname (Files): Move library-safe files into
24384         dirname-lgpl.
24385         (Depends-on): Add dirname-lgpl.
24386         (configure.ac): Declare witness.
24387         * modules/double-slash-root (License): Relax license.
24388         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
24389         module.
24390         * lib/dirname.c (dir_len, mdir_name): Move...
24391         * lib/dirname-lgpl.c: ...into new file.
24392         * lib/basename.c (last_component, base_len): Move...
24393         * lib/basename-lgpl.c: ...into new file.
24394         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
24395         (gl_DIRNAME): Use it.
24396         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
24397         Mention new module.
24398         * modules/dirname-tests (Depends-on): Add progname.
24399         * tests/test-dirname.c (program_name): Delete.
24400
24401         mkdir: make safe for libraries
24402         * modules/mkdir (Depends-on): Drop xalloc.
24403         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
24404         exit.
24405
24406         tests: avoid some compiler warnings
24407         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
24408         literals.
24409         * tests/test-memchr.c (main): Avoid type mismatch.
24410         * tests/test-arpa_inet.c (main): Avoid unused parameters.
24411         * tests/test-base64.c (main): Likewise.
24412         * tests/test-getdelim.c (main): Likewise.
24413         * tests/test-gethostname.c (main): Likewise.
24414         * tests/test-getline.c (main): Likewise.
24415         * tests/test-netinet_in.c (main): Likewise.
24416         * tests/test-select.c (open_server_socket, main): Likewise.
24417         * tests/test-select-stdin.c (main): Likewise.
24418         * tests/test-sockets.c (main): Likewise.
24419         * tests/test-strsignal.c (main): Likewise.
24420         * tests/test-sys_select.c (main): Likewise.
24421         * tests/test-sys_socket.c (main): Likewise.
24422         * tests/test-u64.c (main): Likewise.
24423         * tests/test-xfprintf-posix.c (main): Likewise.
24424         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
24425
24426         sockets: avoid compiler warning
24427         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
24428
24429         maint: detect usage(1) and other suspicious exits
24430         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
24431
24432 2009-10-29  Jim Meyering  <meyering@redhat.com>
24433
24434         timespec: long-to-int truncation could make timespec_cmp malfunction
24435         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
24436         a multiple of 2^32 nanoseconds as no difference.
24437
24438 2009-10-28  Jim Meyering  <meyering@redhat.com>
24439
24440         fprintftime: wrap macro code argument in "do {...} while(0)"
24441         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
24442         cpy macro must be a statement that can be followed by a semicolon.
24443         Now that the else clause contains a comment and is hence longer
24444         than one line, I require curly braces.  That in turn requires
24445         that we wrap this code block in the standard do...while(0).
24446
24447         fprintftime: remove stray semicolon from previous change
24448         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
24449
24450         fprintftime: avoid a warning about ignored fwrite return value
24451         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
24452         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
24453         that is unsafe.
24454         * modules/fprintftime (Depends-on): Add ignore-value.
24455
24456         exclude: avoid an unwarranted warning
24457         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
24458
24459 2009-10-27  Eric Blake  <ebb9@byu.net>
24460
24461         fseek: avoid compilation failure when fflush is replaced
24462         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
24463         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
24464         module is in use.
24465         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
24466         module is not in use; since REPLACE_FSEEK worked otherwise.
24467         (GNULIB_FTELLO): Likewise for ftell.
24468         Reported by Ian Beckwith and others.
24469
24470 2009-10-27  Bruno Haible  <bruno@clisp.org>
24471
24472         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
24473         Reported by Jim Meyering.
24474
24475 2009-10-27  Jim Meyering  <jim@meyering.net>
24476             Bruno Haible  <bruno@clisp.org>
24477
24478         Avoid warning despite dropping the return value of fwrite.
24479         * lib/unicodeio.c: Include ignore-value.h.
24480         (fwrite_success_callback): Explicitly ignore fwrite's return value.
24481         * modules/unicodeio (Depends-on): Add ignore-value.
24482
24483 2009-10-26  Eric Blake  <ebb9@byu.net>
24484
24485         areadlinkat: fix fallback path
24486         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
24487         pointer and zero.
24488
24489 2009-10-22  Pádraig Brady  <P@draigBrady.com>
24490
24491         Use a better IO block size for modern systems
24492         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
24493         * lib/md2.c: Likewise.
24494         * lib/md4.c: Likewise.
24495         * lib/md5.c: Likewise.
24496         * lib/sha1.c: Likewise.
24497         * lib/sha256.c: Likewise.
24498         * lib/sha512.c: Likewise.
24499
24500 2009-10-22  Eric Blake  <ebb9@byu.net>
24501
24502         tests: avoid several compiler warnings
24503         * tests/test-getcwd.c (main): Avoid buffer underflow.
24504         * tests/test-getdate.c (main): String literals are not safe with
24505         putenv, so use setenv.  Declare unused argument.
24506         * modules/getdate-tests (Depends-on): Add setenv.
24507         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
24508         problems with string literals in char *.
24509         * tests/test-hash.c (main): Avoid shadowing declaration.
24510         (insert_new): Treat string literals as char const *.
24511         * tests/test-getopt.h (test_getopt): Likewise.
24512         (getopt_loop): Alter types to minimize casting elsewhere.
24513         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
24514         (test_getopt_long_posix): Likewise.
24515         (do_getopt_long): Add wrapper to minimize casting.
24516         * tests/test-atexit.c (clear_temp_file): Use void.
24517         * tests/test-areadlink-with-size.c (main): Declare unused
24518         arguments.
24519         * tests/test-areadlink.c (main): Likewise.
24520         * tests/test-areadlinkat-with-size.c (main): Likewise.
24521         * tests/test-areadlinkat.c (main): Likewise.
24522         * tests/test-canonicalize-lgpl.c (main): Likewise.
24523         * tests/test-canonicalize.c (main): Likewise.
24524         * tests/test-dirent-safer.c (main): Likewise.
24525         * tests/test-dirname.c (main): Likewise.
24526         * tests/test-dup2.c (main): Likewise.
24527         * tests/test-fchdir.c (main): Likewise.
24528         * tests/test-fcntl-h.c (main): Likewise.
24529         * tests/test-fcntl-safer.c (main): Likewise.
24530         * tests/test-fdopendir.c (main): Likewise.
24531         * tests/test-fdutimensat.c (main): Likewise.
24532         * tests/test-fflush.c (main): Likewise.
24533         * tests/test-filenamecat.c (main): Likewise.
24534         * tests/test-filevercmp.c (main): Likewise.
24535         * tests/test-fopen-safer.c (main): Likewise.
24536         * tests/test-fopen.c (main): Likewise.
24537         * tests/test-fpending.c (main): Likewise.
24538         * tests/test-fpurge.c (main): Likewise.
24539         * tests/test-freading.c (main): Likewise.
24540         * tests/test-fstatat.c (main): Likewise.
24541         * tests/test-fsync.c (main): Likewise.
24542         * tests/test-futimens.c (main): Likewise.
24543         * tests/test-getndelim2.c (main): Likewise.
24544         * tests/test-gettimeofday.c (main): Likewise.
24545         * tests/test-getopt.c (main): Likewise.
24546         * tests/test-i-ring.c (main): Likewise.
24547         * tests/test-inttypes.c (main): Likewise.
24548         * tests/test-link.c (main): Likewise.
24549         * tests/test-lstat.c (main): Likewise.
24550         * tests/test-math.c (main): Likewise.
24551         * tests/test-md5.c (main): Likewise.
24552         * tests/test-memchr2.c (main): Likewise.
24553         * tests/test-memrchr.c (main): Likewise.
24554         * tests/test-mkdir.c (main): Likewise.
24555         * tests/test-mkdirat.c (main): Likewise.
24556         * tests/test-mkfifoat.c (main): Likewise.
24557         * tests/test-open.c (main): Likewise.
24558         * tests/test-openat-safer.c (main): Likewise.
24559         * tests/test-openat.c (main): Likewise.
24560         * tests/test-quotearg.c (main): Likewise.
24561         * tests/test-rawmemchr.c (main): Likewise.
24562         * tests/test-readlink.c (main): Likewise.
24563         * tests/test-remove.c (main): Likewise.
24564         * tests/test-rename.c (main): Likewise.
24565         * tests/test-renameat.c (main): Likewise.
24566         * tests/test-rmdir.c (main): Likewise.
24567         * tests/test-sha1.c (main): Likewise.
24568         * tests/test-signal.c (main): Likewise.
24569         * tests/test-sigaction.c (main): Likewise.
24570         * tests/test-stat.c (main): Likewise.
24571         * tests/test-stat-time.c (main): Likewise.
24572         * tests/test-stddef.c (main): Likewise.
24573         * tests/test-stdint.c (main): Likewise.
24574         * tests/test-stdio.c (main): Likewise.
24575         * tests/test-stdlib.c (main): Likewise.
24576         * tests/test-strchrnul.c (main): Likewise.
24577         * tests/test-strerror.c (main): Likewise.
24578         * tests/test-string.c (main): Likewise.
24579         * tests/test-strtod.c (main): Likewise.
24580         * tests/test-strverscmp.c (main): Likewise.
24581         * tests/test-symlink.c (main): Likewise.
24582         * tests/test-symlinkat.c (main): Likewise.
24583         * tests/test-sys_stat.c (main): Likewise.
24584         * tests/test-sys_time.c (main): Likewise.
24585         * tests/test-time.c (main): Likewise.
24586         * tests/test-unistd.c (main): Likewise.
24587         * tests/test-unlink.c (main): Likewise.
24588         * tests/test-unlinkat.c (main): Likewise.
24589         * tests/test-utimens.c (main): Likewise.
24590         * tests/test-utimensat.c (main): Likewise.
24591         * tests/test-version-etc.c (main): Likewise.
24592         * tests/test-wchar.c (main): Likewise.
24593         * tests/test-wctype.c (main): Likewise.
24594         * tests/test-xprintf-posix.c (main): Likewise.
24595         * tests/test-posixtm.c (main): Likewise.
24596         (STREQ): Delete unused macro.
24597         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
24598         shadowed variables.
24599         * tests/test-memchr.c (main): Likewise.
24600
24601 2009-10-21  Eric Blake  <ebb9@byu.net>
24602
24603         areadlinkat: avoid failure on older glibc
24604         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
24605         rather than mis-comparing 0 against FUNC_RESULT of char*.
24606
24607 2009-10-21  Bruno Haible  <bruno@clisp.org>
24608
24609         * modules/stpncpy (License): Relicense under LGPLv2+.
24610         Reported by David Lutterkort <lutter@redhat.com>.
24611
24612 2009-10-20  Eric Blake  <ebb9@byu.net>
24613
24614         utimensat: work around Solaris 9 bug
24615         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
24616         has trailing slash bugs.
24617         * tests/test-lutimens.h (test_lutimens): Enhance test.
24618         * tests/test-utimens.h (test_utimens): Likewise.
24619         * doc/posix-functions/utime.texi (utime): Enhance documentation.
24620         * doc/posix-functions/utimes.texi (utimes): Likewise.
24621         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24622         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
24623         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
24624         * doc/posix-functions/futimens.texi (futimens): Likewise.
24625
24626         fdutimensat: new module
24627         * modules/fdutimensat: New file.
24628         * lib/fdutimensat.c (fdutimensat): Likewise.
24629         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
24630         * MODULES.html.sh (File system functions): Mention module.
24631         * modules/fdutimensat-tests: New test.
24632         * tests/test-fdutimensat.c: Likewise.
24633
24634         doc: regenerate INSTALL
24635         * doc/INSTALL: Reflect recent autoconf update.
24636         * doc/INSTALL.ISO: Likewise.
24637         * doc/INSTALL.UTF-8: Likewise.
24638
24639 2009-10-20  Pádraig Brady  <P@draigBrady.com>
24640
24641         acl: warn if ACL support is not detected
24642         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
24643
24644 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
24645
24646         * lib/nproc.h: Add extern "C" block for C++.
24647
24648 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
24649             Bruno Haible  <bruno@clisp.org>
24650
24651         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
24652         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
24653         * doc/posix-functions/isalpha.texi: Likewise.
24654         * doc/posix-functions/isblank.texi: Likewise.
24655         * doc/posix-functions/iscntrl.texi: Likewise.
24656         * doc/posix-functions/isdigit.texi: Likewise.
24657         * doc/posix-functions/isgraph.texi: Likewise.
24658         * doc/posix-functions/islower.texi: Likewise.
24659         * doc/posix-functions/isprint.texi: Likewise.
24660         * doc/posix-functions/ispunct.texi: Likewise.
24661         * doc/posix-functions/isspace.texi: Likewise.
24662         * doc/posix-functions/isupper.texi: Likewise.
24663         * doc/posix-functions/isxdigit.texi: Likewise.
24664
24665 2009-10-18  Bruno Haible  <bruno@clisp.org>
24666
24667         Tests for module 'isblank'.
24668         * modules/isblank-tests: New file.
24669         * tests/test-isblank.c: New file.
24670
24671         New module 'isblank'.
24672         * lib/isblank.c: New file.
24673         * m4/isblank.m4: New file.
24674         * modules/isblank: New file.
24675         * doc/posix-functions/isblank.texi: Mention the new module.
24676
24677 2009-10-18  Bruno Haible  <bruno@clisp.org>
24678
24679         New module 'ctype'.
24680         * lib/ctype.in.h: New file.
24681         * m4/ctype.m4: New file.
24682         * modules/ctype: New file.
24683         * doc/posix-headers/ctype.texi: Mention the new module.
24684
24685 2009-10-18  Jim Meyering  <meyering@redhat.com>
24686
24687         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
24688         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
24689         right after its initialization, rather than farther down.
24690         Keeping these in close proximity makes it easier to ensure
24691         that each such variable is initialized.  E.g.,
24692
24693             LIB_CLOCK_GETTIME=
24694             AC_SUBST([LIB_CLOCK_GETTIME])
24695
24696         This change also increments these serial numbers.
24697         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
24698         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24699         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24700
24701 2009-10-18  Bruno Haible  <bruno@clisp.org>
24702
24703         Don't let environment variables perturb build.
24704         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
24705         (gl_PREREQ_GETHRXTIME): ... not here.
24706
24707 2009-10-18  Bruno Haible  <bruno@clisp.org>
24708
24709         Avoid symlink attack in localcharset module.
24710         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
24711         (O_NOFOLLOW): Define fallback.
24712         (get_charset_aliases): Don't open the file if it is a symbolic link.
24713         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
24714         gl_FCNTL_H.
24715         (gl_FCNTL_H): Require it.
24716         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
24717         * modules/localcharset (Files): Add m4/fcntl_h.m4.
24718         Reported by Fergal Glynn <fglynn@veracode.com>.
24719
24720 2009-10-18  Bruno Haible  <bruno@clisp.org>
24721
24722         Implement nproc for mingw.
24723         * lib/nproc.c: Include <windows.h>
24724         (num_processors): On native Windows platforms, try GetSystemInfo.
24725
24726 2009-10-18  Bruno Haible  <bruno@clisp.org>
24727
24728         Implement nproc for IRIX.
24729         * lib/nproc.c: Include <sys/sysmp.h>.
24730         (num_processors): On IRIX systems, try sysmp.
24731         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
24732
24733 2009-10-18  Bruno Haible  <bruno@clisp.org>
24734
24735         Implement nproc for HP-UX.
24736         * lib/nproc.c: Include <sys/pstat.h>
24737         (num_processors): On HP-UX systems, try pstat_getdynamic.
24738         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
24739         pstat_getdynamic.
24740
24741 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
24742             Bruno Haible  <bruno@clisp.org>
24743
24744         Implement nproc for NetBSD, OpenBSD.
24745         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
24746         (ARRAY_SIZE): New macro.
24747         (num_processors): On BSD systems, try sysctl of HW_NCPU.
24748         * m4/nproc.m4: New file.
24749         * modules/nproc (Files): Add m4/nproc.m4.
24750         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
24751         (Makefile.am): Instead, augment lib_SOURCES.
24752
24753 2009-10-18  Bruno Haible  <bruno@clisp.org>
24754
24755         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
24756         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
24757         sys/param.h.
24758
24759 2009-10-16  Eric Blake  <ebb9@byu.net>
24760
24761         utimensat: new module
24762         * modules/utimensat: New file.
24763         * lib/utimensat.c (utimensat): Likewise.
24764         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24765         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
24766         so we can work around Linux bugs.
24767         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24768         * modules/sys_stat (Makefile.am): Substitute them.
24769         * lib/sys_stat.in.h (utimensat): Declare it.
24770         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24771         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24772         * modules/utimensat-tests: New test.
24773         * tests/test-utimensat.c: Likewise.
24774
24775         utimens: let lutimens work on non-symlinks
24776         * lib/utimens.c (lutimens): Fall back to utimens rather than
24777         failing with ENOSYS, when file is not a symlink.
24778         (utimens): Reduce redirection.
24779         * tests/test-lutimens.h (test_lutimens): Update test to cover
24780         non-symlinks.
24781         * tests/test-utimens.h (test_utimens): Update test to cover
24782         symlinks.
24783         * tests/test-utimens.c (main): Update caller.
24784
24785         utimens: cache whether utimensat syscall works
24786         * lib/utimens.c (utimensat_works_really): New cache variable.
24787         (fdutimens, lutimens): Use it to avoid failing syscall.
24788
24789         test-stat-time, test-utimens: improve portability
24790         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
24791         ext4 on alpha, and for cygwin.
24792         * tests/test-utimens-common.h: New file.
24793         (nap): Factor delays into single function.
24794         * tests/test-lutimens.h (test_lutimens): Use new header.
24795         * tests/test-futimens.h (test_futimens): Likewise.
24796         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
24797         timestamps to occur from same machine, as was done previously for
24798         test_utimens.
24799         * modules/utimens-tests (Files): Ship new file.
24800         * modules/futimens-tests (Files): Likewise.
24801         Reported in part by Jim Meyering.
24802
24803         sys_stat: sort replacement declarations
24804         * lib/sys_stat.in.h: Sort declarations.
24805         * lib/futimens.c (futimens): Fix typo.
24806
24807 2009-10-15  Jim Meyering  <meyering@redhat.com>
24808
24809         don't let environment settings perturb build
24810         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
24811         could cause a configure-time and/or build-time malfunction.
24812         Typically, a configure-time function-in-library test is performed
24813         via code like this:
24814
24815           LIB_VAR=
24816           AC_SUBST([LIB_VAR])
24817           prefix_saved_LIBS=$LIBS
24818             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
24819                        [test "$ac_cv_search_FUNC" = "none required" ||
24820                         LIB_VAR=$ac_cv_search_FUNC])
24821           LIBS=$prefix_saved_LIBS
24822
24823         However, in each of the files affected by this change, the LIB_VAR=
24824         initialization was omitted.  Thus, when set in the environment, its
24825         value would propagate into generated Makefiles when FUNC is not found
24826         in LIB_NAME.
24827         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
24828         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24829         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24830
24831 2009-10-14  Eric Blake  <ebb9@byu.net>
24832
24833         fchdir: avoid infinite recursion in mingw
24834         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
24835         recursing.
24836
24837         test-stat-time: port to mingw
24838         * tests/test-stat-time.c (force_unlink): Return a value.
24839         (test_ctime) [W32]: Fix compilation error.
24840         (nap): Don't call usleep with too large an argument.  Use
24841         force_unlink.
24842         * doc/pastposix-functions/usleep.texi (usleep): Document the
24843         portability issue.
24844
24845 2009-10-13  Jim Meyering  <meyering@redhat.com>
24846
24847         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
24848         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
24849         * modules/pipe-filter-ii: Likewise.
24850         * modules/sys_socket-tests: Likewise.
24851         * modules/tsearch-tests: Likewise.
24852         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
24853         (check): Depend on it.
24854
24855 2009-10-12  Eric Blake  <ebb9@byu.net>
24856
24857         utimens-tests: port to NFS file systems
24858         * tests/test-utimens.h (test_utimens): Refactor utimecmp
24859         comparisons to avoid spurious failures from timestamp drift
24860         between NFS machines.
24861
24862 2009-10-12  Eric Blake  <ebb9@byu.net>
24863
24864         stat-time-tests: minor cleanups
24865         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
24866         * tests/test-stat-time.c (nap): Separate assignment from call.
24867         Suggested by Paolo Bonzini and Bruno Haible.
24868
24869         sys_stat: guarantee struct timespec
24870         * lib/sys_stat.in.h (includes): Always include <time.h>
24871         * modules/sys_stat (Depends-on): Add time.
24872         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
24873         mode_t permission values.
24874         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
24875         get at subsecond timestamps.
24876
24877 2009-10-10  Eric Blake  <ebb9@byu.net>
24878
24879         futimens: new module
24880         * modules/futimens: New file.
24881         * lib/futimens.c (futimens): Likewise.
24882         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
24883         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
24884         we can work around Linux bugs.
24885         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24886         * modules/sys_stat (Makefile.am): Substitute them.
24887         * lib/sys_stat.in.h (futimens): Declare it.
24888         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24889         * doc/posix-functions/futimens.texi (futimens): Likewise.
24890         * modules/futimens-tests: New test.
24891         * tests/test-futimens.c: Likewise.
24892
24893         utimens: introduce fdutimens
24894         * lib/utimens.h (fdutimens): New prototype.
24895         * lib/utimens.c (gl_futimens): Move guts...
24896         (fdutimens): ...to new interface.
24897         * tests/test-utimens.c (do_fdutimens): Use it.
24898
24899         utimens: add UTIME_NOW and UTIME_OMIT support
24900         * lib/utimens.c (validate_timespec, update_timespec): New helper
24901         functions.
24902         (gl_futimens, lutimens): Use them.
24903         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
24904         stdbool, sys_stat.
24905         (Link): Mention resulting library dependency.
24906         * modules/utimecmp (Link): Likewise.
24907         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
24908         (Makefile.am): Pick up library dependency.
24909         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
24910         definition.
24911         * tests/test-sys_stat.c: Test the definitions.
24912         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
24913         * NEWS: Document library dependency.
24914
24915         utimecmp: support symlink timestamps
24916         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
24917         hashing when possible.  Use pathconf when available.
24918         (SYSCALL_RESOLUTION): Recognize tighter resolution.
24919         * modules/utimecmp (Depends-on): Add lstat.
24920
24921         utimens: add lutimens interface
24922         * lib/utimens.c (lutimens): New function.
24923         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
24924         * lib/utimens.h (lutimens): Declare new interface.
24925         * tests/test-utimens.c (main): Enhance test.
24926         * tests/test-lutimens.h (test_lutimens): New file.
24927         * modules/utimens-tests (Files): Distribute it.
24928         (Depends-on): Add symlink.
24929         (configure.ac): Check for usleep.
24930
24931         utimens: validate futimens usage
24932         * lib/utimens.c (gl_futimens): Require valid fd up front, using
24933         fewer syscalls on failure later on.  Avoid compiler warning on
24934         mingw.
24935         * modules/utimens (Depends-on): Add dup2.
24936
24937         utimens: add test
24938         * modules/utimens-tests: New test.
24939         * tests/test-utimens.h: New file.
24940         * tests/test-futimens.h: Likewise.
24941         * tests/test-utimens.c: Likewise.
24942
24943         doc: mention timestamp portability issues
24944         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
24945         instead.
24946         * doc/posix-functions/utime.texi (utime): Likewise.
24947         * doc/posix-functions/utimes.texi (utimes): Likewise.
24948         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
24949         instead.
24950         * doc/posix-functions/futimens.texi (futimens): Mention utimens
24951         module.
24952         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24953         Mention weakness with symlink timestamps.
24954         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
24955         to utimensat/futimens instead.
24956         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
24957
24958         test-dup2: enhance test
24959         * tests/test-dup2.c (main): Also check AT_FDCWD.
24960
24961         test-stat-time: avoid more spurious failures
24962         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
24963         xfs; and avoid race if the two timestamps cross quantization edge.
24964
24965         relocatable: prefer 'file system' over 'filesystem'
24966         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
24967         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
24968         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
24969         * doc/relocatable.texi (Enabling Relocatability): Likewise.
24970         * lib/relocatable.c (compute_curr_prefix): Likewise.
24971
24972 2009-10-10  Jim Meyering  <meyering@redhat.com>
24973
24974         stat-time-tests: check for the usleep function
24975         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
24976
24977 2009-10-10  Bruno Haible  <bruno@clisp.org>
24978
24979         * modules/xnanosleep: Put the Link section after the Include section.
24980
24981 2009-10-09  Eric Blake  <ebb9@byu.net>
24982
24983         dup2: work around FreeBSD 6.1 bug
24984         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
24985         * doc/posix-functions/dup2.texi (dup2): Document it.
24986         Reported by Nelson H. F. Beebe and Jim Meyering.
24987
24988         test-stat-time: port to buggy NFS clients
24989         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
24990         (test_ctime): Also skip test if mtime and ctime are skewed.
24991
24992         maint: prefer 'file system' over 'filesystem'
24993         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24994         * doc/posix-functions/lstat.texi (lstat): Likewise.
24995         * lib/file-has-acl.c (file_has_acl): Likewise.
24996         * lib/fwriteerror.c [TEST]: Likewise.
24997         * tests/test-areadlink.h (test_areadlink): Likewise.
24998         * tests/test-areadlinkat-with-size.c (main): Likewise.
24999         * tests/test-areadlinkat.c (main): Likewise.
25000         * tests/test-canonicalize-lgpl.c (main): Likewise.
25001         * tests/test-canonicalize.c (main): Likewise.
25002         * tests/test-fstatat.c (main): Likewise.
25003         * tests/test-linkat.c (main): Likewise.
25004         * tests/test-lstat.h (test_lstat_func): Likewise.
25005         * tests/test-mkdir.h (test_mkdir): Likewise.
25006         * tests/test-readlink.h (test_readlink): Likewise.
25007         * tests/test-remove.c (main): Likewise.
25008         * tests/test-rename.h (test_rename): Likewise.
25009         * tests/test-renameat.c (main): Likewise.
25010         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25011         * tests/test-symlink.h (test_symlink): Likewise.
25012         * tests/test-symlinkat.c (main): Likewise.
25013         * tests/test-unlink.h (test_unlink_func): Likewise.
25014         * tests/test-unlinkat.c (main): Likewise.
25015
25016         maint: make realtime library usage explicit
25017         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
25018         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
25019         * modules/settime (Link): Likewise.
25020         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
25021
25022         test-stat-time: speed up execution
25023         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
25024         warning on mingw.
25025         (nap): New helper function.
25026         (prepare_test): Use it to reduce sleep time.
25027         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
25028         execution.
25029         * modules/stat-time-tests (configure.ac): Check for usleep.
25030
25031 2009-10-09  Jim Meyering  <meyering@redhat.com>
25032
25033         selinux-h: always use getfilecon wrappers
25034         * lib/getfilecon.c: New file.
25035         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
25036         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
25037         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
25038         (fgetfilecon): Provide a stub.
25039         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
25040         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
25041         file unconditionally.
25042         When <selinux/selinux.h> is found, arrange to use wrappers.
25043         * modules/selinux-h (Files): Add getfilecon.c.
25044         (Makefile.am): Substitute include-next-related bits
25045         into the now-always-generated selinux/selinux.h file.
25046         * doc/glibc-functions/lgetfilecon.texi: New file.
25047         * doc/glibc-functions/fgetfilecon.texi: New file.
25048         * doc/glibc-functions/getfilecon.texi: New file.
25049         * doc/glibc-functions/getfilecon-desc.texi: New file.
25050         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
25051         which to pull in the new files.
25052         * MODULES.html.sh (Misc): Add selinux-h.
25053
25054 2009-10-08  Jim Meyering  <meyering@redhat.com>
25055
25056         unistd: fix comment typo
25057         * lib/unistd.in.h (euidaccess): Fix a comment typo.
25058
25059 2009-10-08  Eric Blake  <ebb9@byu.net>
25060
25061         areadlink: use SIZE_MAX consistently
25062         * modules/areadlink (Depends-on): Add stdint.
25063         * modules/areadlink-with-size (Depends-on): Likewise.
25064         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
25065         gives NULL; drop sys/types, since unistd gives size_t; and add
25066         stdint for SIZE_MAX.
25067         (SIZE_MAX): Rely on headers.
25068         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
25069         and add stdint.
25070         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
25071         (SIZE_MAX): Likewise.
25072         (INITIAL_BUF_SIZE): Turn into enum.
25073         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
25074
25075 2009-10-08  Jim Meyering  <meyering@redhat.com>
25076
25077         areadlinkat: avoid compilation failure
25078         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
25079         Fix typo in comment.
25080
25081 2009-10-07  Eric Blake  <ebb9@byu.net>
25082
25083         areadlinkat-with-size: new module
25084         * modules/areadlinkat-with-size: New module.
25085         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
25086         * lib/areadlink.h (areadlinkat): Declare it.
25087         * MODULES.html.sh (File system functions): Mention it.
25088         * modules/areadlinkat-with-size-tests: New test.
25089         * tests/test-areadlinkat-with-size.c: New file.
25090
25091         xreadlinkat: new module
25092         * modules/xreadlinkat: New module.
25093         * lib/xreadlinkat.c (xreadlinkat): New file.
25094         * lib/xreadlink.h (xreadlinkat): Declare it.
25095         * MODULES.html.sh (File system functions): Mention it.
25096
25097         areadlinkat: new module
25098         * lib/at-func.c (FUNC_FAIL): New define.
25099         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
25100         * modules/areadlinkat: New module.
25101         * lib/linkat.c (areadlinkat): Move...
25102         * lib/areadlinkat.c (areadlinkat): ...to new file.
25103         * lib/areadlink.h (areadlinkat): Declare it.
25104         * modules/linkat (Depends-on): Add areadlinkat.
25105         * MODULES.html.sh (File system functions): Mention it.
25106         * modules/areadlinkat-tests: New test.
25107         * tests/test-areadlinkat.c: New file.
25108
25109         areadlink, areadlink-with-size: add tests
25110         * modules/areadlink-tests: New test.
25111         * modules/areadlink-with-size-tests: Likewise.
25112         * tests/test-areadlink.h: New file.
25113         * tests/test-areadlink.c: Likewise.
25114         * tests/test-areadlink-with-size.c: Likewise.
25115
25116         maint: minor cleanups
25117         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
25118         _UNUSED_PARAMETER_ instead.
25119         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
25120         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
25121         * modules/linkat-tests (Files): Distribute test-link.h.
25122
25123         openat, utimens: whitespace cleanup
25124         * lib/openat.c: Prefer space throughout, rather than mix of 8
25125         spaces vs. tabs.
25126         * lib/at-func.c: Likewise.
25127         * lib/utimens.c: Likewise.
25128
25129         openat: avoid using wrong fd
25130         * lib/openat.c (openat_permissive): Reject user's fd if saving the
25131         working directory chooses same fd.
25132         * lib/at-func.c (AT_FUNC_NAME): Likewise.
25133
25134         mkdir, mkdirat: fix cygwin 1.5.x bug
25135         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
25136         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
25137         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
25138         bug.
25139         (gl_PREREQ_MKDIR): Delete unused macro.
25140         * modules/mkdir (Files): Track file rename.
25141         (configure.ac): Update macro name.
25142         * modules/openat (Depends-on): Add mkdir.
25143         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
25144
25145         mkdir, mkdirat: add tests
25146         * modules/mkdir-tests: New test.
25147         * tests/test-mkdir.h: New file.
25148         * tests/test-mkdir.c: Likewise.
25149         * tests/test-mkdirat.c: Likewise.
25150         * modules/openat-tests (Files): Add new files.
25151         (Makefile.am): Run new test.
25152
25153 2009-10-06  Eric Blake  <ebb9@byu.net>
25154
25155         doc: tweak *at function documentation
25156         * doc/posix-functions/faccessat.texi (faccessat): Mention
25157         known issue with replacement.
25158         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
25159         * doc/posix-functions/linkat.texi (linkat): Likewise.
25160         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25161         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25162         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25163         * doc/posix-functions/renameat.texi (renameat): Likewise.
25164         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25165
25166         openat: fix GNU/Hurd bug in unlinkat
25167         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
25168         broken.
25169         * doc/posix-functions/unlink.texi (unlink): Document this.
25170         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
25171
25172         fdopendir: fix GNU/Hurd bug
25173         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
25174         allowing non-directory fds.
25175         * lib/fdopendir.c (rpl_fdopendir): Work around it.
25176         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
25177         * modules/dirent (Makefile.am): Substitute it.
25178         * lib/dirent.in.h (fdopendir): Declare replacement.
25179         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
25180         * tests/test-fdopendir.c (main): Test something other than
25181         /dev/null, since on Hurd that behaves like a directory.
25182
25183         test-symlink: port to GNU/Hurd
25184         * tests/test-symlink.h (test_symlink): Relax expected errno.
25185
25186         doc: tweak more cygwin information
25187         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
25188         now compatible with glibc.
25189         * doc/posix-functions/getopt.texi (getopt): Likewise.
25190
25191         getopt-gnu: add another test
25192         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
25193         guarantee behavior relied on by m4.
25194         * tests/test-getopt.c (main): Use it.
25195         * modules/getopt-posix-tests (Depends-on): Add setenv.
25196         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
25197
25198         getopt: fix compilation on darwin
25199         * lib/getopt.in.h (includes): Leave breadcrumbs during system
25200         include.
25201         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
25202         Reported by Ludovic Courtès.
25203
25204 2009-10-06  Bruno Haible  <bruno@clisp.org>
25205
25206         * modules/size_max (Description): Discourage its use.
25207         Reported by Simon Josefsson.
25208
25209 2009-10-06  Jim Meyering  <meyering@redhat.com>
25210
25211         linkat: avoid compilation failure
25212         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
25213
25214 2009-10-05  Eric Blake  <ebb9@byu.net>
25215
25216         linkat: support Linux 2.6.17
25217         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
25218         linkat on Linux, but allow cache variable override.
25219         * lib/linkat.c (rpl_linkat): Define override.
25220         * modules/linkat (Depends-on): Add symlinkat.
25221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
25222         * modules/unistd (Makefile.am): Substitute it.
25223         * lib/unistd.in.h (linkat): Declare replacement.
25224         Reported by Pádraig Brady.
25225
25226         quotearg: port test to systems with C.UTF-8 locale
25227         * tests/test-quotearg.c (struct result_strings): Add another
25228         member, differentiating between C.ASCII and C.UTF-8 handling.
25229         (compare_strings): Add parameter.
25230         (main): Adjust all callers.
25231
25232         getopt: avoid clash with FreeBSD _getopt_internal
25233         * lib/getopt.in.h (_getopt_internal): Override the name.
25234         * lib/getopt_int.h (includes): Pick up any overrides.
25235         Reported by Reuben Thomas.
25236
25237         hash: allow C89 compilation
25238         * lib/hash.c (check_tuning): Move declaration before statement.
25239         Reported by Reuben Thomas.
25240
25241 2009-10-05  Karl Berry  <karl@gnu.org>
25242
25243         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
25244
25245 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
25246             Bruno Haible  <bruno@clisp.org>
25247
25248         * lib/uname.c (uname): Use a table-driven algorithm to compute
25249         Windows NT versions.
25250
25251 2009-10-04  Bruno Haible  <bruno@clisp.org>
25252
25253         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
25254         program_invocation_short_name.
25255         * modules/progname (configure.ac): Test for presence of
25256         program_invocation_short_name.
25257         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
25258
25259 2009-10-04  Bruno Haible  <bruno@clisp.org>
25260
25261         * lib/progname.c (set_program_name): Fix comment.
25262         Reported by Jim Meyering.
25263
25264 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25265             Bruno Haible  <bruno@clisp.org>
25266
25267         * lib/uname.c: Include <string.h>.
25268         (uname): Do only one call to GetVersionEx in the common case.
25269
25270 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
25271             Bruno Haible  <bruno@clisp.org>
25272
25273         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
25274         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
25275         (uname): Add support for Windows CE and various non-x86 CPU types.
25276
25277 2009-10-03  Bruno Haible  <bruno@clisp.org>
25278
25279         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
25280         invocation to tests/configure.ac.
25281         Reported by Ian Beckwith <ianb@erislabs.net>.
25282
25283 2009-10-02  Eric Blake  <ebb9@byu.net>
25284
25285         fchdir: avoid compiler warning
25286         * lib/fchdir.c (canonicalize_file_name)
25287         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
25288
25289         test-open: support mingw errno values
25290         * tests/test-open.h (test_open): Relax test.
25291         * tests/test-fopen.h (test_fopen): Likewise.
25292         * tests/test-openat-safer.c (main): Likewise.
25293
25294         open: fix opening directory on mingw
25295         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
25296
25297         test-open: on GNU/Hurd, /dev/null is a directory
25298         * tests/test-fopen.h (main): Rename...
25299         (test_fopen): ...to this.  Use a guaranteed non-directory when
25300         confirming open behavior on trailing slash.
25301         * tests/test-openat-safer.c (main): Likewise.
25302         * tests/test-open.h (main): Likewise....
25303         (test_open): ...to this.
25304         * tests/test-fopen.c (main): Adjust caller.
25305         * tests/test-fopen-safer.c (main): Likewise.
25306         * tests/test-open.c (main): Likewise.
25307         * tests/test-fcntl-safer.c (main): Likewise.
25308         Reported by Samuel Thibault.
25309
25310         rename, fchdir: don't ignore chdir failure
25311         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
25312         * lib/rename.c (rpl_rename) [W32]: Likewise.
25313         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
25314         an empty destination directory if source cannot be renamed,
25315         although there is still possibility for failure.
25316         * doc/posix-functions/rename.texi (rename): Document the race.
25317         Reported by Jim Meyering.
25318
25319         maint: cleanup whitespace in recent commits
25320         * lib/rename.c (rpl_rename): Remove tabs.
25321         * tests/test-link.h (test_link): Likewise.
25322         * lib/fchdir.c (get_name): Likewise.
25323         Reported by Jim Meyering.
25324
25325 2009-10-02  Ben Pfaff  <blp@gnu.org>
25326
25327         relocatable-prog-wrapper: Add missing dependency on
25328         double-slash-root.
25329         * modules/relocatable-prog-wrapper: Add dependency.
25330         Reported by Ian Beckwith <ianb@erislabs.net>.
25331
25332 2009-10-02  Eric Blake  <ebb9@byu.net>
25333
25334         renameat: fix Solaris bugs
25335         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
25336         needed fixing.
25337         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
25338         * modules/stdio (Makefile.am): Substitute it.
25339         * lib/stdio.in.h (renameat): Declare replacement.
25340         * lib/renameat.c (rpl_renameat): Implement fix.
25341
25342         renameat: new module
25343         * modules/renameat: New file.
25344         * lib/renameat.c (renameat): Likewise.
25345         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
25346         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25347         * modules/stdio (Makefile.am): Substitute them.
25348         * lib/stdio.in.h (renameat): Declare it.
25349         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25350         * doc/posix-functions/renameat.texi (renameat): Likewise.
25351         * modules/renameat-tests: New test.
25352         * tests/test-renameat.c: Likewise.
25353
25354         rename: fix mingw bugs
25355         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
25356         directory overwrite bugs.
25357
25358         rename: fix another cygwin 1.5 bug
25359         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
25360         checks.
25361         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
25362         unnecessary cygwin workarounds.  Also work around bug with moving
25363         full directory onto an empty one.
25364         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
25365
25366         rename-dest-slash: merge into rename module
25367         * modules/rename-dest-slash (Status): Mark obsolete.
25368         (Depends-on): Add rename.
25369         (Files): Let rename do it all.
25370         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
25371         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
25372         * m4/rename-dest-slash.m4: ...so this file can be deleted.
25373         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
25374         * lib/rename.c (rpl_rename): Update comments.
25375
25376         rename: fix cygwin 1.5.x bugs
25377         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
25378         * lib/rename.c (rpl_rename): Work around them.
25379         * modules/rename (Depends-on): Add same-inode.
25380
25381         rename: fix Solaris 10 bug
25382         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25383         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
25384         was the only bug.
25385
25386         rename: fix Solaris 9 bug
25387         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
25388         on non-directory.  Avoid calling exit.
25389         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
25390         strdup.
25391         * modules/rename-tests (Depends-on): Drop lstat.
25392         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
25393         (gl_PREREQ_RENAME): Delete unused macro.
25394
25395         rename-dest-slash: fix NetBSD bug
25396         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
25397         links.
25398         * modules/rename-dest-slash (Depends-on): Add same-inode.
25399
25400         rename-tests: new test, exposes several platform bugs
25401         * modules/rename-tests: New file.
25402         * tests/test-rename.h: Likewise.
25403         * tests/test-rename.c: Likewise.
25404         * doc/posix-functions/rename.texi (rename): Improve documentation,
25405         including bugs that will eventually be fixed in gnulib.
25406
25407 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
25408
25409         * lib/uname.c: Include <stdlib.h>
25410         (uname): Assume version info is available.
25411
25412 2009-10-02  Jim Meyering  <meyering@redhat.com>
25413
25414         gnu-web-doc-update: correct --help output
25415         * build-aux/gnu-web-doc-update: Make --help output relevant.
25416
25417         gnu-web-doc-update: add standard options
25418         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
25419
25420         gnu-web-doc-update: New module.
25421         Use this script to automatically update the on-line web documentation
25422         for your GNU project at http://www.gnu.org/software/$pkg/manual/
25423         * modules/gnu-web-doc-update: New file, from coreutils.
25424         * build-aux/gnu-web-doc-update: New script.
25425
25426 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
25427
25428         link: LoadLibrary is not needed.
25429         * lib/link.c: Use GetModuleHandle.
25430
25431 2009-10-01  Eric Blake  <ebb9@byu.net>
25432
25433         getopt: bump serial number
25434         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
25435         change.
25436
25437         tests: tighten link, rmdir, and remove tests
25438         * tests/test-link.h (includes): No need to use <config.h> here.
25439         Clean up if directory hard link was created, otherwise test for
25440         trailing '.'.
25441         * tests/test-linkat.c (main): Simplify.
25442         * tests/test-remove.c (main): Enhance test for trailing '.'.
25443         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25444
25445 2009-10-01  Jim Meyering  <meyering@redhat.com>
25446
25447         maint.mk: requiring "make major" was annoying, for a "minor" release.
25448         What is intended is "stable", to contrast with alpha and beta,
25449         so require "make stable", not "make major".
25450         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
25451         (get_tool_versions): Likewise.
25452         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
25453
25454 2009-09-30  Ben Pfaff  <blp@gnu.org>
25455
25456         Fix broken build of replacement for Windows tmpfile().
25457         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
25458         flags argument added along with the 'mkostemp' module.
25459
25460 2009-09-28  Bruno Haible  <bruno@clisp.org>
25461
25462         Avoid identifier clash with POSIX function 'remove' defined as a macro.
25463         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
25464         to 'remove_elt'.
25465         (gl_list_remove): Update.
25466         * lib/gl_list.c (gl_list_remove): Update.
25467         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
25468         to 'remove_elt'.
25469         (gl_oset_remove): Update.
25470         * lib/gl_list.c (gl_oset_remove): Update.
25471         Reported by Eric Blake.
25472
25473 2009-09-28  Eric Blake  <ebb9@byu.net>
25474
25475         doc: mention yet more cygwin 1.7 status
25476         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
25477         cygwin.
25478         * doc/glibc-functions/execvpe.texi (execvpe): New file.
25479         * doc/gnulib.texi (Glibc unistd.h): Mention it.
25480
25481         argp: fix test failure
25482         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
25483         that are not upper-case.  Pass correct range to tolower.
25484
25485 2009-09-27  Jim Meyering  <meyering@redhat.com>
25486
25487         test-yesno: work around sparc-dash here-document infelicity
25488         Without this change, the literal \177 byte in a here document
25489         would make dash 0.5.5.1-3 access uninitialized memory.
25490         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
25491         Instead, use a marker, "@", and filter through tr to create the desired
25492         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
25493
25494 2009-09-27  Bruno Haible  <bruno@clisp.org>
25495
25496         Disable untested support for new flavours of ACLs on AIX.
25497         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
25498         progress.
25499         * lib/set-mode-acl.c (qset_acl): Likewise.
25500
25501 2008-12-07  Bruno Haible  <bruno@clisp.org>
25502
25503         Add support for new flavours of ACLs on AIX. (Untested.)
25504         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
25505         (file_has_acl): Add support for newer AIX.
25506         * lib/set-mode-acl.c (qset_acl): Likewise.
25507         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
25508         Rainer Tammer <tammer@tammer.net>.
25509
25510 2009-09-26  Eric Blake  <ebb9@byu.net>
25511
25512         argp: fix compilation of getopt
25513         * lib/getopt.in.h (includes): Use different guard than glibc.
25514         Reported by Sergey Poznyakoff.
25515
25516         doc: mention more cygwin 1.7 status
25517         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
25518         bug.
25519         * doc/posix-functions/execl.texi (execl): Likewise.
25520         * doc/posix-functions/execle.texi (execle): Likewise.
25521         * doc/posix-functions/execlp.texi (execlp): Likewise.
25522         * doc/posix-functions/execv.texi (execv): Likewise.
25523         * doc/posix-functions/execve.texi (execve): Likewise.
25524         * doc/posix-functions/execvp.texi (execvp): Likewise.
25525         * doc/glibc-functions/canonicalize_file_name.texi
25526         (canonicalize_file_name): Cygwin 1.7 now provides this.
25527         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
25528         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
25529         on AT_SYMLINK_NOFOLLOW.
25530
25531 2009-09-24  Eric Blake  <ebb9@byu.net>
25532
25533         test-linkat: make test more robust
25534         * tests/test-linkat.c (main): Avoid collision with EEXIST.
25535
25536         getopt: fix inclusion guards for cygwin
25537         * modules/getopt-posix (Depends-on): Add include-next.
25538         (Makefile.am): Substitute more items in replacement header.
25539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
25540         <getopt.h>.
25541         * lib/getopt.in.h (includes): Use split inclusion guard, and
25542         prefer <getopt.h> over include <unistd.h> when one is present.
25543         (option): Also override name of 'struct option'.
25544
25545         same-inode: revert prior change; it is not yet ready
25546         * NEWS: Undo mention of this change.
25547         * lib/same-inode.h (same-inode.h): Undo tri-state change.
25548         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25549         * lib/cycle-check.c (cycle_check): Likewise.
25550         * lib/same.c (same_name): Likewise.
25551         * lib/at-func2.c (at_func2): Likewise.
25552
25553 2009-09-23  Eric Blake  <ebb9@byu.net>
25554
25555         linkat: new module
25556         * modules/linkat: New file.
25557         * lib/at-func2.c (at_func2): Likewise.
25558         * lib/linkat.c (linkat): Likewise.
25559         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25560         * lib/openat-priv.h (at_func2): Add declaration.
25561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25562         * modules/unistd (Makefile.am): Substitute them.
25563         * lib/unistd.in.h (linkat): Declare it.
25564         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25565         * doc/posix-functions/linkat.texi (linkat): Likewise.
25566         * doc/posix-functions/link.texi (link): Tweak wording.
25567         * tests/test-link.c (main): Move guts...
25568         * tests/test-link.h (test_link): ...into new file.
25569         * modules/linkat-tests: New test.
25570         * tests/test-linkat.c: Likewise.
25571         * modules/link-tests (Files): Ship new file.
25572         (Depends-on): Add stdbool.
25573
25574         dirname: add library-safe mdir_name
25575         * lib/dirname.h (mdir_name): New prototype.
25576         * lib/dirname.c (dir_name): Move guts...
25577         (mdir_name): ...to new function that avoids xalloc_die.
25578
25579         fchdir: another mingw fix
25580         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
25581         * lib/fchdir.c (get_name): New helper method; skips canonicalize
25582         on mingw (where it has not yet been ported), and make it optional
25583         elsewhere.
25584         (_gl_register_fd): Use it.
25585
25586         same-inode: make SAME_INODE tri-state, to port to mingw
25587         * NEWS: Mention this change.
25588         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
25589         st_ino always being 0.
25590         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
25591         * lib/cycle-check.c (cycle_check): Likewise.
25592         * lib/same.c (same_name): Likewise.
25593
25594         lstat: avoid mingw compilation error
25595         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
25596         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
25597         lstat ourselves.
25598         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
25599         was adequate.
25600         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
25601         the checks for lstat.
25602         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
25603
25604         link: fix test failure on Solaris 9
25605         * lib/link.c (rpl_link): Don't assume link will catch bogus
25606         trailing slash on source.
25607
25608         test-symlinkat: enhance test
25609         * tests/test-readlink.c (main): Move guts...
25610         * tests/test-readlink.h (test_readlink): ...into new file.
25611         * tests/test-symlink.c (main): Move guts...
25612         * tests/test-symlink.h (test_symlink): ...into new file.
25613         * tests/test-symlinkat.c (main): Use new files for further
25614         coverage.
25615         (do_symlink, do_readlink): New helper functions.
25616         * modules/symlink-tests (Files): Ship new file.
25617         (Depends-on): Add stdbool.
25618         * modules/readlink-tests (Files): Ship new file.
25619         (Depends-on): Add stdbool.
25620         * modules/symlinkat-tests (Files): Use new files.
25621
25622 2009-09-23  Eric Blake  <ebb9@byu.net>
25623
25624         readlink: document portability issue with symlink length
25625         * doc/posix-functions/lstat.texi (lstat): Mention that some file
25626         systems have bogus st_size on symlinks, and mention the
25627         areadlink-with-size module.
25628         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
25629         * doc/posix-functions/readlink.texi (readlink): Mention the
25630         areadlink module, and ERANGE failure.
25631         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25632         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
25633
25634         readlink: fix Solaris 9 bug with trailing slash
25635         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
25636         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
25637         * doc/posix-functions/readlink.texi (readlink): Document this.
25638         * modules/readlink-tests: New test.
25639         * tests/test-readlink.c: Likewise.
25640
25641         readlink: fix cygwin 1.5.x bug with return type
25642         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
25643         * lib/unistd.in.h (readlink): Use ssize_t.
25644         * lib/readlink.c (readlink): Likewise.
25645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25646         * modules/unistd (Makefile.am): Substitute it.
25647         * lib/unistd.in.h (readlink): Declare replacement.
25648         * doc/posix-functions/readlink.texi (readlink): Document this.
25649
25650         symlink: use throughout gnulib
25651         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
25652         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
25653         symlink is not used.
25654         * modules/symlinkat (Depends-on): Add symlink.
25655         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25656         * modules/canonicalize-tests (Depends-on): Likewise.
25657         * modules/lstat-tests (Depends-on): Likewise.
25658         * modules/openat-tests (Depends-on): Likewise.
25659         * modules/remove-tests (Depends-on): Likewise.
25660         * modules/rmdir-tests (Depends-on): Likewise.
25661         * modules/unlink-tests (Depends-on): Likewise.
25662         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
25663         * tests/test-canonicalize.c (symlink): Likewise.
25664         * tests/test-fstatat.c (symlink): Likewise.
25665         * tests/test-lstat.c (symlink): Likewise.
25666         * tests/test-remove.c (symlink): Likewise.
25667         * tests/test-rmdir.c (symlink): Likewise.
25668         * tests/test-unlink.c (symlink): Likewise.
25669         * tests/test-unlinkat.c (symlink): Likewise.
25670
25671         symlink: new module, for Solaris 9 bug
25672         * modules/symlink: New file.
25673         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25674         * lib/symlink.c: Likewise.
25675         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25676         * modules/unistd (Makefile.am): Substitute them.
25677         * lib/unistd.in.h (symlink): Declare replacement.
25678         * MODULES.html.sh (File system functions): Mention it.
25679         * doc/posix-functions/symlink.texi (symlink): Likewise.
25680         * modules/symlink-tests: New test.
25681         * tests/test-symlink.c: Likewise.
25682
25683 2009-09-23  Bruno Haible  <bruno@clisp.org>
25684
25685         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
25686         when needed.
25687         Test case: gnulib-tool --import --with-tests atexit inttypes.
25688         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
25689
25690 2009-09-23  Bruno Haible  <bruno@clisp.org>
25691
25692         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
25693         subcommand, not in a subshell.
25694
25695 2009-09-22  Eric Blake  <ebb9@byu.net>
25696
25697         unistd: sort replacement declarations
25698         * lib/unistd.in.h: Sort declarations.
25699
25700         open, openat: minor optimization
25701         * lib/open.c (open): If open succeeded, len is non-zero.
25702         * lib/openat.c (rpl_openat): Likewise.
25703
25704         link-follow: ensure correct result
25705         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
25706         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
25707         distinguish between possible failures.
25708
25709 2009-09-21  Eric Blake  <ebb9@byu.net>
25710
25711         fts: avoid compiler warning
25712         * lib/fts.c (dirent_inode_sort_may_be_useful)
25713         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
25714
25715 2009-09-19  Bruno Haible  <bruno@clisp.org>
25716
25717         * lib/progreloc.c (canonicalize_file_name): New declaration.
25718
25719 2009-09-19  Eric Blake  <ebb9@byu.net>
25720
25721         link: fix quoting
25722         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
25723
25724         openat: fix openat bugs on Solaris 9
25725         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
25726         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
25727         * modules/openat (Depends-on): Add open.
25728         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
25729         * modules/fcntl-h (Makefile.am): Substitute it.
25730         * lib/fcntl.in.h (openat): Declare replacement.
25731         * doc/posix-functions/openat.texi (openat): Document this.
25732
25733         openat: move fstatat and unlinkat into correct files
25734         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
25735         compiled.
25736         * lib/openat.c (fstatat, unlinkat): Move...
25737         * lib/fstatat.c (fstatat): ...into correct files.
25738         * lib/unlinkat.c (unlinkat): Likewise.
25739
25740         openat: fix unlinkat bugs on Solaris 9
25741         * lib/unlinkat.c (unlinkat): New file.
25742         * modules/openat (Depends-on): Add unlink.
25743         (Files): Distribute it.
25744         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
25745         trailing slash behavior is broken.
25746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25747         * modules/unistd (Makefile.am): Substitute it.
25748         * lib/unistd.in.h (unlinkat): Declare replacement.
25749         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
25750
25751         openat: fix fstatat bugs on Solaris 9
25752         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
25753         stat.
25754         * doc/posix-functions/fstatat.texi (fstatat): Document this.
25755
25756         test-unlinkat: enhance test, to expose Solaris 9 bug
25757         * tests/test-unlink.c (main): Factor guts...
25758         * tests/test-unlink.h (test_rmdir_func): ...into new file.
25759         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
25760         * tests/test-rmdir.c (main): Adjust caller.
25761         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
25762         (unlinker): New helper function.
25763         (rmdirat): Enhance check.
25764         * modules/rmdir-tests (Depends-on): Add stdbool.
25765         * modules/unlink-tests (Depends-on): Likewise.
25766         (Files): Add test-unlink.h.
25767         * modules/openat-tests (Files): Likewise.
25768         (Depends-on): Add unlinkdir.
25769
25770         test-fstatat: new test, to expose Solaris 9 bugs
25771         * tests/test-stat.c (main): Factor guts...
25772         * tests/test-stat.h (test_stat_func): ...into new file.
25773         * tests/test-lstat.c (main): Factor guts...
25774         * tests/test-lstat.h (test_lstat_func): ...into new file.
25775         * tests/test-fstatat.c: New file.
25776         * modules/stat-tests (Files): Add test-stat.h.
25777         * modules/lstat-tests (Files): Add test-lstat.h.
25778         (Depends-on): Add stdbool.
25779         * modules/openat-tests (Depends-on): Add pathmax.
25780         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
25781         (Makefile.am): Run new test.
25782
25783         remove: new module, for mingw and Solaris 9 bugs
25784         * modules/remove: New file.
25785         * lib/remove.c: Likewise.
25786         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
25787         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25788         * modules/stdio (Makefile.am): Use them.
25789         * lib/stdio.in.h (remove): Declare replacement.
25790         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25791         * doc/posix-functions/remove.texi (remove): Likewise.
25792         * modules/remove-tests: New test.
25793         * tests/test-remove.c: Likewise.
25794
25795         unlink: new module, for Solaris 9 bug
25796         * modules/unlink: New file.
25797         * lib/unlink.c: Likewise.
25798         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25800         * modules/unistd (Makefile.am): Use them.
25801         * lib/unistd.in.h (stat): Declare replacement.
25802         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25803         * doc/posix-functions/unlink.texi (unlink): Likewise.
25804         * modules/unlink-tests: New test.
25805         * tests/test-unlink.c: Likewise.
25806
25807         lstat: fix Solaris 9 bug
25808         * lib/lstat.c (lstat): Also check for trailing slash on
25809         non-symlink, non-directories.  Use stat module to simplify logic.
25810         * doc/posix-functions/lstat.texi (lstat): Document it.
25811         * modules/lstat-tests (Depends-on): Add errno, same-inode.
25812         (configure.ac): Check for symlink.
25813         * tests/test-lstat.c (main): Add more tests.
25814
25815         stat: add as dependency to other modules
25816         * modules/chown (Depends-on): Add stat.
25817         * modules/euidaccess (Depends-on): Likewise.
25818         * modules/fchdir (Depends-on): Likewise.
25819         * modules/isdir (Depends-on): Likewise.
25820         * modules/link (Depends-on): Likewise.
25821         * modules/lstat (Depends-on): Likewise.
25822         * modules/mkdir-p (Depends-on): Likewise.
25823         * modules/modechange (Depends-on): Likewise.
25824         * modules/open (Depends-on): Likewise.
25825         * modules/readlink (Depends-on): Likewise.
25826         * modules/same (Depends-on): Likewise.
25827
25828         stat: fix Solaris 9 bug
25829         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
25830         slash.
25831         * lib/stat.c (rpl_stat): Work around it.
25832         * doc/posix-functions/stat.texi (stat): Update documentation.
25833
25834         stat: new module, for mingw bug
25835         * modules/stat: New file.
25836         * lib/stat.c: Likewise.
25837         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25838         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25839         * modules/sys_stat (Makefile.am): Use them.
25840         * lib/sys_stat.in.h (stat): Declare replacement.
25841         * lib/openat.c (fstatat): Deal with lstat and stat being function
25842         macros.
25843         * modules/openat (Depends-on): Add inline.
25844         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25845         * doc/posix-functions/stat.texi (stat): Likewise.
25846         * modules/stat-tests: New test.
25847         * tests/test-stat.c: Likewise.
25848
25849 2009-09-19  Jim Meyering  <meyering@redhat.com>
25850
25851         syntax-check: detect unnecessary inclusion of canonicalize.h
25852         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
25853
25854 2009-09-19  Eric Blake  <ebb9@byu.net>
25855
25856         canonicalize-lgpl: adjust clients to use correct header
25857         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25858         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
25859         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
25860         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
25861         * lib/progreloc.c (includes): Likewise.
25862
25863 2009-09-19  Jim Meyering  <meyering@redhat.com>
25864
25865         test-posixtm.c: correct a comment
25866         * tests/test-posixtm.c: Correct first-line comment.
25867         Spotted by Eric Blake.
25868
25869 2009-09-16  Jim Meyering  <meyering@redhat.com>
25870
25871         posixtm-tests: make T const-correct; add a test case
25872         * tests/test-posixtm.c (T): Declare const.
25873         Add a test for -(2^31+1).
25874         Remove useless can-succeed-only-in-2002 test.
25875
25876         posixtm-tests: adjust the sole failing test
25877         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
25878         expected output matches what mktime now produces.  Cross-checked via
25879         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
25880
25881         posixtm: move #ifdef'd tests into a new module
25882         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
25883         * tests/test-posixtm.c: ... this new file.
25884         * modules/posixtm-tests: New module.
25885
25886 2009-09-19  Eric Blake  <ebb9@byu.net>
25887
25888         openat: simplify use of at-func.c
25889         * lib/at-func.c (includes): Include prerequisites here, to
25890         simplify requirements on client files.
25891         * lib/openat-priv.h: Add double-inclusion guard.
25892         * lib/faccessat.c (includes): Simplify.
25893         * lib/fchmodat.c (includes): Likewise.
25894         * lib/fchownat.c (includes): Likewise.
25895         * lib/mkdirat.c (includes): Likewise.
25896         * lib/mkfifoat.c (includes): Likewise.
25897         * lib/symlinkat.c (includes): Likewise.
25898
25899         openat: allow return of fd 0
25900         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
25901         * modules/save-cwd (Depends-on): Replace fcntl-safer with
25902         unistd-safer.
25903         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
25904         <fcntl.h>; this module does not leak fds.
25905         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
25906         must be allowed to return 0, leaving openat_safer to add the
25907         safety.
25908         (openat_permissive): Avoid writing to just-opened fd 2 if
25909         restoring the current directory fails.
25910         * lib/openat-die.c (openat_restore_fail): Add comment.
25911         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
25912         (save_cwd): Guarantee safe fd, but without use of open_safer.
25913         * tests/test-openat.c: New test.
25914         * modules/openat-tests (Files, Makefile.am): Distribute and build
25915         new file.
25916
25917         relocatable-prog-wrapper: fix build
25918         * modules/relocatable-prog-wrapper (Files): Update name of
25919         canonicalize m4 file, broken on 2009-09-17.
25920         Reported by emad hajjar <aleppos@hotmail.com>.
25921
25922 2009-09-19  Bruno Haible  <bruno@clisp.org>
25923
25924         * lib/safe-alloc.h: Use the standard header with GPL copyright.
25925         * lib/safe-alloc.c: Likewise.
25926         Reported by Ian Beckwith <ianb@erislabs.net>.
25927
25928 2009-09-18  Bruno Haible  <bruno@clisp.org>
25929
25930         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
25931         Reported by <erobles@sensacd.com.mx>.
25932
25933 2009-09-17  Eric Blake  <ebb9@byu.net>
25934
25935         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
25936         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
25937         slashes when checking if last component is missing.
25938         * tests/test-canonicalize.c (main): Test this.
25939
25940         canonicalize, canonicalize-lgpl: honor // if distinct from /
25941         * modules/canonicalize (Files): Add double-slash-root.m4.
25942         * modules/canonicalize-lgpl (Files): Likewise.
25943         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25944         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
25945         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
25946         fallback definition.
25947         (canonicalize_filename_mode): Use it to protect //.
25948         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
25949         (__realpath): Likewise.
25950         * tests/test-canonicalize.c (main): Test this.
25951         * tests/test-canonicalize-lgpl.c (main): Likewise.
25952         * modules/canonicalize-tests (Depends-on): Add same-inode.
25953         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25954
25955         canonicalize-lgpl: fix glibc bug with trailing slash
25956         * m4/canonicalize-lgpl.m4: Move contents...
25957         * m4/canonicalize.m4: ...here.
25958         (gl_CANONICALIZE_LGPL): Factor realpath check...
25959         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
25960         glibc 2.3.5 bug, fixed 2005-04-27.
25961         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
25962         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
25963         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
25964         * modules/canonicalize-lgpl (Files): Manage file rename.
25965         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25966         * modules/stdlib (Makefile.am): Substitute witness.
25967         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
25968         is needed.
25969         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
25970         replacement is required.
25971         * lib/canonicalize.c (canonicalize_file_name): Likewise.
25972         * doc/glibc-functions/canonicalize_file_name.texi
25973         (canonicalize_file_name): Document this.
25974         * doc/posix-functions/realpath.texi (realpath): Likewise.
25975
25976         canonicalize-lgpl: reject non-directory with trailing slash
25977         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
25978         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
25979         catches failures in glibc 2.3.5.
25980         * tests/test-canonicalize.c (main): Likewise.
25981
25982         canonicalize-lgpl: use native realpath if it works
25983         * lib/canonicalize-lgpl.c (realpath): Guard with
25984         FUNC_REALPATH_WORKS.
25985         * lib/stdlib.in.h (realpath): Make declaration optional based on
25986         HAVE_REALPATH.
25987         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
25988         native realpath works.
25989         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25990         * modules/stdlib (Makefile.am): Substitute witness.
25991
25992         canonicalize, canonicalize-lgpl: use <stdlib.h>
25993         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
25994         (Include): Mention <stdlib.h>.
25995         (configure.ac): Mention functions we provide.
25996         * modules/canonicalize (configure.ac): Likewise.
25997         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
25998         realpath if canonicalize_file_name is missing.
25999         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
26000         * modules/stdlib (Makefile.am): Substitute witnesses.
26001         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
26002         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
26003         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
26004         * NEWS: Document this.
26005         * doc/glibc-functions/canonicalize_file_name.texi
26006         (canonicalize_file_name): Likewise.
26007         * doc/posix-functions/realpath.texi (realpath): Likewise.
26008         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
26009
26010         test-canonicalize: consolidate into single C program
26011         * tests/test-canonicalize.sh: Delete; move setup into...
26012         * tests/test-canonicalize.c (main): ...the program, making it
26013         easier to run in debugger.  Add some tests.
26014         * modules/canonicalize-tests (Files): Remove unused file.
26015         (Depends-on): Add progname.
26016         (configure.ac, Makefile.am): Simplify.
26017
26018         test-canonicalize-lgpl: consolidate into single C program
26019         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
26020         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
26021         easier to run in debugger.  Add some tests.
26022         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
26023         (configure.ac, Makefile.am): Simplify.
26024
26025         canonicalize: avoid resolvepath
26026         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
26027         unnecessary checks.
26028         * lib/canonicalize.c (includes): Simplify.
26029         (canonicalize_file_name): Drop resolvepath implementation.
26030         * modules/canonicalize (Depends-on): Drop filenamecat.
26031
26032         canonicalize: don't lose errno
26033         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
26034         over calls to free.
26035
26036         canonicalize: simplify errno handling
26037         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
26038         assignment.
26039
26040         canonicalize, canonicalize-lgpl: update module dependencies
26041         * modules/canonicalize (Depends-on): Add extensions, lstat,
26042         pathmax, stdlib.
26043         (Files): Drop pathmax.h.
26044         (configure.ac): Adjust macro name.
26045         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
26046         lstat, stdlib, sys_stat.
26047         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
26048         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
26049         extensions.
26050         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
26051         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
26052         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
26053         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
26054         declaration, if available.
26055         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
26056         we can rely on the readlink module.
26057         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
26058         (includes): Use <unistd.h> unconditionally.
26059
26060 2009-09-17  Eric Blake  <ebb9@byu.net>
26061
26062         maint: make Include sections of modules consistent
26063         * modules/alloca: Use only header name; no need to list #include.
26064         * modules/alloca-opt: Likewise.
26065         * modules/arpa_inet: Likewise.
26066         * modules/canon-host: Likewise.
26067         * modules/configmake: Likewise.
26068         * modules/dirent: Likewise.
26069         * modules/eealloc: Likewise.
26070         * modules/environ: Likewise.
26071         * modules/fchdir: Likewise.
26072         * modules/fcntl: Likewise.
26073         * modules/fcntl-h: Likewise.
26074         * modules/gethrxtime: Likewise.
26075         * modules/gettime: Likewise.
26076         * modules/ignore-value: Likewise.
26077         * modules/inet_ntop: Likewise.
26078         * modules/inet_pton: Likewise.
26079         * modules/inttypes: Likewise.
26080         * modules/isnand-nolibm: Likewise.
26081         * modules/isnanf-nolibm: Likewise.
26082         * modules/mbchar: Likewise.
26083         * modules/mbfile: Likewise.
26084         * modules/mbiter: Likewise.
26085         * modules/mbuiter: Likewise.
26086         * modules/netdb: Likewise.
26087         * modules/netinet_in: Likewise.
26088         * modules/nproc: Likewise.
26089         * modules/pagealign_alloc: Likewise.
26090         * modules/poll: Likewise.
26091         * modules/printf-frexp: Likewise.
26092         * modules/pthread: Likewise.
26093         * modules/putenv: Likewise.
26094         * modules/random_r: Likewise.
26095         * modules/relocatable-prog: Likewise.
26096         * modules/search: Likewise.
26097         * modules/select: Likewise.
26098         * modules/selinux-h: Likewise.
26099         * modules/settime: Likewise.
26100         * modules/signal: Likewise.
26101         * modules/size_max: Likewise.
26102         * modules/socklen: Likewise.
26103         * modules/ssize_t: Likewise.
26104         * modules/stdarg: Likewise.
26105         * modules/stdbool: Likewise.
26106         * modules/stddef: Likewise.
26107         * modules/stdint: Likewise.
26108         * modules/stdio: Likewise.
26109         * modules/stdlib: Likewise.
26110         * modules/string: Likewise.
26111         * modules/strings: Likewise.
26112         * modules/sys_file: Likewise.
26113         * modules/sys_ioctl: Likewise.
26114         * modules/sys_select: Likewise.
26115         * modules/sys_socket: Likewise.
26116         * modules/sys_stat: Likewise.
26117         * modules/sys_time: Likewise.
26118         * modules/sys_times: Likewise.
26119         * modules/sys_utsname: Likewise.
26120         * modules/sys_wait: Likewise.
26121         * modules/sysexits: Likewise.
26122         * modules/time: Likewise.
26123         * modules/times: Likewise.
26124         * modules/tmpfile: Likewise.
26125         * modules/trim: Likewise.
26126         * modules/unistd: Likewise.
26127         * modules/wchar: Likewise.
26128         * modules/wctype: Likewise.
26129
26130 2009-09-17  Bruno Haible  <bruno@clisp.org>
26131
26132         Make getdate.y compile on QNX and NetBSD 5 / i386.
26133         * m4/getdate.m4 (gl_GETDATE): Conditionally define
26134         TIME_T_FITS_IN_LONG_INT.
26135         * lib/getdate.y (long_time_t): New type.
26136         (relative_time): Change type of 'seconds' field to long_time_t.
26137         (get_date): Update types of local variables. Check against overflow
26138         during conversion from long_time_t to time_t.
26139         Reported by Matt Kraai <kraai@ftbfs.org>
26140         and Hasso Tepper <hasso@netbsd.org>.
26141
26142 2009-09-17  Bruno Haible  <bruno@clisp.org>
26143
26144         * modules/COPYING: Update copyright years.
26145         * modules/README: Likeiwse.
26146         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
26147         Reported by Ian Beckwith <ianb@erislabs.net>.
26148
26149 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26150
26151         * users.txt: Update references for gnuit package.
26152
26153 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
26154
26155         * m4/getdelim.m4: Fix typo in copyright line.
26156
26157 2009-09-17  Bruno Haible  <bruno@clisp.org>
26158
26159         * lib/atoll.c: Use the standard header with GPL copyright.
26160         * lib/argz.in.h: Likewise.
26161         * lib/glob.c: Likewise.
26162         * lib/glob-libc.h: Likewise.
26163         * lib/random_r.c: Likewise.
26164         * lib/siglist.h: Likewise.
26165         * lib/strsignal.c: Likewise.
26166         Reported by Ian Beckwith <ianb@erislabs.net>.
26167
26168 2009-09-17  Eric Blake  <ebb9@byu.net>
26169
26170         rmdir: ensure correct dependency order
26171         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
26172
26173 2009-09-17  Bruno Haible  <bruno@clisp.org>
26174
26175         Disable assertion that fails on NetBSD 5 / i386.
26176         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
26177         Reported by Sam Steingold <sds@gnu.org>
26178         and Hasso Tepper <hasso@netbsd.org>.
26179
26180 2009-09-16  Eric Blake  <ebb9@byu.net>
26181
26182         unlinkdir: port to mingw
26183         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
26184         on which no one can unlink a directory.
26185
26186         stdlib: sort witness names
26187         * modules/stdlib (Makefile.am): Sort replacements.
26188         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
26189         * lib/stdlib.in.h: Likewise.
26190
26191         parse-duration-tests: avoid link failure
26192         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
26193         LIBINTL.
26194         Reported by Tom G. Christensen.
26195
26196         openat-tests: ensure unlinkat behaves like rmdir
26197         * tests/test-rmdir.c (main): Factor guts...
26198         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
26199         * modules/rmdir-tests (Files): Ship new file.
26200         * modules/openat-tests: New test.
26201         * tests/test-unlinkat.c: Likewise.
26202
26203         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
26204         * modules/rmdir-errno (Status, Notice): Now obsolete.
26205
26206         rmdir: work around cygwin 1.5.x and mingw bugs
26207         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
26208         * lib/rmdir.c (rmdir): Work around it.
26209         * modules/rmdir (Status, Notice): No longer obsolete.
26210         (Files): Add dos.m4.
26211         (Depends-on): Add unistd.
26212         (configure.ac): Set witnesses.
26213         (License): Relax to LGPLv2+.
26214         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
26215         * modules/unistd (Makefile.am): Substitute witnesses.
26216         * lib/unistd.in.h (rmdir): Declare replacement.
26217         * doc/posix-functions/rmdir.texi (rmdir): Document this.
26218         * modules/rmdir-tests: New tests.
26219         * tests/test-rmdir.c: Likewise.
26220
26221 2009-09-15  Eric Blake  <ebb9@byu.net>
26222
26223         fchdir: improve use of replacement functions
26224         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
26225         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
26226         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
26227         REPLACE_CLOSEDIR.
26228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
26229         * modules/sys_stat (Makefile.am): Substitute correct witness.
26230         * modules/dirent (Makefile.am): Likewise.
26231         * modules/unistd (Makefile.am): Likewise.
26232         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
26233         * lib/unistd.in.h (dup): Likewise.
26234         * lib/sys_stat.in.h (fstat): Likewise.
26235
26236         maint: ignore gnulib-tool temp files
26237         * .gitignore: Ignore files created during gnulib-tool --test.
26238
26239 2009-09-13  Jim Meyering  <meyering@redhat.com>
26240
26241         posixtm: don't reject a time that specify "60" as the number of seconds
26242         * lib/posixtm.c (posixtime): The code to reject invalid dates
26243         would also reject a time specified with the .60 suffix.
26244         But POSIX allows that, in order to accommodate leap seconds.
26245         So don't reject it.
26246         (main): Adjust tests accordingly.
26247         * modules/posixtm (Depends-on): Add stpcpy.
26248
26249 2009-09-11  Jim Meyering  <meyering@redhat.com>
26250
26251         announce-gen: include [$release_type] in emitted Subject:
26252         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
26253         e.g., [stable] in the emitted Subject: line.
26254
26255 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26256
26257         Remove obsolete macros from several modules.
26258         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
26259         obsolete Autoconf macros with their modern counterparts.
26260         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
26261         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
26262         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26263         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
26264         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
26265         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26266         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26267         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26268         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
26269         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
26270         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
26271         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
26272         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
26273         * m4/sockets.m4 (gl_SOCKETS): Likewise.
26274         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
26275         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
26276         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
26277         * m4/time_r.m4 (gl_TIME_R): Likewise.
26278         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
26279         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
26280         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
26281
26282         Fix copyright header in build-aux scripts.
26283         * build-aux/git-version-gen: Fix copyright header to match GPLv3
26284         recommendation.
26285         * build-aux/ncftpput-ftp: Likewise.
26286         * build-aux/update-copyright: Likewise.
26287
26288 2009-09-09  Eric Blake  <ebb9@byu.net>
26289
26290         test-link: allow Linux choice of errno
26291         * tests/test-link.c (main): Relax test for alternate error.
26292
26293         strndup: fix improper m4 caching
26294         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
26295         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
26296         (gl_PREREQ_STRNDUP): Delete.
26297         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
26298         * modules/string (Makefile.am): Substitute it.
26299         * lib/string.in.h (strndup): Modernize prototype.
26300
26301         getcwd: port to mingw
26302         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
26303         different from the POSIX assumptions made throughout the getcwd
26304         module; fortunately, the mingw getcwd does not need replacement.
26305         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
26306         * modules/getcwd-tests: New test.
26307         * tests/test-getcwd.c: Likewise.
26308
26309         link: fix platform bugs
26310         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
26311         * lib/link.c (link): Work around them.  Fix related mingw bug.
26312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
26313         * modules/unistd (Makefile.am): Substitute it.
26314         * lib/unistd.in.h (link): Declare replacement.
26315         * doc/posix-functions/link.texi (link): Document this.
26316         * modules/link (Depends-on): Add strdup-posix, sys_stat.
26317
26318         test-link: consolidate into single C program, test more cases
26319         * tests/test-link.sh: Delete.
26320         * tests/test-link.c: Test more error conditions.  Exposes bugs on
26321         at least Cygwin and Solaris.
26322         * modules/link-tests (Files): Remove unused file.
26323         (Depends-on): Add errno, sys_stat.
26324         (Makefile.am): Simplify.
26325
26326 2009-09-08  Bruno Haible  <bruno@clisp.org>
26327
26328         Work around towlower, towupper bug on mingw.
26329         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
26330         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
26331         * doc/posix-functions/towlower.texi: Mention the mingw bug.
26332         * doc/posix-functions/towupper.texi: Likewise.
26333         Reported by Eric Blake.
26334
26335 2009-09-08  Jim Meyering  <meyering@redhat.com>
26336
26337         build: don't try to run autoheader if we don't use it
26338         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
26339         is not used in configure.ac.
26340
26341 2009-09-08  Eric Blake  <ebb9@byu.net>
26342
26343         euidaccess: fix compilation error
26344         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
26345
26346         rawmemchr: relax license
26347         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
26348         okay.
26349         Reported by Jim Meyering.
26350
26351         mkfifoat: new module
26352         * modules/mkfifoat: New file.
26353         * lib/mkfifoat.c: Likewise.
26354         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
26355         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
26356         * modules/sys_stat (Makefile.am): Use them.
26357         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
26358         * MODULES.html.sh (File system functions): Mention module.
26359         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
26360         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
26361         * modules/mkfifoat-tests: New test.
26362         * tests/test-mkfifoat.c: Likewise.
26363
26364         strchrnul: relax license
26365         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
26366         okay.
26367         Reported by Jim Meyering.
26368
26369 2009-09-08  Eric Blake  <ebb9@byu.net>
26370
26371         fstatat: fix compilation on Solaris
26372         * lib/fstatat.c (includes): Add fcntl.h.
26373         Reported by Pádraig Brady.
26374
26375 2009-09-07  Eric Blake  <ebb9@byu.net>
26376
26377         rename: modernize replacement
26378         * modules/rename (Depends-on): Add stdio.
26379         (configure.ac): Declare witness.
26380         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
26381         stdio take care of replacement.
26382         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
26383         * modules/stdio (Makefile.am): Substitute them.
26384         * lib/stdio.in.h (rename): Declare replacement.
26385         * lib/rename.c (includes): Allow cross-compilation to non-windows
26386         machines.
26387         * doc/posix-functions/rename.texi (rename): Improve
26388         documentation.
26389
26390         stdio: sort witness names
26391         * modules/stdio (Makefile.am): Sort replacements.
26392         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26393         * lib/stdio.in.h: Likewise.
26394
26395         getcwd: minor cleanups
26396         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
26397         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
26398
26399         openat: provide more convenience names
26400         * modules/faccessat (configure.ac): Add C witness.
26401         * lib/unistd.in.h (readlinkat): Fix typo.
26402         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
26403         convenience wrappers.
26404         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
26405         wrappers in syntax checks.
26406
26407 2009-09-06  Eric Blake  <ebb9@byu.net>
26408
26409         doc: fix comments in recent patches
26410         * lib/faccessat.c: Mention correct function.
26411         * lib/fchmodat.c: Likewise.
26412         * lib/fchownat.c: Likewise.
26413         * lib/symlinkat.c: Likewise.
26414         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
26415         constants.
26416
26417         faccessat, symlinkat: continue cleanup of previous patch
26418         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
26419         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26420         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
26421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
26422         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
26423         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
26424         set.
26425
26426 2009-09-06  Bruno Haible  <bruno@clisp.org>
26427
26428         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
26429         (fstatat): Declare if GNULIB_FSTATAT is set.
26430         (mkdirat): Declare if GNULIB_MKDIRAT is set.
26431         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
26432         (unlinkat): Declare if GNULIB_UNLINKAT is set.
26433         * modules/fcntl-h (Files): Remove m4/openat.m4.
26434         * modules/sys_stat (Files): Remove m4/openat.m4.
26435         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
26436         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
26437         * modules/unistd (Files): Remove m4/openat.m4.
26438         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
26439         GNULIB_OPENAT.
26440         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
26441         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
26442         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
26443         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
26444         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
26445         gl_OPENAT_DEFAULTS.
26446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
26447         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
26448         Don't require gl_OPENAT_DEFAULTS.
26449         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
26450         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
26451         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
26452         (gl_OPENAT_DEFAULTS): Remove macro.
26453
26454 2009-09-06  Bruno Haible  <bruno@clisp.org>
26455
26456         * modules/openat (configure.ac): Remove unneeded witness.
26457
26458 2009-09-06  Bruno Haible  <bruno@clisp.org>
26459
26460         Set errno to ENOSYS when a function is entirely unsupported.
26461         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
26462         EOPNOTSUPP.
26463         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26464         * modules/chown (Depends-on): Remove errno.
26465
26466 2009-09-06  Bruno Haible  <bruno@clisp.org>
26467
26468         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
26469
26470 2009-09-06  Bruno Haible  <bruno@clisp.org>
26471
26472         * lib/sys_stat.in.h: Fix preprocessor command indentation.
26473
26474 2009-09-06  Ben Pfaff  <blp@gnu.org>
26475             Bruno Haible  <bruno@clisp.org>
26476
26477         Work around a glibc bug in strtok_r.
26478         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
26479         Undefine if UNDEFINE_STRTOK_R is set.
26480         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
26481         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26482         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
26483         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
26484         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
26485         UNDEFINE_STRTOK_R.
26486         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
26487
26488 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26489
26490         exclude: minor fix
26491         * lib/exclude.c: Include wctype.h
26492
26493 2009-09-06  Akim Demaille  <demaille@gostai.com>
26494
26495         bootstrap: improve error message
26496         * build-aux/bootstrap (find_tool): Upon failure, report the list
26497         of candidates.
26498         Honor the initial value of the envvar.
26499
26500 2009-09-05  Eric Blake  <ebb9@byu.net>
26501
26502         symlinkat: new module
26503         * modules/symlinkat: New file.
26504         * lib/symlinkat.c: Likewise.
26505         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
26506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
26507         * modules/unistd (Makefile.am): Use them.
26508         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
26509         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
26510         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
26511         * MODULES.html.sh (File system functions): Mention module.
26512         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26513         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26514         * modules/symlinkat-tests: New test.
26515         * tests/test-symlinkat.c: Likewise.
26516
26517         test-openat-safer: add more checks
26518         * tests/test-openat-safer.c (main): Check more code paths.
26519
26520 2009-09-05  Jim Meyering  <meyering@redhat.com>
26521
26522         syntax-check: detect unnecessary inclusion of openat.h
26523         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
26524
26525 2009-09-05  Bruno Haible  <bruno@clisp.org>
26526
26527         Support towlower, towupper.
26528         * doc/posix-functions/towlower.texi: Mention module wctype.
26529         * doc/posix-functions/towupper.texi: Likewise.
26530         * lib/wctype.in.h (towlower, towupper): New functions.
26531         * tests/test-wctype.c: Include stdio.h, stdlib.h.
26532         (ASSERT): New macro.
26533         (e): New variable.
26534         (main): Test also towlower, towupper. Test WEOF argument.
26535         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26536
26537 2009-09-05  Bruno Haible  <bruno@clisp.org>
26538
26539         Fix conversion behaviour when the input is invalid.
26540         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
26541         mark occurring in first pass of indirect conversion.
26542         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
26543         input.
26544         Found by clang's static analyzer.
26545
26546 2009-09-05  Bruno Haible  <bruno@clisp.org>
26547
26548         * tests/test-striconveh.c (main): Test indirect conversion on platforms
26549         where direct conversion is possible.
26550
26551 2009-09-04  Eric Blake  <ebb9@byu.net>
26552
26553         openat: fail with ENOENT on empty name
26554         * lib/openat-proc.c (openat_proc_name): Special-case the empty
26555         buffer.
26556
26557         link-follow: fix logic bug in prior patch
26558         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
26559         reversed sense of yes and no in prior patch.  Avoid confusing
26560         compilation failure with desired semantics.
26561
26562         link-follow: accomodate mingw and cross-compilation
26563         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
26564         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
26565         cross-compilation results to -1, to make linkat easier to
26566         implement when cross-compiling.  Trivially support mingw.
26567         * modules/link-follow (configure.ac): Call new name.
26568         * NEWS: Mention this.
26569
26570 2009-09-03  Eric Blake  <ebb9@byu.net>
26571
26572         faccessat: compile replacement
26573         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
26574         needed.
26575
26576         fts: fix compilation error
26577         * lib/fts.c (includes): Re-add "openat.h", for
26578         openat_needs_fchdir.
26579
26580         faccessat: new module
26581         * modules/faccessat: New file.
26582         * lib/faccessat.c: Likewise.
26583         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
26584         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26585         * modules/unistd (Makefile.am): Use it.
26586         * lib/unistd.in.h (faccessat): Declare it.
26587         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
26588         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
26589         * MODULES.html.sh (File system functions): Mention it.
26590         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
26591         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26592
26593         euidaccess: prefer POSIX over non-standard implementation
26594         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
26595         * lib/euidaccess.c (euidaccess): Use it if available.
26596
26597         openat: make template easier to use
26598         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
26599         AT_FUNC_F2 to be undefined.
26600         (VALIDATE_FLAG): New macro; use it to reject bad flags.
26601         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
26602         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
26603         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
26604         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
26605         Likewise.
26606         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
26607         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
26608         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
26609         Likewise.
26610
26611         openat: declare in POSIX headers
26612         * NEWS: Mention this.
26613         * modules/openat (configure.ac): Declare witnesses.
26614         (Depends-on): Add fcntl-h, sys_stat, unistd.
26615         (Include): Mention correct headers.
26616         * modules/fcntl-h (Depends-on): Add link-warning.
26617         (Files): Add openat.m4.
26618         (Makefile.am): Substitute witnesses.
26619         * modules/sys_stat (Files, Makefile.am): Likewise.
26620         * modules/unistd (Files, Makefile.am): Likewise.
26621         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
26622         (gl_OPENAT_DEFAULTS): New macro.
26623         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
26624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
26625         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
26626         (SYS_STAT_H): Remove unused variable.
26627         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
26628         * lib/fcntl--.h (includes): Remove unneeded header.
26629         * lib/openat-safer.c (includes): Likewise.
26630         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
26631         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
26632         appropriate headers.
26633         (__OPENAT_PREFIX): Delete.
26634         * lib/fcntl.in.h (openat): Provide declaration.
26635         (AT_FDCWD): Fix Solaris bug.
26636         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
26637         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
26638         * lib/fchmodat.c (includes):  Adjust to find declaration.
26639         * lib/fchownat.c (includes): Likewise.
26640         * lib/mkdirat.c (includes): Likewise.
26641         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
26642         still visible.
26643
26644 2009-09-02  Eric Blake  <ebb9@byu.net>
26645
26646         errno: use consistently
26647         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
26648         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
26649         * lib/canonicalize.c (ELOOP): Likewise.
26650         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
26651         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
26652         * lib/lchown.c (EOPNOTSUPP): Likewise.
26653         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
26654         * lib/savewd.c (ESTALE): Likewise.
26655         * lib/settime.c (ENOSYS): Likewise.
26656         * lib/utimens.c (ENOSYS): Likewise.
26657         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
26658         * lib/chdir-safer.c (ELOOP): Likewise.
26659         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
26660         * modules/c-stack (Depends-on): Add errno.
26661         * modules/canonicalize (Depends-on): Likewise.
26662         * modules/chdir-safer (Depends-on): Likewise.
26663         * modules/fdopendir (Depends-on): Likewise.
26664         * modules/inet_ntop (Depends-on): Likewise.
26665         * modules/inet_pton (Depends-on): Likewise.
26666         * modules/lchown (Depends-on): Likewise.
26667         * modules/openat (Depends-on): Likewise.
26668         * modules/savewd (Depends-on): Likewise.
26669         * modules/settime (Depends-on): Likewise.
26670         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
26671
26672         fts: avoid leaking fds
26673         * modules/fts (Depends-on): Add cloexec.
26674         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
26675         flag.
26676
26677         fts: make directory fds more robust
26678         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
26679         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
26680
26681         backupfile, chdir-long, fts, savedir: make safer
26682         * lib/backupfile.c (includes): Use "dirent--.h", since
26683         numbered_backup can write to stderr during readdir.
26684         * lib/savedir.c (includes): Likewise.
26685         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
26686         emulation can write to stderr on failure.
26687         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
26688         * lib/getcwd.c: Document why opendir_safer is unused.
26689         * lib/glob.c: Likewise.
26690         * lib/scandir.c: Likewise.
26691         * lib/openat-proc.c: Likewise, for open_safer.
26692         * modules/backupfile (Depends-on): Add dirent-safer.
26693         * modules/savedir (Depends-on): Likewise.
26694         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
26695         * modules/chdir-long (Depends-on): Add openat-safer.
26696
26697         openat-safer: new module
26698         * modules/openat-safer: New file.
26699         * lib/openat-safer.c: Likewise.
26700         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
26701         * lib/fcntl-safer.h (openat_safer): Declare.
26702         * lib/fcntl--.h (openat): Override.
26703         * MODULES.html.sh (File descriptor based I/O): Mention it.
26704         * lib/openat.h: Add double-inclusion guards.
26705         * lib/openat.c (includes): Only include "fcntl-safer.h", not
26706         "fcntl--.h", so we can implement openat.
26707         * modules/openat-safer-tests: New test.
26708         * tests/test-openat-safer.c: New file.
26709
26710         dirent-safer: new module
26711         * modules/dirent-safer: New file.
26712         * lib/dirent--.h: Likewise.
26713         * lib/dirent-safer.h: Likewise.
26714         * lib/opendir-safer.c: Likewise.
26715         * m4/dirent-safer.m4: Likewise.
26716         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
26717         * modules/dirent-safer-tests: New test.
26718         * tests/test-dirent-safer.c: New file.
26719         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
26720
26721         fdopendir: optimize on mingw
26722         * lib/unistd.in.h (_gl_directory_name): New prototype.
26723         * lib/fchdir.c (_gl_directory_name): Implement it.
26724         (fchdir): Use it to simplify implementation.
26725         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
26726         fchdir, when available, to avoid calling [f]chdir().
26727
26728         fdopendir: split into its own module
26729         * lib/openat.c (fdopendir): Move...
26730         * lib/fdopendir.c: ...into new file.
26731         * modules/fdopendir: New module.
26732         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
26733         * modules/openat (Depends-on): Add fdopendir.
26734         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
26735         fdopendir here.
26736         * modules/savedir (Depends-on): Only need fdopendir, not full
26737         openat.
26738         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
26739         * lib/openat.h (fdopendir): Drop prototype.
26740         * lib/dirent.in.h (fdopendir): Provide prototype.
26741         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
26742         * modules/dirent (Makefile.am): Substitute them.
26743         * MODULES.html.sh (File system functions): Mention it.
26744         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
26745         * modules/fdopendir-tests: New file.
26746         * tests/test-fdopendir.c: Likewise.
26747
26748         fchdir: use more consistent macro convention
26749         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
26750         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
26751         REPLACE_FCHDIR, rather than relying on config.h macros.
26752         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
26753         inside a single make-time REPLACE_FCHDIR block, rather than using
26754         the config.h FCHDIR_REPLACEMENT.
26755         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
26756         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
26757         Manage fstat replacement.
26758         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
26759         REPLACE_FCHDIR.
26760         * modules/sys_stat (Files): Add m4/unistd_h.m4.
26761         (Makefile.am): Substitute REPLACE_FCHDIR.
26762         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
26763         FCHDIR_REPLACEMENT.
26764         * lib/dup-safer.c (dup_safer): Likewise.
26765         * lib/dup2.c (rpl_dup2): Likewise.
26766         * lib/dup3.c (rpl_dup3): Likewise.
26767         * lib/open.c (rpl_open): Likewise.
26768
26769         fchdir: simplify error handling, and support dup3
26770         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
26771         stdbool, malloc-posix, realloc-posix.
26772         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
26773         (ensure_dirs_slot): Return false on allocation failure.
26774         (rpl_dup2): Delete.
26775         (_gl_register_dup): New function.
26776         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
26777         (_gl_register_fd): Close fd on allocation failure.
26778         * lib/fcntl.in.h (_gl_register_fd): Update signature.
26779         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
26780         prototype.
26781         (rpl_dup2_fchdir): Delete prototype.
26782         * lib/open.c (open): Update caller.
26783         * lib/dup2.c (dup2): Track fchdir metadata.
26784         * lib/dup3.c (dup3): Likewise.
26785         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
26786         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
26787
26788 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26789
26790         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
26791         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
26792         don't pass arguments to AC_OUTPUT.
26793
26794 2009-09-02  Bruno Haible  <bruno@clisp.org>
26795
26796         * modules/mkdtemp (License): Relicense under LGPLv2+.
26797         Reported by Paolo Bonzini.
26798
26799 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26800
26801         Replace uses of obsolete autoconf macros in Jim's modules.
26802         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
26803         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
26804         can evoke a warning from autoconf when run with -Wobsolete
26805         enabled.  They were declared obsolete for good reasons (see
26806         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
26807         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
26808         should not continue using the deprecated macros.
26809         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
26810         obsolete Autoconf macros with modern counterparts.
26811         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
26812         * m4/dos.m4 (gl_AC_DOS): Likewise.
26813         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
26814         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
26815         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
26816         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
26817         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
26818         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
26819         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
26820         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
26821         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
26822         Likewise.
26823         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
26824         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
26825         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
26826         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
26827         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
26828         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
26829
26830 2009-09-01  Eric Blake  <ebb9@byu.net>
26831
26832         fchdir: fix off-by-one bug in previous patch
26833         * lib/fchdir.c (rpl_fstat): Use correct bounds.
26834         (_gl_unregister_fd): Delete useless if.
26835
26836 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
26837
26838         maint.mk: sort the list of syntax-check rules
26839         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
26840         easier to get a sense of progress when the rules are run sequentially
26841         and take a long time.
26842
26843 2009-09-01  Simon Josefsson  <simon@josefsson.org>
26844
26845         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
26846         * modules/netinet_in: Likewise.
26847         * modules/sys_file: Likewise.
26848         * modules/sys_ioctl: Likewise.
26849         * modules/sys_select: Likewise.
26850         * modules/sys_socket: Likewise.
26851         * modules/sys_stat: Likewise.
26852         * modules/sys_time: Likewise.
26853         * modules/sys_times: Likewise.
26854         * modules/sys_utsname: Likewise.
26855         * modules/sys_wait: Likewise.
26856
26857 2009-09-01  Jim Meyering  <meyering@redhat.com>
26858
26859         fts: help ensure that return values are not ignored
26860         * lib/fts_.h (__GNUC_PREREQ): Define.
26861         (__attribute_warn_unused_result__): Define.
26862         (fts_children, fts_close, fts_open, fts_read): Declare with
26863         __attribute_warn_unused_result__.
26864
26865         fts: fts_close now fails also when closing a dir file descriptor fails
26866         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
26867         and propagate to caller, along with errno.
26868
26869         announce-gen: correct formatting in --help output
26870         * build-aux/announce-gen (usage): Move the one-line description in
26871         --help output "up", to where it belongs, just after Usage:.
26872
26873 2009-08-31  Eric Blake  <ebb9@byu.net>
26874
26875         fchdir: port to mingw
26876         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
26877         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
26878         opened, then use a substitute.
26879         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
26880         replacement.
26881         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
26882         (_gl_register_fd): No need to check stat if open already filters
26883         all directories.
26884         (fchdir): Fix error condition to match POSIX.
26885         * modules/fchdir (Depends-on): Add sys_stat.
26886         * doc/posix-functions/open.texi (open): Document the limitation.
26887         * modules/fchdir-tests: New file.
26888         * tests/test-fchdir.c: Likewise.
26889
26890         canonicalize: allow cross-testing from cygwin to mingw
26891         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
26892         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
26893         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
26894         Likewise.
26895         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
26896         target does not support symlinks.
26897         * tests/test-canonicalize-lgpl.sh: Likewise.
26898
26899         chown: avoid compilation warning on mingw
26900         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
26901         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
26902         mingw.
26903         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26904         * modules/chown (Depends-on): Add errno.
26905
26906 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26907
26908         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
26909         command.
26910
26911 2009-08-31  Jim Meyering  <meyering@redhat.com>
26912
26913         canonicalize: remove useless initialization
26914         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
26915         initialization of local, "end".
26916
26917 2009-08-30  Bruno Haible  <bruno@clisp.org>
26918
26919         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
26920         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
26921         ENOSYS.
26922
26923 2009-08-30  Bruno Haible  <bruno@clisp.org>
26924
26925         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
26926         /usr/xpg4/bin/tr when it exists.
26927         * tests/test-pipe-filter-gi1.sh: Likewise.
26928
26929 2009-08-30  Bruno Haible  <bruno@clisp.org>
26930
26931         Work around deficient /usr/bin/id program on Solaris.
26932         * tests/test-file-has-acl.sh (ID): New variable.
26933         * tests/test-set-mode-acl.sh (ID): Likewise.
26934         * tests/test-copy-acl.sh (ID): Likewise.
26935         * tests/test-copy-file.sh (ID): Likewise.
26936
26937 2009-08-30  Bruno Haible  <bruno@clisp.org>
26938
26939         New module 'xstriconveh'.
26940         * lib/xstriconveh.h: New file.
26941         * lib/xstriconveh.c: New file.
26942         * modules/xstriconveh: New file.
26943
26944 2009-08-30  Bruno Haible  <bruno@clisp.org>
26945
26946         Make it easier to use mem_cd_iconveh.
26947         * lib/striconveh.h (iconveh_t): New type.
26948         (iconveh_open, iconveh_close): New declarations.
26949         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26950         with a single 'const iconveh_t *' argument.
26951         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
26952         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26953         with a single 'const iconveh_t *' argument.
26954         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
26955         * tests/test-striconveh.c (main): Update.
26956         * NEWS: Mention the change.
26957
26958 2009-08-30  Bruno Haible  <bruno@clisp.org>
26959
26960         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
26961         problem.
26962
26963 2009-08-30  Bruno Haible  <bruno@clisp.org>
26964
26965         Work around iconv_open problem on Solaris.
26966         * lib/iconv_open-solaris.gperf: New file.
26967         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
26968         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
26969         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
26970         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
26971         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
26972         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
26973
26974 2009-08-29  Jim Meyering  <meyering@redhat.com>
26975
26976         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
26977         * top/maint.mk (cvs-check): Remove target; it was just an alias
26978         to the better-named vc-diff-check.
26979         (maintainer-distcheck): Remove rule.  It was used only from
26980         the (alpha/beta/major) target, and all of its commands but one
26981         were coreutils-specific.
26982         (vc-dist): Remove rule.
26983         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
26984         Run vc-diff-check, not vc-dist.
26985         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
26986
26987 2009-08-27  Bruno Haible  <bruno@clisp.org>
26988
26989         * tests/test-bitrotate.c (main): Remove test that uses a shift count
26990         of 0.
26991
26992 2009-08-27  Bruno Haible  <bruno@clisp.org>
26993
26994         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
26995         compilers.
26996         * doc/func.texi: Document the SunPRO C bug.
26997
26998 2009-08-27  Bruno Haible  <bruno@clisp.org>
26999
27000         Fix link error on Solaris.
27001         * tests/test-parse-duration.c (xstrdup): Remove function.
27002
27003 2009-08-26  Pádraig Brady  <P@draigbrady.com>
27004
27005         ignore-value: handle pointer types, too
27006         * lib/ignore-value.h (__attribute__): Remove definition.
27007         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
27008         of a more concise and more-often effective "(void) i" statement.
27009         (ignore_ptr): New function to suppress warnings from functions that
27010         return pointers, and to make it explicit that one function doesn't
27011         handle all cases.
27012
27013 2009-08-25  Bruno Haible  <bruno@clisp.org>
27014
27015         dup2: work around a Linux bug.
27016         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
27017         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
27018         * doc/posix-functions/dup2.texi: Mention the Linux bug.
27019         Reported by Simon Josefsson.
27020
27021 2009-08-25  Jim Meyering  <meyering@redhat.com>
27022
27023         libguestfs uses gnulib
27024         * users.txt: Add libguestfs.
27025
27026 2009-08-24  Eric Blake  <ebb9@byu.net>
27027
27028         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
27029         * lib/pipe2.c (includes): Add binary-io.h.
27030         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
27031
27032 2009-08-24  Bruno Haible  <bruno@clisp.org>
27033
27034         Tolerate declared but missing accept4 syscall.
27035         * lib/accept4.c (accept4): Invoke original accept4 function first, if
27036         available.
27037         * lib/sys_socket.in.h (accept4): If the function is already present,
27038         override it.
27039         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
27040         * modules/accept4 (Makefile.am): Compile accept4.c always.
27041         Reported by Paolo Bonzini and Eric Blake.
27042
27043 2009-08-23  Bruno Haible  <bruno@clisp.org>
27044
27045         New module 'accept4'.
27046         * lib/sys_socket.in.h (accept4): New declaration.
27047         * lib/accept4.c: New file.
27048         * m4/accept4.m4: New file.
27049         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27050         GNULIB_ACCEPT4, HAVE_ACCEPT4.
27051         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
27052         HAVE_ACCEPT4.
27053         * modules/accept4: New file.
27054         * doc/glibc-functions/accept4.texi: Mention the new module.
27055
27056 2009-08-24  Jim Meyering  <meyering@redhat.com>
27057
27058         progname: also set global program_invocation_name, when possible
27059         Before this change, a libtool-enabled program that calls glibc's
27060         error function would report the program name as
27061         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
27062         * modules/progname (configure.ac): Check for a declaration of
27063         program_invocation_name.
27064         * lib/progname.c:  Include <errno.h>.
27065         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
27066         Set program_invocation_name.
27067
27068 2009-08-23  Bruno Haible  <bruno@clisp.org>
27069
27070         * lib/dup3.c: Include <string.h>.
27071
27072 2009-08-23  Bruno Haible  <bruno@clisp.org>
27073
27074         * lib/dup3.c (dup3): Test only once whether the system actually exists.
27075         * lib/pipe2.c (pipe2): Likewise.
27076         Suggested by Eric Blake.
27077
27078 2009-08-23  Bruno Haible  <bruno@clisp.org>
27079
27080         Tolerate declared but missing dup3 syscall.
27081         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
27082         * lib/unistd.in.h (dup3): If the function is already present,
27083         override it.
27084         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
27085         * modules/dup3 (Makefile.am): Compile dup3.c always.
27086         Reported by Paolo Bonzini.
27087
27088 2009-08-23  Bruno Haible  <bruno@clisp.org>
27089
27090         Tolerate declared but missing pipe2 syscall.
27091         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
27092         available.
27093         * lib/unistd.in.h (pipe2): If the function is already present,
27094         override it.
27095         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
27096         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
27097         Reported by Paolo Bonzini.
27098
27099 2009-08-23  Bruno Haible  <bruno@clisp.org>
27100
27101         * lib/pipe2.c (pipe2): Move #ifs inside function.
27102
27103 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27104
27105         quotearg: document limitations of quote_these_too
27106         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
27107         those limitations are created.
27108         * lib/quotearg.h (set_char_quoting): Document that digits and
27109         letters that are special after backslash are not permitted.
27110         (quotearg_char): Cross-reference set_char_quoting documentation.
27111
27112 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
27113
27114         quotearg: implement custom_quoting_style
27115         * lib/quotearg.c: (struct quoting_options): Add left_quote and
27116         right_quote fields.
27117         (set_custom_quoting): New public function.
27118         (quotearg_buffer_restyled): Add left_quote and right_quote
27119         arguments, handle them very much like locale quoting, and update
27120         all uses.
27121         (quotearg_n_custom): New public function.
27122         (quotearg_n_custom_mem): New public function.
27123         (quotearg_custom): New public function.
27124         (quotearg_custom_mem): New public function.
27125         * lib/quotearg.h: Prototype and document new public functions.
27126         (enum quoting_style): For escape_quoting_style and
27127         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
27128         ignored even though they're otherwise like c_quoting_style.
27129         Add custom_quoting_style member and document with comparison to
27130         clocale_quoting_style.
27131         * tests/test-quotearg.c (custom_quotes): New array.
27132         (custom_results): New array.
27133         (main): Extend to test custom quoting.
27134
27135 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27136
27137         quotearg: fix right quote escaping when it's in quote_these_too
27138         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
27139         quote, be sure to prepend only one backslash.
27140         * tests/test-quotearg.c (use_quote_double_quotes): New function.
27141         (main): Test it.
27142
27143 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
27144
27145         quotearg-tests: test escaping of embedded locale quotes
27146         * tests/test-quotearg.c (struct result_strings): Add member for
27147         new input.
27148         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
27149         (inputs): Add new input.
27150         (results_g): Add expected results.
27151         (flag_results): Likewise.
27152         (locale_results): Likewise.
27153         (compare_strings): Check those.
27154
27155 2009-08-23  Bruno Haible  <bruno@clisp.org>
27156
27157         Tests for module 'dup3'.
27158         * modules/dup3-tests: New file.
27159         * tests/test-dup3.c: New file.
27160
27161         New module 'dup3'.
27162         * lib/unistd.in.h (dup3): New declaration.
27163         * lib/dup3.c: New file.
27164         * m4/dup3.m4: New file.
27165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
27166         HAVE_DUP3.
27167         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
27168         * modules/dup3: New file.
27169         * doc/glibc-functions/dup3.texi: Mention the new module.
27170
27171 2009-08-23  Bruno Haible  <bruno@clisp.org>
27172
27173         Tweak the dup2 test.
27174         * tests/test-dup2.c (main): Create the test file empty. Verify that an
27175         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
27176         the test file is still empty. Fix argument order of lseek.
27177
27178 2009-08-23  Bruno Haible  <bruno@clisp.org>
27179
27180         Avoid test link errors when the modules getopt-gnu, gettext are used.
27181         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
27182         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27183
27184 2009-08-23  Bruno Haible  <bruno@clisp.org>
27185
27186         Fix getdtablesize() on mingw.
27187         * lib/getdtablesize.c (getdtablesize): Implement differently.
27188         * lib/unistd.in.h (getdtablesize): Improve comment.
27189
27190 2009-08-23  Bruno Haible  <bruno@clisp.org>
27191
27192         New module 'mkostemp'.
27193         Based on Ulrich Drepper's 2007-08-10 change in glibc.
27194         * lib/stdlib.in.h (mksotemp): New declaration.
27195         * lib/mkostemp.c: New file, from glibc with modifications.
27196         * lib/tempname.h (GT_FILE): Remove outdated comment.
27197         (gen_tempname): Add flags argument.
27198         * lib/tempname.c (__GT_BIGFILE): Remove macro.
27199         (__GT_FILE): Map to 1.
27200         (small_open, large_open): Remove macros.
27201         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
27202         * lib/mkstemp.c (mkstemp): Update.
27203         * lib/mkdtemp.c (mkdtemp): Likewise.
27204         * m4/mkostemp.m4: New file.
27205         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
27206         HAVE_MKOSTEMP.
27207         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
27208         HAVE_MKOSTEMP.
27209         * modules/mkostemp: New file, based on modules/mkstemp.
27210         * doc/glibc-functions/mkostemp.texi: Mention the new module.
27211         * NEWS: Mention the change.
27212
27213 2009-08-23  Bruno Haible  <bruno@clisp.org>
27214
27215         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
27216         Reported by Eric Blake.
27217
27218 2009-08-23  Bruno Haible  <bruno@clisp.org>
27219
27220         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
27221         Reported by Eric Blake.
27222
27223 2009-08-23  Bruno Haible  <bruno@clisp.org>
27224
27225         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
27226         * modules/pipe2 (Depends-on): Likewise.
27227
27228 2009-08-23  Eric Blake  <ebb9@byu.net>
27229
27230         fcntl-h: add O_TTY_INIT support
27231         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
27232         * tests/test-fcntl-h.c (o): Test it.
27233         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27234
27235         fcntl-h: rename from fcntl, in preparation for fcntl(2)
27236         * modules/fcntl: Move <fcntl.h> header replacement...
27237         * modules/fcntl-h: ...to new name, so as not to collide with
27238         like-named function.
27239         * tests/test-fcntl.c: Rename...
27240         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
27241         * modules/fcntl-tests: Rename...
27242         * modules/fcntl-h-tests: ...to this.  Update test file name.
27243         * modules/chdir-long (Depends-on): Update clients.
27244         * modules/chdir-safer (Depends-on): Likewise.
27245         * modules/fcntl-safer (Depends-on): Likewise.
27246         * modules/fts (Depends-on): Likewise.
27247         * modules/mkancesdirs (Depends-on): Likewise.
27248         * modules/mkdir-p (Depends-on): Likewise.
27249         * modules/open (Depends-on): Likewise.
27250         * modules/savewd (Depends-on): Likewise.
27251         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
27252         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27253
27254 2009-08-22  Bruno Haible  <bruno@clisp.org>
27255
27256         * modules/binary-io (License): Relicense under LGPL.
27257         * modules/pipe2 (License): Likewise.
27258
27259 2009-08-22  Bruno Haible  <bruno@clisp.org>
27260
27261         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
27262         return value.
27263         * lib/pipe-filter-gi.c (filter_init): Likewise.
27264         Reported by Eric Blake.
27265
27266 2009-08-22  Bruno Haible  <bruno@clisp.org>
27267
27268         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
27269         * modules/pipe (Depends-on): Add pipe2.
27270
27271 2009-08-22  Bruno Haible  <bruno@clisp.org>
27272
27273         Tests for module 'pipe2'.
27274         * modules/pipe2-tests: New file.
27275         * tests/test-pipe2.c: New file.
27276
27277         New module 'pipe2'.
27278         * lib/unistd.in.h (pipe2): New declaration.
27279         * lib/pipe2.c: New file.
27280         * m4/pipe2.m4: New file.
27281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
27282         HAVE_PIPE2.
27283         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
27284         * modules/pipe2: New file.
27285         * doc/glibc-functions/pipe2.texi: Mention the new module.
27286
27287 2009-08-22  Bruno Haible  <bruno@clisp.org>
27288
27289         Reference some new glibc functions.
27290         * doc/glibc-functions/accept4.texi: New file.
27291         * doc/glibc-functions/dup3.texi: New file.
27292         * doc/glibc-functions/mkostemp.texi: New file.
27293         * doc/glibc-functions/pipe2.texi: New file.
27294         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
27295         (Glibc sys/socket.h): Refer to accept4.
27296         (Glibc unistd.h): Refer to dup3, pipe2.
27297         Reported by Eric Blake.
27298
27299 2009-08-22  Jim Meyering  <meyering@redhat.com>
27300             Bruno Haible  <bruno@clisp.org>
27301
27302         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
27303         This makes it so packages using automake-1.11's silent-rules option
27304         can print e.g., a single "GEN    configmake.h" line, rather than
27305         the 30+ statements that perform the job.  If you want to see the
27306         actual commands, you can still run "make V=1".
27307         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
27308         so that make output is abbreviated when those variables are defined
27309         appropriately.
27310         * modules/argz: Likewise.
27311         * modules/arpa_inet: Likewise.
27312         * modules/byteswap: Likewise.
27313         * modules/configmake: Likewise.
27314         * modules/dirent: Likewise.
27315         * modules/errno: Likewise.
27316         * modules/fcntl: Likewise.
27317         * modules/float: Likewise.
27318         * modules/fnmatch: Likewise.
27319         * modules/getopt-posix: Likewise.
27320         * modules/glob: Likewise.
27321         * modules/iconv_open: Likewise.
27322         * modules/inttypes: Likewise.
27323         * modules/localcharset: Likewise.
27324         * modules/locale: Likewise.
27325         * modules/math: Likewise.
27326         * modules/netdb: Likewise.
27327         * modules/netinet_in: Likewise.
27328         * modules/poll: Likewise.
27329         * modules/posix_spawnp-tests: Likewise.
27330         * modules/sched: Likewise.
27331         * modules/search: Likewise.
27332         * modules/selinux-h: Likewise.
27333         * modules/signal: Likewise.
27334         * modules/spawn: Likewise.
27335         * modules/stdarg: Likewise.
27336         * modules/stdbool: Likewise.
27337         * modules/stddef: Likewise.
27338         * modules/stdint: Likewise.
27339         * modules/stdio: Likewise.
27340         * modules/stdlib: Likewise.
27341         * modules/string: Likewise.
27342         * modules/strings: Likewise.
27343         * modules/sys_file: Likewise.
27344         * modules/sys_ioctl: Likewise.
27345         * modules/sys_select: Likewise.
27346         * modules/sys_socket: Likewise.
27347         * modules/sys_stat: Likewise.
27348         * modules/sys_time: Likewise.
27349         * modules/sys_times: Likewise.
27350         * modules/sys_utsname: Likewise.
27351         * modules/sys_wait: Likewise.
27352         * modules/sysexits: Likewise.
27353         * modules/time: Likewise.
27354         * modules/unistd: Likewise.
27355         * modules/wchar: Likewise.
27356         * modules/wctype: Likewise.
27357
27358 2009-08-22  Jim Meyering  <meyering@redhat.com>
27359
27360         announce-gen: detect write failure
27361         * build-aux/announce-gen: Add Coda at end.
27362         Remove equivalent-but-more-verbose block at top.
27363
27364 2009-08-19  Akim Demaille  <demaille@gostai.com>
27365
27366         bootstrap: --help to stdout.
27367         * bootstrap (usage): Don't send --help to stderr.
27368         Use a here doc instead of a long string.
27369
27370 2009-08-21  Eric Blake  <ebb9@byu.net>
27371
27372         test-popen-safer: split from test-popen
27373         * tests/test-popen.c (main): Move...
27374         * tests/test-popen.h: ...into new file.
27375         * tests/test-popen-safer2.c: New file.
27376         * modules/popen-tests (Files): Add test-popen.h.
27377         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
27378         Suggested by Bruno Haible.
27379
27380         test-fcntl-safer: split from test-open
27381         * tests/test-open.c (main): Move...
27382         * tests/test-open.h: ...into new file.
27383         * tests/test-fcntl-safer.c: New file.
27384         * modules/open-tests (Files): Add test-open.h.
27385         * modules/fcntl-safer-tests: New file.
27386         Suggested by Bruno Haible.
27387
27388         test-fopen-safer: split from test-fopen
27389         * tests/test-fopen.c (main): Move...
27390         * tests/test-fopen.h: ...into new file.
27391         * tests/test-fopen-safer.c: New file.
27392         * modules/fopen-tests (Files): Add test-fopen.h.
27393         * modules/fopen-safer-tests: New file.
27394         Suggested by Bruno Haible.
27395
27396 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27397
27398         popen-safer: test O_CLOEXEC at run-time.
27399         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
27400
27401 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
27402
27403         fcntl: move more flags to the header
27404         * lib/cloexec.c: Do not define FD_CLOEXEC here.
27405         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
27406         * lib/fcntl.in.h: Do both things here.
27407
27408 2009-08-21  Jim Meyering  <meyering@redhat.com>
27409
27410         consistently remove $@-t before redirecting to it
27411         * modules/argz: Remove $@-t and $@ before redirecting to the former.
27412         * modules/alloca-opt: Likewise.
27413         * modules/byteswap: Likewise.
27414         * modules/fnmatch: Likewise.
27415         * modules/getopt-posix: Likewise.
27416         * modules/glob: Likewise.
27417         * modules/poll: Likewise.
27418         * modules/posix_spawnp-tests: Likewise.
27419         * modules/sys_socket: Likewise.
27420         * modules/sysexits: Likewise.
27421
27422 2009-08-21  Eric Blake  <ebb9@byu.net>
27423
27424         popen: simplify access to original popen
27425         * lib/popen.c (rpl_popen): No need to worry about popen being a
27426         macro.
27427         Reported by Bruno Haible.
27428
27429 2009-08-20  Eric Blake  <ebb9@byu.net>
27430
27431         build: avoid some compiler warnings
27432         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
27433         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
27434         type.
27435         (new_exclude_segment, excluded_file_pattern_p)
27436         (excluded_file_name_p): Reduce scope.
27437         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
27438         old-style declaration.
27439
27440 2009-08-20  Simon Josefsson  <simon@josefsson.org>
27441
27442         * tests/test-exclude1.sh: Handle Windows EOL.
27443         * tests/test-exclude2.sh: Likewise.
27444         * tests/test-exclude3.sh: Likewise.
27445         * tests/test-exclude4.sh: Likewise.
27446         * tests/test-exclude5.sh: Likewise.
27447         * tests/test-exclude6.sh: Likewise.
27448         * tests/test-exclude7.sh: Likewise.
27449
27450 2009-08-19  Akim Demaille  <demaille@gostai.com>
27451
27452         bootstrap: find sha1sum when named gsha1sum.
27453         * bootstrap (find_tool): New.
27454         ($SHA1SUM): New.
27455         Use it.
27456
27457 2009-08-20  Jim Meyering  <meyering@redhat.com>
27458
27459         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
27460         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
27461         expression that converts "." in a file name to "\." in the resulting
27462         regexp.  Start with a dummy statement, so that prior shell variable
27463         definitions are expanded portably.  Reported by Simon Josefsson.
27464
27465 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
27466
27467         Fix polling for writeability of a screen buffer.
27468         * lib/poll.c: Distinguish input and screen buffers for the
27469         Win32 implementation.
27470         * lib/select.c: Likewise.
27471
27472 2009-08-19  Eric Blake  <ebb9@byu.net>
27473
27474         popen-safer: prevent popen from clobbering std descriptors
27475         * modules/popen-safer: New file.
27476         * lib/popen-safer.c: Likewise.
27477         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
27478         * lib/stdio--.h (popen): Provide override.
27479         * lib/stdio-safer.h (popen_safer): Provide declaration.
27480         * tests/test-popen.c (includes): Partially test this.
27481         * modules/popen-safer-tests: New file, for more tests.
27482         * tests/test-popen-safer.c: Likewise.
27483         * MODULES.html.sh (file stream based Input/Output): Mention it.
27484
27485         tests: test some of the *-safer modules
27486         * modules/fopen-safer (Depends-on): Add fopen.
27487         * modules/fcntl-safer (Depends-on): Add fcntl.
27488         * modules/stdlib-safer (Depends-on): Add stdlib.
27489         (configure.ac): Set indicator.
27490         * modules/unistd-safer (configure.ac): Likewise.
27491         * modules/tmpfile-safer (configure.ac): Likewise.
27492         (Depends-on): Add tmpfile.
27493         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
27494         active.
27495         * tests/test-fopen.c (includes): Test safer versions when they are
27496         in use.
27497         * tests/test-open.c (includes): Likewise.
27498
27499         popen: fix cygwin 1.5 bug when stdin closed
27500         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
27501         * modules/popen: New file.
27502         * modules/popen-tests: Likewise.
27503         * tests/test-popen.c: Likewise.
27504         * m4/popen.m4: Likewise.
27505         * lib/popen.c: Likewise.
27506         * lib/stdio.in.h (popen): New declaration.
27507         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
27508         * modules/stdio (Makefile.am): Likewise.
27509         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
27510
27511 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
27512
27513         maint.mk: give full control over update-copyright exclusions
27514         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
27515         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
27516         (update-copyright): Don't force inclusion of top-level
27517         ChangeLog.  Don't force exclusion of all COPYING files, but make
27518         them the default exclusion instead.
27519
27520 2009-08-16  Bruno Haible  <bruno@clisp.org>
27521
27522         Fix test failures on Solaris 10.
27523         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
27524         tests when Solaris iconv() is used.
27525         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
27526         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
27527         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
27528         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
27529         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
27530
27531 2009-08-16  Bruno Haible  <bruno@clisp.org>
27532
27533         Fix test failures on Solaris 10.
27534         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
27535         'tr' program and pass it as first argument.
27536         * tests/test-pipe-filter-gi1.sh: Likewise.
27537         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
27538         program as first argument.
27539         * tests/test-pipe-filter-gi1.c (main): Likewise.
27540
27541 2009-08-16  Eric Blake  <ebb9@byu.net>
27542
27543         fpurge: fix previous commits
27544         * modules/fpurge (Makefile.am): Make replacement conditional,
27545         partially reverting 2007-04-29 change; missed in previous
27546         attempt.
27547         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
27548         is missing.
27549
27550 2009-08-16  Bruno Haible  <bruno@clisp.org>
27551
27552         Clarify fpurge's effect on the file position.
27553         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
27554         * tests/test-fpurge.c (main): Make a second pass for checking the file
27555         position.
27556
27557 2009-08-16  Bruno Haible  <bruno@clisp.org>
27558
27559         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
27560         declaration of fpurge is missing.
27561         * tests/test-fpurge.c (main): Check that the file has not more contents
27562         than expected. Close the file before removing it.
27563
27564 2009-08-15  Eric Blake  <ebb9@byu.net>
27565
27566         fpurge: don't wrap working cygwin implementation
27567         * lib/fpurge.c (fpurge): Fix comment typo.
27568         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
27569         1.7 to avoid replacement.
27570         * tests/test-fpurge.c (main): Enhance test.
27571
27572 2009-08-15  Eric Blake  <ebb9@byu.net>
27573         and Jim Meyering  <meyering@redhat.com>
27574
27575         test-update-copyright: skip if perl is insufficient
27576         * tests/test-update-copyright.sh: Failure to run maintainer tool
27577         should not cause testsuite failure on cygwin 1.5.
27578
27579 2009-08-14  Eric Blake  <ebb9@byu.net>
27580
27581         doc: mention more functions added in cygwin 1.7.0
27582         * doc/posix-headers/limits.texi (limits.h): Update for recent
27583         cygwin additions.
27584         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
27585         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
27586         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
27587         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
27588         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
27589
27590 2009-08-14  Eric Blake  <ebb9@byu.net>
27591
27592         maint.mk: simplify update-copyright rule
27593         * top/maint.mk (update-copyright-local): Delete, and document how
27594         to do it in cfg.mk instead.
27595         (update-copyright-exclude-regexp): Delete, and document how to do
27596         it in .x-update-copyright instead.
27597         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
27598         exclude ChangeLog.
27599
27600 2009-08-14  Bruno Haible  <bruno@clisp.org>
27601
27602         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
27603
27604 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27605
27606         maint.mk: support update-copyright-env
27607         * top/maint.mk (update-copyright-env): Define place-holder.
27608         (update-copyright): Expand $(update-copyright-env) before
27609         invoking update-copyright.
27610
27611 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27612
27613         update-copyright: implement forced reformatting
27614         * build-aux/update-copyright: Implement and document
27615         UPDATE_COPYRIGHT_FORCE.
27616         * tests/test-update-copyright.sh: Test it.
27617
27618 2009-08-14  Eric Blake  <ebb9@byu.net>
27619         and Bruno Haible  <bruno@clisp.org>
27620
27621         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
27622         * tests/test-locale.c: Revert previous patch related to NULL.
27623         * tests/test-stdio.c: Likewise.
27624         * tests/test-stdlib.c: Likewise.
27625         * tests/test-string.c: Likewise.
27626         * tests/test-unistd.c: Likewise.
27627         * modules/time-tests (Depends-on): Add verify.
27628         * modules/wchar-tests (Depends-on): Likewise.
27629         * tests/test-time.c: Test for NULL compliance.
27630         * tests/test-wchar.c: Likewise.
27631         * modules/locale (Depends-on): Add stddef.
27632         * modules/stdio (Depends-on): Likewise.
27633         * modules/stdlib (Depends-on): Likewise.
27634         * modules/string (Depends-on): Likewise.
27635         * modules/time (Depends-on): Likewise.
27636         * modules/unistd (Depends-on): Likewise.
27637         * modules/wchar (Depends-on): Likewise.
27638         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
27639         * lib/stdlib.in.h (includes): Likewise.
27640         * lib/string.in.h (includes): Likewise.
27641         * lib/time.in.h (includes): Likewise.
27642         * lib/unistd.in.h (includes): Likewise.
27643         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
27644         replaced.
27645         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27646         * m4/stddef_h.m4: New file.
27647         * modules/stddef: Likewise.
27648         * lib/stddef.in.h: Likewise.
27649         * modules/stddef-tests: Likewise.
27650         * tests/test-stddef.c: Likewise.
27651         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
27652         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
27653         * doc/posix-headers/locale.texi (locale.h): Likewise.
27654         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
27655         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27656         * doc/posix-headers/string.texi (string.h): Likewise.
27657         * doc/posix-headers/time.texi (time.h): Likewise.
27658         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
27659         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
27660
27661 2009-08-14  Eric Blake  <ebb9@byu.net>
27662
27663         doc: improve git diff of texinfo files
27664         * .gitattributes: Add rule for *.texi files, with hint on how to
27665         use it.
27666         Copied from m4, and based on a report by Bruno Haible.
27667
27668 2009-08-14  Bruno Haible  <bruno@clisp.org>
27669
27670         Disable multithread support by default on Cygwin 1.5.x for real.
27671         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
27672
27673 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27674
27675         update-copyright: much ado about intervals
27676         * build-aux/update-copyright: Implement and document
27677         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
27678         of copyright year intervals.
27679         Also, document UPDATE_COPYRIGHT_YEAR.
27680         * tests/test-update-copyright.sh: Test it.
27681
27682         update-copyright: convert 2-digit to 4-digit years
27683         * build-aux/update-copyright: Implement and document.
27684         * tests/test-update-copyright.sh: Update.
27685
27686 2009-08-14  Jim Meyering  <meyering@redhat.com>
27687
27688         test-exclude: avoid coreutils "make check" failure
27689         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
27690         just as in test-argmatch.c.
27691
27692 2009-08-13  Eric Blake  <ebb9@byu.net>
27693
27694         test-dup2: fix bad assumption
27695         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
27696         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
27697
27698         test-version-etc: fix CRLF portability issue
27699         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
27700         recognize \r.
27701         * tests/test-argp-version-etc-1.sh: Likewise.
27702
27703         getopt: update client modules
27704         * modules/argp (Depends-on): Use getopt-gnu.
27705         * modules/git-merge-changelog (Depends-on): Likewise.
27706         * modules/long-options (Depends-on): Likewise.
27707         * modules/xstrtol (Depends-on): Likewise.
27708
27709 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27710
27711         * tests/test-version-etc.sh: Don't fail on different
27712         project/version.  Don't fail on CRLF differences.  Rewrite to use
27713         multiple -e instead of multiple sed forks, suggested by Eric Blake
27714         <ebb9@byu.net>.
27715         * tests/test-argp-version-etc-1.sh: Likewise.
27716
27717 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27718
27719         * tests/test-version-etc.sh: Don't fail on different
27720         project/version.
27721
27722 2009-08-12  Bruno Haible  <bruno@clisp.org>
27723
27724         Tests for modules 'getopt-posix', 'getopt-gnu'.
27725         * modules/getopt-posix-tests: New file.
27726         * tests/test-getopt.c: New file.
27727         * tests/test-getopt.h: New file.
27728         * tests/test-getopt_long.h: New file.
27729
27730         New modules 'getopt-posix', 'getopt-gnu'.
27731         * modules/getopt-gnu: New file, renamed from modules/getopt.
27732         * modules/getopt-posix: New file.
27733         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
27734         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
27735         (gl_GETOPT): Remove macro.
27736         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
27737         Disable the test against BSD systems that declare optreset. Test
27738         against mingw bug. Test against lack of support of optional arguments
27739         on many platforms.
27740         * doc/glibc-headers/getopt.texi: Update module name and list of
27741         relevant platforms.
27742         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
27743         'getopt-gnu' and more portability problems.
27744         * NEWS: Mention the changes.
27745
27746 2009-08-12  Bruno Haible  <bruno@clisp.org>
27747
27748         Ensure that optarg etc. get declared by <unistd.h>.
27749         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
27750         AC_USE_SYSTEM_EXTENSIONS.
27751         * modules/getopt (Depends-on): Add 'extensions'.
27752
27753 2009-08-12  Bruno Haible  <bruno@clisp.org>
27754
27755         Avoid test link errors.
27756         * modules/pipe-filter-ii-tests (Makefile.am): Define
27757         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
27758         * modules/pipe-filter-gi-tests (Makefile.am): Define
27759         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
27760         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27761
27762 2009-08-12  Bruno Haible  <bruno@clisp.org>
27763
27764         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
27765         gl_GETOPT_SUBSTITUTE before.
27766         (gl_GETOPT): Use it.
27767         * m4/argp.m4 (gl_ARGP): Update.
27768         Reported by Sergey Poznyakoff.
27769
27770         * m4/getopt.m4: Reorder macros.
27771         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
27772         (gl_GETOPT_SUBSTITUTE): Remove macro.
27773
27774 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27775
27776         Minor improvement in gitlog-to-changelog
27777
27778         * build-aux/gitlog-to-changelog: New option `--format' makes
27779         output format string configurable.
27780
27781 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27782
27783         Optimize exclude: use hash tables for non-wildcard patterns.
27784
27785         * lib/exclude.c: Include hash.h and mbuiter.h
27786         (struct exclude_pattern, exclude_segment): New data types.
27787         (struct exclude): Rewrite.
27788         (fnmatch_pattern_has_wildcards): New function.
27789         (new_exclude_segment, free_exclude_segment): New functions.
27790         (excluded_file_pattern_p, excluded_file_name_p): New functions.
27791         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
27792         * lib/exclude.h (is_fnmatch_pattern): New prototype.
27793         * modules/exclude: Depend on hash and mbuiter.
27794
27795         * modules/exclude-tests: New file.
27796         * tests/test-exclude.c: New file.
27797         * tests/test-exclude1.sh: New file.
27798         * tests/test-exclude2.sh: New file.
27799         * tests/test-exclude3.sh: New file.
27800         * tests/test-exclude4.sh: New file.
27801         * tests/test-exclude5.sh: New file.
27802         * tests/test-exclude6.sh: New file.
27803         * tests/test-exclude7.sh: New file.
27804
27805 2009-08-12  Bruno Haible  <bruno@clisp.org>
27806
27807         Ensure that getopt() gets declared by <unistd.h>.
27808         * lib/unistd.in.h: Conditionally include getopt.h.
27809         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
27810         Set GNULIB_UNISTD_H_GETOPT.
27811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27812         GNULIB_UNISTD_H_GETOPT.
27813         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
27814
27815 2009-08-12  Bruno Haible  <bruno@clisp.org>
27816
27817         Clarify logic.
27818         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
27819         gl_replace_getopt instead of GETOPT_H.
27820
27821 2009-08-12  Bruno Haible  <bruno@clisp.org>
27822
27823         * m4/getopt.m4: Add comments.
27824
27825 2009-08-12  Bruno Haible  <bruno@clisp.org>
27826
27827         Disable multithread support by default on Cygwin 1.5.x.
27828         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
27829         set gl_use_threads=no if not specified otherwise.
27830
27831 2009-08-11  Bruno Haible  <bruno@clisp.org>
27832
27833         Avoid compilation error on NetBSD 5.0.
27834         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
27835         * tests/test-stdio.c: Likewise.
27836         * tests/test-stdlib.c: Likewise.
27837         * tests/test-string.c: Likewise.
27838         * tests/test-unistd.c: Likewise.
27839         Reported by Greg Troxel <gdt@ir.bbn.com>
27840         at <https://savannah.gnu.org/support/?106973>.
27841
27842 2009-08-11  Bruno Haible  <bruno@clisp.org>
27843
27844         * modules/dup2-tests (Depends-on): Remove close.
27845
27846         Undo 2009-07-19 commit.
27847         * modules/acl-tests (Depends-on): Remove close.
27848         * modules/binary-io-tests (Depends-on): Likewise.
27849         * modules/closein-tests (Depends-on): Likewise.
27850         * modules/flock-tests (Depends-on): Likewise.
27851         * modules/fsync-tests (Depends-on): Likewise.
27852         * modules/lseek-tests (Depends-on): Likewise.
27853         * modules/pipe-tests (Depends-on): Likewise.
27854         * modules/posix_spawn-tests (Depends-on): Likewise.
27855         * modules/posix_spawnp-tests (Depends-on): Likewise.
27856         * modules/stat-time-tests (Depends-on): Likewise.
27857         * modules/yesno-tests (Depends-on): Likewise.
27858
27859 2009-08-10  Bruno Haible  <bruno@clisp.org>
27860
27861         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
27862
27863 2009-08-10  Bruno Haible  <bruno@clisp.org>
27864
27865         Fix a gcc warning.
27866         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
27867
27868 2009-08-10  Bruno Haible  <bruno@clisp.org>
27869
27870         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
27871         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
27872         not only the first time.
27873         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
27874         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
27875         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
27876         is 1, not only the the first time.
27877
27878 2009-08-10  Bruno Haible  <bruno@clisp.org>
27879
27880         Make it possible to use module 'gethostname' without module 'close'.
27881         * lib/unistd.in.h (close): Evoke a link error only if
27882         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27883         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27884         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27885         * modules/unistd (Makefile.am): Substitute
27886         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27887         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
27888         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27889         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27890         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27891         * modules/sys_ioctl (Makefile.am): Substitute
27892         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27893         * modules/socket (configure.ac): On native Windows, set
27894         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
27895         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27896         Reported by Sam Steingold <sds@gnu.org>.
27897
27898 2009-08-10  Bruno Haible  <bruno@clisp.org>
27899
27900         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
27901         * modules/ioctl (configure.ac): Likewise.
27902
27903 2009-08-10  Bruno Haible  <bruno@clisp.org>
27904
27905         Avoid collision between gnulib wrapper and libintl wrapper.
27906         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
27907         already defined in intl/printf.c.
27908         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
27909         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
27910
27911 2009-08-09  Bruno Haible  <bruno@clisp.org>
27912
27913         Make <sys/select.h> really self-contained, also on Solaris 10.
27914         * lib/sys_select.in.h: Include <string.h>.
27915         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
27916         Solaris 10 problem.
27917         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
27918         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
27919         Reported by Jim Meyering.
27920
27921 2009-08-09  Bruno Haible  <bruno@clisp.org>
27922
27923         Avoid warnings from 'aclocal' that are due to a use of macro name
27924         AM_XGETTEXT_OPTION that is not defined in automake.
27925         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
27926         automake.
27927         * modules/error (configure.ac): Likewise.
27928         * modules/propername (configure.ac): Likewise.
27929         * modules/vasprintf (configure.ac): Likewise.
27930         * modules/verror (configure.ac): Likewise.
27931         * modules/xprintf (configure.ac): Likewise.
27932         * modules/xvasprintf (configure.ac): Likewise.
27933
27934 2009-08-08  Bruno Haible  <bruno@clisp.org>
27935
27936         Avoid compilation error in C++ mode.
27937         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
27938         Reported by Sam Steingold <sds@gnu.org>.
27939
27940 2009-08-08  Bruno Haible  <bruno@clisp.org>
27941
27942         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
27943         for the various Unix platforms.
27944         * doc/posix-headers/limits.texi: Update platforms list regarding
27945         HOST_NAME_MAX.
27946         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27947
27948 2009-08-07  Jim Meyering  <meyering@redhat.com>
27949
27950         selinux-at: fix typo in a comment
27951         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
27952         Spotted by Paolo Bonzini.
27953
27954         selinux-at: remove redundant m4 code, add documentation
27955         * modules/selinux-at (configure.ac): Remove redundant code.
27956         LIB_SELINUX is already set via the dependent module, selinux-h.
27957         (Include): Add quotes around selinux-at.h.
27958         * lib/selinux-at.h: Add documentation.
27959         Reported by Bruno Haible in
27960         http://marc.info/?l=gnulib-bug&m=124958988300749
27961
27962 2009-08-07  Bruno Haible  <bruno@clisp.org>
27963
27964         Avoid link error on MacOS X 10.3 and 10.4.
27965         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
27966         on non-ELF systems.
27967         * lib/argp-pv.c (argp_program_version): Likewise.
27968         Reported by Simon Josefsson.
27969
27970 2009-08-07  Simon Josefsson  <simon@josefsson.org>
27971
27972         * tests/test-version-etc.sh: Use $EXEEXT.
27973
27974 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
27975
27976         update-copyright: update documentation to point to maint.mk
27977         * build-aux/update-copyright: Here.
27978
27979 2009-08-06  Jim Meyering  <meyering@redhat.com>
27980
27981         maint.mk: support update-copyright-local
27982         * top/maint.mk (update-copyright-local): Define place-holder.
27983         (update-copyright): Depend on $(update-copyright-local).
27984
27985 2009-08-06  Jim Meyering  <meyering@redhat.com>
27986
27987         selinux-at: new module
27988         Initially written for coreutils, this module will soon be
27989         used by findutils, too.
27990         * MODULES.html.sh [Misc]: Add selinux-at.
27991         * lib/selinux-at.h: New file, from coreutils.
27992         * lib/selinux-at.c: Likewise.
27993         * modules/selinux-at: Likewise.
27994         (License): Change from LGPL to GPL, since it depends
27995         on the GPL'd openat module.
27996
27997         doc: update README
27998         * README: Remove references to cogito.
27999         Remove cvs-repo-updating instructions from 2007.
28000         Don't imply that CVS is better if you have limited disk space.
28001
28002 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28003
28004         update-copyright: support C-style comments
28005         * build-aux/update-copyright: Implement and document.
28006         * tests/test-update-copyright.sh: Test.
28007
28008 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28009
28010         update-copyright: support omitted "(C)"
28011         * build-aux/update-copyright: Implement and document.  Also,
28012         allow variable whitespace before "(C)".
28013         * tests/test-update-copyright.sh: Test.
28014
28015 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28016
28017         update-copyright: don't trip on non-FSF copyright statements
28018         * build-aux/update-copyright: Fix so that the first correctly
28019         formatted FSF copyright statement is recognized no matter what
28020         appears before it.  Update documentation.
28021         * tests/test-update-copyright.sh: Test that.
28022
28023 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28024
28025         update-copyright: clean up code a little
28026         * build-aux/update-copyright: Append "_re" to the name of any
28027         variable holding a regular expression.
28028         Replace "old" and "new" with "stmt" in variable names.
28029         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
28030         handled correctly.
28031         Format code more consistently.
28032
28033 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
28034
28035         update-copyright-tests: improve portability
28036         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
28037         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
28038
28039 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28040
28041         update-copyright: support @copyright{} and &copy;
28042         * build-aux/update-copyright: Implement and document.
28043         * tests/test-update-copyright.sh: Test.
28044
28045 2009-08-04  Jim Meyering  <meyering@redhat.com>
28046
28047         update-copyright-tests: correctly test EOL=\r\n handling
28048         * tests/test-update-copyright.sh: Put \r at the end of some lines
28049         for the dos-eol tests.  Based on a patch by Joel E. Denny.
28050
28051         maint.mk: make update-copyright exclusion list more configurable
28052         * top/maint.mk (update-copyright): Default to excluding COPYING,
28053         but allow an override, in case someone does want to update that file.
28054
28055         maint.mk: don't update copyright date in COPYING
28056         * top/maint.mk (update-copyright): Exclude COPYING.
28057
28058         maint.mk: add a copyright-updating rule
28059         * top/maint.mk (update-copyright): New rule.
28060         Derived from coreutils/Makefile.am.
28061
28062         update-copyright: rename some variables
28063         * build-aux/update-copyright: Rename a few variables for clarity.
28064         Tweak syntax.  List Joel E. Denny as coauthor.
28065
28066 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
28067
28068         update-copyright: fix bug for 2-digit last year and add tests
28069         * build-aux/update-copyright: Fix bug.
28070         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
28071         specified.
28072         * modules/update-copyright-tests: New
28073         * tests/test-update-copyright.sh: New.
28074
28075 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28076
28077         update-copyright: handle leading tabs in line prefix
28078         * build-aux/update-copyright: Count leading tabs as 8 spaces
28079         when computing margin.  This helps with the formatting of
28080         ChangeLogs, for example.
28081         Fix documentation a little.
28082
28083 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28084
28085         update-copyright: support EOL=\r\n
28086         * build-aux/update-copyright: Implement that.
28087
28088 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
28089
28090         update-copyright: automatically format copyright statements
28091         * build-aux/update-copyright: Implement that.
28092         Also, be a little more predictable and safer by always failing
28093         when the full copyright format is not perfectly recognized as an
28094         unbroken whole.  Discussed at
28095         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
28096         Rewrite documentation.
28097
28098 2009-08-03  Bruno Haible  <bruno@clisp.org>
28099
28100         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
28101
28102 2009-08-02  Bruno Haible  <bruno@clisp.org>
28103
28104         Tests for module 'uname'.
28105         * modules/uname-tests: New file.
28106         * tests/test-uname.c: New file.
28107
28108         New module 'uname'.
28109         * lib/uname.c: New file.
28110         * m4/uname.m4: New file.
28111         * modules/uname: New file.
28112         * doc/posix-functions/uname.texi: Mention the new module.
28113
28114 2009-08-02  Bruno Haible  <bruno@clisp.org>
28115
28116         Tests for module 'sys_utsname'.
28117         * modules/sys_utsname-tests: New file.
28118         * tests/test-sys_utsname.c: New file.
28119
28120         New module 'sys_utsname'.
28121         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
28122         * m4/sys_utsname_h.m4: New file.
28123         * modules/sys_utsname: New file.
28124         * doc/posix-headers/sys_utsname.texi: Mention the new module.
28125
28126 2009-08-02  Bruno Haible  <bruno@clisp.org>
28127
28128         Implicitly initialize the sockets library.
28129         * lib/gethostname.c: Include sockets.h.
28130         (rpl_gethostname): Invoke gl_sockets_startup.
28131         * lib/socket.c: Include sockets.h.
28132         (rpl_socket): Invoke gl_sockets_startup.
28133         * modules/gethostname (Depends-on): Add sockets.
28134         * modules/socket (Depends-on): Likewise.
28135         * tests/test-poll.c: Don't include sockets.h.
28136         (main): Don't invoke gl_sockets_startup.
28137         * tests/test-select.c: Don't include sockets.h.
28138         (main): Don't invoke gl_sockets_startup.
28139
28140 2009-08-02  Bruno Haible  <bruno@clisp.org>
28141
28142         Allow multiple calls to gl_sockets_startup.
28143         * lib/sockets.c (initialized_sockets_version): New variable.
28144         (gl_sockets_startup): Do nothing if already called for this or a higher
28145         version.
28146         (gl_sockets_cleanup): Reset initialized_sockets_version.
28147
28148 2009-08-03  Simon Josefsson  <simon@josefsson.org>
28149
28150         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
28151         different project/version.
28152
28153 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
28154             Bruno Haible  <bruno@clisp.org>
28155
28156         Tests for module 'pipe-filter-gi'.
28157         * modules/pipe-filter-gi-tests: New file.
28158         * tests/test-pipe-filter-gi1.sh: New file.
28159         * tests/test-pipe-filter-gi1.c: New file.
28160         * tests/test-pipe-filter-gi2.sh: New file.
28161         * tests/test-pipe-filter-gi2-main.c: New file.
28162         * tests/test-pipe-filter-gi2-child.c: New file.
28163
28164         New module 'pipe-filter-gi'.
28165         * lib/pipe-filter-gi.c: New file.
28166         * modules/pipe-filter-gi: New file.
28167
28168 2009-08-02  Bruno Haible  <bruno@clisp.org>
28169             Paolo Bonzini  <bonzini@gnu.org>
28170
28171         Tests for module 'pipe-filter-ii'.
28172         * modules/pipe-filter-ii-tests: New file.
28173         * tests/test-pipe-filter-ii1.sh: New file.
28174         * tests/test-pipe-filter-ii1.c: New file.
28175         * tests/test-pipe-filter-ii2.sh: New file.
28176         * tests/test-pipe-filter-ii2-main.c: New file.
28177         * tests/test-pipe-filter-ii2-child.c: New file.
28178
28179         New module 'pipe-filter-ii'.
28180         * lib/pipe-filter.h: New file.
28181         * lib/pipe-filter-ii.c: New file.
28182         * lib/pipe-filter-aux.h: New file.
28183         * modules/pipe-filter-ii: New file.
28184
28185 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28186
28187         * lib/gc-libgcrypt.c: Change copyright to FSF.
28188         * lib/gc-gnulib.c: Likewise.
28189
28190 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
28191
28192         * lib/gethostname.c: Include limits.h.
28193
28194 2009-08-02  Simon Josefsson  <simon@josefsson.org>
28195             Bruno Haible  <bruno@clisp.org>
28196
28197         Ensure HOST_NAME_MAX as part of the gethostname module.
28198         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
28199         define also HOST_NAME_MAX.
28200         * tests/test-gethostname.c: Include <limits.h>.
28201         (main): Check also HOST_NAME_MAX.
28202         * doc/posix-headers/limits.texi: Document the mingw problem.
28203
28204 2009-08-02  Bruno Haible  <bruno@clisp.org>
28205
28206         * lib/gethostname.c (gethostname): Fix handling of large len argument.
28207         Add comments.
28208
28209 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28210
28211         * lib/gethostname.c: Add Windows wrapper.
28212         * m4/gethostname.m4: Look for gethostname in -lws2_32.
28213         * modules/gethostname: Depend on sys_socket & errno, for also
28214         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
28215         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
28216
28217 2009-07-31  Jim Meyering  <meyering@redhat.com>
28218
28219         getloadavg: fix symbol name in comment
28220         * lib/getloadavg.c: Correct a typo I introduced when adding
28221         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
28222         Matt Kraai spotted the problem.
28223
28224 2009-07-29  Matt Kraai  <mkraai@beckman.com>
28225
28226         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
28227         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
28228         code also if ! defined N_NAME_POINTER.
28229         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
28230         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
28231         but the n_name member is a 12-byte array.
28232
28233 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
28234
28235         update-copyright: generalize comment handling
28236         * build-aux/update-copyright: Handle copyright statements
28237         within more comment styles.
28238         Document usage.
28239         Report any file with an external copyright holder or parse failure.
28240
28241 2009-07-29  Jim Meyering  <meyering@redhat.com>
28242
28243         mktime: correct setting of REPLACE_MKTIME
28244         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
28245
28246         update-copyright: new module
28247         * modules/update-copyright: New file.
28248         * build-aux/update-copyright: New file.
28249         * MODULES.html.sh (maint+release support): Add update-copyright.
28250
28251 2009-07-27  Bruno Haible  <bruno@clisp.org>
28252
28253         Fix compilation error when <ctime> is used and mktime is replaced.
28254         * lib/time.in.h (mktime): New declaration.
28255         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
28256         REPLACE_MKTIME instead of defining mktime in config.h.
28257         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
28258         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
28259         Reported by Ross McFarland <rwmcfa1@neces.com>.
28260
28261 2009-07-27  Bruno Haible  <bruno@clisp.org>
28262
28263         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
28264         Reported by Matt Kraai <mkraai@beckman.com>.
28265
28266 2009-07-25  Jim Meyering  <meyering@redhat.com>
28267
28268         maint.mk: avoid warnings about missing files
28269         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
28270         diagnostic when .prev-version does not exist.
28271         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
28272         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
28273         nonexistent cfg.mk.
28274         Suggestions from Simon Josefsson.
28275
28276 2009-07-25  Bruno Haible  <bruno@clisp.org>
28277
28278         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
28279         defined as macros. Needed on QNX 6.4.1.
28280         Reported by Matt Kraai <mkraai@beckman.com>.
28281
28282 2009-07-23  Jim Meyering  <meyering@redhat.com>
28283
28284         maint.mk: invoke "make dist" with a working value of XZ_OPT
28285         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
28286
28287 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
28288
28289         Make fseeko.c compile on QNX.
28290         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
28291
28292 2009-07-22  Peter Simons  <simons@cryp.to>
28293
28294         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
28295         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
28296         * lib/md4.h: Likewise.
28297         * lib/md5.h: Likewise.
28298         * lib/sha1.h: Likewise.
28299         * lib/sha256.h: Likewise.
28300         * lib/sha512.h: Likewise.
28301
28302         tests-sha1: don't assign literal string to 'char *' variable
28303         * tests/test-sha1.c (main): Declare locals with "const" to match
28304         attributes of the right hand side.
28305
28306 2009-07-21  Eric Blake  <ebb9@byu.net>
28307
28308         dup2: fix more mingw problems
28309         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
28310         fd to itself.
28311         * doc/posix-functions/dup2.texi (dup2): Document the bug.
28312         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
28313         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
28314         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
28315         care of mingw bugs.
28316
28317 2009-07-21  Jim Meyering  <meyering@redhat.com>
28318
28319         vc-list-files: avoid failure when /bin/sh is dash
28320         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
28321         On some Debian based systems, /bin/sh is a symlink to dash, and running
28322         this command would omit the "/" following each 'tests' prefix:
28323           dash -x build-aux/vc-list-files -C . tests
28324         That is because bash and dash work differently:
28325           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
28326           bash ok
28327           dash odd
28328
28329 2009-07-21  Eric Blake  <ebb9@byu.net>
28330
28331         dup2-tests: test previous patch
28332         * modules/dup2-tests: New file.
28333         * tests/test-dup2.c: Likewise.
28334         * tests/test-open.c (main): Avoid unspecified behavior.
28335         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
28336         test.
28337
28338         dup2: work around mingw and cygwin 1.5 bug
28339         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
28340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28341         * modules/unistd (Makefile.am): Substitute it.
28342         * lib/unistd.in.h (dup2): Declare the replacement.
28343         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
28344         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
28345         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
28346         * modules/execute (Depends-on): Add dup2.
28347         * modules/fseterr (Depends-on): Likewise.
28348         * modules/pipe (Depends-on): Likewise.
28349         * modules/posix_spawn-internal (Depends-on): Likewise.
28350
28351 2009-07-21  Bruno Haible  <bruno@clisp.org>
28352
28353         * modules/.gitattributes: New file.
28354
28355 2009-07-20  Bruno Haible  <bruno@clisp.org>
28356
28357         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
28358         (main): Use it.
28359
28360 2009-07-20  Eric Blake  <ebb9@byu.net>
28361
28362         test-pipe: make a bit more robust.
28363         * tests/test-pipe.c (myerr): Allow error messages regardless of
28364         what we do to stderr.
28365         (test_pipe): Rearrange to avoid deadlock.
28366         (child_main): Try a larger read, to ensure we avoided deadlock.
28367         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
28368         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
28369         if misused.
28370
28371 2009-07-19  Jim Meyering  <meyering@redhat.com>
28372
28373         fts: avoid false-positive cycle-detection
28374         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
28375         for each new command line argument.
28376
28377 2009-07-19  Bruno Haible  <bruno@clisp.org>
28378
28379         Fix build error on mingw with the modules sys_select and unistd.
28380         * modules/acl-tests (Depends-on): Add close.
28381         * modules/binary-io-tests (Depends-on): Likewise.
28382         * modules/closein-tests (Depends-on): Likewise.
28383         * modules/flock-tests (Depends-on): Likewise.
28384         * modules/fsync-tests (Depends-on): Likewise.
28385         * modules/lseek-tests (Depends-on): Likewise.
28386         * modules/pipe-tests (Depends-on): Likewise.
28387         * modules/posix_spawn-tests (Depends-on): Likewise.
28388         * modules/posix_spawnp-tests (Depends-on): Likewise.
28389         * modules/stat-time-tests (Depends-on): Likewise.
28390         * modules/yesno-tests (Depends-on): Likewise.
28391
28392 2009-07-19  Bruno Haible  <bruno@clisp.org>
28393
28394         Unify conditionals.
28395         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
28396         macros, not at the compiler macros.
28397         * lib/pipe.c: Likewise.
28398         * lib/execute.c: Likewise.
28399         * lib/spawni.c: Likewise.
28400
28401 2009-07-19  Bruno Haible  <bruno@clisp.org>
28402
28403         Fix handling of closed stdin/stdout/stderr on mingw.
28404         * lib/w32spawn.h: Include unistd.h.
28405         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
28406         file descriptor with O_NOINHERIT flag.
28407         (fd_safer_noinherit): New function, based on fd-safer.c.
28408         (dup_safer_noinherit): New function, based on dup-safer.c.
28409         (undup_safer_noinherit): New function.
28410         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
28411         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
28412         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
28413         instead of fd_safer.
28414         * tests/test-pipe.c: Include <windows.h>.
28415         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
28416         result.
28417
28418         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
28419         from main.
28420         (test_pipe): Pass an extra argument for disambiguation.
28421         (main): Invoke parent_main or child_main.
28422
28423         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
28424         consistently.
28425
28426 2009-07-18  Eric Blake  <ebb9@byu.net>
28427
28428         test-pipe: fix mingw build
28429         * tests/test-pipe.c (main): Avoid fcntl on mingw.
28430
28431 2009-07-18  Bruno Haible  <bruno@clisp.org>
28432
28433         * modules/pipe-tests (Makefile.am): Fix typo.
28434
28435 2009-07-18  Eric Blake  <ebb9@byu.net>
28436
28437         error: fix mingw build
28438         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
28439         Reported by Bruno Haible.
28440
28441         error: avoid undefined use of stdout
28442         * lib/error.c (error, error_at_line): Check that fd 1 is open
28443         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
28444         is handling faults and the close_stdout module wants to report the
28445         detection of closed stdout as an error.
28446
28447 2009-07-17  Eric Blake  <ebb9@byu.net>
28448
28449         pipe: be robust in face of closed fds
28450         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
28451         should cause child to misbehave.
28452         * modules/pipe-tests: New module.
28453         * tests/test-pipe.c: New file.
28454         * tests/test-pipe.sh: New file.
28455         Reported by Akim Demaille.
28456
28457 2009-07-14  Bruno Haible  <bruno@clisp.org>
28458
28459         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
28460         Reported by anonymous kc.
28461
28462 2009-07-07  Jim Meyering  <meyering@redhat.com>
28463
28464         maint.mk: don't look for translatable strings in *.m4 or *.mk
28465         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
28466         when searching for translatable strings.
28467
28468 2009-07-05  Jim Meyering  <meyering@redhat.com>
28469
28470         remove superfluous parentheses in STREQ definition
28471         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
28472         * lib/getugroups.c (STREQ): Likewise.
28473         * lib/fnmatch.c (STREQ): Likewise.
28474         Spotted by Bruno Haible.
28475
28476 2009-07-04  Jim Meyering  <meyering@redhat.com>
28477
28478         argv-iter: new module
28479         * MODULES.html.sh: Add argv-iter.
28480         * lib/argv-iter.c, lib/argv-iter.h: New files.
28481         * modules/argv-iter: New file.
28482         * modules/argv-iter-tests: New file.
28483         * tests/test-argv-iter.c: Test it.
28484
28485 2009-07-04  Bruno Haible  <bruno@clisp.org>
28486
28487         Fix assertion.
28488         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
28489         contains more exact copies of a given entry than file2, leave the extra
28490         copies unpaired rather than aborting.
28491         Reported by Eric Blake.
28492
28493 2009-07-02  Bruno Haible  <bruno@clisp.org>
28494
28495         Speedup git-merge-changelog for git cherry-pick.
28496         * lib/git-merge-changelog.c (struct entries_mapping): New type.
28497         (entries_mapping_get): New function, extracted from compute_mapping.
28498         (entries_mapping_reverse_get): New function.
28499         (compute_mapping): Add a 'full' argument. Return the result in a
28500         'struct entries_mapping'.
28501         (main): Update. Access the mappings through entries_mapping_get.
28502         Reported by Eric Blake.
28503
28504 2009-07-02  Bruno Haible  <bruno@clisp.org>
28505
28506         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
28507         best_i.
28508
28509 2009-07-02  Bruno Haible  <bruno@clisp.org>
28510
28511         Speed up approximate search for matching ChangeLog entries.
28512         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
28513         argument. Call fstrcmp_bounded instead of fstrcmp.
28514         (compute_mapping, try_split_merged_entry, main): Update callers.
28515
28516 2009-07-02  Bruno Haible  <bruno@clisp.org>
28517
28518         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
28519
28520 2009-06-30  Bruno Haible  <bruno@clisp.org>
28521
28522         Reduce the number of uc_is_cased calls.
28523         * lib/unicase.h (casing_suffix_context_t): Add
28524         'first_char_except_ignorable' field.
28525         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
28526         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
28527         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
28528         Update initializer.
28529         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
28530         case-ignorable characters.
28531         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
28532         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
28533         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
28534         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
28535         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
28536
28537 2009-06-30  Bruno Haible  <bruno@clisp.org>
28538
28539         Tests for module 'unicase/ignorable'.
28540         * modules/unicase/ignorable-tests: New file.
28541         * tests/unicase/test-ignorable.c: New file, generated by
28542         gen-uni-tables.
28543
28544         Tests for module 'unicase/cased'.
28545         * modules/unicase/cased-tests: New file.
28546         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
28547         * tests/unicase/test-predicate-part1.h: New file, derived from
28548         tests/unictype/test-predicate-part1.h.
28549         * tests/unicase/test-predicate-part2.h: New file, same as
28550         tests/unictype/test-predicate-part2.h.
28551
28552         Fix evaluation of "Before C" condition of FINAL_SIGMA.
28553         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
28554         (output_casing_properties): New function.
28555         (main): Call it.
28556         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
28557         * lib/unicase/cased.c: Include unictype/bitmap.h.
28558         (uc_is_cased): Define through a bitmap lookup.
28559         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
28560         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
28561         (uc_is_case_ignorable): Define through a bitmap lookup.
28562         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
28563         lib/unictype/bitmap.h.
28564         (Depends-on): Add inline. Clean up.
28565         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
28566         lib/unictype/bitmap.h.
28567         (Depends-on): Add inline. Clean up.
28568         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
28569         recognition.
28570         * tests/unicase/test-u16-tolower.c (main): Likewise.
28571         * tests/unicase/test-u32-tolower.c (main): Likewise.
28572
28573 2009-06-30  Bruno Haible  <bruno@clisp.org>
28574
28575         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
28576         * lib/unicase/u16-casemap.c: Likewise.
28577         * lib/unicase/u32-casemap.c: Likewise.
28578
28579 2009-06-29  Bruno Haible  <bruno@clisp.org>
28580
28581         Define u32_casefold as a wrapper around u32_ct_casefold.
28582         * lib/unicase/u32-casefold.c: Update.
28583         * modules/unicase/u32-casefold (Depends-on): Add
28584         unicase/u32-ct-casefold, unicase/empty-prefix-context,
28585         unicase/empty-suffix-context. Clean up.
28586
28587         Define u16_casefold as a wrapper around u16_ct_casefold.
28588         * lib/unicase/u16-casefold.c: Update.
28589         * modules/unicase/u16-casefold (Depends-on): Add
28590         unicase/u16-ct-casefold, unicase/empty-prefix-context,
28591         unicase/empty-suffix-context. Clean up.
28592
28593         Define u8_casefold as a wrapper around u8_ct_casefold.
28594         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
28595         * lib/unicase/u8-casefold.c: Update.
28596         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
28597         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28598
28599         Define u32_totitle as a wrapper around u32_ct_totitle.
28600         * lib/unicase/u32-totitle.c: Update.
28601         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
28602         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28603
28604         Define u16_totitle as a wrapper around u16_ct_totitle.
28605         * lib/unicase/u16-totitle.c: Update.
28606         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
28607         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28608
28609         Define u8_totitle as a wrapper around u8_ct_totitle.
28610         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
28611         functions.
28612         (FUNC): Delegate to U_CT_TOTITLE.
28613         * lib/unicase/u8-totitle.c: Update.
28614         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
28615         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
28616
28617         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
28618         invocation.
28619         * modules/unicase/u32-tolower (Depends-on): Add
28620         unicase/empty-prefix-context, unicase/empty-suffix-context.
28621
28622         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
28623         invocation.
28624         * modules/unicase/u16-tolower (Depends-on): Add
28625         unicase/empty-prefix-context, unicase/empty-suffix-context.
28626
28627         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
28628         * modules/unicase/u8-tolower (Depends-on): Add
28629         unicase/empty-prefix-context, unicase/empty-suffix-context.
28630
28631         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
28632         invocation.
28633         * modules/unicase/u32-toupper (Depends-on): Add
28634         unicase/empty-prefix-context, unicase/empty-suffix-context.
28635
28636         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
28637         invocation.
28638         * modules/unicase/u16-toupper (Depends-on): Add
28639         unicase/empty-prefix-context, unicase/empty-suffix-context.
28640
28641         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
28642         * modules/unicase/u8-toupper (Depends-on): Add
28643         unicase/empty-prefix-context, unicase/empty-suffix-context.
28644
28645         New module 'unicase/u32-ct-casefold'.
28646         * lib/unicase/u32-ct-casefold.c: New file.
28647         * modules/unicase/u32-ct-casefold: New file.
28648
28649         New module 'unicase/u16-ct-casefold'.
28650         * lib/unicase/u16-ct-casefold.c: New file.
28651         * modules/unicase/u16-ct-casefold: New file.
28652
28653         New module 'unicase/u8-ct-casefold'.
28654         * lib/unicase/u8-ct-casefold.c: New file.
28655         * lib/unicase/u-ct-casefold.h: New file, derived from
28656         lib/unicase/u-casefold.h.
28657         * modules/unicase/u8-ct-casefold: New file.
28658
28659         New module 'unicase/u32-ct-totitle'.
28660         * lib/unicase/u32-ct-totitle.c: New file.
28661         * modules/unicase/u32-ct-totitle: New file.
28662
28663         New module 'unicase/u16-ct-totitle'.
28664         * lib/unicase/u16-ct-totitle.c: New file.
28665         * modules/unicase/u16-ct-totitle: New file.
28666
28667         New module 'unicase/u8-ct-totitle'.
28668         * lib/unicase/u8-ct-totitle.c: New file.
28669         * lib/unicase/u-ct-totitle.h: New file, derived from
28670         lib/unicase/u-totitle.h.
28671         * modules/unicase/u8-ct-totitle: New file.
28672
28673         New module 'unicase/u32-ct-tolower'.
28674         * lib/unicase/u32-ct-tolower.c: New file.
28675         * modules/unicase/u32-ct-tolower: New file.
28676
28677         New module 'unicase/u16-ct-tolower'.
28678         * lib/unicase/u16-ct-tolower.c: New file.
28679         * modules/unicase/u16-ct-tolower: New file.
28680
28681         New module 'unicase/u8-ct-tolower'.
28682         * lib/unicase/u8-ct-tolower.c: New file.
28683         * modules/unicase/u8-ct-tolower: New file.
28684
28685         New module 'unicase/u32-ct-toupper'.
28686         * lib/unicase/u32-ct-toupper.c: New file.
28687         * modules/unicase/u32-ct-toupper: New file.
28688
28689         New module 'unicase/u16-ct-toupper'.
28690         * lib/unicase/u16-ct-toupper.c: New file.
28691         * modules/unicase/u16-ct-toupper: New file.
28692
28693         New module 'unicase/u8-ct-toupper'.
28694         * lib/unicase/u8-ct-toupper.c: New file.
28695         * modules/unicase/u8-ct-toupper: New file.
28696
28697         Add context arguments to u*_casemap functions.
28698         * lib/unicase/unicasemap.h: Include unicase.h.
28699         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
28700         suffix_context arguments.
28701         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
28702         functions.
28703         (FUNC): Add prefix_context and suffix_context arguments. Use
28704         uc_is_cased and uc_is_case_ignorable.
28705         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
28706         * lib/unicase/u16-casemap.c: Likewise.
28707         * lib/unicase/u32-casemap.c: Likewise.
28708         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
28709         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28710         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
28711         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28712         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
28713         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28714
28715         New module 'unicase/u32-suffix-context'.
28716         * lib/unicase/u32-suffix-context.c: New file.
28717         * modules/unicase/u32-suffix-context: New file.
28718
28719         New module 'unicase/u16-suffix-context'.
28720         * lib/unicase/u16-suffix-context.c: New file.
28721         * modules/unicase/u16-suffix-context: New file.
28722
28723         New module 'unicase/u8-suffix-context'.
28724         * lib/unicase/u8-suffix-context.c: New file.
28725         * lib/unicase/u-suffix-context.h: New file.
28726         * modules/unicase/u8-suffix-context: New file.
28727
28728         New module 'unicase/empty-suffix-context'.
28729         * lib/unicase/empty-suffix-context.c: New file.
28730         * modules/unicase/empty-suffix-context: New file.
28731
28732         New module 'unicase/u32-prefix-context'.
28733         * lib/unicase/u32-prefix-context.c: New file.
28734         * modules/unicase/u32-prefix-context: New file.
28735
28736         New module 'unicase/u16-prefix-context'.
28737         * lib/unicase/u16-prefix-context.c: New file.
28738         * modules/unicase/u16-prefix-context: New file.
28739
28740         New module 'unicase/u8-prefix-context'.
28741         * lib/unicase/u8-prefix-context.c: New file.
28742         * lib/unicase/u-prefix-context.h: New file.
28743         * lib/unicase/context.h: New file.
28744         * modules/unicase/u8-prefix-context: New file.
28745
28746         New module 'unicase/empty-prefix-context'.
28747         * lib/unicase/empty-prefix-context.c: New file.
28748         * modules/unicase/empty-prefix-context: New file.
28749
28750         New module 'unicase/ignorable'.
28751         * lib/unicase/ignorable.c: New file.
28752         * modules/unicase/ignorable: New file.
28753
28754         New module 'unicase/cased'.
28755         * lib/unicase/caseprop.h: New file.
28756         * lib/unicase/cased.c: New file.
28757         * modules/unicase/cased: New file.
28758
28759         New functions for case mapping of substrings.
28760         * lib/unicase.h (casing_prefix_context_t): New type.
28761         (unicase_empty_prefix_context): New variable.
28762         (u8_casing_prefix_context, u16_casing_prefix_context,
28763         u32_casing_prefix_context, u8_casing_prefixes_context,
28764         u16_casing_prefixes_context, u32_casing_prefixes_context): New
28765         declarations.
28766         (casing_suffix_context_t): New type.
28767         (unicase_empty_suffix_context): New variable.
28768         (u8_casing_suffix_context, u16_casing_suffix_context,
28769         u32_casing_suffix_context, u8_casing_suffixes_context,
28770         u16_casing_suffixes_context, u32_casing_suffixes_context,
28771         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
28772         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
28773         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
28774         declarations.
28775
28776 2009-06-28  Jim Meyering  <meyering@redhat.com>
28777
28778         boostrap: indent only with spaces
28779         * build-aux/bootstrap: Indent only with spaces, never TABs.
28780
28781         bootstrap: split long lines
28782         * build-aux/bootstrap: Keep line length < 80.
28783
28784         bootstrap: sync from coreutils
28785         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
28786         just as autoreconf does.  Verify a list of prerequisite
28787         package-name,version-number pairs if defined in bootstrap.conf.
28788         Refer to README-prereq, if prerequisites are not satisfied.
28789
28790 2009-06-27  Eric Blake  <ebb9@byu.net>
28791
28792         tests: add test for bogus NULL definition
28793         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
28794         * tests/test-stdlib.c: Likewise.
28795         * tests/test-string.c: Likewise.
28796         * tests/test-locale.c: Likewise.
28797         * tests/test-unistd.c: Likewise.
28798         * modules/stdio-tests (Depends-on): Add verify.
28799         * modules/stdlib-tests (Depends-on): Likewise.
28800         * modules/string-tests (Depends-on): Likewise.
28801         * modules/locale-tests (Depends-on): Likewise.
28802         * modules/unistd-tests (Depends-on): Likewise.
28803
28804 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
28805
28806         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
28807         self-explaining comment.
28808         * m4/selinux-selinux-h: Update serial.
28809         (gl_LIBSELINUX): New macro, adding a warning for missing development
28810         packages to code extracted from...
28811         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
28812         Add warning for missing development packages here, too.
28813
28814 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
28815
28816         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
28817
28818 2009-06-25  Eric Blake  <ebb9@byu.net>
28819
28820         version-etc: fix regression
28821         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
28822         gcc.
28823         (version_etc): Use it, to catch bugs with trailing NULL.
28824         * lib/version-etc.c (version_etc_arn): Delete unused argument.
28825         (version_etc_va): Fix logic bug.
28826         * modules/version-etc-tests: Add test.
28827         * tests/test-version-etc.c: New file.
28828         * tests/test-version-etc.sh: Likewise.
28829
28830 2009-06-25  Sam Steingold  <sds@gnu.org>
28831
28832         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
28833         mbtowc declaration.
28834
28835 2009-06-25  Eric Blake  <ebb9@byu.net>
28836
28837         fpurge: migrate into <stdio.h>
28838         * lib/fpurge.h: Delete...
28839         * lib/stdio.in.h (fpurge): ...and declare here, instead.
28840         * lib/fpurge.c (fpurge): Change declaring header.
28841         * modules/fpurge (Files): Drop deleted file.
28842         (Depends-on): Add stdio.
28843         (configure.ac): Set witness.
28844         * modules/stdio (Makefile.am): Support fpurge macros.
28845         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28846         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
28847         * lib/fflush.c: Update client.
28848         * tests/test-fpurge.c: Likewise.
28849         * NEWS: Mention the change.
28850
28851 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28852
28853         * lib/argp-version-etc.c (program_authors): Add const
28854         qualifier.
28855         * lib/version-etc.c: Fix typos in the comments.
28856         * modules/argp-version-etc: Depends on version-etc.
28857
28858 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28859
28860         argp-version-etc: new module.
28861
28862         * lib/argp-version-etc.c: New file.
28863         * lib/argp-version-etc.h: New file.
28864         * modules/argp-version-etc: New file.
28865         * modules/argp-version-etc-tests: New file.
28866         * tests/test-argp-version-etc.c: New test.
28867         * tests/test-argp-version-etc-1.sh: New test.
28868
28869 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28870
28871         Provide additional interfaces and documentation for version-etc
28872         module.
28873
28874         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
28875         interfaces.
28876         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
28877         prototypes.
28878
28879 2009-06-24  Bruno Haible  <bruno@clisp.org>
28880
28881         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
28882         HAVE_LIB${NAME} macro.
28883         Reported by Sam Steingold <sds@gnu.org>.
28884
28885 2009-06-23  Simon Josefsson  <simon@josefsson.org>
28886
28887         * modules/hash-tests (test_hash_LDADD): Link to libintl when
28888         needed.
28889
28890 2009-06-21  Bruno Haible  <bruno@clisp.org>
28891
28892         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
28893         work.
28894         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
28895         together with LIB${NAME}, LTLIB${NAME}.
28896         Reported by Sam Steingold <sds@gnu.org>.
28897
28898 2009-06-20  Jim Meyering  <meyering@redhat.com>
28899
28900         tests: make sc_require_test_exit_idiom more generic
28901         * top/maint.mk (Exit_witness_file): New overridable variable.
28902         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
28903         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
28904
28905 2009-06-19  Jim Meyering  <meyering@redhat.com>
28906
28907         hash: reverse order of src/dst parameters in an internal interface
28908         * lib/hash.c (transfer_entries): Reverse order of parameters to
28909         put DST before SRC.  Adjust callers.
28910
28911         tests: test-hash: avoid wholesale duplication
28912         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
28913         Instead, use a loop and add a single conditional.
28914
28915         tests: test-hash: allow seed selection via a command line argument
28916         * tests/test-hash.c (get_seed): New function.
28917         (main): Use it.
28918
28919 2009-06-19  Eric Blake  <ebb9@byu.net>
28920
28921         hash: avoid memory leak on allocation failure
28922         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
28923         failure.  Factor repeated algorithm...
28924         (transfer_entries): ...into new helper routine.
28925         (hash_delete): React to hash_rehash return value.
28926
28927         hash: reduce memory pressure in hash_rehash no-op case
28928         * lib/hash.c (next_prime): Avoid overflow.
28929         (hash_initialize): Factor bucket size computation...
28930         (compute_bucket_size): ...into new helper function.
28931         (hash_rehash): Use new function and open coding to reduce memory
28932         pressure, and avoid a memory leak in USE_OBSTACK code.
28933         Reported by Jim Meyering.
28934
28935 2009-06-18  Eric Blake  <ebb9@byu.net>
28936
28937         hash: make rotation more obvious
28938         * modules/hash (Depends-on): Add bitrotate and stdint.
28939         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
28940         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
28941         (SIZE_MAX): Rely on headers for definition.
28942         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
28943         (raw_hasher): Use rotr_sz.
28944         Suggested by Jim Meyering.
28945
28946         hash: fix memory leak in last patch
28947         * lib/hash.c (hash_rehash): Avoid memory leak.
28948
28949         hash: avoid no-op rehashing
28950         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
28951
28952         hash: provide default callback functions
28953         * lib/hash.c (raw_hasher, raw_comparator): New functions.
28954         (hash_initialize): Use them as defaults.
28955         * tests/test-hash.c (main): Test this.
28956
28957         hash: minor optimization
28958         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
28959         when possible.
28960         (hash_initialize): Document this promise.
28961         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
28962         * tests/test-hash.c (hash_compare_strings): Test this.
28963
28964 2009-06-18  Bruno Haible  <bruno@clisp.org>
28965
28966         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
28967         going to be replaced anyway.
28968
28969 2009-06-18  Bruno Haible  <bruno@clisp.org>
28970
28971         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
28972         in one place.
28973         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
28974         be replaced anyway.
28975
28976 2009-06-18  Eric Blake  <ebb9@byu.net>
28977
28978         hash: check for resize before insertion
28979         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
28980         threshold before insertion, so that a pathological hash_rehash
28981         that fills every bucket can still trigger another rehash.
28982
28983 2009-06-18  Jim Meyering  <meyering@redhat.com>
28984
28985         hash-tests: add a loop around the small tests
28986         * tests/test-hash.c (main): Repeat small tests with selected
28987         small initial table sizes.
28988
28989 2009-06-17  Eric Blake  <ebb9@byu.net>
28990
28991         hash: minor cleanups
28992         * lib/hash.h (hash_entry): Make opaque, by moving...
28993         * lib/hash.c (hash_entry): ...here.
28994         (hash_insert): Clarify restrictions on what can be inserted.
28995         (hash_get_next): Clarify when it is safe to remove an element
28996         during traversal.
28997         (check_tuning): Skip verification when tuning is known safe.
28998         (hash_initialize): Clarify restrictions on tuning.
28999
29000 2009-06-17  Jim Meyering  <jim@meyering.net>
29001         and Eric Blake  <ebb9@byu.net>
29002
29003         hash-tests: new module
29004         * modules/hash-tests: New file.
29005         * tests/test-hash.c: New file.
29006
29007 2009-06-17  Eric Blake  <ebb9@byu.net>
29008
29009         strstr-simple: document new module
29010         * MODULES.html.sh: Document new module.
29011
29012         strstr, strcasestr: replace on platforms with broken memchr
29013         * modules/strstr: Split into...
29014         * modules/strstr-simple: ...new module that does not care about
29015         performance, but does care about glibc bug.
29016         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
29017         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
29018         if platform memchr is broken, per Debian bug 521737.
29019         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
29020         memchr.
29021         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
29022         * doc/posix-functions/strstr.texi (strstr): Document the fix.
29023         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29024         * modules/mountlist (Depends-on): Add strstr-simple.
29025         * modules/gen-uni-tables (Depends-on): Likewise.
29026         * modules/argz (Depends-on): Add strstr.
29027
29028 2009-06-17  Bruno Haible  <bruno@clisp.org>
29029
29030         * modules/posix_spawn-internal (Depends-on): Add errno.
29031
29032 2009-06-17  Bruno Haible  <bruno@clisp.org>
29033
29034         Define missing ESTALE on Interix 3.5.
29035         * lib/errno.in.h (ESTALE): Assign a value if missing.
29036         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
29037         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
29038         missing.
29039         * doc/posix-headers/errno.texi: Mention the Interix bug.
29040         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
29041
29042 2009-06-15  Eric Blake  <ebb9@byu.net>
29043
29044         memchr, memchr2: add valgrind exception
29045         * lib/memchr.valgrind: New file.
29046         * lib/memchr2.valgrind: New file.
29047         * modules/memchr (Files): Distribute valgrind file.
29048         * modules/memchr2 (Files): Likewise.
29049
29050         docs: memchr is no longer obsolete
29051         * MODULES.html.sh: Move memchr from obsolete to string.h section.
29052         * lib/string.in.h (memchr): Simplify logic.
29053
29054 2009-06-14  Jim Meyering  <meyering@redhat.com>
29055
29056         link-follow: fix the "checking..." message to not mention trailing slash
29057         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
29058         never considered trailing slashes.
29059
29060 2009-06-14  Bruno Haible  <bruno@clisp.org>
29061
29062         * m4/memchr.m4: Mention also the bug on IA-64.
29063         * doc/posix-functions/memchr.texi: Likewise.
29064
29065 2009-06-12  Eric Blake  <ebb9@byu.net>
29066
29067         memchr: detect broken x86_64 and alpha implementations
29068         * modules/memchr-tests (Depends-on): Move mmap detection...
29069         * modules/memchr (Depends-on): ...here.
29070         (configure.ac): Set indicator.
29071         * lib/string.in.h (memchr): Declare replacement.
29072         * modules/string (Makefile.am): Trigger replacement.
29073         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
29074         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
29075         bugs.
29076         * doc/posix-functions/memchr.texi (memchr): Document the bug.
29077         * modules/getpagesize (License): Relax license.
29078
29079 2009-06-11  Bruno Haible  <bruno@clisp.org>
29080
29081         * lib/idpriv.h: Add more references.
29082
29083 2009-06-08  Bruno Haible  <bruno@clisp.org>
29084
29085         Tests for module 'idpriv-droptemp'.
29086         * modules/idpriv-droptemp-tests: New file.
29087         * tests/test-idpriv-droptemp.sh: New file.
29088         * tests/test-idpriv-droptemp.su.sh: New file.
29089         * tests/test-idpriv-droptemp.c: New file.
29090
29091         New module 'idpriv-droptemp'.
29092         * lib/idpriv-droptemp.c: New file.
29093         * modules/idpriv-droptemp: New file.
29094
29095 2009-06-08  Bruno Haible  <bruno@clisp.org>
29096
29097         Tests for module 'idpriv-drop'.
29098         * modules/idpriv-drop-tests: New file.
29099         * tests/test-idpriv-drop.sh: New file.
29100         * tests/test-idpriv-drop.su.sh: New file.
29101         * tests/test-idpriv-drop.c: New file.
29102
29103         New module 'idpriv-drop'.
29104         * lib/idpriv.h: New file.
29105         * lib-idpriv-drop.c: New file.
29106         * m4/idpriv.m4: New file.
29107         * modules/idpriv-drop: New file.
29108
29109 2009-06-08  Bruno Haible  <bruno@clisp.org>
29110
29111         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
29112         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29113         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29114         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29115         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29116         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29117         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29118
29119 2009-06-08  Eric Blake  <ebb9@byu.net>
29120
29121         test-strstr: use memory fence, when possible
29122         * tests/test-strstr.c (main): Use memory fence, in order to be
29123         more likely to trigger Debian bug 521737.
29124         * modules/strstr-tests (Files): Pull in additional files.
29125
29126         memchr: no longer obsolete, for wider field testing
29127         * modules/memchr (Status, Notice): Delete, this module is no
29128         longer obsolete.
29129         * modules/vasnprintf (Depends-on): Add memchr.
29130
29131 2009-06-07  Jim Meyering  <meyering@redhat.com>
29132
29133         hash: declare some functions with the warn_unused_result attribute
29134         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
29135
29136 2009-06-07  Bruno Haible  <bruno@clisp.org>
29137
29138         * tests/test-alignof.c: Don't test int64_t if it does not exist.
29139         Reported by Eric Blake.
29140
29141 2009-06-06  Eric Blake  <ebb9@byu.net>
29142
29143         test-alignof: fix typo with long double
29144         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
29145         compiler error.
29146
29147 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
29148
29149         Escape non-texinfo { and }s.
29150         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
29151         markup error.
29152
29153 2009-06-04  Jim Meyering  <meyering@redhat.com>
29154
29155         gitlog-to-changelog: don't infloop on an empty commit log
29156         * build-aux/gitlog-to-changelog: Warn about an empty log message.
29157         Reported by Boris Petersen <transacid@centerim.org>.
29158
29159 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
29160
29161         version-etc: extend for packagers
29162         Add three new configure options, intended for packagers:
29163           --with-packager="packager name"
29164           --with-packager-version="packager-specific version"
29165           --with-packager-bug-reports="packager bug reporting"
29166         An example with coreutils:
29167           $ ./configure \
29168             --with-packager=Gentoo \
29169             --with-packager-bug-report=http://bugs.gentoo.org/ \
29170             --with-packager-version="patchset 1.6"
29171           $ ./src/ls --version | head -n2
29172           ls (GNU coreutils) 7.1-dirty
29173           Packaged by Gentoo (patchset 1.6)
29174         Note that the bug reporting info via --help doesn't show up because
29175         coreutils uses its own custom emit_bug_reporting_address() implementation
29176         in src/system.h.  If it didn't, it'd look like:
29177           $ ./src/ls --help | tail -n4
29178           Report bugs to <bug-coreutils@gnu.org>.
29179           Report Gentoo bugs to <http://bugs.gentoo.org/>.
29180           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
29181           General help using GNU software: <http://www.gnu.org/gethelp/>.
29182         * lib/version-etc.c: Print new information, if provided.
29183         * m4/version-etc.m4: New file.
29184         * modules/version-etc (Files): Add m4/version-etc.m4.
29185         (configure.ac): Add gl_VERSION_ETC.
29186
29187 2009-05-31  Bruno Haible  <bruno@clisp.org>
29188
29189         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
29190         and 'int64_t'.
29191         * modules/alignof-tests (Dependencies): Add stdint.
29192         Reported by Eric Blake.
29193
29194 2009-05-31  Bruno Haible  <bruno@clisp.org>
29195
29196         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
29197         restriction due to compiler bugs.
29198         Reported by Eric Blake.
29199
29200 2009-05-31  Simon Josefsson  <simon@josefsson.org>
29201             Bruno Haible  <bruno@clisp.org>
29202
29203         Fix test-alignof failure.
29204         * lib/alignof.h (alignof_slot): New macro.
29205         (alignof_type): New macro, with the same semantics as the previous
29206         'alignof'.
29207         (alignof): Alias to alignof_slot.
29208         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
29209         check that the results are usable as constant expressions.
29210
29211 2009-05-31  Bruno Haible  <bruno@clisp.org>
29212
29213         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
29214         * tests/test-memchr.c (main): Check that memchr does not read past the
29215         first occurrence of the byte.
29216         * tests/test-strstr.c (main): Update comment.
29217         Suggested by Eric Blake.
29218
29219 2009-05-30  Bruno Haible  <bruno@clisp.org>
29220
29221         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
29222         detail how to use dumpbin.
29223         Reported by David Byron <dbyron@dbyron.com>.
29224
29225 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29226
29227         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
29228
29229 2009-06-02  Simon Josefsson  <simon@josefsson.org>
29230
29231         * m4/manywarnings.m4: Add GCC 4.4 warnings.
29232
29233 2009-05-28  Bruno Haible  <bruno@clisp.org>
29234
29235         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
29236         build-aux/ files.
29237
29238 2009-05-28  Simon Josefsson  <simon@josefsson.org>
29239
29240         * gnulib-tool (func_import): Transform license on build-aux/ files too.
29241
29242 2009-05-27  Simon Josefsson  <simon@josefsson.org>
29243
29244         * gnulib-tool (sed_transform_main_lib_file)
29245         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
29246         regexps.
29247
29248 2009-05-26  Simon Josefsson  <simon@josefsson.org>
29249
29250         * tests/test-strstr.c: Add another self-test.
29251         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
29252         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
29253
29254 2009-05-23  Bruno Haible  <bruno@clisp.org>
29255
29256         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
29257         change.
29258
29259 2009-05-21  Bruno Haible  <bruno@clisp.org>
29260
29261         Simplify use of mode_t varargs.
29262         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
29263         uses 'mode_t' or 'int'.
29264         * lib/openat.c (openat): Likewise.
29265         * lib/open-safer.c (open_safer): Likewise.
29266         * m4/mode_t.m4: New file.
29267         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
29268         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
29269         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
29270         * modules/open (Files): Add m4/mode_t.m4.
29271         * modules/openat (Files): Likewise.
29272         * modules/fcntl-safer (Files): Likewise.
29273         Suggested by Eric Blake.
29274
29275 2009-05-21  Pádraig Brady  <P@draigbrady.com>
29276
29277         * doc/glibc-functions/fallocate.texi: New file.
29278         * doc/gnulib.texi: Include it.
29279
29280 2009-05-21  Eric Blake  <ebb9@byu.net>
29281             Bruno Haible  <bruno@clisp.org>
29282
29283         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
29284         invocations.
29285         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29286
29287 2009-05-21  Eric Blake  <ebb9@byu.net>
29288             Bruno Haible  <bruno@clisp.org>
29289
29290         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
29291         include_next. Fix of 2008-11-20 commit.
29292         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
29293         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
29294         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
29295         NEXT_MATH_H.
29296         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
29297         instead of NEXT_MATH_H.
29298
29299 2009-05-21  Bruno Haible  <bruno@clisp.org>
29300
29301         Avoid redefinition warnings for SIZE_MAX.
29302         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
29303         Reported by Simon Josefsson.
29304
29305 2009-05-21  Bruno Haible  <bruno@clisp.org>
29306
29307         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
29308         AC_CACHE_VAL.
29309
29310 2009-05-20  Bruno Haible  <bruno@clisp.org>
29311
29312         Make zeroptr.h work on mingw.
29313         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
29314         mprotect.
29315         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
29316         * modules/memchr2-tests (configure.ac): Likewise.
29317         * modules/memcmp-tests (configure.ac): Likewise.
29318         * modules/memmem-tests (configure.ac): Likewise.
29319         * modules/memrchr-tests (configure.ac): Likewise.
29320         Reported by Simon Josefsson.
29321
29322 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29323
29324         * tests/test-glob.c: Include string.h for strcmp prototype.
29325
29326 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29327
29328         * modules/getdelim (Depends-on): Add explicit stdint, although it
29329         was implicitly already pulled in via realloc-posix.
29330         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
29331
29332 2009-05-20  Simon Josefsson  <simon@josefsson.org>
29333
29334         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
29335         G. Christensen" <tgc@jupiterrise.com>.
29336         * m4/sys_socket_h.m4: Check for sa_family_t.
29337         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
29338         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
29339         * tests/test-sys_socket.c: Check that sa_family_t works.
29340
29341 2009-05-18  Eric Blake  <ebb9@byu.net>
29342
29343         maint.mk: allow gnulib_dir in VPATH build
29344         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
29345
29346 2009-05-15  Jim Meyering  <meyering@redhat.com>
29347
29348         maint.mk: Give gnulib_dir a default definition.
29349         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
29350         Thus, most packages no longer need to specify this variable in cfg.mk
29351
29352 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
29353
29354         rename.m4: fix typos that would make non-mingw cross-configure fail
29355         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
29356
29357 2009-05-13  Eric Blake  <ebb9@byu.net>
29358
29359         mmap-anon: avoid out-of-order autoconf expansion
29360         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
29361         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
29362         * modules/memchr-tests (Depends-on): Add extensions.
29363         * modules/memchr2-tests (Depends-on): Add extensions.
29364         * modules/memcmp-tests (Depends-on): Add extensions.
29365         * modules/memmem-tests (Depends-on): Add extensions.
29366         * modules/memrchr-tests (Depends-on): Add extensions.
29367
29368 2009-05-13  Bruno Haible  <bruno@clisp.org>
29369
29370         Make some tests ISO C 99 compliant.
29371         * tests/zerosize-ptr.h: New file.
29372         * tests/test-memchr.c: Include zerosize-ptr.h.
29373         (main): Use a zero-size object pointer instead of NULL.
29374         * tests/test-memchr2.c: Include zerosize-ptr.h.
29375         (main): Use a zero-size object pointer instead of NULL.
29376         * tests/test-memcmp.c: Include zerosize-ptr.h.
29377         (main): Use a zero-size object pointer instead of NULL.
29378         * tests/test-memmem.c: Include zerosize-ptr.h.
29379         (main): Use a zero-size object pointer instead of NULL.
29380         * tests/test-memrchr.c: Include zerosize-ptr.h.
29381         (main): Use a zero-size object pointer instead of NULL.
29382         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
29383         m4/mmap-anon.m4.
29384         (Depends-on): Add getpagesize.
29385         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29386         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
29387         m4/mmap-anon.m4.
29388         (Depends-on): Add getpagesize.
29389         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29390         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
29391         m4/mmap-anon.m4.
29392         (Depends-on): Add getpagesize.
29393         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29394         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
29395         m4/mmap-anon.m4.
29396         (Depends-on): Add getpagesize.
29397         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29398         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
29399         m4/mmap-anon.m4.
29400         (Depends-on): Add getpagesize.
29401         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
29402
29403 2009-05-12  Bruno Haible  <bruno@clisp.org>
29404
29405         Tests for module 'alignof'.
29406         * modules/alignof-tests: New file.
29407         * tests/test-alignof.c: New file.
29408
29409 2009-05-12  Bruno Haible  <bruno@clisp.org>
29410
29411         Fix alignof macro.
29412         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
29413         vendor compilers that are always correct.
29414
29415 2009-05-12  Bruno Haible  <bruno@clisp.org>
29416
29417         Make the MAP_ANONYMOUS detection work on HP-UX 11.
29418         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
29419         not whether its fully works.
29420
29421 2009-05-12  Bruno Haible  <bruno@clisp.org>
29422
29423         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
29424
29425 2009-05-12  Jim Meyering  <meyering@redhat.com>
29426
29427         * top/maint.mk: Adjust backslash alignment.
29428
29429 2009-05-11  Simon Josefsson  <simon@josefsson.org>
29430
29431         * top/maint.mk: Make $(srcdir)/build-aux configurable.
29432
29433 2009-05-11  Eric Blake  <ebb9@byu.net>
29434
29435         argp: avoid undefined behavior
29436         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
29437         macros.
29438
29439 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29440
29441         * tests/test-vc-list-files-git.sh: Do git config of user.email and
29442         user.name to prevent git commit from complaining.
29443
29444 2009-05-10  Bruno Haible  <bruno@clisp.org>
29445
29446         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
29447         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
29448         it rewrites every file name only once.
29449         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
29450
29451 2009-05-08  Bruno Haible  <bruno@clisp.org>
29452
29453         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
29454         instead of 'max'.
29455
29456 2009-05-08  Simon Josefsson  <simon@josefsson.org>
29457
29458         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
29459         sockaddr_storage test.
29460
29461 2009-05-07  Simon Josefsson  <simon@josefsson.org>
29462
29463         * modules/sys_socket (Makefile.am): Substitute
29464         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
29465         * m4/sys_socket_h.m4: Check for sockaddr_storage.
29466         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
29467         * tests/test-sys_socket.c: Check sockaddr_storage.
29468
29469 2009-05-08  Bruno Haible  <bruno@clisp.org>
29470
29471         New module 'alignof'.
29472         * lib/alignof.h: New file.
29473         * modules/alignof: New file.
29474
29475 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29476             Bruno Haible  <bruno@clisp.org>
29477
29478         Fix test-file-has-acl on FreeBSD.
29479         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
29480         mask is implicitly added.
29481         * tests/test-file-has-acl.c: Include <signal.h>.
29482         (main): Terminate the test after 5 seconds.
29483         * modules/acl-tests (configure.ac): Check for alarm function.
29484
29485 2009-05-04  Bruno Haible  <bruno@clisp.org>
29486
29487         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
29488         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
29489         * modules/errno (configure.ac): Drop AC_REQUIRE.
29490         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
29491         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
29492
29493 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29494
29495         * modules/glob-tests: New module.
29496         * tests/test-glob.c: Add.
29497
29498 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29499
29500         * modules/fnmatch-tests: New module.
29501         * tests/test-fnmatch.c: Add.
29502
29503 2009-05-04  Eric Blake  <ebb9@byu.net>
29504
29505         maint: make the new no-submodule-changes rule VPATH-safe
29506         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
29507
29508 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29509             Bruno Haible  <bruno@clisp.org>
29510
29511         acl: Fix infinite loop on FreeBSD.
29512         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
29513         of return value from acl_get_entry.
29514         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
29515         Likewise.
29516
29517 2009-05-03  Bruno Haible  <bruno@clisp.org>
29518
29519         * lib/acl-internal.h (acl_entries): Clarify return value.
29520         * lib/acl_entries.c (acl_entries): Likewise.
29521
29522 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29523
29524         Bug fix in acl module.
29525         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
29526
29527 2009-05-03  Bruno Haible  <bruno@clisp.org>
29528
29529         Create gperf-generated file in the source dir, not in the build dir.
29530         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
29531         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
29532         * modules/unicase/locale-language (unicase/locale-languages.h):
29533         Likewise.
29534         * modules/unicase/special-casing (unicase/special-casing-table.h):
29535         Likewise.
29536         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
29537         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
29538         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
29539         Reported by Ralf Wildenhues.
29540
29541 2009-05-03  Bruno Haible  <bruno@clisp.org>
29542
29543         * modules/fnmatch (Description, configure.ac): Taken from
29544         fnmatch-posix.
29545         * modules/fnmatch-posix: Turn into a symbolic reference to the
29546         'fnmatch' module, and deprecate.
29547         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
29548
29549 2009-05-03  Bruno Haible  <bruno@clisp.org>
29550
29551         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
29552         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
29553         Reported by Ralf Wildenhues.
29554
29555 2009-05-04  Simon Josefsson  <simon@josefsson.org>
29556
29557         * m4/fnmatch.m4: Fix fnmatch re-define.
29558
29559 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
29560
29561         priv-set: new module and tests; adapt write-any-file
29562         * lib/priv-set.c: New file.
29563         * lib/priv-set.h: New file.
29564         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
29565         * lib/write-any-file.c: Simplify by using priv-set module.
29566         * m4/priv-set.m4: New file.
29567         * modules/priv-set: New file.
29568         * modules/unlinkdir: Add dependency on priv-set module.
29569         * modules/write-any-file: Likewise.
29570
29571         Tests for module 'priv-set'.
29572         * modules/priv-set-tests: New file.
29573         * tests/test-priv-set.c: New file.
29574
29575 2009-05-03  Jim Meyering  <meyering@redhat.com>
29576             Bruno Haible  <bruno@clisp.org>
29577
29578         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
29579         use the converted UTF-8 variant of the name instead.
29580
29581 2009-05-03  Jim Meyering  <meyering@redhat.com>
29582
29583         tests: tighten some getdate tests
29584         * tests/test-getdate.c (main): Tighten tests: require equality,
29585         not just greater than.  Set TZ envvar to UTC0.
29586
29587 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29588
29589         getdate: correctly interpret "next monday" when run on a Monday
29590         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
29591         that e.g., "next tues" (when run on a tuesday) results in a date
29592         that is one week in the future, and not today's date.
29593         I.e., add a week when the wday is the same as the current one.
29594         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
29595         and earlier by Martin Bernreuther and Jan Minář.
29596         * tests/test-getdate.c (main): Check that "next DAY" is always in
29597         the future and that "last DAY" is always in the past.
29598
29599 2009-05-02  Jim Meyering  <meyering@redhat.com>
29600
29601         build: ensure that a release build fails when a submodule is unclean
29602         * top/maint.mk (no-submodule-changes): New rule.
29603         (alpha beta major): Depend on it.
29604
29605 2009-05-02  Bruno Haible  <bruno@clisp.org>
29606
29607         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
29608         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
29609         shell variable gl_fnmatch_required to detect which variant is
29610         requested.
29611         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
29612         gl_FUNC_FNMATCH_POSIX.
29613         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
29614         exclude fnmatch-posix.
29615
29616 2009-05-02  Bruno Haible  <bruno@clisp.org>
29617
29618         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
29619         * modules/mbsrtowcs (License): Change to LGPLv2+.
29620         * modules/strnlen1 (License): Likewise.
29621         Reported by Simon Josefsson.
29622
29623 2009-05-02  Bruno Haible  <bruno@clisp.org>
29624
29625         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
29626         "cross".
29627         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
29628         gnulib-tool was called with option --source-base=lib.
29629
29630 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29631
29632         Use automake *-local hooks without commands, for extensibility.
29633         * modules/localcharset (Makefile.am): Rename install-exec-local
29634         rule to install-exec-localcharset, and make it a prerequisite of
29635         install-exec-local.  Likewise, rename the uninstall-local rule to
29636         uninstall-localcharset, and make it a prerequisite of the former.
29637
29638 2009-05-01  Bruno Haible  <bruno@clisp.org>
29639
29640         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
29641         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29642         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
29643         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
29644         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
29645         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29646         m4/locale-zh.m4, m4/codeset.m4.
29647
29648         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29649         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
29650         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29651         m4/locale-zh.m4.
29652
29653         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
29654         REPLACE_WCRTOMB if mbstate_t must be replaced.
29655         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
29656         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
29657
29658 2009-05-01  Bruno Haible  <bruno@clisp.org>
29659
29660         Avoid compiler warnings when redefining macros defined by <libintl.h>.
29661         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
29662         dngettext, dcngettext, textdomain, bindtextdomain,
29663         bind_textdomain_codeset): Undefine before redefining.
29664
29665 2009-04-30  Bruno Haible  <bruno@clisp.org>
29666
29667         Fix bug introduced on 2009-04-25.
29668         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
29669         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
29670         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
29671         is defined.
29672         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
29673         is defined.
29674         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
29675         is defined.
29676         Reported by Elbert_Pol <elbert.pol@gmail.com>.
29677
29678 2009-04-28  Bruno Haible  <bruno@clisp.org>
29679
29680         Comment tweaks.
29681         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
29682         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
29683         * lib/unicase.h (u*_casexfrm): Likewise.
29684         Reported by Paolo Bonzini.
29685
29686 2009-04-28  Bruno Haible  <bruno@clisp.org>
29687
29688         Fix a compilation error.
29689         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
29690         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29691         Reported by Jim Meyering.
29692
29693 2009-04-27  Bruno Haible  <bruno@clisp.org>
29694
29695         New module 'libunistring'.
29696         * modules/libunistring: New file.
29697         * m4/libunistring.m4: New file.
29698         * MODULES.html.sh (Unicode string functions): Add it.
29699
29700 2009-04-27  Eric Blake  <ebb9@byu.net>
29701
29702         maint.mk: allow package-specific header to provide <config.h>
29703         * top/maint.mk (sc_require_config_h): New variable.
29704         (sc_require_config_h, sc_require_config_h_first): Use it.
29705
29706 2009-04-27  Simon Josefsson  <simon@josefsson.org>
29707
29708         * top/maint.mk (sc_avoid_if_before_free): Except
29709         useless-if-before-free script.
29710
29711 2009-04-27  Eric Blake  <ebb9@byu.net>
29712
29713         maintainer-makefile: depend on all required helper scripts
29714         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
29715         useless-if-before-free.
29716         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
29717         version, rather than assuming gnulib checkout is available.
29718         Reported by Simen Josefsson.
29719
29720 2009-04-26  Bruno Haible  <bruno@clisp.org>
29721
29722         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
29723         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
29724         "../" or "..".
29725
29726 2009-04-26  Bruno Haible  <bruno@clisp.org>
29727
29728         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
29729         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
29730         AC_LIB_HAVE_LINKFLAGS.
29731
29732 2009-04-26  Bruno Haible  <bruno@clisp.org>
29733
29734         Simplify calling convention of u*_conv_from_encoding.
29735         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
29736         u32_conv_from_encoding): Expect a resultbuf argument and return the
29737         result directly as a pointer.
29738         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
29739         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
29740         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
29741         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
29742         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
29743         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29744         Update.
29745         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
29746         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
29747         * lib/vasnprintf.c (VASNPRINTF): Update.
29748         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
29749         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
29750         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
29751         * NEWS: Mention the change.
29752
29753 2009-04-26  Bruno Haible  <bruno@clisp.org>
29754
29755         Simplify calling convention of u*_conv_to_encoding.
29756         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
29757         u32_conv_to_encoding): Expect a resultbuf argument and return the
29758         result directly as a pointer.
29759         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29760         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
29761         freeing scaled_offsets if mem_iconveha failed.
29762         * lib/unicase/u-casexfrm.h (FUNC): Update.
29763         * lib/uninorm/u-normxfrm.h (FUNC): Update.
29764         * lib/vasnprintf.c (VASNPRINTF): Update.
29765         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
29766         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
29767         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
29768         * NEWS: Mention the change.
29769
29770 2009-04-26  Bruno Haible  <bruno@clisp.org>
29771
29772         Avoid test failures on AIX and OSF/1.
29773         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
29774         malloc(0).
29775         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29776         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29777         Likewise.
29778         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
29779         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
29780         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
29781         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
29782         * doc/posix-functions/malloc.texi: Document the portability problem
29783         related to malloc(0).
29784
29785 2009-04-26  Bruno Haible  <bruno@clisp.org>
29786
29787         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
29788         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
29789         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
29790
29791 2009-04-25  Bruno Haible  <bruno@clisp.org>
29792
29793         Avoid link error when creating a namespace clean library.
29794         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
29795         as macro with arguments if already defined as an alias.
29796         * lib/signbitf.c (gl_signbitf): Don't undefine.
29797         * lib/signbitd.c (gl_signbitd): Don't undefine.
29798         * lib/signbitl.c (gl_signbitl): Don't undefine.
29799
29800 2009-04-25  Jim Meyering  <meyering@redhat.com>
29801
29802         vc-list-files: fix another quoting bug
29803         * build-aux/vc-list-files: Avoid sed backslash expansion
29804         of pathological directory names.
29805
29806 2009-04-25  Eric Blake  <ebb9@byu.net>
29807
29808         vc-list-files: fix shell quoting error
29809         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
29810         timestamp.
29811
29812 2009-04-25  Jim Meyering  <meyering@redhat.com>
29813
29814         vc-list-files: restore lost functionality with subdir argument
29815         * build-aux/vc-list-files: When given a non-"." sub-directory
29816         argument, substitute the $dir/ prefix back onto each resulting name.
29817         Otherwise, coreutils' root_tests check would fail.
29818
29819 2009-04-24  Eric Blake  <ebb9@byu.net>
29820
29821         vc-list-files: ignore git symlinks
29822         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
29823         than ls-files, to ignore git symlinks.
29824
29825         maint.mk: import improvements from m4
29826         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
29827         (move_if_change): Delete unused macro.
29828         (news-date-check, vc-diff-check): Support VPATH builds.
29829         (announcement): Likewise.  Split --bootstrap-tools list...
29830         (boostrap-tools): ...into separate list, which can be overridden
29831         in cfg.mk.
29832         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
29833         requiring dependency on useless-if-before-free module.
29834         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
29835         Support VPATH builds.
29836
29837 2009-04-24  Jim Meyering  <meyering@redhat.com>
29838
29839         maint.mk: remove coreutils-specific rules and variables
29840         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
29841         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
29842         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
29843
29844         maint.mk: remove obsolete rule
29845         * top/maint.mk (rel-check): Remove rule.
29846         (WGET, WGETFLAGS): Remove now-unused variables.
29847
29848 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29849
29850         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
29851         consistency.
29852
29853         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
29854         '$(PATH_SEPARATOR)' instead of ':'.
29855
29856 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29857
29858         * lib/getopt1.c (main): Use 'const' for static array.
29859
29860 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29861
29862         * top/maint.mk: Sync with coreutils.
29863         * NEWS: Explain incompatibilities.
29864
29865 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29866             Bruno Haible  <bruno@clisp.org>
29867
29868         Fix cross-compilation results.
29869         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
29870         statement, as third argument of AC_TRY_RUN.
29871         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
29872         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
29873         Likewise.
29874         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
29875         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
29876         Likewise.
29877         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
29878         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
29879         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
29880
29881 2009-04-20  Bruno Haible  <bruno@clisp.org>
29882
29883         Avoid test failure on mingw.
29884         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
29885
29886 2009-04-20  Bruno Haible  <bruno@clisp.org>
29887
29888         Avoid compilation error on mingw.
29889         * modules/localename-tests (Depends-on): Add locale.
29890
29891 2009-04-19  Bruno Haible  <bruno@clisp.org>
29892
29893         Support for building a shared library on Windows platforms.
29894         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
29895         (main): Test the presence of UNINORM_NFC here.
29896         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
29897         (main): Test the presence of UNINORM_NFD here.
29898         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
29899         (main): Test the presence of UNINORM_NFKC here.
29900         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
29901         (main): Test the presence of UNINORM_NFKD here.
29902
29903 2009-04-19  Bruno Haible  <bruno@clisp.org>
29904
29905         Avoid a compiler warning.
29906         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
29907         Change type of variable 'sequence'.
29908
29909 2009-04-19  Bruno Haible  <bruno@clisp.org>
29910
29911         * modules/configmake (Makefile.am): When the contents of configmake.h
29912         does not change, arrange to preserve its modification time.
29913
29914 2009-04-17  Simon Josefsson  <simon@josefsson.org>
29915
29916         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
29917         gettext domain.
29918
29919 2009-04-16  Jim Meyering  <meyering@redhat.com>
29920
29921         useless-if-before-free: improve conversion code
29922         * build-aux/useless-if-before-free: Adjust code-in-comment to match
29923         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
29924
29925 2009-04-14  Bruno Haible  <bruno@clisp.org>
29926
29927         * modules/fcntl (Depends-on): Add extensions.
29928         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
29929
29930 2009-04-12  Ben Pfaff  <blp@gnu.org>
29931
29932         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
29933         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
29934
29935 2009-03-20  Ben Pfaff  <blp@gnu.org>
29936
29937         Make rename replace existing destinations on Windows.
29938         * m4/rename.m4: Add test for Mingw.
29939         * lib/rename.c: Add rename replacement that uses MoveFileEx with
29940         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
29941         * doc/posix-functions/rename.texi: Document.
29942
29943 2009-04-10  Bruno Haible  <bruno@clisp.org>
29944
29945         New include file "iconveh.h".
29946         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
29947         * lib/striconveh.h: Include it.
29948         (enum iconv_ilseq_handler): Remove definition.
29949         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
29950         striconveh.h.
29951         * lib/striconveha.c: Include striconveh.h.
29952         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
29953         * modules/striconveh (Files): Add lib/iconveh.h.
29954         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
29955         lib/striconveh.h.
29956
29957 2009-04-10  Bruno Haible  <bruno@clisp.org>
29958
29959         * lib/uniconv.h: Update comment.
29960
29961 2009-04-10  Bruno Haible  <bruno@clisp.org>
29962
29963         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
29964         always.
29965         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29966         * lib/unistr/u16-mbtouc-aux.c: Likewise.
29967         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
29968         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
29969         "unistring-notinline.h", so that the function gets defined always.
29970         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29971         * lib/unistr/u8-uctomb.c: Likewise.
29972         * lib/unistr/u16-mbtouc.c: Likewise.
29973         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
29974         * lib/unistr/u16-uctomb.c: Likewise.
29975         * lib/unistr/u32-mbtouc.c: Likewise.
29976         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29977         * lib/unistr/u32-uctomb.c: Likewise.
29978
29979 2009-04-10  Bruno Haible  <bruno@clisp.org>
29980
29981         Mark 'utime' obsolete.
29982         * modules/utime (Status, Notice): New sections.
29983         Suggested by Jim Meyering.
29984
29985         Fix cross-compile guess for utime test.
29986         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
29987         autoconf.
29988         * doc/posix-functions/utime.texi: Give more precisions.
29989         Reported by Jan <ipif@ymail.com>.
29990
29991 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
29992
29993         filevercmp: correct today's change
29994         * lib/filevercmp.c: Also handle coreutils' test inputs.
29995         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
29996
29997         Fix regression in 'filevercmp' module. Thanks Sven Joachim
29998         for reporting it.
29999         * lib/filevercmp.c: Special handle for "", "." and "..".
30000         * tests/test-filevercmp.c: Enlarge the set suite.
30001
30002 2009-04-07  Jim Meyering  <meyering@redhat.com>
30003
30004         useless-if-before-free: show how to remove braced useless free, too
30005         * build-aux/useless-if-before-free: still only in a comment, though.
30006
30007 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
30008
30009         maint.mk: import changes to syntax-check macros from coreutils
30010         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
30011         Use them in the relevant macros.
30012
30013 2009-04-06  Bruno Haible  <bruno@clisp.org>
30014
30015         Fix unportable use of bit-fields.
30016         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
30017         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
30018         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
30019
30020 2009-04-06  Bruno Haible  <bruno@clisp.org>
30021
30022         Avoid test failures on AIX and OSF/1.
30023         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
30024         that malloc(0) = NULL.
30025         * tests/unicase/test-u8-tolower.c (check): Likewise.
30026         * tests/unicase/test-u8-totitle.c (check): Likewise.
30027         * tests/unicase/test-u8-toupper.c (check): Likewise.
30028         * tests/unicase/test-u16-casefold.c (check): Likewise.
30029         * tests/unicase/test-u16-tolower.c (check): Likewise.
30030         * tests/unicase/test-u16-totitle.c (check): Likewise.
30031         * tests/unicase/test-u16-toupper.c (check): Likewise.
30032         * tests/unicase/test-u32-casefold.c (check): Likewise.
30033         * tests/unicase/test-u32-tolower.c (check): Likewise.
30034         * tests/unicase/test-u32-totitle.c (check): Likewise.
30035         * tests/unicase/test-u32-toupper.c (check): Likewise.
30036         * tests/uninorm/test-u8-nfc.c (check): Likewise.
30037         * tests/uninorm/test-u8-nfd.c (check): Likewise.
30038         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
30039         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
30040         * tests/uninorm/test-u16-nfc.c (check): Likewise.
30041         * tests/uninorm/test-u16-nfd.c (check): Likewise.
30042         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
30043         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
30044         * tests/uninorm/test-u32-nfc.c (check): Likewise.
30045         * tests/uninorm/test-u32-nfd.c (check): Likewise.
30046         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
30047         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
30048
30049 2009-04-05  Bruno Haible  <bruno@clisp.org>
30050
30051         Work around an autoconf limitation.
30052         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
30053         comment line if it would be longer than 3 KB.
30054
30055 2009-04-05  Bruno Haible  <bruno@clisp.org>
30056
30057         Avoid test failure with libiconv-1.13.
30058         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
30059         of the expected test results.
30060
30061 2009-04-05  Bruno Haible  <bruno@clisp.org>
30062
30063         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
30064         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
30065         that it should be installed.
30066
30067 2009-04-05  Bruno Haible  <bruno@clisp.org>
30068
30069         * gnulib-tool: New option --copy-file.
30070         (func_usage): Document it.
30071         (func_dest_tmpfilename): Moved out of func_import.
30072         (func_add_file, func_update_file): New functions, extracted from
30073         func_import.
30074         (func_import): Update.
30075
30076 2009-04-05  Karl Berry  <karl@gnu.org>
30077
30078         * README: prominently mention gnulib-tool.
30079         Rearrange sections so getting the code is near the top.
30080
30081 2009-04-05  Bruno Haible  <bruno@clisp.org>
30082
30083         * lib/unicase.h: Mention u*_cmp2.
30084         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
30085         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
30086         * lib/unicase/ulc-casecmp.c: Likewise.
30087         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
30088         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
30089         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
30090         unistr/u8-cmp.
30091         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
30092         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
30093         unistr/u16-cmp.
30094         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
30095         unistr/u32-cmp.
30096
30097         * lib/uninorm.h: Mention u*_cmp2.
30098         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
30099         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
30100         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
30101         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
30102         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
30103         unistr/u8-cmp.
30104         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
30105         unistr/u16-cmp.
30106         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
30107         unistr/u32-cmp.
30108
30109         New module 'unistr/u32-cmp2'.
30110         * lib/unistr/u32-cmp2.c: New file.
30111         * modules/unistr/u32-cmp2: New file.
30112
30113         New module 'unistr/u16-cmp2'.
30114         * lib/unistr/u16-cmp2.c: New file.
30115         * modules/unistr/u16-cmp2: New file.
30116
30117         New module 'unistr/u8-cmp2'.
30118         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
30119         * lib/unistr/u8-cmp2.c: New file.
30120         * lib/unistr/u-cmp2.h: New file.
30121         * modules/unistr/u8-cmp2: New file.
30122
30123 2009-04-05  Bruno Haible  <bruno@clisp.org>
30124
30125         * lib/unictype.h (uc_property_is_valid): New macro.
30126         * tests/unictype/test-pr_byname.c (main): Use it.
30127
30128         * lib/unistr.h: Doc fixes.
30129         * lib/uniconv.h: Doc fixes.
30130         * lib/unictype.h: Doc fixes.
30131
30132 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
30133
30134         Port coreutils 7.2 to Solaris 8.
30135
30136         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
30137         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
30138         for Solaris 8.  This is a bit of a hack, as it means it's the
30139         caller's responsibility to add -lnsl if needed, but most likely it
30140         won't be needed since only getaddrinfo uses this and getaddrinfo
30141         isn't needed on Solaris 8.
30142
30143         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
30144         problem to Solaris 8 encountered with coreutils 7.2, which
30145         resulted in a message "fnmatch.c:292: warning: passing argument 4
30146         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
30147         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
30148
30149 2009-04-03  Simon Josefsson  <simon@josefsson.org>
30150
30151         * m4/ld-version-script.m4: Add FIXME comment.
30152
30153 2009-04-02  Simon Josefsson  <simon@josefsson.org>
30154
30155         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
30156         SOVERSION variable.
30157
30158 2009-04-02  Bruno Haible  <bruno@clisp.org>
30159
30160         * Makefile (info, html, dvi, pdf): Combine the rules.
30161         Suggested by Jim Meyering.
30162
30163 2009-04-01  Bruno Haible  <bruno@clisp.org>
30164
30165         * Makefile (info, html, dvi, pdf): New targets.
30166         Reported by Reuben Thomas <rrt@sc3d.org>.
30167
30168 2009-04-01  Bruno Haible  <bruno@clisp.org>
30169
30170         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
30171         can be put into PATH.
30172         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
30173
30174 2009-04-01  Bruno Haible  <bruno@clisp.org>
30175
30176         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
30177
30178 2009-04-01  Bruno Haible  <bruno@clisp.org>
30179
30180         Rename module 'visibility'.
30181         * modules/lib-symbol-visibility: Renamed from modules/visibility.
30182         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
30183         * doc/gnulib.texi: Update.
30184         * MODULES.html.sh (Misc): Update.
30185         * NEWS: Mention the change.
30186
30187 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30188
30189         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
30190         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
30191         Eric Blake <ebb9@byu.net> for review.
30192         * MODULES.html.sh: Add lib-msvc-compat.
30193         * doc/gnulib.texi: Link to new section.
30194         * m4/ld-output-def.m4: New file.
30195         * doc/ld-output-def.texi: New file.
30196
30197 2009-04-01  Simon Josefsson  <simon@josefsson.org>
30198
30199         Rename ld-version-script to lib-symbol-versions.  Suggested by
30200         Bruno Haible <bruno@clisp.org>.
30201         * modules/ld-version-script: Renamed to lib-symbol-versions.
30202         * doc/ld-version-script.texi: Fix module name.
30203         * MODULES.html.sh: Add lib-symbol-versions.
30204
30205 2009-03-31  Simon Josefsson  <simon@josefsson.org>
30206
30207         * modules/u64-tests: New file.
30208         * tests/test-u64.c: New file.
30209
30210 2009-03-04  Simon Josefsson  <simon@josefsson.org>
30211
30212         * MODULES.html.sh: Mention u64.
30213         * modules/u64: New module.
30214         * modules/crypto/sha512: Depend on u64 module instead of providing
30215         u64.h.
30216
30217 2009-03-27  Eric Blake  <ebb9@byu.net>
30218
30219         test-strerror: make debugging EAI_SYSTEM easier
30220         * modules/getaddrinfo-tests (Depends-on): Add strerror.
30221         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
30222         failure was EAI_SYSTEM.
30223
30224 2009-03-25  Bruno Haible  <bruno@clisp.org>
30225
30226         Fix a problem with --enable-relocatable on Solaris 7.
30227         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
30228         since 2008-02-24.
30229
30230 2009-03-25  Eric Blake  <ebb9@byu.net>
30231
30232         test-sockets: avoid gcc warning
30233         * tests/test-sockets.c (main): Silence compiler warning.
30234
30235 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
30236
30237         New modules nproc, pthread, contributed by Glen Lenker.
30238
30239         * MODULES.html.sh: Add pthread, nproc.
30240         * lib/nproc.c: New file.
30241         * lib/nproc.h: New file.
30242         * lib/pthread.in.h: New file.
30243         * m4/pthread.m4: New file.
30244         * modules/nproc: New file.
30245         * modules/pthread: New file.
30246
30247 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30248
30249         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
30250         New variable.
30251
30252 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
30253
30254         filevercmp: handle simple~ and numbered.~3~ backup suffixes
30255         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
30256         * tests/test-filevercmp.c: Add tests for backup suffixes.
30257
30258 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30259
30260         * modules/stdlib (Depends-on): Add stdint, needed when defining
30261         struct random_data on, for example, HP-UX 10.20.  Reported by
30262         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30263
30264 2009-03-24  Simon Josefsson  <simon@josefsson.org>
30265
30266         * lib/readline.c (readline): Call fflush on stdout after printing
30267         prompt.
30268
30269 2009-03-20  Bruno Haible  <bruno@clisp.org>
30270
30271         Remove dependency from 'close' module to -lws2_32 on native Windows.
30272         * lib/close-hook.h: New file.
30273         * lib/close-hook.c: New file.
30274         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
30275         w32sock.h.
30276         (_gl_close_fd_maybe_socket): Remove function.
30277         (rpl_close): Invoke execute_all_close_hooks instead of
30278         _gl_close_fd_maybe_socket.
30279         * lib/sockets.c: Include close-hook.h, w32sock.h.
30280         (close_fd_maybe_socket): New function, essentially from lib/close.c.
30281         (close_sockets_hook): New variable.
30282         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
30283         (gl_sockets_cleanup): Unregister it.
30284         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
30285         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
30286         * modules/close-hook: New file.
30287         * modules/close (Files): Remove lib/w32sock.h.
30288         (Depends-on): Add close-hook.
30289         (Link): Remove section.
30290         * modules/sockets (Files): Add lib/w32sock.h.
30291         (Depends-on): Add close-hook.
30292         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
30293         invocation.
30294         * NEWS: Mention that LIB_CLOSE is gone.
30295
30296 2009-03-23  Eric Blake  <ebb9@byu.net>
30297
30298         signal-tests: test previous patch
30299         * tests/test-signal.c: New file.
30300         * modules/signal-tests: Likewise.
30301
30302         signal.h: always support 'volatile sig_atomic_t'
30303         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
30304         (gl_SIGNAL_H_DEFAULTS): Add a default.
30305         * modules/signal (Makefile.am): Substitute if needed.
30306         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
30307         users can blindly add volatile.
30308         * doc/posix-headers/signal.texi (signal.h): Document it.
30309         Reported by Matthew Woehlke.
30310
30311 2009-03-23  Jim Meyering  <meyering@redhat.com>
30312
30313         pathmax: PATH_MAX: use pathconf only when available
30314         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
30315         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
30316         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
30317         This avoids a link failure in a PSP cross-compilation environment
30318         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
30319
30320         * lib/vasnprintf.c (divide): Fix typo in comment.
30321
30322 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30323
30324         * gnulib-tool (func_filter_filelist): Fix comment.
30325
30326 2009-03-20  Bruno Haible  <bruno@clisp.org>
30327
30328         Make sockets.h self-contained.
30329         * lib/sockets.c: Include sockets.h first.
30330         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
30331
30332 2009-03-19  Eric Blake  <ebb9@byu.net>
30333
30334         doc: mention more functions added in cygwin 1.7.0
30335         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
30336         addition.
30337         * doc/posix-functions/log2f.texi: Likewise.
30338
30339 2009-03-19  Jim Meyering  <meyering@redhat.com>
30340
30341         fsusage: avoid syntax error due to statement-before-declaration
30342         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
30343         after all declarations.  Reported by Matthew Woehlke in
30344         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
30345
30346 2009-03-18  Eric Blake  <ebb9@byu.net>
30347
30348         build-aux/compile: sync from automake
30349         * build-aux/compile: New file, from automake.
30350         * config/srclist.txt: Mention build-aux/compile.
30351
30352 2009-03-17  Bruno Haible  <bruno@clisp.org>
30353
30354         * lib/git-merge-changelog.c: Fix typo in comment.
30355         Reported by Reuben Thomas <rrt@sc3d.org>.
30356
30357 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
30358
30359         * m4/regex.m4: update and improve help for
30360         --without-included-regex.
30361
30362 2009-03-17  Simon Josefsson  <simon@josefsson.org>
30363
30364         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
30365         failure on missing include files.
30366
30367 2009-03-17  Eric Blake  <ebb9@byu.net>
30368
30369         doc: mention more functions added in cygwin 1.7.0
30370         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
30371         addition.
30372         * doc/posix-functions/fwscanf.texi: Likewise.
30373         * doc/posix-functions/swprintf.texi: Likewise.
30374         * doc/posix-functions/swscanf.texi: Likewise.
30375         * doc/posix-functions/vfwprintf.texi: Likewise.
30376         * doc/posix-functions/vfwscanf.texi: Likewise.
30377         * doc/posix-functions/vswprintf.texi: Likewise.
30378         * doc/posix-functions/vswscanf.texi: Likewise.
30379         * doc/posix-functions/vwprintf.texi: Likewise.
30380         * doc/posix-functions/vwscanf.texi: Likewise.
30381         * doc/posix-functions/wcscasecmp.texi: Likewise.
30382         * doc/posix-functions/wcsdup.texi: Likewise.
30383         * doc/posix-functions/wcsftime.texi: Likewise.
30384         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30385         * doc/posix-functions/wprintf.texi: Likewise.
30386         * doc/posix-functions/wscanf.texi: Likewise.
30387         * doc/glibc-functions/gethostbyname2.texi: Likewise.
30388
30389 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30390
30391         maint.mk: really add $(AM_MAKEFLAGS)
30392         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
30393         was inadvertently omitted in the last commit.
30394         Spotted by Bruno Haible.
30395
30396         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
30397         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
30398         $(AM_MAKEFLAGS)' rather than plain `make'.
30399
30400         gnulib-tool: execute $MAKE not make
30401         * gnulib-tool: Default $MAKE to 'make'.
30402         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
30403         than make.  Initialize $MAKE in the do-autobuild script.
30404
30405         gnulib-tool: use $MAKE not make in generated files
30406         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
30407         make, in generated files.  Initialize $MAKE in the do-autobuild
30408         script.
30409
30410         * top/GNUmakefile (_have-git-version-gen): Fix typo.
30411
30412         GNUmakefile: disable parallelism only for multiple, recursive targets
30413         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
30414         additions in the Makefile.
30415         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
30416         by Automake.
30417         (.NOTPARALLEL): Only disable parallel builds if multiple targets
30418         are listed on the command line and at least one of them is
30419         listed in $(ALL_RECURSIVE_TARGETS).
30420
30421 2009-03-14  Bruno Haible  <bruno@clisp.org>
30422
30423         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
30424         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
30425         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
30426         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
30427         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
30428         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
30429         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
30430         unistr/u8-uctomb.
30431         * modules/unistr/u8-strchr (Depends-on): Likewise.
30432         * modules/unistr/u8-strrchr (Depends-on): Likewise.
30433         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
30434         unistr/u16-uctomb.
30435         * modules/unistr/u16-strchr (Depends-on): Likewise.
30436         * modules/unistr/u16-strrchr (Depends-on): Likewise.
30437
30438 2009-03-12  Bruno Haible  <bruno@clisp.org>
30439
30440         Work around select() bug on Interix 3.5.
30441         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
30442         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
30443         * m4/select.m4: New file.
30444         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
30445         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
30446         * modules/select (Files): Add m4/select.m4.
30447         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
30448         * modules/nanosleep (Depends-on): Add select.
30449         * modules/poll (Depends-on): Likewise.
30450         * doc/posix-functions/select.texi: Mention the Interix bug.
30451         Reported by Markus Duft <mduft@gentoo.org>.
30452
30453         * lib/select.c: Renamed from lib/winsock-select.c.
30454         * modules/select (Files): Add lib/select.c, remove
30455         lib/winsock-select.c.
30456         (configure.ac): Update.
30457
30458 2009-03-12  Jim Meyering  <meyering@redhat.com>
30459
30460         avoid gcc warnings about unused macro definitions
30461         * lib/readtokens.c (STREQ): Remove unused definition.
30462         * lib/xmalloc.c (SIZE_MAX): Likewise.
30463         * lib/openat-die.c (N_): Likewise.
30464         * lib/mountlist.c (SIZE_MAX): Remove definition.
30465         Instead, include <stdint.h>.
30466         * lib/readutmp.c: Likewise.
30467         * modules/readutmp (Depends-on): Add stdint.
30468         * modules/mountlist (Depends-on): Add stdint.
30469         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
30470
30471 2009-03-10  Bruno Haible  <bruno@clisp.org>
30472
30473         Tests for module 'mbmemcasecoll'.
30474         * modules/mbmemcasecoll-tests: New file.
30475         * tests/test-mbmemcasecoll1.sh: New file.
30476         * tests/test-mbmemcasecoll2.sh: New file.
30477         * tests/test-mbmemcasecoll3.sh: New file.
30478         * tests/test-mbmemcasecoll.c: New file.
30479
30480         New module 'mbmemcasecoll'.
30481         * lib/mbmemcasecoll.h: New file.
30482         * lib/mbmemcasecoll.c: New file.
30483         * modules/mbmemcasecoll: New file.
30484
30485         * tests/test-mbmemcasecmp.h: New file, extracted from
30486         tests/test-mbmemcasecmp.c.
30487         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
30488         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
30489         (main): Update.
30490         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
30491
30492 2009-03-09  Bruno Haible  <bruno@clisp.org>
30493
30494         Tests for module 'mbmemcasecmp'.
30495         * modules/mbmemcasecmp-tests: New file.
30496         * tests/test-mbmemcasecmp1.sh: New file.
30497         * tests/test-mbmemcasecmp2.sh: New file.
30498         * tests/test-mbmemcasecmp3.sh: New file.
30499         * tests/test-mbmemcasecmp.c: New file.
30500
30501         New module 'mbmemcasecmp'.
30502         * lib/mbmemcasecmp.h: New file.
30503         * lib/mbmemcasecmp.c: New file.
30504         * modules/mbmemcasecmp: New file.
30505
30506 2009-03-09  Bruno Haible  <bruno@clisp.org>
30507
30508         Tests for module 'unicase/ulc-casecoll'.
30509         * modules/unicase/ulc-casecoll-tests: New file.
30510         * tests/unicase/test-ulc-casecoll1.sh: New file.
30511         * tests/unicase/test-ulc-casecoll2.sh: New file.
30512         * tests/unicase/test-ulc-casecoll.c: New file.
30513
30514         New module 'unicase/ulc-casecoll'.
30515         * lib/unicase.h (ulc_casecoll): New declaration.
30516         * lib/unicase/ulc-casecoll.c: New file.
30517         * modules/unicase/ulc-casecoll: New file.
30518
30519         New module 'unicase/ulc-casexfrm'.
30520         * lib/unicase.h (ulc_casexfrm): New declaration.
30521         * lib/unicase/ulc-casexfrm.c: New file.
30522         * modules/unicase/ulc-casexfrm: New file.
30523
30524 2009-03-09  Bruno Haible  <bruno@clisp.org>
30525
30526         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
30527         invocations.
30528
30529         * m4/mbscasecmp.m4: Remove file.
30530         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
30531         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
30532
30533         * m4/mbscasestr.m4: Remove file.
30534         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
30535         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
30536
30537         * m4/mbschr.m4: Remove file.
30538         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
30539         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
30540
30541         * m4/mbscspn.m4: Remove file.
30542         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
30543         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
30544
30545         * m4/mbslen.m4: Remove file.
30546         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
30547         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
30548
30549         * m4/mbsncasecmp.m4: Remove file.
30550         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
30551         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
30552
30553         * m4/mbsnlen.m4: Remove file.
30554         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
30555         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
30556
30557         * m4/mbspbrk.m4: Remove file.
30558         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
30559         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
30560
30561         * m4/mbspcasecmp.m4: Remove file.
30562         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
30563         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
30564
30565         * m4/mbsrchr.m4: Remove file.
30566         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
30567         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
30568
30569         * m4/mbssep.m4: Remove file.
30570         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
30571         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
30572
30573         * m4/mbsspn.m4: Remove file.
30574         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
30575         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
30576
30577         * m4/mbsstr.m4: Remove file.
30578         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
30579         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
30580
30581         * m4/mbstok_r.m4: Remove file.
30582         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
30583         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
30584
30585         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
30586
30587         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
30588         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
30589
30590         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
30591
30592 2009-03-08  Bruno Haible  <bruno@clisp.org>
30593
30594         Tests for module 'unicase/ulc-casecmp'.
30595         * modules/unicase/ulc-casecmp-tests: New file.
30596         * tests/unicase/test-ulc-casecmp1.sh: New file.
30597         * tests/unicase/test-ulc-casecmp2.sh: New file.
30598         * tests/unicase/test-ulc-casecmp.c: New file.
30599
30600         New module 'unicase/ulc-casecmp'.
30601         * lib/unicase.h (ulc_casecmp): New declaration.
30602         * lib/unicase/ulc-casecmp.c: New file.
30603         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
30604         'const SRC_UNIT *'.
30605         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
30606         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
30607         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
30608         * modules/unicase/ulc-casecmp: New file.
30609
30610         Tests for module 'unicase/u32-is-cased'.
30611         * modules/unicase/u32-is-cased-tests: New file.
30612         * tests/unicase/test-u32-is-cased.c: New file.
30613
30614         Tests for module 'unicase/u16-is-cased'.
30615         * modules/unicase/u16-is-cased-tests: New file.
30616         * tests/unicase/test-u16-is-cased.c: New file.
30617
30618         Tests for module 'unicase/u8-is-cased'.
30619         * modules/unicase/u8-is-cased-tests: New file.
30620         * tests/unicase/test-u8-is-cased.c: New file.
30621         * tests/unicase/test-is-cased.h: New file.
30622
30623         New module 'unicase/u32-is-cased'.
30624         * lib/unicase/u32-is-cased.c: New file.
30625         * modules/unicase/u32-is-cased: New file.
30626
30627         New module 'unicase/u16-is-cased'.
30628         * lib/unicase/u16-is-cased.c: New file.
30629         * modules/unicase/u16-is-cased: New file.
30630
30631         New module 'unicase/u8-is-cased'.
30632         * lib/unicase/u8-is-cased.c: New file.
30633         * lib/unicase/u-is-cased.h: New file.
30634         * modules/unicase/u8-is-cased: New file.
30635
30636         Tests for module 'unicase/u32-is-casefolded'.
30637         * modules/unicase/u32-is-casefolded-tests: New file.
30638         * tests/unicase/test-u32-is-casefolded.c: New file.
30639
30640         Tests for module 'unicase/u16-is-casefolded'.
30641         * modules/unicase/u16-is-casefolded-tests: New file.
30642         * tests/unicase/test-u16-is-casefolded.c: New file.
30643
30644         Tests for module 'unicase/u8-is-casefolded'.
30645         * modules/unicase/u8-is-casefolded-tests: New file.
30646         * tests/unicase/test-u8-is-casefolded.c: New file.
30647         * tests/unicase/test-is-casefolded.h: New file.
30648
30649         New module 'unicase/u32-is-casefolded'.
30650         * lib/unicase/u32-is-casefolded.c: New file.
30651         * modules/unicase/u32-is-casefolded: New file.
30652
30653         New module 'unicase/u16-is-casefolded'.
30654         * lib/unicase/u16-is-casefolded.c: New file.
30655         * modules/unicase/u16-is-casefolded: New file.
30656
30657         New module 'unicase/u8-is-casefolded'.
30658         * lib/unicase/u8-is-casefolded.c: New file.
30659         * modules/unicase/u8-is-casefolded: New file.
30660
30661         Tests for module 'unicase/u32-is-titlecase'.
30662         * modules/unicase/u32-is-titlecase-tests: New file.
30663         * tests/unicase/test-u32-is-titlecase.c: New file.
30664
30665         Tests for module 'unicase/u16-is-titlecase'.
30666         * modules/unicase/u16-is-titlecase-tests: New file.
30667         * tests/unicase/test-u16-is-titlecase.c: New file.
30668
30669         Tests for module 'unicase/u8-is-titlecase'.
30670         * modules/unicase/u8-is-titlecase-tests: New file.
30671         * tests/unicase/test-u8-is-titlecase.c: New file.
30672         * tests/unicase/test-is-titlecase.h: New file.
30673
30674         New module 'unicase/u32-is-titlecase'.
30675         * lib/unicase/u32-is-titlecase.c: New file.
30676         * modules/unicase/u32-is-titlecase: New file.
30677
30678         New module 'unicase/u16-is-titlecase'.
30679         * lib/unicase/u16-is-titlecase.c: New file.
30680         * modules/unicase/u16-is-titlecase: New file.
30681
30682         New module 'unicase/u8-is-titlecase'.
30683         * lib/unicase/u8-is-titlecase.c: New file.
30684         * modules/unicase/u8-is-titlecase: New file.
30685
30686         Tests for module 'unicase/u32-is-lowercase'.
30687         * modules/unicase/u32-is-lowercase-tests: New file.
30688         * tests/unicase/test-u32-is-lowercase.c: New file.
30689
30690         Tests for module 'unicase/u16-is-lowercase'.
30691         * modules/unicase/u16-is-lowercase-tests: New file.
30692         * tests/unicase/test-u16-is-lowercase.c: New file.
30693
30694         Tests for module 'unicase/u8-is-lowercase'.
30695         * modules/unicase/u8-is-lowercase-tests: New file.
30696         * tests/unicase/test-u8-is-lowercase.c: New file.
30697         * tests/unicase/test-is-lowercase.h: New file.
30698
30699         New module 'unicase/u32-is-lowercase'.
30700         * lib/unicase/u32-is-lowercase.c: New file.
30701         * modules/unicase/u32-is-lowercase: New file.
30702
30703         New module 'unicase/u16-is-lowercase'.
30704         * lib/unicase/u16-is-lowercase.c: New file.
30705         * modules/unicase/u16-is-lowercase: New file.
30706
30707         New module 'unicase/u8-is-lowercase'.
30708         * lib/unicase/u8-is-lowercase.c: New file.
30709         * modules/unicase/u8-is-lowercase: New file.
30710
30711         Tests for module 'unicase/u32-is-uppercase'.
30712         * modules/unicase/u32-is-uppercase-tests: New file.
30713         * tests/unicase/test-u32-is-uppercase.c: New file.
30714
30715         Tests for module 'unicase/u16-is-uppercase'.
30716         * modules/unicase/u16-is-uppercase-tests: New file.
30717         * tests/unicase/test-u16-is-uppercase.c: New file.
30718
30719         Tests for module 'unicase/u8-is-uppercase'.
30720         * modules/unicase/u8-is-uppercase-tests: New file.
30721         * tests/unicase/test-u8-is-uppercase.c: New file.
30722         * tests/unicase/test-is-uppercase.h: New file.
30723
30724         New module 'unicase/u32-is-uppercase'.
30725         * lib/unicase/u32-is-uppercase.c: New file.
30726         * modules/unicase/u32-is-uppercase: New file.
30727
30728         New module 'unicase/u16-is-uppercase'.
30729         * lib/unicase/u16-is-uppercase.c: New file.
30730         * modules/unicase/u16-is-uppercase: New file.
30731
30732         New module 'unicase/u8-is-uppercase'.
30733         * lib/unicase/u8-is-uppercase.c: New file.
30734         * modules/unicase/u8-is-uppercase: New file.
30735
30736         New module 'unicase/u32-is-invariant'.
30737         * lib/unicase/u32-is-invariant.c: New file.
30738         * modules/unicase/u32-is-invariant: New file.
30739
30740         New module 'unicase/u16-is-invariant'.
30741         * lib/unicase/u16-is-invariant.c: New file.
30742         * modules/unicase/u16-is-invariant: New file.
30743
30744         New module 'unicase/u8-is-invariant'.
30745         * lib/unicase/u8-is-invariant.c: New file.
30746         * lib/unicase/invariant.h: New file.
30747         * lib/unicase/u-is-invariant.h: New file.
30748         * modules/unicase/u8-is-invariant: New file.
30749
30750         Tests for module 'unicase/u32-casecoll'.
30751         * modules/unicase/u32-casecoll-tests: New file.
30752         * tests/unicase/test-u32-casecoll.c: New file.
30753
30754         Tests for module 'unicase/u16-casecoll'.
30755         * modules/unicase/u16-casecoll-tests: New file.
30756         * tests/unicase/test-u16-casecoll.c: New file.
30757
30758         Tests for module 'unicase/u8-casecoll'.
30759         * modules/unicase/u8-casecoll-tests: New file.
30760         * tests/unicase/test-u8-casecoll.c: New file.
30761
30762         New module 'unicase/u32-casecoll'.
30763         * lib/unicase/u32-casecoll.c: New file.
30764         * modules/unicase/u32-casecoll: New file.
30765
30766         New module 'unicase/u16-casecoll'.
30767         * lib/unicase/u16-casecoll.c: New file.
30768         * modules/unicase/u16-casecoll: New file.
30769
30770         New module 'unicase/u8-casecoll'.
30771         * lib/unicase/u8-casecoll.c: New file.
30772         * lib/unicase/u-casecoll.h: New file.
30773         * modules/unicase/u8-casecoll: New file.
30774
30775         New module 'unicase/u32-casexfrm'.
30776         * lib/unicase/u32-casexfrm.c: New file.
30777         * modules/unicase/u32-casexfrm: New file.
30778
30779         New module 'unicase/u16-casexfrm'.
30780         * lib/unicase/u16-casexfrm.c: New file.
30781         * modules/unicase/u16-casexfrm: New file.
30782
30783         New module 'unicase/u8-casexfrm'.
30784         * lib/unicase/u8-casexfrm.c: New file.
30785         * lib/unicase/u-casexfrm.h: New file.
30786         * modules/unicase/u8-casexfrm: New file.
30787
30788         Tests for module 'unicase/u32-casecmp'.
30789         * modules/unicase/u32-casecmp-tests: New file.
30790         * tests/unicase/test-u32-casecmp.c: New file.
30791
30792         Tests for module 'unicase/u16-casecmp'.
30793         * modules/unicase/u16-casecmp-tests: New file.
30794         * tests/unicase/test-u16-casecmp.c: New file.
30795
30796         Tests for module 'unicase/u8-casecmp'.
30797         * modules/unicase/u8-casecmp-tests: New file.
30798         * tests/unicase/test-u8-casecmp.c: New file.
30799         * tests/unicase/test-casecmp.h: New file.
30800
30801         New module 'unicase/u32-casecmp'.
30802         * lib/unicase/u32-casecmp.c: New file.
30803         * modules/unicase/u32-casecmp: New file.
30804
30805         New module 'unicase/u16-casecmp'.
30806         * lib/unicase/u16-casecmp.c: New file.
30807         * modules/unicase/u16-casecmp: New file.
30808
30809         New module 'unicase/u8-casecmp'.
30810         * lib/unicase/u8-casecmp.c: New file.
30811         * lib/unicase/u-casecmp.h: New file.
30812         * modules/unicase/u8-casecmp: New file.
30813
30814         Tests for module 'unicase/u32-casefold'.
30815         * modules/unicase/u32-casefold-tests: New file.
30816         * tests/unicase/test-u32-casefold.c: New file.
30817
30818         Tests for module 'unicase/u16-casefold'.
30819         * modules/unicase/u16-casefold-tests: New file.
30820         * tests/unicase/test-u16-casefold.c: New file.
30821
30822         Tests for module 'unicase/u8-casefold'.
30823         * modules/unicase/u8-casefold-tests: New file.
30824         * tests/unicase/test-u8-casefold.c: New file.
30825
30826         New module 'unicase/u32-casefold'.
30827         * lib/unicase/u32-casefold.c: New file.
30828         * modules/unicase/u32-casefold: New file.
30829
30830         New module 'unicase/u16-casefold'.
30831         * lib/unicase/u16-casefold.c: New file.
30832         * modules/unicase/u16-casefold: New file.
30833
30834         New module 'unicase/u8-casefold'.
30835         * lib/unicase/u8-casefold.c: New file.
30836         * lib/unicase/u-casefold.h: New file.
30837         * modules/unicase/u8-casefold: New file.
30838
30839         New module 'unicase/tocasefold'.
30840         * lib/unicase/casefold.h: New file.
30841         * lib/unicase/tocasefold.c: New file.
30842         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
30843         * modules/unicase/tocasefold: New file.
30844
30845         Tests for module 'unicase/u32-totitle'.
30846         * modules/unicase/u32-totitle-tests: New file.
30847         * tests/unicase/test-u32-totitle.c: New file.
30848
30849         Tests for module 'unicase/u16-totitle'.
30850         * modules/unicase/u16-totitle-tests: New file.
30851         * tests/unicase/test-u16-totitle.c: New file.
30852
30853         Tests for module 'unicase/u8-totitle'.
30854         * modules/unicase/u8-totitle-tests: New file.
30855         * tests/unicase/test-u8-totitle.c: New file.
30856
30857         New module 'unicase/u32-totitle'.
30858         * lib/unicase/u32-totitle.c: New file.
30859         * modules/unicase/u32-totitle: New file.
30860
30861         New module 'unicase/u16-totitle'.
30862         * lib/unicase/u16-totitle.c: New file.
30863         * modules/unicase/u16-totitle: New file.
30864
30865         New module 'unicase/u8-totitle'.
30866         * lib/unicase/u8-totitle.c: New file.
30867         * lib/unicase/u-totitle.h: New file.
30868         * modules/unicase/u8-totitle: New file.
30869
30870         Tests for module 'unicase/u32-tolower'.
30871         * modules/unicase/u32-tolower-tests: New file.
30872         * tests/unicase/test-u32-tolower.c: New file.
30873
30874         Tests for module 'unicase/u16-tolower'.
30875         * modules/unicase/u16-tolower-tests: New file.
30876         * tests/unicase/test-u16-tolower.c: New file.
30877
30878         Tests for module 'unicase/u8-tolower'.
30879         * modules/unicase/u8-tolower-tests: New file.
30880         * tests/unicase/test-u8-tolower.c: New file.
30881
30882         New module 'unicase/u32-tolower'.
30883         * lib/unicase/u32-tolower.c: New file.
30884         * modules/unicase/u32-tolower: New file.
30885
30886         New module 'unicase/u16-tolower'.
30887         * lib/unicase/u16-tolower.c: New file.
30888         * modules/unicase/u16-tolower: New file.
30889
30890         New module 'unicase/u8-tolower'.
30891         * lib/unicase/u8-tolower.c: New file.
30892         * modules/unicase/u8-tolower: New file.
30893
30894         Tests for module 'unicase/u32-toupper'.
30895         * modules/unicase/u32-toupper-tests: New file.
30896         * tests/unicase/test-u32-toupper.c: New file.
30897
30898         Tests for module 'unicase/u16-toupper'.
30899         * modules/unicase/u16-toupper-tests: New file.
30900         * tests/unicase/test-u16-toupper.c: New file.
30901
30902         Tests for module 'unicase/u8-toupper'.
30903         * modules/unicase/u8-toupper-tests: New file.
30904         * tests/unicase/test-u8-toupper.c: New file.
30905
30906         New module 'unicase/u32-toupper'.
30907         * lib/unicase/u32-toupper.c: New file.
30908         * modules/unicase/u32-toupper: New file.
30909
30910         New module 'unicase/u16-toupper'.
30911         * lib/unicase/u16-toupper.c: New file.
30912         * modules/unicase/u16-toupper: New file.
30913
30914         New module 'unicase/u8-toupper'.
30915         * lib/unicase/u8-toupper.c: New file.
30916         * modules/unicase/u8-toupper: New file.
30917
30918         New module 'unicase/u32-casemap'.
30919         * lib/unicase/u32-casemap.c: New file.
30920         * modules/unicase/u32-casemap: New file.
30921
30922         New module 'unicase/u16-casemap'.
30923         * lib/unicase/u16-casemap.c: New file.
30924         * modules/unicase/u16-casemap: New file.
30925
30926         New module 'unicase/u8-casemap'.
30927         * lib/unicase/unicasemap.h: New file.
30928         * lib/unicase/u8-casemap.c: New file.
30929         * lib/unicase/u-casemap.h: New file.
30930         * modules/unicase/u8-casemap: New file.
30931
30932         New module 'unicase/special-casing'.
30933         * lib/unicase/special-casing.h: New file.
30934         * lib/unicase/special-casing.c: New file.
30935         * lib/unicase/special-casing-table.gperf: New file, generated by
30936         gen-uni-tables.c.
30937         * modules/unicase/special-casing: New file.
30938
30939         Tests for module 'unicase/locale-language'.
30940         * modules/unicase/locale-language-tests: New file.
30941         * tests/unicase/test-locale-language.sh: New file.
30942         * tests/unicase/test-locale-language.c: New file.
30943
30944         New module 'unicase/locale-language'.
30945         * lib/unicase/locale-language.c: New file.
30946         * lib/unicase/locale-languages.gperf: New file.
30947         * modules/unicase/locale-language: New file.
30948
30949         Generate more tables for case conversion and case folding.
30950         * lib/gen-uni-tables.c (SCC_*): New enum items.
30951         (struct special_casing_rule): New type.
30952         (casing_rules, num_casing_rules, allocated_casing_rules): New
30953         variables.
30954         (add_casing_rule, fill_casing_rules): New functions.
30955         (struct casefold_rule): New type.
30956         (casefolding_rules, num_casefolding_rules,
30957         allocated_casefolding_rules): New variables.
30958         (fill_casefolding_rules): New function.
30959         (unicode_casefold): New variable.
30960         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
30961         sort_casing_rules, output_casing_rules): New functions.
30962         (main): Accept to more arguments: SpecialCasing.txt and
30963         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
30964         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
30965         Output mapping for casefolding.
30966
30967         * lib/unicase.h: Include stdbool.h, uninorm.h.
30968         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
30969         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
30970         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
30971         arguments.
30972         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
30973         resultp arguments.
30974         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
30975         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
30976         resultp arguments.
30977         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
30978         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
30979         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
30980         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
30981         declarations.
30982         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
30983
30984 2009-03-08  Bruno Haible  <bruno@clisp.org>
30985
30986         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30987         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
30988         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
30989         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30990
30991 2009-03-07  Bruno Haible  <bruno@clisp.org>
30992
30993         Adjust u*_normcmp, u*_normcoll API.
30994         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30995         u16_normcoll, u32_normcoll): Change failure conventions.
30996         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
30997         errno and return -1.
30998         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30999
31000 2009-03-07  Bruno Haible  <bruno@clisp.org>
31001
31002         Tests for module 'uninorm/u32-normcoll'.
31003         * modules/uninorm/u32-normcoll-tests: New file.
31004         * tests/uninorm/test-u32-normcoll.c: New file.
31005
31006         Tests for module 'uninorm/u16-normcoll'.
31007         * modules/uninorm/u16-normcoll-tests: New file.
31008         * tests/uninorm/test-u16-normcoll.c: New file.
31009
31010         Tests for module 'uninorm/u8-normcoll'.
31011         * modules/uninorm/u8-normcoll-tests: New file.
31012         * tests/uninorm/test-u8-normcoll.c: New file.
31013
31014 2009-03-07  Bruno Haible  <bruno@clisp.org>
31015
31016         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
31017         tests/uninorm/test-u32-normcmp.c.
31018         * tests/uninorm/test-u32-normcmp.c: Include it.
31019         (test_nonascii): New function, extracted from main. Add some more
31020         tests.
31021         (main): Invoke test_ascii and test_nonascii.
31022         * modules/uninorm/u32-normcmp-tests (Files): Add
31023         tests/uninorm/test-u32-normcmp.h.
31024         (Depends-on): Remove uninorm/u32-normcmp.
31025
31026         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
31027         tests/uninorm/test-u16-normcmp.c.
31028         * tests/uninorm/test-u16-normcmp.c: Include it.
31029         (test_nonascii): New function, extracted from main. Add some more
31030         tests.
31031         (main): Invoke test_ascii and test_nonascii.
31032         * modules/uninorm/u16-normcmp-tests (Files): Add
31033         tests/uninorm/test-u16-normcmp.h.
31034         (Depends-on): Remove uninorm/u16-normcmp.
31035
31036         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
31037         tests/uninorm/test-u8-normcmp.c.
31038         * tests/uninorm/test-u8-normcmp.c: Include it.
31039         (test_nonascii): New function, extracted from main. Add some more
31040         tests.
31041         (main): Invoke test_ascii and test_nonascii.
31042         * modules/uninorm/u8-normcmp-tests (Files): Add
31043         tests/uninorm/test-u8-normcmp.h.
31044         (Depends-on): Remove uninorm/u8-normcmp.
31045
31046 2009-03-07  Bruno Haible  <bruno@clisp.org>
31047
31048         New module 'uninorm/u32-normcoll'.
31049         * lib/uninorm/u32-normcoll.c: New file.
31050         * modules/uninorm/u32-normcoll: New file.
31051
31052         New module 'uninorm/u16-normcoll'.
31053         * lib/uninorm/u16-normcoll.c: New file.
31054         * modules/uninorm/u16-normcoll: New file.
31055
31056         New module 'uninorm/u8-normcoll'.
31057         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
31058         declarations.
31059         * lib/uninorm/u8-normcoll.c: New file.
31060         * lib/uninorm/u-normcoll.h: New file.
31061         * modules/uninorm/u8-normcoll: New file.
31062
31063         New module 'uninorm/u32-normxfrm'.
31064         * lib/uninorm/u32-normxfrm.c: New file.
31065         * modules/uninorm/u32-normxfrm: New file.
31066
31067         New module 'uninorm/u16-normxfrm'.
31068         * lib/uninorm/u16-normxfrm.c: New file.
31069         * modules/uninorm/u16-normxfrm: New file.
31070
31071         New module 'uninorm/u8-normxfrm'.
31072         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
31073         declarations.
31074         * lib/uninorm/u8-normxfrm.c: New file.
31075         * lib/uninorm/u-normxfrm.h: New file.
31076         * modules/uninorm/u8-normxfrm: New file.
31077
31078 2009-03-07  Bruno Haible  <bruno@clisp.org>
31079
31080         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
31081         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
31082         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
31083
31084 2009-03-07  Bruno Haible  <bruno@clisp.org>
31085
31086         New module 'memxfrm'.
31087         * lib/memxfrm.h: New file.
31088         * lib/memxfrm.c: New file.
31089         * modules/memxfrm: New file.
31090
31091 2009-03-07  Bruno Haible  <bruno@clisp.org>
31092
31093         New module 'memcmp2'.
31094         * lib/memcmp2.h: New file.
31095         * lib/memcmp2.c: New file.
31096         * modules/memcmp2: New file.
31097
31098 2009-03-07  Bruno Haible  <bruno@clisp.org>
31099
31100         Tests for module 'uninorm/decomposing-form'.
31101         * modules/uninorm/decomposing-form-tests: New file.
31102         * tests/uninorm/test-decomposing-form.c: New file.
31103
31104         New module 'uninorm/decomposing-form'.
31105         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
31106         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
31107         Add 'decomposing_variant' field.
31108         * lib/uninorm/decomposing-form.c: New file.
31109         * lib/uninorm/nfc.c (uninorm_nfc): Update.
31110         * lib/uninorm/nfd.c (uninorm_nfd): Update.
31111         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
31112         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
31113         * modules/uninorm/decomposing-form: New file.
31114         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
31115         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
31116
31117 2009-03-07  Bruno Haible  <bruno@clisp.org>
31118
31119         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
31120         strings.
31121
31122 2009-03-06  Bruno Haible  <bruno@clisp.org>
31123
31124         Tests for module 'uninorm/u32-normcmp'.
31125         * tests/uninorm/test-u32-normcmp.c: New file.
31126         * modules/uninorm/u32-normcmp-tests: New file.
31127
31128         Tests for module 'uninorm/u16-normcmp'.
31129         * tests/uninorm/test-u16-normcmp.c: New file.
31130         * modules/uninorm/u16-normcmp-tests: New file.
31131
31132         Tests for module 'uninorm/u8-normcmp'.
31133         * tests/uninorm/test-u8-normcmp.c: New file.
31134         * modules/uninorm/u8-normcmp-tests: New file.
31135
31136         New module 'uninorm/u32-normcmp'.
31137         * lib/uninorm/u32-normcmp.c: New file.
31138         * modules/uninorm/u32-normcmp: New file.
31139
31140         New module 'uninorm/u16-normcmp'.
31141         * lib/uninorm/u16-normcmp.c: New file.
31142         * modules/uninorm/u16-normcmp: New file.
31143
31144         New module 'uninorm/u8-normcmp'.
31145         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
31146         declarations.
31147         * lib/uninorm/u8-normcmp.c: New file.
31148         * lib/uninorm/u-normcmp.h: New file.
31149         * modules/uninorm/u8-normcmp: New file.
31150
31151 2009-03-06  Bruno Haible  <bruno@clisp.org>
31152
31153         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
31154         Reported by Eric Blake.
31155
31156 2009-03-06  Eric Blake  <ebb9@byu.net>
31157             Bruno Haible  <bruno@clisp.org>
31158
31159         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
31160         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
31161         condition.
31162         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31163         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
31164         condition.
31165         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
31166
31167 2009-03-06  Eric Blake  <ebb9@byu.net>
31168
31169         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
31170         to avoid compiler warnings.
31171         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
31172
31173 2009-03-05  Bruno Haible  <bruno@clisp.org>
31174
31175         * tests/test-ftell.c (main): Disable test beyond end of file on
31176         FreeMiNT.
31177         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31178
31179 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
31180
31181         * lib/filevercmp.c: Move hidden files up in ordering.
31182         * tests/test-filevercmp.c: Add tests for hidden files.
31183
31184 2009-03-04  Bruno Haible  <bruno@clisp.org>
31185
31186         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
31187         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
31188         AM_CFLAGS.
31189         Reported by Simon Josefsson.
31190
31191 2009-03-03  Bruno Haible  <bruno@clisp.org>
31192
31193         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
31194         Reported by Simon Josefsson.
31195
31196         * doc/ld-version-script.texi: Update node reference.
31197
31198 2009-03-03  Bruno Haible  <bruno@clisp.org>
31199
31200         * modules/visibility (License): Change to 'unlimited'.
31201         Suggested by Simon Josefsson.
31202
31203 2009-03-03  Jim Meyering  <meyering@redhat.com>
31204
31205         unlinkdir: cannot_unlink_dir may modify process state
31206         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
31207         it's neither thread-safe nor appropriate for use in a library.
31208
31209 2009-03-03  Eric Blake  <ebb9@byu.net>
31210
31211         test-closein: silence test under Darwin
31212         * tests/test-closein.sh: Ignore stderr from cat, since we don't
31213         care if it dies from EPIPE or EBADF.
31214
31215 2009-03-03  Bruno Haible  <bruno@clisp.org>
31216
31217         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
31218         earlier.
31219         * doc/visibility.texi: Fix @node and @section.
31220
31221 2009-03-03  Simon Josefsson  <simon@josefsson.org>
31222
31223         * doc/gnulib.texi: Link to sections for ld version script and
31224         visibility.
31225         * doc/visibility.texi: Add @node and @section.
31226         * modules/ld-version-script: New module.
31227         * m4/ld-version-script.m4: New file.
31228         * doc/ld-version-script.texi: New file.
31229
31230 2009-03-02  David Lutterkort  <lutter@redhat.com>
31231
31232         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
31233         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31234
31235 2009-03-02  Bruno Haible  <bruno@clisp.org>
31236
31237         * doc/visibility.texi: Mention libtool's -export-symbols option.
31238
31239 2009-03-02  Jim Meyering  <meyering@redhat.com>
31240
31241         announce-gen: new option: --no-print-checksums
31242         * build-aux/announce-gen (usage): Describe it.
31243         (print_checksums): Print a newline here, not in the [*] footnote.
31244         (main): Honor it.
31245
31246 2009-03-01  Bruno Haible  <bruno@clisp.org>
31247
31248         Use socklen_t in the native Windows replacements prototypes.
31249         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
31250         instead of 'int'.
31251         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31252         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31253         * modules/getsockopt (Depends-on): Add socklen.
31254         * modules/setsockopt (Depends-on): Add socklen.
31255
31256 2009-03-01  Bruno Haible  <bruno@clisp.org>
31257
31258         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
31259         least 4.2.
31260
31261 2009-03-01  Eric Blake  <ebb9@byu.net>
31262             Bruno Haible  <bruno@clisp.org>
31263
31264         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
31265         error messages.
31266         * lib/wait-process.c (wait_subprocess): Omit error message about
31267         deadly signal sent to the child of termsigp != NULL.
31268
31269 2009-03-01  Eric Blake  <ebb9@byu.net>
31270
31271         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
31272
31273 2009-03-01  Bruno Haible  <bruno@clisp.org>
31274
31275         Avoid a gcc warning.
31276         * tests/test-sched.c (b): Make global.
31277         Reported by Eric Blake.
31278
31279 2009-01-19  Martin Lambers  <marlam@marlam.de>
31280
31281         Provide POSIX semantics for socket timeout options on W32.
31282         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
31283         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
31284         * modules/setsockopt: Depend on sys_time module for struct timeval.
31285         * modules/getsockopt: Depend on sys_time module for struct timeval.
31286
31287 2009-03-01  Simon Josefsson  <simon@josefsson.org>
31288
31289         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
31290         __USE_GNU, for consistency with netdb.in.h.
31291         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31292
31293 2009-03-01  Bruno Haible  <bruno@clisp.org>
31294
31295         More support for FreeMiNT.
31296         * lib/fseeko.c (rpl_fseeko): Complete last commit.
31297         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31298
31299 2009-03-01  Bruno Haible  <bruno@clisp.org>
31300
31301         More support for FreeMiNT.
31302         * lib/fpurge.c (fpurge): Correct last commit.
31303         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31304
31305 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31306
31307         Fix unportable awk script in vc-list-files.
31308         * build-aux/vc-list-files: In the replacement awk script, use
31309         substr with a second argument of 1, not zero.
31310         Report by Simon Josefsson.
31311
31312 2009-02-28  Bruno Haible  <bruno@clisp.org>
31313
31314         More support for FreeMiNT.
31315         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
31316         to FreeMiNT today.
31317         * lib/fwriting.c (fwriting): Likewise.
31318         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
31319
31320 2009-02-28  Bruno Haible  <bruno@clisp.org>
31321
31322         * tests/test-freadseek.c (main): Disable test beyond end of file on
31323         FreeMiNT.
31324         * tests/test-ftello.c (main): Likewise.
31325         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
31326
31327 2009-02-28  Bruno Haible  <bruno@clisp.org>
31328
31329         Add tentative support for FreeMiNT.
31330         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
31331         * lib/fpurge.c (fpurge): Likewise.
31332         * lib/freadable.c (freadable): Likewise.
31333         * lib/freading.c (freading): Likewise.
31334         * lib/freadptr.c (freadptr): Likewise.
31335         * lib/freadseek.c (freadptrinc): Likewise.
31336         * lib/fseeko.c (rpl_fseeko): Likewise.
31337         * lib/fseterr.c (fseterr): Likewise.
31338         * lib/fwritable.c (fwritable): Likewise.
31339         * lib/fwriting.c (fwriting): Likewise.
31340         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
31341         Hourihane.
31342         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31343
31344 2009-02-28  Bruno Haible  <bruno@clisp.org>
31345
31346         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
31347         SIGCHLD.
31348         Reported by Jim Meyering.
31349
31350 2009-02-28  Bruno Haible  <bruno@clisp.org>
31351
31352         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
31353         Mention the results of these tests on various platforms.
31354         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
31355         order.
31356         * doc/posix-functions/printf.texi: Likewise.
31357         * doc/posix-functions/snprintf.texi: Likewise.
31358         * doc/posix-functions/sprintf.texi: Likewise.
31359         * doc/posix-functions/vfprintf.texi: Likewise.
31360         * doc/posix-functions/vprintf.texi: Likewise.
31361         * doc/posix-functions/vsnprintf.texi: Likewise.
31362         * doc/posix-functions/vsprintf.texi: Likewise.
31363         * doc/glibc-functions/obstack_printf.texi: Likewise.
31364         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
31365
31366 2009-02-28  Bruno Haible  <bruno@clisp.org>
31367
31368         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
31369         Reported by Loïc Minier <lool@dooz.org>.
31370
31371 2009-02-27  Bruno Haible  <bruno@clisp.org>
31372
31373         * gnulib-tool (func_import): Make the sed expression used to create the
31374         sed script for updating the .gitignore file POSIX compliant.
31375         Reported by Eric Blake.
31376
31377 2009-02-27  Bruno Haible  <bruno@clisp.org>
31378
31379         * gnulib-tool (sed): Don't alias as "sed --posix".
31380         Reported by Eric Blake.
31381
31382 2009-02-27  Bruno Haible  <bruno@clisp.org>
31383
31384         Avoid test link errors.
31385         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
31386         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
31387         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
31388         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
31389         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31390
31391 2009-02-27  Bruno Haible  <bruno@clisp.org>
31392
31393         Avoid spurious "(cached)" in configure output.
31394         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
31395         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
31396         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31397         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31398         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31399         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31400         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31401         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31402         Reported by Eric Blake.
31403
31404 2009-02-27  Eric Blake  <ebb9@byu.net>
31405
31406         printf: fix regression in previous patch
31407         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
31408
31409 2009-02-27  Bruno Haible  <bruno@clisp.org>
31410
31411         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
31412         value.
31413         * lib/stdint.in.h: Likewise.
31414         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
31415
31416 2009-02-27  Eric Blake  <ebb9@byu.net>
31417
31418         doc: mention more functions added in cygwin 1.7.0
31419         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
31420         addition.
31421         * doc/posix-functions/open_wmemstream.texi: Likewise.
31422         * doc/posix-functions/wcsnlen.texi: Likewise.
31423         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31424         * doc/posix-functions/wcstod.texi: Likewise.
31425         * doc/posix-functions/wcstof.texi: Likewise.
31426         * doc/posix-functions/wcstoimax.texi: Likewise.
31427         * doc/posix-functions/wcstok.texi: Likewise.
31428         * doc/posix-functions/wcstoumax.texi: Likewise.
31429
31430         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
31431         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
31432         * doc/posix-functions/fprintf.texi: Update.
31433         * doc/posix-functions/printf.texi: Update.
31434         * doc/posix-functions/snprintf.texi: Update.
31435         * doc/posix-functions/sprintf.texi: Update.
31436         * doc/posix-functions/vfprintf.texi: Update.
31437         * doc/posix-functions/vprintf.texi: Update.
31438         * doc/posix-functions/vsnprintf.texi: Update.
31439         * doc/posix-functions/vsprintf.texi: Update.
31440         * doc/glibc-functions/obstack_printf.texi: Update.
31441         * doc/glibc-functions/obstack_vprintf.texi: Update.
31442
31443 2009-02-26  Eric Blake  <ebb9@byu.net>
31444
31445         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
31446         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
31447         compilation bug by using runtime conversion.
31448         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31449         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
31450         * modules/ceill-tests (Files): Use nan.h.
31451         * modules/floorl-tests (Files): Likewise.
31452         * modules/frexpl-tests (Files): Likewise.
31453         * modules/isnanl-tests (Files): Likewise.
31454         * modules/ldexpl-tests (Files): Likewise.
31455         * modules/roundl-tests (Files): Likewise.
31456         * modules/truncl-tests (Files): Likewise.
31457         * tests/test-ceill.c (main): Use a working NaN.
31458         * tests/test-floorl.c (main): Likewise.
31459         * tests/test-frexpl.c (main): Likewise.
31460         * tests/test-isnan.c (test_long_double): Likewise.
31461         * tests/test-isnanl.h (main): Likewise.
31462         * tests/test-ldexpl.h (main): Likewise.
31463         * tests/test-roundl.h (main): Likewise.
31464         * tests/test-truncl.h (main): Likewise.
31465         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
31466
31467 2009-02-26  Eric Blake  <ebb9@byu.net>
31468             Bruno Haible  <bruno@clisp.org>
31469
31470         Work around a *printf bug with %ls on Solaris.
31471         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
31472         precision is specified, sprintf stops converting the wide string
31473         argument when the number of bytes that have been produced by this
31474         conversion equals or exceeds the precision.
31475         * doc/posix-functions/fprintf.texi: Update.
31476         * doc/posix-functions/printf.texi: Update.
31477         * doc/posix-functions/snprintf.texi: Update.
31478         * doc/posix-functions/sprintf.texi: Update.
31479         * doc/posix-functions/vfprintf.texi: Update.
31480         * doc/posix-functions/vprintf.texi: Update.
31481         * doc/posix-functions/vsnprintf.texi: Update.
31482         * doc/posix-functions/vsprintf.texi: Update.
31483         * doc/glibc-functions/obstack_printf.texi: Update.
31484         * doc/glibc-functions/obstack_vprintf.texi: Update.
31485
31486 2009-02-26  Eric Blake  <ebb9@byu.net>
31487
31488         stdlib: favor compiler check of random.h
31489         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
31490         to avoid an ObjC random.h installed by Swarm.
31491
31492 2009-02-26  Bruno Haible  <bruno@clisp.org>
31493
31494         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
31495         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
31496         Reported by Gary V. Vaughan <gary@gnu.org>.
31497
31498 2009-02-26  Bruno Haible  <bruno@clisp.org>
31499
31500         Fix *printf behaviour regarding the %ls directive.
31501         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
31502         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
31503         NEED_PRINTF_DIRECTIVE_LS.
31504         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
31505         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31506         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31507         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
31508         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
31509         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
31510         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
31511         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31512         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31513         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31514         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31515         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
31516         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31517         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31518         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31519         * doc/posix-functions/fprintf.texi: Update.
31520         * doc/posix-functions/printf.texi: Update.
31521         * doc/posix-functions/snprintf.texi: Update.
31522         * doc/posix-functions/sprintf.texi: Update.
31523         * doc/posix-functions/vfprintf.texi: Update.
31524         * doc/posix-functions/vprintf.texi: Update.
31525         * doc/posix-functions/vsnprintf.texi: Update.
31526         * doc/posix-functions/vsprintf.texi: Update.
31527         * doc/glibc-functions/obstack_printf.texi: Update.
31528         * doc/glibc-functions/obstack_vprintf.texi: Update.
31529         Reported by Eric Blake.
31530
31531 2009-02-25  Bruno Haible  <bruno@clisp.org>
31532
31533         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
31534         with known value.
31535         Reported by Gary V. Vaughan <gary@gnu.org>.
31536
31537 2009-02-25  Bruno Haible  <bruno@clisp.org>
31538
31539         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
31540         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
31541         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
31542         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
31543         Reported by Gary V. Vaughan <gary@gnu.org>.
31544
31545 2009-02-25  Bruno Haible  <bruno@clisp.org>
31546
31547         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
31548         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
31549         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
31550         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
31551         Reported by Gary V. Vaughan <gary@gnu.org>.
31552
31553 2009-02-25  Eric Blake  <ebb9@byu.net>
31554
31555         tests: skip fseek/ftell tests if ungetc is broken
31556         * m4/ungetc.m4: New file.
31557         * modules/fseek-tests: Split test, so ungetc dependency is
31558         separate from rest of test.
31559         * modules/fseeko-tests: Likewise.
31560         * modules/ftell-tests: Likewise.
31561         * modules/ftello-tests: Likewise.
31562         * tests/test-fseek.c (main): Isolate ungetc dependency.
31563         * tests/test-fseeko.c (main): Likewise.
31564         * tests/test-ftell.c (main): Likewise.
31565         * tests/test-ftello.c (main): Likewise.
31566         * tests/test-fseek2.sh: New file.
31567         * tests/test-fseeko2.sh: Likewise.
31568         * tests/test-ftell2.sh: Likewise.
31569         * tests/test-ftello2.sh: Likewise.
31570
31571 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
31572
31573         test-getaddrinfo: fix usage of skip return code 77
31574         * tests/test-gettaddrinfo.c: Return skip code 77 only
31575         for first occurance of skip (4x77 is not 77)
31576
31577 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
31578
31579         strtod: avoid C99 decl-after-statement
31580         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
31581
31582 2009-02-24  Eric Blake  <ebb9@byu.net>
31583
31584         strtod: detect HP-UX 11.31 bug
31585         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
31586         Reported by Gary V. Vaughan.
31587
31588 2009-02-23  Bruno Haible  <bruno@clisp.org>
31589
31590         Fix invalid read past end of memory block.
31591         * lib/vasnprintf.c (DCHAR_SET): Define.
31592         (local_wcslen): Define only when needed.
31593         (local_strnlen, local_wcsnlen): New functions.
31594         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
31595         directives that involve a conversion ourselves.
31596         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
31597         wcsnlen, mbrtowc, wcrtomb.
31598         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
31599         * tests/test-vasprintf-posix.c (test_function): Likewise.
31600         * tests/test-snprintf-posix.h (test_function): Likewise.
31601         * tests/test-sprintf-posix.h (test_function): Likewise.
31602         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31603
31604 2009-02-22  Bruno Haible  <bruno@clisp.org>
31605
31606         Implement new clarified decomposition of Hangul syllables.
31607         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
31608         of type LTV, return only a pairwise decomposition.
31609         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
31610         Likewise.
31611         * tests/uninorm/test-decomposition.c (main): Updated expected result.
31612         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
31613         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
31614
31615 2009-02-22  Bruno Haible  <bruno@clisp.org>
31616
31617         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
31618         zero-length results and shrink excess allocated memory.
31619         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
31620         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
31621         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
31622         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
31623         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
31624         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
31625         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
31626         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
31627         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
31628         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
31629         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
31630         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
31631
31632 2009-02-21  Bruno Haible  <bruno@clisp.org>
31633
31634         * doc/gnulib.texi: Include safe-alloc.texi earlier.
31635         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
31636         spaces after a period. Put a space between a macro name and its
31637         argument list. Trivial rewordings.
31638         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
31639         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
31640         (main): Return 0 explicitly.
31641
31642 2009-02-21  Bruno Haible  <bruno@clisp.org>
31643
31644         Tests for module 'uninorm/filter'.
31645         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
31646         * modules/uninorm/filter-tests: New file.
31647
31648         New module 'uninorm/filter'.
31649         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
31650         uninorm_filter_flush, uninorm_filter_free): New declarations.
31651         * lib/uninorm/uninorm-filter.c: New file.
31652         * modules/uninorm/filter: New file.
31653
31654 2009-02-21  Bruno Haible  <bruno@clisp.org>
31655
31656         Tests for module 'uninorm/nfkc'.
31657         * tests/uninorm/test-nfkc.c: New file.
31658         * tests/uninorm/test-u8-nfkc.c: New file.
31659         * tests/uninorm/test-u16-nfkc.c: New file.
31660         * tests/uninorm/test-u32-nfkc.c: New file.
31661         * tests/uninorm/test-u32-nfkc-big.sh: New file.
31662         * tests/uninorm/test-u32-nfkc-big.c: New file.
31663         * modules/uninorm/nfkc-tests: New file.
31664
31665         New module 'uninorm/nfkc'.
31666         * lib/uninorm/nfkc.c: New file.
31667         * modules/uninorm/nfkc: New file.
31668
31669         Tests for module 'uninorm/nfkd'.
31670         * tests/uninorm/test-nfkd.c: New file.
31671         * tests/uninorm/test-u8-nfkd.c: New file.
31672         * tests/uninorm/test-u16-nfkd.c: New file.
31673         * tests/uninorm/test-u32-nfkd.c: New file.
31674         * tests/uninorm/test-u32-nfkd-big.sh: New file.
31675         * tests/uninorm/test-u32-nfkd-big.c: New file.
31676         * modules/uninorm/nfkd-tests: New file.
31677
31678         New module 'uninorm/nfkd'.
31679         * lib/uninorm/nfkd.c: New file.
31680         * modules/uninorm/nfkd: New file.
31681
31682         Tests for module 'uninorm/nfc'.
31683         * tests/uninorm/test-nfc.c: New file.
31684         * tests/uninorm/test-u8-nfc.c: New file.
31685         * tests/uninorm/test-u16-nfc.c: New file.
31686         * tests/uninorm/test-u32-nfc.c: New file.
31687         * tests/uninorm/test-u32-nfc-big.sh: New file.
31688         * tests/uninorm/test-u32-nfc-big.c: New file.
31689         * modules/uninorm/nfc-tests: New file.
31690
31691         New module 'uninorm/nfc'.
31692         * lib/uninorm/nfc.c: New file.
31693         * modules/uninorm/nfc: New file.
31694
31695         Tests for module 'uninorm/nfd'.
31696         * tests/uninorm/test-nfd.c: New file.
31697         * tests/uninorm/test-u8-nfd.c: New file.
31698         * tests/uninorm/test-u16-nfd.c: New file.
31699         * tests/uninorm/test-u32-nfd.c: New file.
31700         * tests/uninorm/test-u32-nfd-big.sh: New file.
31701         * tests/uninorm/test-u32-nfd-big.c: New file.
31702         * tests/uninorm/test-u32-normalize-big.h: New file.
31703         * tests/uninorm/test-u32-normalize-big.c: New file.
31704         * tests/uninorm/NormalizationTest.txt: New file, created from
31705         Unicode 5.1.0 NormalizationTest.txt.
31706         * modules/uninorm/nfd-tests: New file.
31707
31708         New module 'uninorm/nfd'.
31709         * lib/uninorm/nfd.c: New file.
31710         * modules/uninorm/nfd: New file.
31711
31712         New module 'uninorm/u32-normalize'.
31713         * lib/uninorm/u32-normalize.c: New file.
31714         * modules/uninorm/u32-normalize: New file.
31715
31716         New module 'uninorm/u16-normalize'.
31717         * lib/uninorm/u16-normalize.c: New file.
31718         * modules/uninorm/u16-normalize: New file.
31719
31720         New module 'uninorm/u8-normalize'.
31721         * lib/uninorm/u8-normalize.c: New file.
31722         * lib/uninorm/normalize-internal.h: New file.
31723         * lib/uninorm/u-normalize-internal.h: New file.
31724         * modules/uninorm/u8-normalize: New file.
31725
31726         New module 'uninorm/decompose-internal'.
31727         * lib/uninorm/decompose-internal.c: New file.
31728         * modules/uninorm/decompose-internal: New file.
31729
31730         Tests for module 'uninorm/composition'.
31731         * tests/uninorm/test-composition.c: New file.
31732         * modules/uninorm/composition-tests: New file.
31733
31734         New module 'uninorm/composition'.
31735         * lib/uninorm/composition.c: New file.
31736         * lib/uninorm/composition-table.gperf: New file, generated by
31737         gen-uni-tables.
31738         * modules/uninorm/composition: New file.
31739
31740         Tests for module 'uninorm/compat-decomposition'.
31741         * tests/uninorm/test-compat-decomposition.c: New file.
31742         * modules/uninorm/compat-decomposition-tests: New file.
31743
31744         New module 'uninorm/compat-decomposition'.
31745         * lib/uninorm/decompose-internal.h: New file.
31746         * lib/uninorm/compat-decomposition.c: New file.
31747         * modules/uninorm/compat-decomposition: New file.
31748
31749         Tests for module 'uninorm/canonical-decomposition'.
31750         * tests/uninorm/test-canonical-decomposition.c: New file.
31751         * modules/uninorm/canonical-decomposition-tests: New file.
31752
31753         New module 'uninorm/canonical-decomposition'.
31754         * lib/uninorm/canonical-decomposition.c: New file.
31755         * modules/uninorm/canonical-decomposition: New file.
31756
31757         Tests for module 'uninorm/decomposition'.
31758         * tests/uninorm/test-decomposition.c: New file.
31759         * modules/uninorm/decomposition-tests: New file.
31760
31761         New module 'uninorm/decomposition'.
31762         * lib/uninorm/decomposition.c: New file.
31763         * modules/uninorm/decomposition: New file.
31764
31765         New module 'uninorm/decomposition-table'.
31766         * lib/uninorm/decomposition-table.h: New file.
31767         * lib/uninorm/decomposition-table.c: New file.
31768         * lib/uninorm/decomposition-table1.h: New file, generated by
31769         gen-uni-tables.
31770         * lib/uninorm/decomposition-table2.h: New file, generated by
31771         gen-uni-tables.
31772         * modules/uninorm/decomposition-table: New file.
31773
31774         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
31775         (UC_DECOMP_*): New enumeration items.
31776         (get_decomposition): New function.
31777         (struct decomp_table): New type.
31778         (output_decomposition, output_decomposition_tables): New functions.
31779         (unicode_composition_exclusions): New variable.
31780         (fill_composition_exclusions, debug_output_composition_tables): New
31781         functions.
31782         (main): Accept one more argument. Invoke fill_composition_exclusions.
31783         Output decomposition and composition tables.
31784
31785         New module 'uninorm/base'.
31786         * lib/uninorm.h: New file.
31787         * lib/unictype.h: Update comment.
31788         * modules/uninorm/base: New file.
31789
31790 2009-02-21  David Lutterkort  <lutter@redhat.com>
31791
31792         Tests for module 'safe-alloc'.
31793         * tests/test-safe-alloc.c: New file.
31794         * modules/safe-alloc-tests: New file.
31795
31796         New module 'safe-alloc'.
31797         * lib/safe-alloc.h: New file.
31798         * lib/safe-alloc.c: New file.
31799         * m4/safe-alloc.m4: New file.
31800         * modules/safe-alloc: New file.
31801         * doc/safe-alloc.texi: New file.
31802         * doc/gnulib.texi: Include it.
31803         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
31804         safe-alloc.
31805
31806 2009-02-18  Bruno Haible  <bruno@clisp.org>
31807
31808         Fix link error on non-glibc systems.
31809         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
31810         variable.
31811         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31812
31813 2009-02-18  Jim Meyering  <meyering@redhat.com>
31814
31815         fts: avoid used-uninitialized error due to recent change
31816         * lib/fts.c (fts_read): Guard uses of the new member,
31817         parent->fts_n_dirs_remaining, since it's not relevant for
31818         the parent of a directory specified on the command-line.
31819
31820 2009-02-17  James Youngman  <jay@gnu.org>
31821             Bruno Haible  <bruno@clisp.org>
31822
31823         * m4/include_next.m4: Reformulate comment.
31824
31825 2009-02-16  Jim Meyering  <meyering@redhat.com>
31826
31827         fts: add #if guards so that the fts_lgpl module still builds
31828         * lib/fts.c: Guard just-added hash-table-using parts with
31829         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
31830         Reported by Simon Josefsson.
31831
31832 2009-02-15  Bruno Haible  <bruno@clisp.org>
31833
31834         * modules/array-mergesort-tests: New file.
31835         * tests/test-array-mergesort.c: New file.
31836
31837         New module 'array-mergesort'.
31838         * modules/array-mergesort: New file.
31839         * lib/array-mergesort.h: New file.
31840
31841 2009-02-15  Bruno Haible  <bruno@clisp.org>
31842
31843         Fix 2009-02-07 commit.
31844         * lib/gen-uni-tables.c (output_predicate, output_category,
31845         output_combclass, output_bidi_category, output_decimal_digit,
31846         output_digit, output_numeric, output_mirror, output_scripts,
31847         output_ident_category, output_simple_mapping): Fix format directives.
31848         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
31849
31850 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
31851
31852         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
31853         fixes are available from IBM.
31854
31855 2009-02-13  Jim Meyering  <meyering@redhat.com>
31856
31857         fts: arrange not to stat non-directories in more cases
31858         This makes GNU find (when it doesn't need to stat each file)
31859         *much* more efficient at traversing reiserfs file systems.
31860         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
31861         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
31862         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
31863         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
31864         (leaf_optimization_applies): New function.
31865         (LCO_hash, LCO_compare): New helper functions.
31866         (link_count_optimize_ok): New function.
31867         (fts_stat): Initialize new member (if dir).
31868         (fts_read): Decrement parent's fts_n_dirs_remaining count if
31869         we've just stat'ed a directory.  Skip the stat call when possible.
31870         ---
31871         Note this AFS-related exchange:
31872         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
31873         and note find's pioctl call in find/fstype.c.
31874         But that is necessary only if you want to enable the
31875         optimization for AFS, and for now, I don't.
31876
31877         fts: move a function definition "up" (no semantic change)
31878         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
31879         "up" to precede upcoming use of a related function.
31880
31881 2009-02-11  Jim Meyering  <meyering@redhat.com>
31882
31883         fts: correct internal computation of nlinks (optimization-related)
31884         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
31885         whether the current entry is a directory, so don't test it.
31886
31887 2009-02-10  Bruno Haible  <bruno@clisp.org>
31888
31889         Tests for module 'uniwbrk/ulc-wordbreaks'.
31890         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
31891         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
31892         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
31893
31894         Tests for module 'uniwbrk/u32-wordbreaks'.
31895         * modules/uniwbrk/u32-wordbreaks-tests: New file.
31896         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
31897
31898         Tests for module 'uniwbrk/u16-wordbreaks'.
31899         * modules/uniwbrk/u16-wordbreaks-tests: New file.
31900         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
31901
31902         Tests for module 'uniwbrk/u8-wordbreaks'.
31903         * modules/uniwbrk/u8-wordbreaks-tests: New file.
31904         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
31905
31906 2009-02-10  Bruno Haible  <bruno@clisp.org>
31907
31908         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
31909         property.
31910         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
31911         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
31912         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
31913
31914 2009-02-10  Simon Josefsson  <simon@josefsson.org>
31915
31916         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
31917         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
31918
31919 2009-02-10  Bruno Haible  <bruno@clisp.org>
31920
31921         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
31922         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
31923         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
31924         * lib/unilbrk/u8-possible-linebreaks.c: Update.
31925         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
31926         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
31927
31928 2009-02-09  Simon Josefsson  <simon@josefsson.org>
31929
31930         * lib/sockets.h (gl_fd_to_handle): New function.
31931
31932         * tests/test-sockets.c: Call gl_fd_to_handle.
31933
31934 2009-02-09  Bruno Haible  <bruno@clisp.org>
31935
31936         * doc/havelib.texi: Document the conventions on bi-arch systems.
31937
31938 2009-02-08  Bruno Haible  <bruno@clisp.org>
31939
31940         Document the AC_LIB_LINKFLAGS macro.
31941         * doc/havelib.texi: New file, mostly written on 2005-05-24.
31942         * doc/gnulib.texi: Include it.
31943
31944 2009-02-08  Bruno Haible  <bruno@clisp.org>
31945
31946         Fix wrong order of sections, compared to TOC.
31947         * doc/gnulib.texi: Include relocatable-maint.texi after the
31948         "Regular expressions" node, not before.
31949
31950 2009-02-08  Bruno Haible  <bruno@clisp.org>
31951
31952         Tests for module 'unicase/totitle'.
31953         * modules/unicase/totitle-tests: New file.
31954
31955         Tests for module 'unicase/tolower'.
31956         * modules/unicase/tolower-tests: New file.
31957
31958         Tests for module 'unicase/toupper'.
31959         * modules/unicase/toupper-tests: New file.
31960         * tests/unicase/test-mapping-part1.h: New file.
31961         * tests/unicase/test-mapping-part2.h: New file.
31962
31963         New module 'unicase/totitle'.
31964         * modules/unicase/totitle: New file.
31965         * lib/unicase/totitle.c: New file.
31966
31967         New module 'unicase/tolower'.
31968         * modules/unicase/tolower: New file.
31969         * lib/unicase/tolower.c: New file.
31970
31971         New module 'unicase/toupper'.
31972         * modules/unicase/toupper: New file.
31973         * lib/unicase/toupper.c: New file.
31974         * lib/unicase/simple-mapping.h: New file.
31975
31976         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
31977         (mapping_table): New structure.
31978         (output_simple_mapping): New function.
31979         (main): Invoke output_simple_mapping_test and output_simple_mapping.
31980         * modules/gen-uni-tables (Description): Update.
31981         * lib/unicase/toupper.h: New file, automatically generated by
31982         gen-uni-tables.
31983         * lib/unicase/tolower.h: New file, automatically generated by
31984         gen-uni-tables.
31985         * lib/unicase/totitle.h: New file, automatically generated by
31986         gen-uni-tables.
31987         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
31988         gen-uni-tables.
31989         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
31990         gen-uni-tables.
31991         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
31992         gen-uni-tables.
31993
31994         New module 'unicase/base'.
31995         * modules/unicase/base: New file.
31996         * lib/unicase.h: New file.
31997
31998 2009-02-08  Bruno Haible  <bruno@clisp.org>
31999
32000         New module 'uniwbrk/ulc-wordbreaks'.
32001         * modules/uniwbrk/ulc-wordbreaks: New file.
32002         * lib/uniwbrk/ulc-wordbreaks.c: New file.
32003
32004         New module 'uniwbrk/u32-wordbreaks'.
32005         * modules/uniwbrk/u32-wordbreaks: New file.
32006         * lib/uniwbrk/u32-wordbreaks.c: New file.
32007
32008         New module 'uniwbrk/u16-wordbreaks'.
32009         * modules/uniwbrk/u16-wordbreaks: New file.
32010         * lib/uniwbrk/u16-wordbreaks.c: New file.
32011
32012         New module 'uniwbrk/u8-wordbreaks'.
32013         * modules/uniwbrk/u8-wordbreaks: New file.
32014         * lib/uniwbrk/u8-wordbreaks.c: New file.
32015         * lib/uniwbrk/u-wordbreaks.h: New file.
32016
32017         New module 'uniwbrk/table'.
32018         * modules/uniwbrk/table: New file.
32019         * lib/uniwbrk/wbrktable.h: New file.
32020         * lib/uniwbrk/wbrktable.c: New file.
32021
32022         New module 'uniwbrk/wordbreak-property'.
32023         * modules/uniwbrk/wordbreak-property: New file.
32024         * lib/uniwbrk/wordbreak-property.c: New file.
32025
32026         * lib/gen-uni-tables.c (WBP_*): New enum items.
32027         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
32028         (unicode_org_wbp): New variable.
32029         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
32030         New functions.
32031         (wbp_table): New structure.
32032         (output_wbp, output_wbrk_tables): New functions.
32033         (main): Accept additional argument. Invoke fill_org_wbp,
32034         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
32035         output_wbrk_tables.
32036         * modules/gen-uni-tables (Description): Update.
32037         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
32038         gen-uni-tables.
32039
32040         New module 'uniwbrk/base'.
32041         * modules/uniwbrk/base: New file.
32042         * lib/uniwbrk.h: New file.
32043
32044 2009-02-08  Bruno Haible  <bruno@clisp.org>
32045
32046         Update to Unicode 5.1.0.
32047         * lib/gen-uni-tables.c (is_property_alphabetic): Include
32048         U+2185..U+2188.
32049         (is_property_default_ignorable_code_point): Don't include characters
32050         of category Cc or Cs and not-a-characters.
32051         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
32052         U+0D79, U+109E, U+109F, U+A60C.
32053         * lib/unictype/bidi_of.h: Regenerated.
32054         * lib/unictype/blocks.h: Regenerated.
32055         * lib/unictype/categ_C.h: Regenerated.
32056         * lib/unictype/categ_Cf.h: Regenerated.
32057         * lib/unictype/categ_Cn.h: Regenerated.
32058         * lib/unictype/categ_L.h: Regenerated.
32059         * lib/unictype/categ_Ll.h: Regenerated.
32060         * lib/unictype/categ_Lm.h: Regenerated.
32061         * lib/unictype/categ_Lo.h: Regenerated.
32062         * lib/unictype/categ_Lu.h: Regenerated.
32063         * lib/unictype/categ_M.h: Regenerated.
32064         * lib/unictype/categ_Mc.h: Regenerated.
32065         * lib/unictype/categ_Me.h: Regenerated.
32066         * lib/unictype/categ_Mn.h: Regenerated.
32067         * lib/unictype/categ_N.h: Regenerated.
32068         * lib/unictype/categ_Nd.h: Regenerated.
32069         * lib/unictype/categ_Nl.h: Regenerated.
32070         * lib/unictype/categ_No.h: Regenerated.
32071         * lib/unictype/categ_P.h: Regenerated.
32072         * lib/unictype/categ_Pd.h: Regenerated.
32073         * lib/unictype/categ_Pe.h: Regenerated.
32074         * lib/unictype/categ_Pf.h: Regenerated.
32075         * lib/unictype/categ_Pi.h: Regenerated.
32076         * lib/unictype/categ_Po.h: Regenerated.
32077         * lib/unictype/categ_Ps.h: Regenerated.
32078         * lib/unictype/categ_S.h: Regenerated.
32079         * lib/unictype/categ_Sk.h: Regenerated.
32080         * lib/unictype/categ_Sm.h: Regenerated.
32081         * lib/unictype/categ_So.h: Regenerated.
32082         * lib/unictype/categ_of.h: Regenerated.
32083         * lib/unictype/combining.h: Regenerated.
32084         * lib/unictype/ctype_alnum.h: Regenerated.
32085         * lib/unictype/ctype_alpha.h: Regenerated.
32086         * lib/unictype/ctype_graph.h: Regenerated.
32087         * lib/unictype/ctype_lower.h: Regenerated.
32088         * lib/unictype/ctype_print.h: Regenerated.
32089         * lib/unictype/ctype_punct.h: Regenerated.
32090         * lib/unictype/ctype_upper.h: Regenerated.
32091         * lib/unictype/decdigit.h: Regenerated.
32092         * lib/unictype/digit.h: Regenerated.
32093         * lib/unictype/mirror.h: Regenerated.
32094         * lib/unictype/numeric.h: Regenerated.
32095         * lib/unictype/pr_alphabetic.h: Regenerated.
32096         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
32097         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
32098         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
32099         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
32100         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
32101         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
32102         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
32103         * lib/unictype/pr_combining.h: Regenerated.
32104         * lib/unictype/pr_dash.h: Regenerated.
32105         * lib/unictype/pr_decimal_digit.h: Regenerated.
32106         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
32107         * lib/unictype/pr_deprecated.h: Regenerated.
32108         * lib/unictype/pr_diacritic.h: Regenerated.
32109         * lib/unictype/pr_extender.h: Regenerated.
32110         * lib/unictype/pr_format_control.h: Regenerated.
32111         * lib/unictype/pr_grapheme_base.h: Regenerated.
32112         * lib/unictype/pr_grapheme_extend.h: Regenerated.
32113         * lib/unictype/pr_grapheme_link.h: Regenerated.
32114         * lib/unictype/pr_id_continue.h: Regenerated.
32115         * lib/unictype/pr_id_start.h: Regenerated.
32116         * lib/unictype/pr_ideographic.h: Regenerated.
32117         * lib/unictype/pr_ignorable_control.h: Regenerated.
32118         * lib/unictype/pr_lowercase.h: Regenerated.
32119         * lib/unictype/pr_math.h: Regenerated.
32120         * lib/unictype/pr_numeric.h: Regenerated.
32121         * lib/unictype/pr_other_alphabetic.h: Regenerated.
32122         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
32123         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
32124         * lib/unictype/pr_other_id_continue.h: Regenerated.
32125         * lib/unictype/pr_other_lowercase.h: Regenerated.
32126         * lib/unictype/pr_other_math.h: Regenerated.
32127         * lib/unictype/pr_punctuation.h: Regenerated.
32128         * lib/unictype/pr_sentence_terminal.h: Regenerated.
32129         * lib/unictype/pr_soft_dotted.h: Regenerated.
32130         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
32131         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
32132         * lib/unictype/pr_unified_ideograph.h: Regenerated.
32133         * lib/unictype/pr_uppercase.h: Regenerated.
32134         * lib/unictype/pr_xid_continue.h: Regenerated.
32135         * lib/unictype/pr_xid_start.h: Regenerated.
32136         * lib/unictype/pr_zero_width.h: Regenerated.
32137         * lib/unictype/scripts.h: Regenerated.
32138         * lib/unictype/scripts_byname.gperf: Regenerated.
32139         * lib/unictype/sy_java_ident.h: Regenerated.
32140         * lib/unilbrk/lbrkprop1.h: Regenerated.
32141         * lib/unilbrk/lbrkprop2.h: Regenerated.
32142         * tests/unictype/test-categ_C.c: Regenerated.
32143         * tests/unictype/test-categ_Cf.c: Regenerated.
32144         * tests/unictype/test-categ_Cn.c: Regenerated.
32145         * tests/unictype/test-categ_L.c: Regenerated.
32146         * tests/unictype/test-categ_Ll.c: Regenerated.
32147         * tests/unictype/test-categ_Lm.c: Regenerated.
32148         * tests/unictype/test-categ_Lo.c: Regenerated.
32149         * tests/unictype/test-categ_Lu.c: Regenerated.
32150         * tests/unictype/test-categ_M.c: Regenerated.
32151         * tests/unictype/test-categ_Mc.c: Regenerated.
32152         * tests/unictype/test-categ_Me.c: Regenerated.
32153         * tests/unictype/test-categ_Mn.c: Regenerated.
32154         * tests/unictype/test-categ_N.c: Regenerated.
32155         * tests/unictype/test-categ_Nd.c: Regenerated.
32156         * tests/unictype/test-categ_Nl.c: Regenerated.
32157         * tests/unictype/test-categ_No.c: Regenerated.
32158         * tests/unictype/test-categ_P.c: Regenerated.
32159         * tests/unictype/test-categ_Pd.c: Regenerated.
32160         * tests/unictype/test-categ_Pe.c: Regenerated.
32161         * tests/unictype/test-categ_Pf.c: Regenerated.
32162         * tests/unictype/test-categ_Pi.c: Regenerated.
32163         * tests/unictype/test-categ_Po.c: Regenerated.
32164         * tests/unictype/test-categ_Ps.c: Regenerated.
32165         * tests/unictype/test-categ_S.c: Regenerated.
32166         * tests/unictype/test-categ_Sk.c: Regenerated.
32167         * tests/unictype/test-categ_Sm.c: Regenerated.
32168         * tests/unictype/test-categ_So.c: Regenerated.
32169         * tests/unictype/test-ctype_alnum.c: Regenerated.
32170         * tests/unictype/test-ctype_alpha.c: Regenerated.
32171         * tests/unictype/test-ctype_graph.c: Regenerated.
32172         * tests/unictype/test-ctype_lower.c: Regenerated.
32173         * tests/unictype/test-ctype_print.c: Regenerated.
32174         * tests/unictype/test-ctype_punct.c: Regenerated.
32175         * tests/unictype/test-ctype_upper.c: Regenerated.
32176         * tests/unictype/test-decdigit.h: Regenerated.
32177         * tests/unictype/test-digit.h: Regenerated.
32178         * tests/unictype/test-numeric.h: Regenerated.
32179         * tests/unictype/test-pr_alphabetic.c: Regenerated.
32180         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
32181         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
32182         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
32183         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
32184         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
32185         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
32186         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
32187         * tests/unictype/test-pr_combining.c: Regenerated.
32188         * tests/unictype/test-pr_dash.c: Regenerated.
32189         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
32190         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
32191         * tests/unictype/test-pr_deprecated.c: Regenerated.
32192         * tests/unictype/test-pr_diacritic.c: Regenerated.
32193         * tests/unictype/test-pr_extender.c: Regenerated.
32194         * tests/unictype/test-pr_format_control.c: Regenerated.
32195         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
32196         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
32197         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
32198         * tests/unictype/test-pr_id_continue.c: Regenerated.
32199         * tests/unictype/test-pr_id_start.c: Regenerated.
32200         * tests/unictype/test-pr_ideographic.c: Regenerated.
32201         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
32202         * tests/unictype/test-pr_lowercase.c: Regenerated.
32203         * tests/unictype/test-pr_math.c: Regenerated.
32204         * tests/unictype/test-pr_numeric.c: Regenerated.
32205         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
32206         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
32207         Regenerated.
32208         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
32209         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
32210         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
32211         * tests/unictype/test-pr_other_math.c: Regenerated.
32212         * tests/unictype/test-pr_punctuation.c: Regenerated.
32213         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
32214         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
32215         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
32216         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
32217         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
32218         * tests/unictype/test-pr_uppercase.c: Regenerated.
32219         * tests/unictype/test-pr_xid_continue.c: Regenerated.
32220         * tests/unictype/test-pr_xid_start.c: Regenerated.
32221         * tests/unictype/test-pr_zero_width.c: Regenerated.
32222
32223         Update to Unicode 5.1.0.
32224         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
32225         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
32226         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
32227         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
32228         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
32229         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
32230         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
32231         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
32232         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
32233         (nonspacing_table_ind): Update.
32234         * tests/uniwidth/test-uc_width2.sh: Update expected result.
32235
32236         Update to Unicode 5.1.0.
32237         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
32238         code transform.
32239         * lib/uniname/uniname.c (unicode_character_name,
32240         unicode_name_character): Add the range 0x1Fxxx to the code transform.
32241         * lib/uniname/uninames.h: Regenerated.
32242         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
32243
32244 2009-02-07  Bruno Haible  <bruno@clisp.org>
32245
32246         Merge gen-ctype and gen-lbrk into a single program.
32247         * lib/gen-uni-tables.c: New file, incorporating
32248         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
32249         Add directory prefixes to the names of the generated files.
32250         * lib/unictype/gen-ctype.c: Remove file.
32251         * lib/unilbrk/gen-lbrk.c: Remove file.
32252         * modules/gen-uni-tables: New file.
32253         * modules/unictype/gen-ctype: Remove file.
32254         * modules/unilbrk/gen-lbrk: Remove file.
32255
32256 2009-02-07  Bruno Haible  <bruno@clisp.org>
32257
32258         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
32259
32260         New module 'unistr/u32-strcoll'.
32261         * modules/unistr/u32-strcoll: New file.
32262         * lib/unistr/u32-strcoll.c: New file.
32263
32264         New module 'unistr/u16-strcoll'.
32265         * modules/unistr/u16-strcoll: New file.
32266         * lib/unistr/u16-strcoll.c: New file.
32267
32268         New module 'unistr/u8-strcoll'.
32269         * modules/unistr/u8-strcoll: New file.
32270         * lib/unistr/u8-strcoll.c: New file.
32271         * lib/unistr/u-strcoll.h: New file.
32272
32273 2009-02-07  Bruno Haible  <bruno@clisp.org>
32274
32275         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
32276         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32277         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
32278         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
32279         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
32280         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
32281
32282 2009-02-07  Bruno Haible  <bruno@clisp.org>
32283
32284         Make 64-bit clean.
32285         * lib/unictype/gen-ctype.c (output_predicate, output_category,
32286         output_combclass, output_bidi_category, output_decimal_digit,
32287         output_digit, output_numeric, output_mirror, output_scripts,
32288         output_ident_category): Use proper width specifier in format strings.
32289
32290 2009-02-07  Bruno Haible  <bruno@clisp.org>
32291
32292         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
32293         failure behaviour.
32294
32295 2009-02-07  Jim Meyering  <meyering@redhat.com>
32296
32297         regex: avoid compilation failure with upcoming gcc-4.4
32298         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
32299         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
32300         "... error: integer overflow in preprocessor expression".
32301
32302 2009-02-05  Ben Pfaff  <blp@gnu.org>
32303
32304         Fix link errors on Windows when close module is used.
32305         * modules/close: Add $(LIB_CLOSE) to Link section.
32306         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
32307         $(LIB_CLOSE) on Windows.
32308
32309 2009-02-05  Jim Meyering  <meyering@redhat.com>
32310
32311         still avoid unused-parameter warnings, but do it cleanly
32312         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
32313         (get_fs_usage): Cast to void instead.
32314         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
32315         (dev_from_mount_options, read_file_system_list): Cast to void.
32316         Prompted by Bruno Haible.
32317
32318 2009-02-04  Jim Meyering  <meyering@redhat.com>
32319
32320         fsusage.c: correct copyright year
32321         * lib/fsusage.c: Reflect year in which the change is pushed into
32322
32323         avoid misc. warnings
32324         * lib/fsusage.c (UNUSED_PARAM): Define.
32325         (get_fs_usage): Mark parameter "disk" as unused.
32326         * lib/getugroups.c (getgrent): Use "void" in prototype.
32327         * lib/mountlist.c: Mark unused parameters.
32328         (read_file_system_list): Declare a local with "const".
32329         * lib/nanosleep.c (getnow): Declare static.
32330         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
32331
32332         dirfd: set errno upon failure
32333         * lib/dirfd.c: Include <errno.h>.
32334         Set errno to ENOTSUP when returning -1.
32335         * modules/dirfd (Depends-on): Add errno.
32336         Suggested by John Kodis <kodis@comcast.net>.
32337
32338 2009-02-01  Bruno Haible  <bruno@clisp.org>
32339
32340         Don't assume sizeof (long) >= sizeof (void *).
32341         * lib/memcmp.c: Include stdint.h.
32342         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
32343         srcp2 to 'const byte *'.
32344         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
32345         types to uintptr_t.
32346         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
32347         * modules/memcmp (Depends-on): Add stdint.
32348         Reported by Ozkan Sezer <sezeroz@gmail.com>.
32349
32350 2009-01-30  Eric Blake  <ebb9@byu.net>
32351
32352         fix more require-before-expand issues
32353         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
32354         expand, AC_PROG_AWK.
32355         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
32356
32357 2009-01-28  Eric Blake  <ebb9@byu.net>
32358
32359         version-etc: use consistent URL formatting
32360         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
32361         Improve formatting.  Use fputs for string without %.
32362
32363 2009-01-28  Jim Meyering  <meyering@redhat.com>
32364
32365         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
32366         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
32367         "underquoted definition of NAME" from autoconf-2.59.
32368
32369 2009-01-28  Bruno Haible  <bruno@clisp.org>
32370
32371         * doc/gnulib.texi: Add "Obsolete modules" to index.
32372
32373 2009-01-28  Jim Meyering  <meyering@redhat.com>
32374
32375         useless-if-before-free: recognize more variants
32376         * build-aux/useless-if-before-free: Also recognize e.g.,
32377         if (NULL != p) free (p);
32378
32379 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
32380
32381         test-getaddrinfo: skip (don't fail) this test when there's no network
32382         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
32383         on the presumption that it means you lack network access.
32384
32385 2009-01-26  Jim Meyering  <meyering@redhat.com>
32386
32387         fflush: avoid warnings on modern systems
32388         * lib/fflush.c (rpl_fflush): Move declarations of locals,
32389         pos and result, into scopes where they're used.
32390
32391 2009-01-26  Eric Blake  <ebb9@byu.net>
32392
32393         Silence warning reintroduced by recent extensions patch.
32394         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
32395         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
32396         autoconf.
32397
32398         Backport improved autoconf semantics of AC_DEFUN_ONCE.
32399         * m4/00gnulib.m4: New file.
32400         * gnulib-tool (func_get_filelist): Always use it.
32401         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
32402         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
32403
32404 2009-01-25  Bruno Haible  <bruno@clisp.org>
32405
32406         Make test-quotearg work on MacOS X and AIX.
32407         * tests/test-quotearg.sh: New file.
32408         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
32409         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
32410         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
32411         include <libintl.h>.
32412         (fake_locale): Remove variable.
32413         (gettext, dgettext, dcgettext): Remove functions.
32414         (main): Instead of setting a fake locale, set a real locale. Call
32415         textdomain and bindtextdomain.
32416         * modules/quotearg-tests (Files): Add the new files.
32417         (Depends-on): Add gettext, setenv, unsetenv.
32418         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
32419         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
32420         Augment TESTS_ENVIRONMENT.
32421
32422 2009-01-25  Bruno Haible  <bruno@clisp.org>
32423
32424         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
32425         fr_FR.ISO8859-1 locale on MacOS X.
32426         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
32427         ja_JP.eucJP locale on MacOS X.
32428         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
32429         zh_CN.GB18030 locale on MacOS X.
32430
32431 2009-01-25  Bruno Haible  <bruno@clisp.org>
32432
32433         Avoid link errors on MacOS X 10.3.
32434         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
32435         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
32436
32437 2009-01-25  Bruno Haible  <bruno@clisp.org>
32438
32439         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32440         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
32441         * modules/pipe (Files): Remove m4/posix_spawn.m4.
32442         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32443         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
32444         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32445         posix_spawnattr_init, posix_spawnattr_setsigmask,
32446         posix_spawnattr_setflags, posix_spawnattr_destroy.
32447
32448         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
32449         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
32450         * modules/execute (Files): Remove m4/posix_spawn.m4.
32451         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
32452         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
32453         posix_spawnattr_init, posix_spawnattr_setsigmask,
32454         posix_spawnattr_setflags, posix_spawnattr_destroy.
32455
32456 2009-01-25  Bruno Haible  <bruno@clisp.org>
32457
32458         * lib/glthread/threadlib.c: Include <stdlib.h>.
32459
32460 2009-01-25  Bruno Haible  <bruno@clisp.org>
32461
32462         * lib/glthread/threadlib.c (dummy): New declaration.
32463
32464 2009-01-25  Bruno Haible  <bruno@clisp.org>
32465
32466         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
32467         multibyte characters also for the GB18030 encoding. Don't crash when
32468         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
32469
32470 2009-01-25  Bruno Haible  <bruno@clisp.org>
32471
32472         Avoid redefining 'struct random_data' on OSF/1 5.1.
32473         * lib/stdlib.in.h: Include <random.h> if it exists.
32474         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
32475         HAVE_RANDOM_H. Include <random.h> when testing whether
32476         'struct random_data' exists.
32477         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
32478
32479 2009-01-25  Bruno Haible  <bruno@clisp.org>
32480
32481         Don't install charset.alias on MacOS X >= 10.3.
32482         * lib/localcharset.c (DARWIN7): New macro.
32483         (get_charset_aliases): Hardcode the result for Darwin7.
32484         * modules/localcharset (install-exec-local): Don't install
32485         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
32486
32487 2009-01-25  Bruno Haible  <bruno@clisp.org>
32488
32489         Don't install charset.alias on mingw and Cygwin.
32490         * modules/localcharset (install-exec-local): Don't install
32491         charset.alias on mingw and Cygwin, if the file does not yet exist.
32492         The result for these platforms is hardcoded in localcharset.c.
32493
32494 2009-01-25  Bruno Haible  <bruno@clisp.org>
32495
32496         Make it possible again to use AC_GNU_SOURCE together with gnulib.
32497         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
32498         before requiring AC_USE_SYSTEM_EXTENSIONS.
32499
32500 2009-01-25  Jim Meyering  <meyering@redhat.com>
32501
32502         c-strtod: avoid warnings
32503         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
32504         "assignment discards qualifiers from pointer target type" warnings.
32505
32506 2009-01-24  Bruno Haible  <bruno@clisp.org>
32507
32508         Add support for non-UTF-8 locales on MacOS X.
32509         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
32510         canonical encodings. For Darwin 7 and newer, don't map traditional
32511         encodings to UTF-8.
32512         Reported by Vincent Lefevre <vincent@vinc17.org>
32513         at <http://savannah.gnu.org/bugs/?25235>.
32514
32515 2009-01-24  Bruno Haible  <bruno@clisp.org>
32516
32517         * doc/gnulib.texi (Obsolete modules): New section.
32518         Reported by Mike Frysinger <vapier@gentoo.org>.
32519
32520 2009-01-24  Bruno Haible  <bruno@clisp.org>
32521
32522         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
32523         (%.dvi): New rule.
32524
32525 2009-01-24  Bruno Haible  <bruno@clisp.org>
32526
32527         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
32528         Reported by Eric Blake.
32529
32530 2009-01-24  Bruno Haible  <bruno@clisp.org>
32531
32532         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
32533         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
32534         Reported by Gary V. Vaughan <gary@gnu.org>.
32535
32536 2009-01-24  Bruno Haible  <bruno@clisp.org>
32537
32538         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
32539
32540 2009-01-23  Bruno Haible  <bruno@clisp.org>
32541
32542         Make c-strtod, c-strtold usable in libraries.
32543         * lib/c-strtod.c: Include string.h instead of xalloc.h.
32544         (C_STRTOD): Call strdup instead of xstrdup.
32545         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
32546         * modules/c-strtold (Depends-on): Likewise.
32547         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
32548         * NEWS: Mention the change.
32549         Reported by Michael Gold <mgold@ncf.ca>.
32550
32551 2009-01-23  Jim Meyering  <meyering@redhat.com>
32552
32553         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
32554         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
32555         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
32556
32557 2009-01-23  Simon Josefsson  <simon@josefsson.org>
32558
32559         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
32560         GNU CoreUtils.
32561         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
32562         * modules/version-etc (Description): Update.
32563
32564 2009-01-22  Bruno Haible  <bruno@clisp.org>
32565
32566         Cache the C locale object.
32567         * lib/c-strtod.c (c_locale_cache): New variable.
32568         (c_locale): New function.
32569         (C_STRTOD): Use it, and don't call freelocale.
32570         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
32571         Suggested by Paolo Bonzini.
32572
32573 2009-01-21  Bruno Haible  <bruno@clisp.org>
32574
32575         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
32576         conditions other than overflow.
32577
32578 2009-01-21  Bruno Haible  <bruno@clisp.org>
32579
32580         * lib/c-strtod.c: Include errno.h.
32581         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
32582         value from STRTOD_L and STRTOD.
32583
32584 2009-01-21  Bruno Haible  <bruno@clisp.org>
32585         and Jim Meyering  <meyering@redhat.com>
32586
32587         nanosleep: skip configure test (fail it) for apple universal builds
32588         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
32589         universal builds, assume that nanosleep does not work.
32590         * modules/nanosleep (Depends-on): Add multiarch.
32591
32592         mktime: skip configure test (fail it) for apple universal builds
32593         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
32594         universal builds, assume that mktime does not work.
32595         * modules/mktime (Depends-on): Add multiarch.
32596
32597 2009-01-21  Eric Blake  <ebb9@byu.net>
32598
32599         multiarch: avoid expand-before-require warning
32600         * modules/multiarch (configure.ac): Require, rather than expand,
32601         gl_MULTIARCH.
32602         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
32603         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
32604         enforce that all clients require it.  Partial reversion of
32605         2008-12-29 patch.
32606
32607         error: avoid expand-before-require warning
32608         * modules/errno (configure.ac): Require, rather than expand,
32609         gl_HEADER_ERRNO_H.
32610         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
32611         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
32612         enforce that all clients require it.
32613
32614         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
32615         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
32616         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
32617         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
32618
32619 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
32620
32621         Revert:
32622         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32623
32624         regex: do not depend on obsolete modules.
32625         * modules/regex: Remove memcmp and memmove.
32626
32627 2009-01-20  Bruno Haible  <bruno@clisp.org>
32628
32629         Make the 'link' module link on Windows NT 4.
32630         * lib/link.c (_WIN32_WINNT): Don't define.
32631         (CreateHardLinkFuncType): New type.
32632         (CreateHardLinkFunc, initialized): New variables.
32633         (initialize): New function.
32634         (link): Invoke CreateHardLink indirectly through the function pointer.
32635
32636 2009-01-20  Bruno Haible  <bruno@clisp.org>
32637
32638         Fix compilation failure on mingw.
32639         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
32640
32641 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
32642
32643         * doc/c-strtod.texi: Mention a couple of restrictions.
32644
32645 2009-01-20  Jim Meyering  <meyering@redhat.com>
32646
32647         gettimeofday: move more declarations out of functions
32648         * lib/gettimeofday.c: Move extern declarations of tzset and
32649         gmtime out of containing functions.  Prompted by Bruno Haible.
32650
32651 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32652
32653         regex: do not depend on obsolete modules.
32654         * modules/regex: Remove memcmp and memmove.
32655
32656 2009-01-19  Bruno Haible  <bruno@clisp.org>
32657
32658         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32659         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
32660         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32661         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
32662         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
32663
32664 2009-01-19  Bruno Haible  <bruno@clisp.org>
32665
32666         * tests/test-link.c: Include <errno.h>.
32667         (main): Exit with code 77 when a hard link cannot be created due to
32668         the file system.
32669         * tests/test-link.sh: Skip test when a hard link cannot be created due
32670         to the file system.
32671         Suggested by Eric Blake.
32672
32673 2009-01-19  Martin Lambers  <marlam@marlam.de>
32674
32675         * modules/link-tests: New file.
32676         * tests/test-link.sh: New file.
32677         * tests/test-link.c: New file.
32678
32679 2009-01-19  Eric Blake  <ebb9@byu.net>
32680
32681         doc: mention another function added in cygwin 1.7.0
32682         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
32683         Another new function in cygwin 1.7.
32684
32685 2009-01-19  Bruno Haible  <bruno@clisp.org>
32686
32687         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32688         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
32689         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
32690         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32691         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
32692         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32693         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32694         * m4/md4.m4 (gl_MD4): Likewise.
32695         * m4/md5.m4 (gl_MD5): Likewise.
32696         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
32697         * m4/sha1.m4 (gl_SHA1): Likewise.
32698         * m4/sha256.m4 (gl_SHA256): Likewise.
32699         * m4/sha512.m4 (gl_SHA512): Likewise.
32700
32701 2009-01-19  Bruno Haible  <bruno@clisp.org>
32702
32703         * modules/uniname/uniname-tests (Depends-on): Add progname.
32704         * tests/uniname/test-uninames.c: Include progname.h.
32705         (main): Call set_program_name.
32706
32707         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
32708         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
32709         (main): Call set_program_name.
32710
32711         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
32712         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
32713         (main): Call set_program_name.
32714
32715         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
32716         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
32717         (main): Call set_program_name.
32718
32719         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
32720         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
32721         (main): Call set_program_name.
32722
32723         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
32724         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
32725         (main): Call set_program_name.
32726
32727         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
32728         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
32729         (main): Call set_program_name.
32730
32731         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
32732         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
32733         (main): Call set_program_name.
32734
32735         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
32736         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
32737         (main): Call set_program_name.
32738
32739 2009-01-19  Eric Blake  <ebb9@byu.net>
32740
32741         test-unistd: test previous patch
32742         * tests/test-unistd.c: Test *_FILENO macros.
32743
32744         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
32745         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32746         Guarantee a definition.
32747         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
32748         * modules/unistd-safer (Depends-on): Add dependency on unistd.
32749         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
32750         * lib/dup-safer.c (STDERR_FILENO): Likewise.
32751         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32752         Likewise.
32753         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
32754         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
32755         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32756         Likewise.
32757         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
32758         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
32759         (STDERR_FILENO): Likewise.
32760         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
32761         (STDERR_FILENO): Likewise.
32762         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
32763         (STDERR_FILENO): Likewise.
32764         Reported by Elbert Pol.
32765
32766 2009-01-19  Eric Blake  <ebb9@byu.net>
32767
32768         doc: mention more functions added in cygwin 1.7.0
32769         * doc/posix-functions/abort.texi (abort): Update wording related
32770         to cygwin.
32771         * doc/posix-functions/daylight.texi (daylight): Likewise.
32772         * doc/posix-functions/optarg.texi (optarg): Likewise.
32773         * doc/posix-functions/optarg.texi (opterr): Likewise.
32774         * doc/posix-functions/optarg.texi (optind): Likewise.
32775         * doc/posix-functions/optarg.texi (optopt): Likewise.
32776         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
32777         worked in 1.5.x, and was withdrawn in 1.7.
32778         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
32779         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
32780         cygwin versions.
32781         * doc/posix-functions/perror.texi (perror): Likewise.
32782         * doc/posix-functions/printf.texi (printf): Likewise.
32783         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
32784         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
32785         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
32786         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
32787         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
32788         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
32789         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
32790         Likewise.
32791         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
32792         Likewise.
32793         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
32794         this function.
32795         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
32796         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
32797         Likewise.
32798         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
32799         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
32800         * doc/posix-functions/confstr.texi (confstr): Likewise.
32801         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
32802         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
32803         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
32804         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
32805         * doc/posix-functions/fputws.texi (fputws): Likewise.
32806         * doc/posix-functions/fwide.texi (fwide): Likewise.
32807         * doc/posix-functions/getwc.texi (getwc): Likewise.
32808         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
32809         * doc/posix-functions/putwc.texi (putwc): Likewise.
32810         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
32811         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
32812         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
32813         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
32814         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
32815         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
32816         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
32817         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
32818         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
32819         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
32820         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
32821
32822 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32823
32824         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
32825         * lib/ioctl.c: Include <sys/ioctl.h>.
32826
32827 2009-01-19  Simon Josefsson  <simon@josefsson.org>
32828
32829         * modules/getdate-tests (Depends-on): Add progname.
32830         * tests/test-getdate.c: Use progname module, to avoid link errors
32831         on non-glibc systems.
32832
32833 2009-01-18  Simon Josefsson  <simon@josefsson.org>
32834
32835         * modules/filenamecat-tests (Depends-on): Add progname.
32836         * modules/fstrcmp-tests (Depends-on): Likewise.
32837
32838         * tests/test-filenamecat.c: Use progname module, to avoid link
32839         errors on non-glibc systems.
32840         * tests/test-fstrcmp.c: Likewise.
32841
32842 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32843
32844         gettimeofday: avoid warning: nested extern declaration of 'localtime'
32845         * lib/gettimeofday.c: Move extern declaration out of function.
32846
32847 2009-01-18  Bruno Haible  <bruno@clisp.org>
32848
32849         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
32850         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
32851         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
32852
32853 2009-01-18  Bruno Haible  <bruno@clisp.org>
32854
32855         * lib/strftime.c (MEMPCPY): Remove unused macro.
32856         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
32857
32858 2009-01-18  Martin Lambers  <marlam@marlam.de>
32859
32860         New module 'link'.
32861         * lib/unistd.in.h (link): New declaration.
32862         * lib/link.c: New file.
32863         * m4/link.m4: New file.
32864         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
32865         HAVE_LINK.
32866         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
32867         * modules/link: New file.
32868         * doc/posix-functions/link.texi: Mention the new module.
32869
32870 2009-01-18  Bruno Haible  <bruno@clisp.org>
32871
32872         * tests/test-avltree_list.c (main): Call set_program_name.
32873         * tests/test-avltree_oset.c (main): Likewise.
32874         * tests/test-obstack-printf.c: Include progname.h.
32875         (main): Call set_program_name.
32876         * tests/test-quotearg.c: Include progname.h.
32877         (main): Call set_program_name.
32878         * tests/test-xmemdup0.c: Include progname.h.
32879         (main): Call set_program_name.
32880
32881 2009-01-18  Bruno Haible  <bruno@clisp.org>
32882
32883         New module 'alphasort'.
32884         * lib/dirent.in.h (alphasort): New declaration.
32885         * lib/alphasort.c: New file, from glibc with modifications.
32886         * m4/alphasort.m4: New file.
32887         * modules/alphasort: New file.
32888         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
32889         HAVE_ALPHASORT.
32890         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
32891         HAVE_ALPHASORT.
32892         * doc/posix-functions/alphasort.texi: Mention the new module and the
32893         portability problems.
32894
32895 2009-01-18  Bruno Haible  <bruno@clisp.org>
32896
32897         New module 'scandir'.
32898         * lib/dirent.in.h (scandir): New declaration.
32899         * lib/scandir.c: New file, from glibc with modifications.
32900         * m4/scandir.m4: New file.
32901         * modules/scandir: New file.
32902         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
32903         HAVE_SCANDIR.
32904         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
32905         HAVE_SCANDIR.
32906         * doc/posix-functions/scandir.texi: Mention the new module and the
32907         portability problems.
32908
32909 2009-01-17  Bruno Haible  <bruno@clisp.org>
32910
32911         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
32912         Update documentation.
32913         (func_remove_suffix): Escape all dots in the suffix. Update
32914         documentation.
32915         (func_filter_filelist): Update documentation.
32916         Reported by Ralf Wildenhues.
32917
32918 2009-01-17  Bruno Haible  <bruno@clisp.org>
32919
32920         * modules/dprintf-posix-tests: New file.
32921         * tests/test-dprintf-posix.sh: New file.
32922         * tests/test-dprintf-posix.c: New file.
32923
32924         New modules 'dprintf', 'dprintf-posix'.
32925         * lib/stdio.in.h (dprintf): New declaration.
32926         * lib/dprintf.c: New file.
32927         * m4/dprintf.m4: New file.
32928         * m4/dprintf-posix.m4: New file.
32929         * modules/dprintf: New file.
32930         * modules/dprintf-posix: New file.
32931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
32932         HAVE_DPRINTF, REPLACE_DPRINTF.
32933         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
32934         HAVE_DPRINTF, REPLACE_DPRINTF.
32935         * doc/posix-functions/dprintf.texi: Mention the new modules.
32936
32937 2009-01-17  Bruno Haible  <bruno@clisp.org>
32938
32939         * modules/vdprintf-posix-tests: New file.
32940         * tests/test-vdprintf-posix.sh: New file.
32941         * tests/test-vdprintf-posix.c: New file.
32942
32943         New modules 'vdprintf', 'vdprintf-posix'.
32944         * lib/stdio.in.h (vdprintf): New declaration.
32945         * lib/vdprintf.c: New file.
32946         * m4/vdprintf.m4: New file.
32947         * m4/vdprintf-posix.m4: New file.
32948         * modules/vdprintf: New file.
32949         * modules/vdprintf-posix: New file.
32950         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
32951         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32952         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
32953         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32954         * doc/posix-functions/vdprintf.texi: Mention the new modules.
32955
32956 2009-01-17  Bruno Haible  <bruno@clisp.org>
32957
32958         Fix replacement of fopen on mingw.
32959         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
32960         mingw.
32961
32962 2009-01-17  Bruno Haible  <bruno@clisp.org>
32963
32964         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
32965         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
32966
32967 2009-01-17  Bruno Haible  <bruno@clisp.org>
32968
32969         Avoid test-fflush2.sh failure on mingw.
32970         * tests/test-fflush2.c: Include binary-io.h.
32971         (main): Put standard input into binary mode.
32972         * modules/fflush-tests (Depends-on): Add binary-io.
32973
32974 2009-01-17  Bruno Haible  <bruno@clisp.org>
32975
32976         * lib/wchar.in.h: In another particular situation, include only the
32977         system's <wchar.h> file.
32978         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
32979         Reported by Albert Chin-A-Young <china@thewrittenword.com>
32980         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
32981
32982 2009-01-17  Bruno Haible  <bruno@clisp.org>
32983
32984         Support for stripping executables in --enable-relocatable.
32985         * build-aux/install-reloc: Expect one more argument, or an environment
32986         variable RELOC_STRIP_PROG. If set, strip the destination program and
32987         its wrapper.
32988         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
32989         RELOC_STRIP_PROG.
32990         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
32991         to set RELOCATABLE_STRIP.
32992         * NEWS: Mention the new Makefile requirement.
32993
32994 2009-01-17  Bruno Haible  <bruno@clisp.org>
32995
32996         * build-aux/install-reloc: Remove debugging information left over by
32997         C compiler on MacOS X.
32998
32999 2009-01-17  Bruno Haible  <bruno@clisp.org>
33000
33001         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
33002         * lib/progreloc.c (find_executable): Fix type of pointer passed to
33003         _NSGetExecutablePath.
33004
33005 2009-01-16  Jim Meyering  <meyering@redhat.com>
33006
33007         strerror: avoid warnings about discarding "const"
33008         * lib/strerror.c (rpl_strerror): Instead of returning a const
33009         string from each and every "case", use a variable, and add a single
33010         cast after the switch.
33011
33012 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
33013
33014         * lib/arpa_inet.in.h: Add extern "C" block for C++.
33015
33016 2009-01-16  Bruno Haible  <bruno@clisp.org>
33017
33018         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
33019         array initializer syntax that also works in C++ mode.
33020         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33021
33022 2009-01-16  Jim Meyering  <meyering@redhat.com>
33023
33024         poll: suppress a warning
33025         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
33026         to ignore "...unsigned expression < 0 is always false" warnings.
33027
33028 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
33029
33030         poll: remove declarations of unused variables
33031         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
33032         sockbuf and optlen.
33033
33034 2009-01-15  Bruno Haible  <bruno@clisp.org>
33035
33036         Make fflush-after-ungetc POSIX compliant on BSD systems.
33037         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
33038         (clear_ungetc_buffer): Implement also for other systems.
33039         (rpl_fflush): On glibc systems, invoke
33040         clear_ungetc_buffer_preserving_position. Otherwise, invoke
33041         clear_ungetc_buffer after fetching the stream's position, not before.
33042
33043 2009-01-15  Bruno Haible  <bruno@clisp.org>
33044
33045         Make fflush-after-ungetc POSIX compliant on glibc systems.
33046         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
33047         after ungetc.
33048         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
33049         (rpl_fflush): On glibc systems, simply call the system's fflush
33050         function after clearing the ungetc buffer.
33051         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
33052         Instead, lseek only to the end of file, then use the system's fseeko
33053         for the rest. On glibc systems, reset the EOF indicator bit.
33054
33055 2009-01-15  Jim Meyering  <meyering@redhat.com>
33056
33057         openmp.m4: revert quote-adding change, for portability to older autoconf
33058         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
33059         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
33060         Simon Josefsson noticed the problem when using autoconf-2.61.
33061
33062 2009-01-15  Bruno Haible  <bruno@clisp.org>
33063
33064         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
33065         * tests/test-fflush2.c (ASSERT): Always fail.
33066         (main): Add two tests for fflush() after ungetc(), taking into account
33067         the Austin Group's clarification.
33068         Suggested by Eric Blake.
33069
33070 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
33071
33072         mktime.m4: remove K&R-style function prototypes
33073         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
33074         for the Sun C++ compiler.
33075
33076 2009-01-14  Bruno Haible  <bruno@clisp.org>
33077
33078         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
33079         while including <wchar.h>.
33080         * lib/wchar.in.h: In two particular situations on HP-UX, include only
33081         the system's <wchar.h> file.
33082         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33083
33084 2009-01-14  Bruno Haible  <bruno@clisp.org>
33085
33086         * m4/csharp.m4: Don't mention gettext on the serial number line.
33087         * m4/csharpexec.m4: Likewise.
33088         * m4/eaccess.m4: Likewise.
33089         * m4/javaexec.m4: Likewise.
33090         * m4/sig_atomic_t.m4: Likewise.
33091         * m4/tmpdir.m4: Likewise.
33092         * m4/intldir.m4: Bump gettext version.
33093         * m4/lib-ld.m4: Likewise.
33094
33095 2009-01-14  Bruno Haible  <bruno@clisp.org>
33096
33097         * lib/progname.c (set_program_name): Add more comments.
33098         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
33099
33100 2009-01-14  Simon Josefsson  <simon@josefsson.org>
33101
33102         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
33103         were sys/stat.h does not define it.
33104
33105 2009-01-14  Jim Meyering  <meyering@redhat.com>
33106
33107         many *.m4 files: improve m4 quoting
33108         99% of this change was performed by running the following commands:
33109         git ls-files | grep '\.m4$' | xargs perl -pi \
33110           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
33111           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
33112           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
33113           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
33114         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
33115         The remainder were to add Copyright dates, increment serial numbers,
33116         undo some changes in comments, exclude m4/intl.m4, and add quotes
33117         around the "1" in ",1" where the unusual spacing prohibited the
33118         above regexps from doing the job.  For more details, see
33119         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
33120         * m4/acl.m4: Modified.
33121         * m4/afs.m4: Likewise.
33122         * m4/alloca.m4: Likewise.
33123         * m4/argp.m4: Likewise.
33124         * m4/argz.m4: Likewise.
33125         * m4/atexit.m4: Likewise.
33126         * m4/bison-i18n.m4: Likewise.
33127         * m4/bison.m4: Likewise.
33128         * m4/byteswap.m4: Likewise.
33129         * m4/c-stack.m4: Likewise.
33130         * m4/c-strtod.m4: Likewise.
33131         * m4/calloc.m4: Likewise.
33132         * m4/canonicalize-lgpl.m4: Likewise.
33133         * m4/chown.m4: Likewise.
33134         * m4/clock_time.m4: Likewise.
33135         * m4/codeset.m4: Likewise.
33136         * m4/copy-file.m4: Likewise.
33137         * m4/csharp.m4: Likewise.
33138         * m4/csharpcomp.m4: Likewise.
33139         * m4/csharpexec.m4: Likewise.
33140         * m4/d-ino.m4: Likewise.
33141         * m4/d-type.m4: Likewise.
33142         * m4/dirfd.m4: Likewise.
33143         * m4/double-slash-root.m4: Likewise.
33144         * m4/eaccess.m4: Likewise.
33145         * m4/eealloc.m4: Likewise.
33146         * m4/environ.m4: Likewise.
33147         * m4/errno_h.m4: Likewise.
33148         * m4/euidaccess.m4: Likewise.
33149         * m4/execute.m4: Likewise.
33150         * m4/fatal-signal.m4: Likewise.
33151         * m4/fchdir.m4: Likewise.
33152         * m4/fcntl_h.m4: Likewise.
33153         * m4/fileblocks.m4: Likewise.
33154         * m4/filenamecat.m4: Likewise.
33155         * m4/findprog.m4: Likewise.
33156         * m4/flexmember.m4: Likewise.
33157         * m4/fnmatch.m4: Likewise.
33158         * m4/fopen.m4: Likewise.
33159         * m4/fpending.m4: Likewise.
33160         * m4/fprintf-posix.m4: Likewise.
33161         * m4/free.m4: Likewise.
33162         * m4/frexp.m4: Likewise.
33163         * m4/frexpl.m4: Likewise.
33164         * m4/fsusage.m4: Likewise.
33165         * m4/ftruncate.m4: Likewise.
33166         * m4/gc-camellia.m4: Likewise.
33167         * m4/gc-random.m4: Likewise.
33168         * m4/gc.m4: Likewise.
33169         * m4/getaddrinfo.m4: Likewise.
33170         * m4/getcwd-abort-bug.m4: Likewise.
33171         * m4/getcwd-path-max.m4: Likewise.
33172         * m4/getdate.m4: Likewise.
33173         * m4/getdomainname.m4: Likewise.
33174         * m4/getgroups.m4: Likewise.
33175         * m4/gethostname.m4: Likewise.
33176         * m4/gethrxtime.m4: Likewise.
33177         * m4/getline.m4: Likewise.
33178         * m4/getloadavg.m4: Likewise.
33179         * m4/getndelim2.m4: Likewise.
33180         * m4/getpass.m4: Likewise.
33181         * m4/gettext.m4: Likewise.
33182         * m4/gettime.m4: Likewise.
33183         * m4/gettimeofday.m4: Likewise.
33184         * m4/gnulib-common.m4: Likewise.
33185         * m4/group-member.m4: Likewise.
33186         * m4/host-os.m4: Likewise.
33187         * m4/iconv.m4: Likewise.
33188         * m4/iconv_open.m4: Likewise.
33189         * m4/inet_ntop.m4: Likewise.
33190         * m4/inet_pton.m4: Likewise.
33191         * m4/inline.m4: Likewise.
33192         * m4/intldir.m4: Likewise.
33193         * m4/intlmacosx.m4: Likewise.
33194         * m4/intmax.m4: Likewise.
33195         * m4/intmax_t.m4: Likewise.
33196         * m4/inttypes.m4: Likewise.
33197         * m4/inttypes_h.m4: Likewise.
33198         * m4/inttypes-pri.m4: Likewise.
33199         * m4/isapipe.m4: Likewise.
33200         * m4/isnand.m4: Likewise.
33201         * m4/isnanf.m4: Likewise.
33202         * m4/isnanl.m4: Likewise.
33203         * m4/javacomp.m4: Likewise.
33204         * m4/javaexec.m4: Likewise.
33205         * m4/jm-winsz1.m4: Likewise.
33206         * m4/jm-winsz2.m4: Likewise.
33207         * m4/lchown.m4: Likewise.
33208         * m4/lcmessage.m4: Likewise.
33209         * m4/ldexpl.m4: Likewise.
33210         * m4/lib-ld.m4: Likewise.
33211         * m4/lib-link.m4: Likewise.
33212         * m4/libsigsegv.m4: Likewise.
33213         * m4/link-follow.m4: Likewise.
33214         * m4/localcharset.m4: Likewise.
33215         * m4/locale-fr.m4: Likewise.
33216         * m4/locale-ja.m4: Likewise.
33217         * m4/locale-tr.m4: Likewise.
33218         * m4/locale-zh.m4: Likewise.
33219         * m4/lock.m4: Likewise.
33220         * m4/longlong.m4: Likewise.
33221         * m4/ls-mntd-fs.m4: Likewise.
33222         * m4/lstat.m4: Likewise.
33223         * m4/malloc.m4: Likewise.
33224         * m4/mathl.m4: Likewise.
33225         * m4/mbrtowc.m4: Likewise.
33226         * m4/mbstate_t.m4: Likewise.
33227         * m4/mbswidth.m4: Likewise.
33228         * m4/memchr.m4: Likewise.
33229         * m4/memcmp.m4: Likewise.
33230         * m4/memcpy.m4: Likewise.
33231         * m4/memmem.m4: Likewise.
33232         * m4/memmove.m4: Likewise.
33233         * m4/mempcpy.m4: Likewise.
33234         * m4/memrchr.m4: Likewise.
33235         * m4/memset.m4: Likewise.
33236         * m4/minmax.m4: Likewise.
33237         * m4/mkdir-slash.m4: Likewise.
33238         * m4/mkdtemp.m4: Likewise.
33239         * m4/mktime.m4: Likewise.
33240         * m4/mmap-anon.m4: Likewise.
33241         * m4/mountlist.m4: Likewise.
33242         * m4/nanosleep.m4: Likewise.
33243         * m4/nls.m4: Likewise.
33244         * m4/nocrash.m4: Likewise.
33245         * m4/open.m4: Likewise.
33246         * m4/openat.m4: Likewise.
33247         * m4/openmp.m4: Likewise.
33248         * m4/pathmax.m4: Likewise.
33249         * m4/perl.m4: Likewise.
33250         * m4/physmem.m4: Likewise.
33251         * m4/pipe.m4: Likewise.
33252         * m4/po.m4: Likewise.
33253         * m4/poll.m4: Likewise.
33254         * m4/posixtm.m4: Likewise.
33255         * m4/posixver.m4: Likewise.
33256         * m4/printf-frexp.m4: Likewise.
33257         * m4/printf-frexpl.m4: Likewise.
33258         * m4/printf-posix.m4: Likewise.
33259         * m4/printf-posix-rpl.m4: Likewise.
33260         * m4/printf.m4: Likewise.
33261         * m4/progtest.m4: Likewise.
33262         * m4/putenv.m4: Likewise.
33263         * m4/readline.m4: Likewise.
33264         * m4/readlink.m4: Likewise.
33265         * m4/readutmp.m4: Likewise.
33266         * m4/realloc.m4: Likewise.
33267         * m4/regex.m4: Likewise.
33268         * m4/relocatable.m4: Likewise.
33269         * m4/relocatable-lib.m4: Likewise.
33270         * m4/rename-dest-slash.m4: Likewise.
33271         * m4/rename.m4: Likewise.
33272         * m4/rmdir-errno.m4: Likewise.
33273         * m4/rmdir.m4: Likewise.
33274         * m4/roundf.m4: Likewise.
33275         * m4/roundl.m4: Likewise.
33276         * m4/rpmatch.m4: Likewise.
33277         * m4/save-cwd.m4: Likewise.
33278         * m4/selinux-selinux-h.m4: Likewise.
33279         * m4/setenv.m4: Likewise.
33280         * m4/settime.m4: Likewise.
33281         * m4/sig2str.m4: Likewise.
33282         * m4/sig_atomic_t.m4: Likewise.
33283         * m4/signalblocking.m4: Likewise.
33284         * m4/signbit.m4: Likewise.
33285         * m4/sigpipe.m4: Likewise.
33286         * m4/sockets.m4: Likewise.
33287         * m4/sockpfaf.m4: Likewise.
33288         * m4/st_dm_mode.m4: Likewise.
33289         * m4/stat-time.m4: Likewise.
33290         * m4/stdbool.m4: Likewise.
33291         * m4/stdint.m4: Likewise.
33292         * m4/stdint_h.m4: Likewise.
33293         * m4/stpcpy.m4: Likewise.
33294         * m4/stpncpy.m4: Likewise.
33295         * m4/strcase.m4: Likewise.
33296         * m4/strchrnul.m4: Likewise.
33297         * m4/strcspn.m4: Likewise.
33298         * m4/strdup.m4: Likewise.
33299         * m4/strftime.m4: Likewise.
33300         * m4/strndup.m4: Likewise.
33301         * m4/strnlen.m4: Likewise.
33302         * m4/strpbrk.m4: Likewise.
33303         * m4/strptime.m4: Likewise.
33304         * m4/strsep.m4: Likewise.
33305         * m4/strtod.m4: Likewise.
33306         * m4/strtoimax.m4: Likewise.
33307         * m4/strtok_r.m4: Likewise.
33308         * m4/strtol.m4: Likewise.
33309         * m4/strtoll.m4: Likewise.
33310         * m4/strtoul.m4: Likewise.
33311         * m4/strtoull.m4: Likewise.
33312         * m4/strtoumax.m4: Likewise.
33313         * m4/strverscmp.m4: Likewise.
33314         * m4/threadlib.m4: Likewise.
33315         * m4/timegm.m4: Likewise.
33316         * m4/tm_gmtoff.m4: Likewise.
33317         * m4/tmpdir.m4: Likewise.
33318         * m4/tmpfile.m4: Likewise.
33319         * m4/tzset.m4: Likewise.
33320         * m4/uintmax_t.m4: Likewise.
33321         * m4/unlinkdir.m4: Likewise.
33322         * m4/unlocked-io.m4: Likewise.
33323         * m4/uptime.m4: Likewise.
33324         * m4/userspec.m4: Likewise.
33325         * m4/utimbuf.m4: Likewise.
33326         * m4/utime.m4: Likewise.
33327         * m4/utimes-null.m4: Likewise.
33328         * m4/utimes.m4: Likewise.
33329         * m4/vararrays.m4: Likewise.
33330         * m4/vasnprintf.m4: Likewise.
33331         * m4/vfprintf-posix.m4: Likewise.
33332         * m4/vprintf-posix.m4: Likewise.
33333         * m4/wait-process.m4: Likewise.
33334         * m4/wchar_t.m4: Likewise.
33335         * m4/wint_t.m4: Likewise.
33336         * m4/write-any-file.m4: Likewise.
33337         * m4/yield.m4: Likewise.
33338
33339 2009-01-13  Bruno Haible  <bruno@clisp.org>
33340
33341         Avoid test-copy-file.sh failures when ACL support insufficient.
33342         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
33343         TESTS_ENVIRONMENT.
33344         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
33345         Reported by Jim Meyering.
33346
33347 2009-01-13  Bruno Haible  <bruno@clisp.org>
33348
33349         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
33350         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
33351         * modules/unistdio/u8-printf-parse (Files): Likewise.
33352         * modules/unistdio/u32-printf-parse (Files): Likewise.
33353         * modules/unistdio/ulc-printf-parse (Files): Likewise.
33354
33355 2009-01-13  Simon Josefsson  <simon@josefsson.org>
33356
33357         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
33358         and m4/inttypes_h.m4 too.
33359
33360 2009-01-12  Eric Blake  <ebb9@byu.net>
33361
33362         tests: IRIX 6.2 cc can't compile -0.0 into .data
33363         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
33364         rather than at compile-time.
33365         * tests/test-floorl.c (minus_zero): Likewise.
33366         * tests/test-frexpl.c (minus_zero): Likewise.
33367         * tests/test-isnan.c (minus_zerol): Likewise.
33368         * tests/test-isnanl.h (minus_zero): Likewise.
33369         * tests/test-ldexpl.c (minus_zero): Likewise.
33370         * tests/test-roundl.c (minus_zero): Likewise.
33371         * tests/test-signbit.c (minus_zerol): Likewise.
33372         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33373         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33374         * tests/test-truncl.c (minus_zero): Likewise.
33375         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33376         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33377         Reported by Tom G. Christensen and Nelson H. F. Beebe.
33378
33379 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33380
33381         regex: fix glibc bug 9697
33382         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
33383         handling.
33384
33385 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33386
33387         regex: fix glibc bug 697
33388         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
33389         being NULL also if there are no backreferences.
33390
33391 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
33392
33393         regex: merge glibc changes
33394         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
33395         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
33396         re_string_skip_chars, re_string_reconstruct): Likewise.
33397         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
33398
33399 2009-01-07  Jim Meyering  <meyering@redhat.com>
33400
33401         poll: filter through cppi
33402         * lib/poll.c: Indent cpp directives to reflect nesting.
33403
33404 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
33405
33406         poll: don't return uninitialized
33407         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
33408
33409 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
33410
33411         avoid compile failure on AIX 6.1
33412         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
33413         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
33414
33415 2009-01-04  Jim Meyering  <meyering@redhat.com>
33416
33417         remove duplicate inclusion of <stdio.h>
33418         * tests/test-fprintf-posix.c: Likewise.
33419         * tests/test-printf-posix.c: Likewise.
33420         * tests/test-snprintf-posix.c: Likewise.
33421         * tests/test-sprintf-posix.c: Likewise.
33422         * tests/test-vasprintf-posix.c: Likewise.
33423         * tests/test-vfprintf-posix.c: Likewise.
33424         * tests/test-vprintf-posix.c: Likewise.
33425         * tests/test-vsnprintf-posix.c: Likewise.
33426         * tests/test-vsprintf-posix.c: Likewise.
33427
33428 2009-01-03  Jim Meyering  <meyering@redhat.com>
33429
33430         gnulib-tool: fix sed-based filtering
33431         * gnulib-tool (func_filter_filelist): Remove extra backslash
33432         in sed_fff_filter definition.
33433
33434 2009-01-02  Jim Meyering  <meyering@redhat.com>
33435
33436         strftime: avoid compilation failure on Solaris 2.6
33437         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
33438         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
33439         Don't #define mbrlen or mbsinit, since now they're guaranteed to
33440         be available.  Reported by Tom G. Christensen.  Details in
33441         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
33442
33443 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33444             Bruno Haible  <bruno@clisp.org>
33445
33446         Speed up gnulib-tool by doing more string processing through shell
33447         built-ins.
33448         * gnulib-tool (fast_func_append): New variable.
33449         (func_remove_prefix, func_remove_suffix): New functions.
33450         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
33451         (func_filter_filelist): New function.
33452         (func_get_dependencies): Use func_remove_suffix instead of sed.
33453         (func_get_automake_snippet): Use func_filter_filelist instead of a
33454         subshell and sed invocation.
33455
33456 2009-01-01  Bruno Haible  <bruno@clisp.org>
33457
33458         Fix a security bug.
33459         * gnulib-tool (func_import, import, update): Don't allow the characters
33460         '"', '$', '`', '\' in macro arguments that become part of commands that
33461         are evaluated.
33462
33463 2009-01-01  Bruno Haible  <bruno@clisp.org>
33464
33465         * gnulib-tool (func_reset_sigpipe): Add more comments.
33466
33467 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33468
33469         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
33470         func_emit_tests_Makefile_am, func_import): Abort loops early if we
33471         already know the answer.
33472
33473 2009-01-01  Jim Meyering  <meyering@redhat.com>
33474
33475         * lib/version-etc.c (version_etc_va): Update copyright year.
33476
33477 2008-12-30  Bruno Haible  <bruno@clisp.org>
33478
33479         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
33480         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
33481         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
33482
33483 2008-12-29  Eric Blake  <ebb9@byu.net>
33484
33485         multiarch: avoid autoconf AC_REQUIRE bug
33486         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
33487         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
33488         2.63 and older.
33489         Reported by Bruno Haible, and analyzed in
33490         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
33491
33492 2008-12-29  Bruno Haible  <bruno@clisp.org>
33493
33494         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
33495         files in subdirectories correctly.
33496         Reported by Ralf Wildenhues.
33497
33498 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33499
33500         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
33501         rather than 'join FILE -', for Solaris join.
33502
33503 2008-12-29  Bruno Haible  <bruno@clisp.org>
33504
33505         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
33506         quoting.
33507         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
33508         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
33509         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
33510         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
33511         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
33512         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
33513         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
33514         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
33515         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
33516         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
33517         * m4/nls.m4 (AM_NLS): Likewise.
33518         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
33519         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
33520         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
33521         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
33522         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
33523         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
33524         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
33525         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
33526         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
33527         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
33528         * m4/xsize.m4 (gl_XSIZE): Likewise.
33529         Suggested by Jim Meyering.
33530
33531 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33532
33533         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
33534         * lib/parse-duration.c: use a switch instead of cascading if's.
33535
33536 2008-12-29  Eric Blake  <ebb9@byu.net>
33537
33538         wchar.h: supply WEOF on Irix 5.3
33539         * lib/wchar.in.h (wint_t): Also supply WEOF.
33540         * lib/wctype.in.h (wint_t): Likewise.
33541         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
33542         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
33543         Reported by Tom G. Christensen.
33544
33545 2008-12-26  Bruno Haible  <bruno@clisp.org>
33546
33547         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
33548         i486, i586, i686.
33549
33550 2008-12-26  Bruno Haible  <bruno@clisp.org>
33551
33552         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
33553
33554 2008-12-26  Bruno Haible  <bruno@clisp.org>
33555
33556         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
33557         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
33558         not __STDC_CONSTANT_MACROS.
33559         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33560
33561 2008-12-25  Bruno Haible  <bruno@clisp.org>
33562
33563         Add support for universal builds to vasnprintf.
33564         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
33565         universal builds, guess no.
33566         * modules/vasnprintf-posix (Depends-on): Add multiarch.
33567         * modules/vasprintf-posix (Depends-on): Likewise.
33568         * modules/fprintf-posix (Depends-on): Likewise.
33569         * modules/vfprintf-posix (Depends-on): Likewise.
33570         * modules/snprintf-posix (Depends-on): Likewise.
33571         * modules/vsnprintf-posix (Depends-on): Likewise.
33572         * modules/sprintf-posix (Depends-on): Likewise.
33573         * modules/vsprintf-posix (Depends-on): Likewise.
33574         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33575         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33576         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33577         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33578         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33579         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33580         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33581
33582         Add support for universal builds to <inttypes.h>.
33583         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
33584         _SCNu64_PREFIX): In Apple
33585         universal builds, define directly, using _LP64.
33586         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
33587         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
33588         * modules/inttypes (Depends-on): Add multiarch.
33589         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33590
33591         Add support for universal builds to <stdint.h>.
33592         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
33593         universal builds, define directly, using _LP64.
33594         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
33595         Apple universal builds, don't test for the size and suffix of ptrdiff_t
33596         and size_t.
33597         * modules/stdint (Depends-on): Add multiarch.
33598         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
33599
33600         New module 'multiarch'.
33601         * modules/multiarch: New file.
33602         * m4/multiarch.m4: New file.
33603
33604 2008-12-25  Bruno Haible  <bruno@clisp.org>
33605
33606         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
33607
33608 2008-12-25  Bruno Haible  <bruno@clisp.org>
33609
33610         * modules/btowc (License): Relicense under LGPLv2+.
33611         * modules/mbsinit (License): Likewise.
33612         * modules/mbrtowc (License): Likewise.
33613         * modules/wcrtomb (License): Likewise.
33614         * modules/streq (License): Likewise.
33615         Reported by David Lutterkort <lutter@redhat.com>.
33616
33617 2008-12-23  Bruno Haible  <bruno@clisp.org>
33618
33619         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
33620
33621 2008-12-23  Bruno Haible  <bruno@clisp.org>
33622
33623         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
33624         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
33625         GETADDRINFO_LIB, not in LIBS.
33626         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
33627         * modules/canon-host (Link): Likewise.
33628         * NEWS: Mention the change.
33629         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
33630         GETADDRINFO_LIB.
33631
33632 2008-12-22  Bruno Haible  <bruno@clisp.org>
33633
33634         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
33635         * doc/posix-functions/iswalpha_l.texi: Likewise.
33636         * doc/posix-functions/iswblank_l.texi: Likewise.
33637         * doc/posix-functions/iswcntrl_l.texi: Likewise.
33638         * doc/posix-functions/iswctype_l.texi: Likewise.
33639         * doc/posix-functions/iswdigit_l.texi: Likewise.
33640         * doc/posix-functions/iswgraph_l.texi: Likewise.
33641         * doc/posix-functions/iswlower_l.texi: Likewise.
33642         * doc/posix-functions/iswprint_l.texi: Likewise.
33643         * doc/posix-functions/iswpunct_l.texi: Likewise.
33644         * doc/posix-functions/iswspace_l.texi: Likewise.
33645         * doc/posix-functions/iswupper_l.texi: Likewise.
33646         * doc/posix-functions/iswxdigit_l.texi: Likewise.
33647         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
33648         * doc/posix-functions/open_wmemstream.texi: Likewise.
33649         * doc/posix-functions/swscanf.texi: Likewise.
33650         * doc/posix-functions/towctrans_l.texi: Likewise.
33651         * doc/posix-functions/towlower.texi: Likewise.
33652         * doc/posix-functions/towlower_l.texi: Likewise.
33653         * doc/posix-functions/towupper.texi: Likewise.
33654         * doc/posix-functions/towupper_l.texi: Likewise.
33655         * doc/posix-functions/vfwprintf.texi: Likewise.
33656         * doc/posix-functions/vfwscanf.texi: Likewise.
33657         * doc/posix-functions/vswscanf.texi: Likewise.
33658         * doc/posix-functions/vwprintf.texi: Likewise.
33659         * doc/posix-functions/vwscanf.texi: Likewise.
33660         * doc/posix-functions/wcpcpy.texi: Likewise.
33661         * doc/posix-functions/wcpncpy.texi: Likewise.
33662         * doc/posix-functions/wcscasecmp.texi: Likewise.
33663         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
33664         * doc/posix-functions/wcscoll_l.texi: Likewise.
33665         * doc/posix-functions/wcsdup.texi: Likewise.
33666         * doc/posix-functions/wcsncasecmp.texi: Likewise.
33667         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
33668         * doc/posix-functions/wcsnlen.texi: Likewise.
33669         * doc/posix-functions/wcsnrtombs.texi: Likewise.
33670         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
33671         * doc/posix-functions/wctrans_l.texi: Likewise.
33672         * doc/posix-functions/wctype_l.texi: Likewise.
33673         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
33674         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
33675         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
33676         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
33677         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
33678         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
33679         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
33680         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
33681         * doc/glibc-functions/wcschrnul.texi: Likewise.
33682         * doc/glibc-functions/wcsftime_l.texi: Likewise.
33683         * doc/glibc-functions/wcstod_l.texi: Likewise.
33684         * doc/glibc-functions/wcstof_l.texi: Likewise.
33685         * doc/glibc-functions/wcstol_l.texi: Likewise.
33686         * doc/glibc-functions/wcstold_l.texi: Likewise.
33687         * doc/glibc-functions/wcstoll_l.texi: Likewise.
33688         * doc/glibc-functions/wcstoq.texi: Likewise.
33689         * doc/glibc-functions/wcstoul_l.texi: Likewise.
33690         * doc/glibc-functions/wcstoull_l.texi: Likewise.
33691         * doc/glibc-functions/wcstouq.texi: Likewise.
33692         * doc/glibc-functions/wmempcpy.texi: Likewise.
33693
33694 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
33695             Eric Blake  <ebb9@byu.net>
33696             Paolo Bonzini  <bonzini@gnu.org>
33697             Bruno Haible  <bruno@clisp.org>
33698
33699         Make c-stack work on Haiku.
33700         * lib/c-stack.c (SA_ONSTACK): Define fallback.
33701         (c_stack_action): Use SA_ONSTACK flag.
33702
33703 2008-12-22  Bruno Haible  <bruno@clisp.org>
33704
33705         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
33706
33707 2008-12-22  Bruno Haible  <bruno@clisp.org>
33708
33709         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
33710         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
33711         being overridden.
33712         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
33713         New macros.
33714         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
33715         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
33716         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
33717         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
33718
33719 2008-12-22  Bruno Haible  <bruno@clisp.org>
33720
33721         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
33722         from test code.
33723
33724 2008-12-22  Eric Blake  <ebb9@byu.net>
33725
33726         Avoid gcc warnings on cygwin.
33727         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
33728         Avoid unused variable.
33729         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
33730         Likewise.
33731
33732 2008-12-22  Bruno Haible  <bruno@clisp.org>
33733
33734         Remove HAVE_MBRTOWC conditionals.
33735         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
33736         (mbscasecmp): Assume mbrtowc function.
33737         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
33738         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
33739         * lib/mbschr.c: Include mbuiter.h unconditionally.
33740         (mbschr): Assume mbrtowc function.
33741         * lib/mbscspn.c: Include mbuiter.h unconditionally.
33742         (mbscspn): Assume mbrtowc function.
33743         * lib/mbslen.c: Include mbuiter.h unconditionally.
33744         (mbslen): Assume mbrtowc function.
33745         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
33746         (mbsncasecmp): Assume mbrtowc function.
33747         * lib/mbsnlen.c: Include mbiter.h unconditionally.
33748         (mbsnlen): Assume mbrtowc function.
33749         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
33750         (mbspbrk): Assume mbrtowc function.
33751         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
33752         (mbspcasecmp): Assume mbrtowc function.
33753         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
33754         (mbsrchr): Assume mbrtowc function.
33755         * lib/mbssep.c: Include mbuiter.h unconditionally.
33756         (mbssep): Assume mbrtowc function.
33757         * lib/mbsspn.c: Include mbuiter.h unconditionally.
33758         (mbsspn): Assume mbrtowc function.
33759         * lib/mbsstr.c: Include mbuiter.h unconditionally.
33760         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
33761         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
33762         (mbstok_r): Assume mbrtowc function.
33763         * lib/propername.c: Include mbuiter.h unconditionally.
33764         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
33765         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
33766         (trim2): Assume mbrtowc function.
33767         * lib/mbswidth.c (mbsinit): Remove fallback definition.
33768         (mbsnwidth): Assume mbrtowc function.
33769         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
33770         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
33771         fallback definitions.
33772         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
33773
33774 2008-12-22  Bruno Haible  <bruno@clisp.org>
33775
33776         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
33777
33778 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
33779
33780         * modules/regex: Request emulations for the mb*/wc* functions we need.
33781         * m4/regex.m4: Don't look for those functions here.
33782         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
33783
33784 2008-12-22  Bruno Haible  <bruno@clisp.org>
33785
33786         * modules/fnmatch (Depends-on): Remove duplicated dependency.
33787
33788 2008-12-21  Bruno Haible  <bruno@clisp.org>
33789
33790         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
33791         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
33792         (Include): Remove conditionalization.
33793         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
33794         (Include): Remove conditionalization.
33795         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
33796         (Include): Remove conditionalization.
33797         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
33798         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33799         * NEWS: Mention the change.
33800         Reported by Alan Hourihane <alanh@fairlite.co.uk>
33801         via Sergey Poznyakoff <gray@gnu.org.ua>.
33802
33803 2008-12-21  Bruno Haible  <bruno@clisp.org>
33804
33805         * MODULES.html.sh (Extended multibyte and wide character utilities
33806         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
33807         wcrtomb, wcsrtombs.
33808         (Support for systems lacking POSIX:2008): Add accept, bind, close,
33809         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
33810         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
33811         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
33812
33813 2008-12-21  Bruno Haible  <bruno@clisp.org>
33814
33815         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
33816
33817 2008-12-21  Bruno Haible  <bruno@clisp.org>
33818
33819         * modules/wcsnrtombs-tests: New file.
33820         * tests/test-wcsnrtombs1.sh: New file.
33821         * tests/test-wcsnrtombs2.sh: New file.
33822         * tests/test-wcsnrtombs3.sh: New file.
33823         * tests/test-wcsnrtombs4.sh: New file.
33824         * tests/test-wcsnrtombs.c: New file.
33825
33826         New module 'wcsnrtombs'.
33827         * lib/wchar.in.h (wcsnrtombs): New declaration.
33828         * lib/wcsnrtombs.c: New file.
33829         * lib/wcsrtombs-state.c: New file.
33830         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
33831         (internal_state): Remove variable.
33832         * m4/wcsnrtombs.m4: New file.
33833         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
33834         compilation units.
33835         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
33836         HAVE_WCSNRTOMBS.
33837         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
33838         HAVE_WCSNRTOMBS.
33839         * modules/wcsnrtombs: New file.
33840         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
33841         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
33842
33843 2008-12-21  Bruno Haible  <bruno@clisp.org>
33844
33845         * modules/wcsrtombs-tests: New file.
33846         * tests/test-wcsrtombs1.sh: New file.
33847         * tests/test-wcsrtombs2.sh: New file.
33848         * tests/test-wcsrtombs3.sh: New file.
33849         * tests/test-wcsrtombs4.sh: New file.
33850         * tests/test-wcsrtombs.c: New file.
33851
33852         New module 'wcsrtombs'.
33853         * lib/wchar.in.h (wcsrtombs): New declaration.
33854         * lib/wcsrtombs.c: New file.
33855         * m4/wcsrtombs.m4: New file.
33856         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
33857         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33858         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
33859         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33860         * modules/wcsrtombs: New file.
33861         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
33862         bugs.
33863
33864 2008-12-21  Bruno Haible  <bruno@clisp.org>
33865
33866         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
33867         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
33868         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
33869         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
33870         if not correct.
33871         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
33872         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
33873         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33874         m4/locale-zh.m4, m4/codeset.m4.
33875         * doc/posix-functions/wcrtomb.texi: Document the bug.
33876
33877 2008-12-21  Bruno Haible  <bruno@clisp.org>
33878
33879         Work around a btowc() bug on IRIX 6.5.
33880         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
33881         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
33882         REPLACE_WTOBC if not.
33883         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
33884         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
33885         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
33886
33887 2008-12-21  Bruno Haible  <bruno@clisp.org>
33888
33889         * modules/wcrtomb-tests: New file.
33890         * tests/test-wcrtomb.sh: New file.
33891         * tests/test-wcrtomb.c: New file.
33892
33893         New module 'wcrtomb'.
33894         * lib/wchar.in.h (wcrtomb): New declaration.
33895         * lib/wcrtomb.c: New file.
33896         * m4/wcrtomb.m4: New file.
33897         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
33898         HAVE_WCRTOMB.
33899         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
33900         HAVE_WCRTOMB.
33901         * modules/wcrtomb: New file.
33902         * doc/posix-functions/wcrtomb.texi: Mention the new module.
33903
33904 2008-12-21  Bruno Haible  <bruno@clisp.org>
33905
33906         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
33907         * modules/mbsrtowcs (Files): Likewise.
33908         * modules/wctob (Files): Likewise.
33909         * modules/c-strcase-tests (Files): Likewise.
33910         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33911         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33912         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33913         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33914         * modules/vasnprintf-posix-tests (Files): Likewise.
33915
33916 2008-12-21  William Pursell  <bill.pursell@gmail.com>
33917
33918         gitlog-to-changelog: pass all command-line arguments to git-log
33919         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
33920         it is sometimes convenient to filter the commits in various ways.
33921         gitlog-to-changelog only allows --since to specify a start date,
33922         but git-log itself supports many other filtering mechanisms.
33923         At the moment, I want to filter by branch name.  Rather than
33924         adding a --branch option to gitlog-to-changelog, it seems more
33925         flexible to simply pass all options directly to git-log and let
33926         git do the work.  Notice that this effectively makes --since a
33927         redundant option for gitlog-to-changelog, but removing it would
33928         require current usage to change since calls would then require
33929         an additional '--'.
33930
33931 2008-12-21  Bruno Haible  <bruno@clisp.org>
33932
33933         * modules/mbsnrtowcs-tests: New file.
33934         * tests/test-mbsnrtowcs1.sh: New file.
33935         * tests/test-mbsnrtowcs2.sh: New file.
33936         * tests/test-mbsnrtowcs3.sh: New file.
33937         * tests/test-mbsnrtowcs4.sh: New file.
33938         * tests/test-mbsnrtowcs.c: New file.
33939
33940         New module 'mbsnrtowcs'.
33941         * lib/wchar.in.h (mbsnrtowcs): New declaration.
33942         * lib/mbsnrtowcs.c: New file.
33943         * lib/mbsrtowcs-state.c: New file.
33944         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
33945         (internal_state): Remove variable.
33946         * m4/mbsnrtowcs.m4: New file.
33947         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
33948         compilation units.
33949         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
33950         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33951         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
33952         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33953         * modules/mbsnrtowcs: New file.
33954         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
33955         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
33956         portability problem.
33957
33958 2008-12-21  Bruno Haible  <bruno@clisp.org>
33959
33960         Work around mbsrtowcs bug.
33961         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
33962         (gl_FUNC_MBSRTOWCS): Invoke it.
33963         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33964         m4/locale-zh.m4.
33965         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
33966
33967 2008-12-21  Bruno Haible  <bruno@clisp.org>
33968
33969         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
33970
33971 2008-12-21  Bruno Haible  <bruno@clisp.org>
33972
33973         Update doc for AIX.
33974         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
33975         16-bit wchar_t type.
33976         * doc/posix-functions/btowc.texi: Likewise.
33977         * doc/posix-functions/fgetwc.texi: Likewise.
33978         * doc/posix-functions/fgetws.texi: Likewise.
33979         * doc/posix-functions/fputwc.texi: Likewise.
33980         * doc/posix-functions/fputws.texi: Likewise.
33981         * doc/posix-functions/fwide.texi: Likewise.
33982         * doc/posix-functions/fwprintf.texi: Likewise.
33983         * doc/posix-functions/fwscanf.texi: Likewise.
33984         * doc/posix-functions/getwchar.texi: Likewise.
33985         * doc/posix-functions/getwc.texi: Likewise.
33986         * doc/posix-functions/iswalnum.texi: Likewise.
33987         * doc/posix-functions/iswalpha.texi: Likewise.
33988         * doc/posix-functions/iswblank.texi: Likewise.
33989         * doc/posix-functions/iswcntrl.texi: Likewise.
33990         * doc/posix-functions/iswctype.texi: Likewise.
33991         * doc/posix-functions/iswdigit.texi: Likewise.
33992         * doc/posix-functions/iswgraph.texi: Likewise.
33993         * doc/posix-functions/iswlower.texi: Likewise.
33994         * doc/posix-functions/iswprint.texi: Likewise.
33995         * doc/posix-functions/iswpunct.texi: Likewise.
33996         * doc/posix-functions/iswspace.texi: Likewise.
33997         * doc/posix-functions/iswupper.texi: Likewise.
33998         * doc/posix-functions/iswxdigit.texi: Likewise.
33999         * doc/posix-functions/mbrtowc.texi: Likewise.
34000         * doc/posix-functions/mbsrtowcs.texi: Likewise.
34001         * doc/posix-functions/mbstowcs.texi: Likewise.
34002         * doc/posix-functions/mbtowc.texi: Likewise.
34003         * doc/posix-functions/putwchar.texi: Likewise.
34004         * doc/posix-functions/putwc.texi: Likewise.
34005         * doc/posix-functions/swprintf.texi: Likewise.
34006         * doc/posix-functions/tolower.texi: Likewise.
34007         * doc/posix-functions/toupper.texi: Likewise.
34008         * doc/posix-functions/towctrans.texi: Likewise.
34009         * doc/posix-functions/ungetwc.texi: Likewise.
34010         * doc/posix-functions/vswprintf.texi: Likewise.
34011         * doc/posix-functions/wcrtomb.texi: Likewise.
34012         * doc/posix-functions/wcscat.texi: Likewise.
34013         * doc/posix-functions/wcschr.texi: Likewise.
34014         * doc/posix-functions/wcscmp.texi: Likewise.
34015         * doc/posix-functions/wcscoll.texi: Likewise.
34016         * doc/posix-functions/wcscpy.texi: Likewise.
34017         * doc/posix-functions/wcscspn.texi: Likewise.
34018         * doc/posix-functions/wcsftime.texi: Likewise.
34019         * doc/posix-functions/wcslen.texi: Likewise.
34020         * doc/posix-functions/wcsncat.texi: Likewise.
34021         * doc/posix-functions/wcsncmp.texi: Likewise.
34022         * doc/posix-functions/wcsncpy.texi: Likewise.
34023         * doc/posix-functions/wcspbrk.texi: Likewise.
34024         * doc/posix-functions/wcsrchr.texi: Likewise.
34025         * doc/posix-functions/wcsrtombs.texi: Likewise.
34026         * doc/posix-functions/wcsspn.texi: Likewise.
34027         * doc/posix-functions/wcsstr.texi: Likewise.
34028         * doc/posix-functions/wcstod.texi: Likewise.
34029         * doc/posix-functions/wcstof.texi: Likewise.
34030         * doc/posix-functions/wcstoimax.texi: Likewise.
34031         * doc/posix-functions/wcstok.texi: Likewise.
34032         * doc/posix-functions/wcstold.texi: Likewise.
34033         * doc/posix-functions/wcstoll.texi: Likewise.
34034         * doc/posix-functions/wcstol.texi: Likewise.
34035         * doc/posix-functions/wcstombs.texi: Likewise.
34036         * doc/posix-functions/wcstoull.texi: Likewise.
34037         * doc/posix-functions/wcstoul.texi: Likewise.
34038         * doc/posix-functions/wcstoumax.texi: Likewise.
34039         * doc/posix-functions/wcswidth.texi: Likewise.
34040         * doc/posix-functions/wcsxfrm.texi: Likewise.
34041         * doc/posix-functions/wctob.texi: Likewise.
34042         * doc/posix-functions/wctomb.texi: Likewise.
34043         * doc/posix-functions/wctrans.texi: Likewise.
34044         * doc/posix-functions/wctype.texi: Likewise.
34045         * doc/posix-functions/wcwidth.texi: Likewise.
34046         * doc/posix-functions/wmemchr.texi: Likewise.
34047         * doc/posix-functions/wmemcmp.texi: Likewise.
34048         * doc/posix-functions/wmemcpy.texi: Likewise.
34049         * doc/posix-functions/wmemmove.texi: Likewise.
34050         * doc/posix-functions/wmemset.texi: Likewise.
34051         * doc/posix-functions/wprintf.texi: Likewise.
34052         * doc/posix-functions/wscanf.texi: Likewise.
34053
34054 2008-12-21  Bruno Haible  <bruno@clisp.org>
34055
34056         Update doc for HP-UX 11.11.
34057         * doc/posix-functions/btowc.texi: Clarify that the function is missing
34058         in HP-UX version 11.00, not in all versions of HP-UX 11.
34059         * doc/posix-functions/fwide.texi: Likewise.
34060         * doc/posix-functions/fwprintf.texi: Likewise.
34061         * doc/posix-functions/fwscanf.texi: Likewise.
34062         * doc/posix-functions/inet_ntop.texi: Likewise.
34063         * doc/posix-functions/inet_pton.texi: Likewise.
34064         * doc/posix-functions/mbrlen.texi: Likewise.
34065         * doc/posix-functions/mbrtowc.texi: Likewise.
34066         * doc/posix-functions/mbsinit.texi: Likewise.
34067         * doc/posix-functions/mbsrtowcs.texi: Likewise.
34068         * doc/posix-functions/swprintf.texi: Likewise.
34069         * doc/posix-functions/swscanf.texi: Likewise.
34070         * doc/posix-functions/towctrans.texi: Likewise.
34071         * doc/posix-functions/vfwprintf.texi: Likewise.
34072         * doc/posix-functions/vswprintf.texi: Likewise.
34073         * doc/posix-functions/vwprintf.texi: Likewise.
34074         * doc/posix-functions/wcrtomb.texi: Likewise.
34075         * doc/posix-functions/wcsrtombs.texi: Likewise.
34076         * doc/posix-functions/wcsstr.texi: Likewise.
34077         * doc/posix-functions/wctob.texi: Likewise.
34078         * doc/posix-functions/wctrans.texi: Likewise.
34079         * doc/posix-functions/wmemchr.texi: Likewise.
34080         * doc/posix-functions/wmemcmp.texi: Likewise.
34081         * doc/posix-functions/wmemcpy.texi: Likewise.
34082         * doc/posix-functions/wmemmove.texi: Likewise.
34083         * doc/posix-functions/wmemset.texi: Likewise.
34084         * doc/posix-functions/wprintf.texi: Likewise.
34085         * doc/posix-functions/wscanf.texi: Likewise.
34086
34087 2008-12-21  Bruno Haible  <bruno@clisp.org>
34088
34089         Work around a portability problem.
34090         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
34091         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
34092
34093 2008-12-20  Bruno Haible  <bruno@clisp.org>
34094
34095         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
34096         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
34097         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
34098         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
34099         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
34100
34101         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
34102         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
34103         set.
34104         (GNULIB_defined_mbstate_t): New macro.
34105         (mbsinit): Redefine if REPLACE_MBSINIT is set.
34106         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
34107         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
34108         reuses the system's mbrtowc function but works around the bugs.
34109         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
34110         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
34111         macros.
34112         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
34113         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
34114         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
34115         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
34116         REPLACE_MBSINIT if mbsinit needs to be overridden.
34117         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
34118         REPLACE_MBSINIT, REPLACE_MBRTOWC.
34119         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
34120         REPLACE_MBSINIT, REPLACE_MBRTOWC.
34121         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
34122         m4/locale-zh.m4.
34123         (Depends): Add mbsinit.
34124         * modules/mbsinit (Depends): Add mbrtowc.
34125         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
34126
34127 2008-12-20  Bruno Haible  <bruno@clisp.org>
34128
34129         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
34130         so that there are no conversion errors on AIX.
34131         * tests/test-mbsrtowcs.c (main): LIkewise.
34132
34133 2008-12-20  Bruno Haible  <bruno@clisp.org>
34134
34135         Work around wctob bug on Solaris <= 9.
34136         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
34137         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
34138         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
34139         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
34140         * modules/wctob (Files): Add m4/locale-fr.m4.
34141         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
34142
34143 2008-12-20  Bruno Haible  <bruno@clisp.org>
34144
34145         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
34146         /dev/null.
34147         * tests/test-select-in.sh: Likewise.
34148         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34149
34150 2008-12-20  Bruno Haible  <bruno@clisp.org>
34151
34152         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
34153         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
34154         Cygwin 1.5.x.
34155
34156 2008-12-20  Bruno Haible  <bruno@clisp.org>
34157
34158         Ensure mbstate_t is defined on HP-UX 11.11.
34159         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
34160         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
34161         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
34162         AC_USE_SYSTEM_EXTENSIONS.
34163         * modules/fnmatch (Depends-on): Add extensions.
34164         * modules/mbrlen (Depends-on): Likewise.
34165         * modules/mbrtowc (Depends-on): Likewise.
34166         * modules/mbsinit (Depends-on): Likewise.
34167         * modules/mbsrtowcs (Depends-on): Likewise.
34168         * modules/mbswidth (Depends-on): Likewise.
34169         * modules/quotearg (Depends-on): Likewise.
34170         * modules/strftime (Depends-on): Likewise.
34171
34172 2008-12-20  Bruno Haible  <bruno@clisp.org>
34173
34174         Ensure wctob is declared on IRIX 6.5.
34175         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
34176         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
34177         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
34178         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
34179         of HAVE_WCTOB.
34180         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
34181         HAVE_WCTOB.
34182         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
34183
34184 2008-12-19  Bruno Haible  <bruno@clisp.org>
34185
34186         * modules/mbsrtowcs-tests: New file.
34187         * tests/test-mbsrtowcs1.sh: New file.
34188         * tests/test-mbsrtowcs2.sh: New file.
34189         * tests/test-mbsrtowcs3.sh: New file.
34190         * tests/test-mbsrtowcs4.sh: New file.
34191         * tests/test-mbsrtowcs.c: New file.
34192
34193         New module 'mbsrtowcs'.
34194         * lib/wchar.in.h (mbsrtowcs): New declaration.
34195         * lib/mbsrtowcs.c: New file.
34196         * m4/mbsrtowcs.m4: New file.
34197         * modules/mbsrtowcs: New file.
34198         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
34199         HAVE_MBSRTOWCS.
34200         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
34201         HAVE_MBSRTOWCS.
34202         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
34203
34204 2008-12-19  Bruno Haible  <bruno@clisp.org>
34205
34206         New module 'mbrlen'.
34207         * lib/wchar.in.h (mbrlen): New declaration.
34208         * lib/mbrlen.c: New file.
34209         * m4/mbrlen.m4: New file.
34210         * modules/mbrlen: New file.
34211         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
34212         HAVE_MBRLEN.
34213         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
34214         HAVE_MBRLEN.
34215         * doc/posix-functions/mbrlen.texi: Document the new module.
34216
34217 2008-12-19  Bruno Haible  <bruno@clisp.org>
34218
34219         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
34220         * modules/mbrtowc (Depends-on): Add verify.
34221         Suggested by Paul Eggert.
34222
34223 2008-12-18  Bruno Haible  <bruno@clisp.org>
34224
34225         * modules/mbsinit-tests: New file.
34226         * tests/test-mbsinit.sh: New file.
34227         * tests/test-mbsinit.c: New file.
34228
34229 2008-12-18  Bruno Haible  <bruno@clisp.org>
34230
34231         * modules/mbrtowc-tests: New file.
34232         * tests/test-mbrtowc1.sh: New file.
34233         * tests/test-mbrtowc2.sh: New file.
34234         * tests/test-mbrtowc3.sh: New file.
34235         * tests/test-mbrtowc4.sh: New file.
34236         * tests/test-mbrtowc.c: New file.
34237
34238         New module 'mbrtowc'.
34239         * lib/wchar.in.h (mbstate_t): Override when the system does not have
34240         mbsinit and mbrtowc.
34241         (mbrtowc): New declaration.
34242         * lib/mbrtowc.c: New file.
34243         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
34244         * modules/mbrtowc: New file.
34245         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
34246         HAVE_MBRTOWC.
34247         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
34248         HAVE_MBRTOWC.
34249         * doc/posix-functions/mbrtowc.texi: Document the new module.
34250
34251 2008-12-18  Bruno Haible  <bruno@clisp.org>
34252
34253         New module 'wctob'.
34254         * lib/wchar.in.h (wctob): New declaration.
34255         * lib/wctob.c: New file.
34256         * m4/wctob.m4: New file.
34257         * modules/wctob: New file.
34258         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
34259         HAVE_WCTOB.
34260         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
34261         * doc/posix-functions/wctob.texi: Document the new module.
34262
34263 2008-12-18  Bruno Haible  <bruno@clisp.org>
34264
34265         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
34266         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
34267
34268 2008-12-18  Simon Josefsson  <simon@josefsson.org>
34269
34270         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
34271         G. Christensen" <tgc@jupiterrise.com>.
34272
34273         * lib/flock.c: Need to include errno.h.  Reported by "Tom
34274         G. Christensen" <tgc@jupiterrise.com>.
34275
34276         * lib/flock.c: Need to include string.h.  Reported by "Tom
34277         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
34278         <ebb9@byu.net>.
34279
34280 2008-12-18  Bruno Haible  <bruno@clisp.org>
34281
34282         * m4/locale-ja.m4: New file, from GNU gettext.
34283
34284 2008-12-17  Bruno Haible  <bruno@clisp.org>
34285
34286         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
34287         Suggested by Eric Blake.
34288
34289 2008-12-17  Bruno Haible  <bruno@clisp.org>
34290
34291         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
34292
34293 2008-12-17  Bruno Haible  <bruno@clisp.org>
34294
34295         * lib/mbsinit.c: Include verify.h. Verify an assumption.
34296         * modules/mbsinit (Depends-on): Add verify.
34297         Suggested by Paul Eggert.
34298
34299 2008-12-17  Bruno Haible  <bruno@clisp.org>
34300
34301         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
34302         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
34303         gl_FUNC_MBRTOWC.
34304         * m4/mbiter.m4 (gl_MBITER): LIkewise.
34305         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
34306         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
34307         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
34308         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
34309         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
34310         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
34311         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
34312         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
34313         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
34314         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
34315         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
34316         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
34317         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
34318         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
34319         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
34320         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
34321         * modules/trim (configure.ac): Likewise.
34322
34323 2008-12-17  Bruno Haible  <bruno@clisp.org>
34324
34325         * modules/btowc-tests: New file.
34326         * tests/test-btowc1.sh: New file.
34327         * tests/test-btowc2.sh: New file.
34328         * tests/test-btowc.c: New file.
34329
34330         New module 'btowc'.
34331         * lib/wchar.in.h (btowc): New declaration.
34332         * lib/btowc.c: New file.
34333         * m4/btowc.m4: New file.
34334         * modules/btowc: New file.
34335         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
34336         HAVE_BTOWC.
34337         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
34338         * doc/posix-functions/btowc.texi: Document the new module.
34339
34340 2008-12-17  Bruno Haible  <bruno@clisp.org>
34341
34342         New module 'mbsinit'.
34343         * lib/wchar.in.h (mbsinit): New declaration.
34344         * lib/mbsinit.c: New file.
34345         * m4/mbsinit.m4: New file.
34346         * modules/mbsinit: New file.
34347         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
34348         HAVE_MBSINIT.
34349         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
34350         HAVE_MBSINIT.
34351         * doc/posix-functions/mbsinit.texi: Document the new module.
34352
34353 2008-12-16  Bruno Haible  <bruno@clisp.org>
34354
34355         * lib/unistd.in.h: Add comment.
34356         * tests/test-environ.c: Don't include <stdlib.h>.
34357
34358 2008-12-16  Bruno Haible  <bruno@clisp.org>
34359
34360         * lib/parse-duration.h (parse_duration): Document return value
34361         convention.
34362         * lib/parse-duration.c: Include specification header first. Add
34363         comments.
34364         (_): Remove macro.
34365         (parse_year_month_day, parse_hour_minute_second): Move side effects
34366         outside of strchr call.
34367         (parse_non_iso8601): Move side effects outside of isspace call.
34368         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
34369         call.
34370
34371 2008-12-16  Bruno Haible  <bruno@clisp.org>
34372
34373         * tests/test-parse-duration.sh: Produce no output when the test
34374         succeeds.
34375
34376 2008-12-16  Bruno Haible  <bruno@clisp.org>
34377
34378         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
34379         expressions.
34380
34381 2008-12-15  Bruno Haible  <bruno@clisp.org>
34382
34383         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
34384         * doc/glibc-functions/flistxattr.texi: Likewise.
34385         * doc/glibc-functions/fopencookie.texi: Likewise.
34386         * doc/glibc-functions/fremovexattr.texi: Likewise.
34387         * doc/glibc-functions/fsetxattr.texi: Likewise.
34388         * doc/glibc-functions/getxattr.texi: Likewise.
34389         * doc/glibc-functions/lgetxattr.texi: Likewise.
34390         * doc/glibc-functions/listxattr.texi: Likewise.
34391         * doc/glibc-functions/llistxattr.texi: Likewise.
34392         * doc/glibc-functions/lremovexattr.texi: Likewise.
34393         * doc/glibc-functions/lsetxattr.texi: Likewise.
34394         * doc/glibc-functions/removexattr.texi: Likewise.
34395         * doc/glibc-functions/setxattr.texi: Likewise.
34396         * doc/posix-functions/open_memstream.texi: Likewise.
34397
34398 2008-12-15  Eric Blake  <ebb9@byu.net>
34399
34400         Update doc for cygwin 1.7.
34401         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
34402         functions.
34403         * doc/posix-functions/fchmodat.texi: Likewise.
34404         * doc/posix-functions/fchownat.texi: Likewise.
34405         * doc/posix-functions/fdopendir.texi: Likewise.
34406         * doc/posix-functions/fmemopen.texi: Likewise.
34407         * doc/posix-functions/freeaddrinfo.texi: Likewise.
34408         * doc/posix-functions/fstatat.texi: Likewise.
34409         * doc/posix-functions/futimens.texi: Likewise.
34410         * doc/posix-functions/gai_strerror.texi: Likewise.
34411         * doc/posix-functions/getaddrinfo.texi: Likewise.
34412         * doc/posix-functions/getnameinfo.texi: Likewise.
34413         * doc/posix-functions/if_freenameindex.texi: Likewise.
34414         * doc/posix-functions/if_indextoname.texi: Likewise.
34415         * doc/posix-functions/if_nameindex.texi: Likewise.
34416         * doc/posix-functions/if_nametoindex.texi: Likewise.
34417         * doc/posix-functions/insque.texi: Likewise.
34418         * doc/posix-functions/linkat.texi: Likewise.
34419         * doc/posix-functions/llrint.texi: Likewise.
34420         * doc/posix-functions/llrintf.texi: Likewise.
34421         * doc/posix-functions/llrintl.texi: Likewise.
34422         * doc/posix-functions/lockf.texi: Likewise.
34423         * doc/posix-functions/lrintl.texi: Likewise.
34424         * doc/posix-functions/mkdirat.texi: Likewise.
34425         * doc/posix-functions/mkfifoat.texi: Likewise.
34426         * doc/posix-functions/mknodat.texi: Likewise.
34427         * doc/posix-functions/mq_close.texi: Likewise.
34428         * doc/posix-functions/mq_getattr.texi: Likewise.
34429         * doc/posix-functions/mq_notify.texi: Likewise.
34430         * doc/posix-functions/mq_open.texi: Likewise.
34431         * doc/posix-functions/mq_receive.texi: Likewise.
34432         * doc/posix-functions/mq_send.texi: Likewise.
34433         * doc/posix-functions/mq_setattr.texi: Likewise.
34434         * doc/posix-functions/mq_timedreceive.texi: Likewise.
34435         * doc/posix-functions/mq_timedsend.texi: Likewise.
34436         * doc/posix-functions/mq_unlink.texi: Likewise.
34437         * doc/posix-functions/open_memstream.texi: Likewise.
34438         * doc/posix-functions/openat.texi: Likewise.
34439         * doc/posix-functions/posix_fadvise.texi: Likewise.
34440         * doc/posix-functions/posix_fallocate.texi: Likewise.
34441         * doc/posix-functions/posix_madvise.texi: Likewise.
34442         * doc/posix-functions/posix_memalign.texi: Likewise.
34443         * doc/posix-functions/posix_openpt.texi: Likewise.
34444         * doc/posix-functions/readlinkat.texi: Likewise.
34445         * doc/posix-functions/remque.texi: Likewise.
34446         * doc/posix-functions/renameat.texi: Likewise.
34447         * doc/posix-functions/rintl.texi: Likewise.
34448         * doc/posix-functions/sem_unlink.texi: Likewise.
34449         * doc/posix-functions/shm_open.texi: Likewise.
34450         * doc/posix-functions/shm_unlink.texi: Likewise.
34451         * doc/posix-functions/signgam.texi: Likewise.
34452         * doc/posix-functions/sigset.texi: Likewise.
34453         * doc/posix-functions/stpcpy.texi: Likewise.
34454         * doc/posix-functions/stpncpy.texi: Likewise.
34455         * doc/posix-functions/strerror.texi: Likewise.
34456         * doc/posix-functions/strtod.texi: Likewise.
34457         * doc/posix-functions/symlinkat.texi: Likewise.
34458         * doc/posix-functions/unlinkat.texi: Likewise.
34459         * doc/posix-functions/utimensat.texi: Likewise.
34460         * doc/glibc-functions/bindresvport.texi: Likewise.
34461         * doc/glibc-functions/dn_expand.texi: Likewise.
34462         * doc/glibc-functions/exp10.texi: Likewise.
34463         * doc/glibc-functions/exp10f.texi: Likewise.
34464         * doc/glibc-functions/fgetxattr.texi: Likewise.
34465         * doc/glibc-functions/flistxattr.texi: Likewise.
34466         * doc/glibc-functions/fopencookie.texi: Likewise.
34467         * doc/glibc-functions/freeifaddrs.texi: Likewise.
34468         * doc/glibc-functions/fremovexattr.texi: Likewise.
34469         * doc/glibc-functions/fsetxattr.texi: Likewise.
34470         * doc/glibc-functions/getifaddrs.texi: Likewise.
34471         * doc/glibc-functions/getxattr.texi: Likewise.
34472         * doc/glibc-functions/lgetxattr.texi: Likewise.
34473         * doc/glibc-functions/listxattr.texi: Likewise.
34474         * doc/glibc-functions/llistxattr.texi: Likewise.
34475         * doc/glibc-functions/lremovexattr.texi: Likewise.
34476         * doc/glibc-functions/lsetxattr.texi: Likewise.
34477         * doc/glibc-functions/pow10.texi: Likewise.
34478         * doc/glibc-functions/pow10f.texi: Likewise.
34479         * doc/glibc-functions/rcmd_af.texi: Likewise.
34480         * doc/glibc-functions/removexattr.texi: Likewise.
34481         * doc/glibc-functions/res_init.texi: Likewise.
34482         * doc/glibc-functions/res_mkquery.texi: Likewise.
34483         * doc/glibc-functions/res_query.texi: Likewise.
34484         * doc/glibc-functions/res_querydomain.texi: Likewise.
34485         * doc/glibc-functions/res_send.texi: Likewise.
34486         * doc/glibc-functions/rresvport_af.texi: Likewise.
34487         * doc/glibc-functions/setxattr.texi: Likewise.
34488         * doc/glibc-functions/strcasestr.texi: Likewise.
34489
34490 2008-12-15  Bruno Haible  <bruno@clisp.org>
34491
34492         Fix compilation error on OSF/1 4.0.
34493         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
34494         <sys/time.h>, simply delegate to the system header.
34495         Reported by Daniel Richard G. <oss@teragram.com>.
34496
34497 2008-12-15  Bruno Haible  <bruno@clisp.org>
34498
34499         * doc/posix-functions/openat.texi: Mention the 'openat' module.
34500         * doc/posix-functions/fchmodat.texi: Likewise.
34501         * doc/posix-functions/fchownat.texi: Likewise.
34502         * doc/posix-functions/fdopendir.texi: Likewise.
34503         * doc/posix-functions/fstatat.texi: Likewise.
34504         * doc/posix-functions/mkdirat.texi: Likewise.
34505         * doc/posix-functions/unlinkat.texi: Likewise.
34506
34507 2008-12-14  Bruno Haible  <bruno@clisp.org>
34508
34509         Update doc for POSIX:2008.
34510         * doc/posix-functions/faccessat.texi: New file.
34511         * doc/posix-functions/fchmodat.texi: New file.
34512         * doc/posix-functions/fchownat.texi: New file.
34513         * doc/posix-functions/fdopendir.texi: New file.
34514         * doc/posix-functions/fstatat.texi: New file.
34515         * doc/posix-functions/futimens.texi: New file.
34516         * doc/posix-functions/linkat.texi: New file.
34517         * doc/posix-functions/mkdirat.texi: New file.
34518         * doc/posix-functions/mkfifoat.texi: New file.
34519         * doc/posix-functions/mknodat.texi: New file.
34520         * doc/posix-functions/open_wmemstream.texi: New file.
34521         * doc/posix-functions/openat.texi: New file.
34522         * doc/posix-functions/psiginfo.texi: New file.
34523         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
34524         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
34525         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
34526         * doc/posix-functions/readlinkat.texi: New file.
34527         * doc/posix-functions/renameat.texi: New file.
34528         * doc/posix-functions/strerror_l.texi: New file.
34529         * doc/posix-functions/symlinkat.texi: New file.
34530         * doc/posix-functions/unlinkat.texi: New file.
34531         * doc/posix-functions/utimensat.texi: New file.
34532         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34533
34534 2008-12-14  Bruno Haible  <bruno@clisp.org>
34535
34536         Update doc for POSIX:2008.
34537         * doc/posix-functions/alphasort.texi: Renamed from
34538         doc/glibc-functions/alphasort.texi.
34539         * doc/posix-functions/dirfd.texi: Renamed from
34540         doc/glibc-functions/dirfd.texi.
34541         * doc/posix-functions/dprintf.texi: Renamed from
34542         doc/glibc-functions/dprintf.texi.
34543         * doc/posix-functions/duplocale.texi: Renamed from
34544         doc/glibc-functions/duplocale.texi.
34545         * doc/posix-functions/fexecve.texi: Renamed from
34546         doc/glibc-functions/fexecve.texi.
34547         * doc/posix-functions/fmemopen.texi: Renamed from
34548         doc/glibc-functions/fmemopen.texi.
34549         * doc/posix-functions/freelocale.texi: Renamed from
34550         doc/glibc-functions/freelocale.texi.
34551         * doc/posix-functions/getdate_err.texi: Renamed from
34552         doc/glibc-functions/getdate_err.texi.
34553         * doc/posix-functions/isalnum_l.texi: Renamed from
34554         doc/glibc-functions/isalnum_l.texi.
34555         * doc/posix-functions/isalpha_l.texi: Renamed from
34556         doc/glibc-functions/isalpha_l.texi.
34557         * doc/posix-functions/isblank_l.texi: Renamed from
34558         doc/glibc-functions/isblank_l.texi.
34559         * doc/posix-functions/iscntrl_l.texi: Renamed from
34560         doc/glibc-functions/iscntrl_l.texi.
34561         * doc/posix-functions/isdigit_l.texi: Renamed from
34562         doc/glibc-functions/isdigit_l.texi.
34563         * doc/posix-functions/isgraph_l.texi: Renamed from
34564         doc/glibc-functions/isgraph_l.texi.
34565         * doc/posix-functions/islower_l.texi: Renamed from
34566         doc/glibc-functions/islower_l.texi.
34567         * doc/posix-functions/isprint_l.texi: Renamed from
34568         doc/glibc-functions/isprint_l.texi.
34569         * doc/posix-functions/ispunct_l.texi: Renamed from
34570         doc/glibc-functions/ispunct_l.texi.
34571         * doc/posix-functions/isspace_l.texi: Renamed from
34572         doc/glibc-functions/isspace_l.texi.
34573         * doc/posix-functions/isupper_l.texi: Renamed from
34574         doc/glibc-functions/isupper_l.texi.
34575         * doc/posix-functions/iswalnum_l.texi: Renamed from
34576         doc/glibc-functions/iswalnum_l.texi.
34577         * doc/posix-functions/iswalpha_l.texi: Renamed from
34578         doc/glibc-functions/iswalpha_l.texi.
34579         * doc/posix-functions/iswblank_l.texi: Renamed from
34580         doc/glibc-functions/iswblank_l.texi.
34581         * doc/posix-functions/iswcntrl_l.texi: Renamed from
34582         doc/glibc-functions/iswcntrl_l.texi.
34583         * doc/posix-functions/iswctype_l.texi: Renamed from
34584         doc/glibc-functions/iswctype_l.texi.
34585         * doc/posix-functions/iswdigit_l.texi: Renamed from
34586         doc/glibc-functions/iswdigit_l.texi.
34587         * doc/posix-functions/iswgraph_l.texi: Renamed from
34588         doc/glibc-functions/iswgraph_l.texi.
34589         * doc/posix-functions/iswlower_l.texi: Renamed from
34590         doc/glibc-functions/iswlower_l.texi.
34591         * doc/posix-functions/iswprint_l.texi: Renamed from
34592         doc/glibc-functions/iswprint_l.texi.
34593         * doc/posix-functions/iswpunct_l.texi: Renamed from
34594         doc/glibc-functions/iswpunct_l.texi.
34595         * doc/posix-functions/iswspace_l.texi: Renamed from
34596         doc/glibc-functions/iswspace_l.texi.
34597         * doc/posix-functions/iswupper_l.texi: Renamed from
34598         doc/glibc-functions/iswupper_l.texi.
34599         * doc/posix-functions/iswxdigit_l.texi: Renamed from
34600         doc/glibc-functions/iswxdigit_l.texi.
34601         * doc/posix-functions/isxdigit_l.texi: Renamed from
34602         doc/glibc-functions/isxdigit_l.texi.
34603         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
34604         doc/glibc-functions/mbsnrtowcs.texi.
34605         * doc/posix-functions/mkdtemp.texi: Renamed from
34606         doc/glibc-functions/mkdtemp.texi.
34607         * doc/posix-functions/newlocale.texi: Renamed from
34608         doc/glibc-functions/newlocale.texi.
34609         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
34610         doc/glibc-functions/nl_langinfo_l.texi.
34611         * doc/posix-functions/open_memstream.texi: Renamed from
34612         doc/glibc-functions/open_memstream.texi.
34613         * doc/posix-functions/opterr.texi: Renamed from
34614         doc/glibc-functions/opterr.texi.
34615         * doc/posix-functions/optind.texi: Renamed from
34616         doc/glibc-functions/optind.texi.
34617         * doc/posix-functions/optopt.texi: Renamed from
34618         doc/glibc-functions/optopt.texi.
34619         * doc/posix-functions/psignal.texi: Renamed from
34620         doc/glibc-functions/psignal.texi.
34621         * doc/posix-functions/scandir.texi: Renamed from
34622         doc/glibc-functions/scandir.texi.
34623         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
34624         doc/glibc-functions/sched_get_priority_min.texi.
34625         * doc/posix-functions/signgam.texi: Renamed from
34626         doc/glibc-functions/signgam.texi.
34627         * doc/posix-functions/stpcpy.texi: Renamed from
34628         doc/glibc-functions/stpcpy.texi.
34629         * doc/posix-functions/stpncpy.texi: Renamed from
34630         doc/glibc-functions/stpncpy.texi.
34631         * doc/posix-functions/strcasecmp_l.texi: Renamed from
34632         doc/glibc-functions/strcasecmp_l.texi.
34633         * doc/posix-functions/strcoll_l.texi: Renamed from
34634         doc/glibc-functions/strcoll_l.texi.
34635         * doc/posix-functions/strfmon_l.texi: Renamed from
34636         doc/glibc-functions/strfmon_l.texi.
34637         * doc/posix-functions/strftime_l.texi: Renamed from
34638         doc/glibc-functions/strftime_l.texi.
34639         * doc/posix-functions/strncasecmp_l.texi: Renamed from
34640         doc/glibc-functions/strncasecmp_l.texi.
34641         * doc/posix-functions/strndup.texi: Renamed from
34642         doc/glibc-functions/strndup.texi.
34643         * doc/posix-functions/strnlen.texi: Renamed from
34644         doc/glibc-functions/strnlen.texi.
34645         * doc/posix-functions/strsignal.texi: Renamed from
34646         doc/glibc-functions/strsignal.texi.
34647         * doc/posix-functions/strxfrm_l.texi: Renamed from
34648         doc/glibc-functions/strxfrm_l.texi.
34649         * doc/posix-functions/timer_gettime.texi: Renamed from
34650         doc/glibc-functions/timer_gettime.texi.
34651         * doc/posix-functions/tolower_l.texi: Renamed from
34652         doc/glibc-functions/tolower_l.texi.
34653         * doc/posix-functions/toupper_l.texi: Renamed from
34654         doc/glibc-functions/toupper_l.texi.
34655         * doc/posix-functions/towctrans_l.texi: Renamed from
34656         doc/glibc-functions/towctrans_l.texi.
34657         * doc/posix-functions/towlower_l.texi: Renamed from
34658         doc/glibc-functions/towlower_l.texi.
34659         * doc/posix-functions/towupper_l.texi: Renamed from
34660         doc/glibc-functions/towupper_l.texi.
34661         * doc/posix-functions/uselocale.texi: Renamed from
34662         doc/glibc-functions/uselocale.texi.
34663         * doc/posix-functions/vdprintf.texi: Renamed from
34664         doc/glibc-functions/vdprintf.texi.
34665         * doc/posix-functions/wcpcpy.texi:
34666         Renamed from doc/glibc-functions/wcpcpy.texi.
34667         * doc/posix-functions/wcpncpy.texi: Renamed from
34668         doc/glibc-functions/wcpncpy.texi.
34669         * doc/posix-functions/wcscasecmp.texi: Renamed from
34670         doc/glibc-functions/wcscasecmp.texi.
34671         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
34672         doc/glibc-functions/wcscasecmp_l.texi.
34673         * doc/posix-functions/wcscoll_l.texi: Renamed from
34674         doc/glibc-functions/wcscoll_l.texi.
34675         * doc/posix-functions/wcsdup.texi: Renamed from
34676         doc/glibc-functions/wcsdup.texi.
34677         * doc/posix-functions/wcsncasecmp.texi: Renamed from
34678         doc/glibc-functions/wcsncasecmp.texi.
34679         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
34680         doc/glibc-functions/wcsncasecmp_l.texi.
34681         * doc/posix-functions/wcsnlen.texi: Renamed from
34682         doc/glibc-functions/wcsnlen.texi.
34683         * doc/posix-functions/wcsnrtombs.texi: Renamed from
34684         doc/glibc-functions/wcsnrtombs.texi.
34685         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
34686         doc/glibc-functions/wcsxfrm_l.texi.
34687         * doc/posix-functions/wctrans_l.texi: Renamed from
34688         doc/glibc-functions/wctrans_l.texi.
34689         * doc/posix-functions/wctype_l.texi: Renamed from
34690         doc/glibc-functions/wctype_l.texi.
34691         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34692         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
34693         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
34694         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
34695         these subsections.
34696         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
34697         Remove sections.
34698
34699 2008-12-14  Bruno Haible  <bruno@clisp.org>
34700
34701         Update doc for POSIX:2008.
34702         * doc/posix-functions/*.texi: Update URL of POSIX specification.
34703
34704 2008-12-14  Bruno Haible  <bruno@clisp.org>
34705
34706         Update doc for POSIX:2008.
34707         * doc/pastposix-functions/bcmp.texi: Renamed from
34708         doc/posix-functions/bcmp.texi.
34709         * doc/pastposix-functions/bcopy.texi: Renamed from
34710         doc/posix-functions/bcopy.texi.
34711         * doc/pastposix-functions/bsd_signal.texi: Renamed from
34712         doc/posix-functions/bsd_signal.texi.
34713         * doc/pastposix-functions/bzero.texi: Renamed from
34714         doc/posix-functions/bzero.texi.
34715         * doc/pastposix-functions/ecvt.texi: Renamed from
34716         doc/posix-functions/ecvt.texi.
34717         * doc/pastposix-functions/fcvt.texi: Renamed from
34718         doc/posix-functions/fcvt.texi.
34719         * doc/pastposix-functions/ftime.texi: Renamed from
34720         doc/posix-functions/ftime.texi.
34721         * doc/pastposix-functions/gcvt.texi: Renamed from
34722         doc/posix-functions/gcvt.texi.
34723         * doc/pastposix-functions/getcontext.texi: Renamed from
34724         doc/posix-functions/getcontext.texi.
34725         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
34726         doc/posix-functions/gethostbyaddr.texi.
34727         * doc/pastposix-functions/gethostbyname.texi: Renamed from
34728         doc/posix-functions/gethostbyname.texi.
34729         * doc/pastposix-functions/getwd.texi: Renamed from
34730         doc/posix-functions/getwd.texi.
34731         * doc/pastposix-functions/h_errno.texi: Renamed from
34732         doc/posix-functions/h_errno.texi.
34733         * doc/pastposix-functions/index.texi: Renamed from
34734         doc/posix-functions/index.texi.
34735         * doc/pastposix-functions/makecontext.texi: Renamed from
34736         doc/posix-functions/makecontext.texi.
34737         * doc/pastposix-functions/mktemp.texi: Renamed from
34738         doc/posix-functions/mktemp.texi.
34739         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
34740         doc/posix-functions/pthread_attr_getstackaddr.texi.
34741         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
34742         doc/posix-functions/pthread_attr_setstackaddr.texi.
34743         * doc/pastposix-functions/rindex.texi: Renamed from
34744         doc/posix-functions/rindex.texi.
34745         * doc/pastposix-functions/scalb.texi: Renamed from
34746         doc/posix-functions/scalb.texi.
34747         * doc/pastposix-functions/setcontext.texi: Renamed from
34748         doc/posix-functions/setcontext.texi.
34749         * doc/pastposix-functions/swapcontext.texi: Renamed from
34750         doc/posix-functions/swapcontext.texi.
34751         * doc/pastposix-functions/ualarm.texi: Renamed from
34752         doc/posix-functions/ualarm.texi.
34753         * doc/pastposix-functions/usleep.texi: Renamed from
34754         doc/posix-functions/usleep.texi.
34755         * doc/pastposix-functions/vfork.texi: Renamed from
34756         doc/posix-functions/vfork.texi.
34757         * doc/pastposix-functions/wcswcs.texi: Renamed from
34758         doc/posix-functions/wcswcs.texi.
34759         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
34760         (Function Substitutes): Update.
34761
34762 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34763
34764         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
34765         m4/strerror.m4.
34766
34767 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34768             Bruno Haible  <bruno@clisp.org>
34769
34770         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
34771
34772 2008-12-13  Bruno Haible  <bruno@clisp.org>
34773
34774         * modules/strtoull (Depends-on): Remove unistd.
34775
34776 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34777
34778         * modules/strtoull (Depends-on): Add stdlib.
34779
34780 2008-12-11  Simon Josefsson  <simon@josefsson.org>
34781
34782         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
34783
34784 2008-12-10  Jim Meyering  <meyering@redhat.com>
34785
34786         gl_ASSERT: don't say assertions are disabled when they're not
34787         * m4/assert.m4 (gl_ASSERT): Do not make configure report
34788         "checking whether to enable assertions... no", when they are in
34789         fact enabled.  This is solely a bug in the output of configure.
34790         In spite of saying "no", NDEBUG was not defined in that case.
34791         Also, as noted by Eric Blake, leave assertions enabled upon
34792         --enable-assert=INVALID.
34793
34794 2008-12-10  Bruno Haible  <bruno@clisp.org>
34795
34796         Change MODULES.html to refer to POSIX:2008 where possible.
34797         * MODULES.html.sh (POSIX2008_URL): New variable.
34798         (posix_headers): Remove sys/timeb, ucontext.
34799         (posix2001_headers): New variable.
34800         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
34801         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
34802         index, makecontext, mktemp, pthread_attr_getstackaddr,
34803         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
34804         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
34805         (posix2001_functions): New variable.
34806         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
34807         otherwise.
34808
34809 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34810
34811         add missing include to parse-duration.c
34812         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
34813         * modules/parse-duration (Depends-on): Add xalloc.
34814
34815         fix sed script reading maint.mk
34816         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
34817         (syntax-check-rules): Use it.
34818
34819 2008-12-09  Bruno Haible  <bruno@clisp.org>
34820
34821         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
34822         MacOS X 10.4/PowerPC.
34823         Reported by Simon Josefsson.
34824
34825 2008-12-08  Jim Meyering  <meyering@redhat.com>
34826
34827         work around mingw's lack of some S_IF definitions
34828         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
34829         Reported by Simon Josefsson.
34830
34831 2008-12-08  Bruno Haible  <bruno@clisp.org>
34832
34833         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
34834         applied to variables. Needed on MacOS X 10.4/PowerPC.
34835         Reported by Simon Josefsson.
34836
34837 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
34838         and Eric Blake  <ebb9@byu.net>
34839
34840         assert: honor --enable-assert
34841         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
34842         order to honor --enable-assert, rather than treating it as a
34843         synonym for --disable-assert.
34844
34845 2008-12-08  Jim Meyering  <meyering@redhat.com>
34846
34847         * lib/posixtm.c: Remove now-useless declaration of mktime.
34848
34849         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
34850
34851 2008-12-07  Bruno Haible  <bruno@clisp.org>
34852
34853         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
34854         test_once): Mark functions as static.
34855         * tests/test-tls.c (test_tls): Likewise.
34856
34857 2008-12-07  Bruno Haible  <bruno@clisp.org>
34858
34859         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
34860         iconv_register_autodetect.
34861
34862 2008-12-07  Jim Meyering  <meyering@redhat.com>
34863
34864         posixtm.c: avoid a warning
34865         * lib/posixtm.c (posixtime): Don't initialize tm0.
34866         It's no longer needed to placate gcc4's -Wuninitialized,
34867         and the attempt to placate would elicit a new warning.
34868
34869         unicodeio.c: mark unused parameters
34870         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34871         (fallback_failure_callback): Likewise.
34872
34873 2008-12-07  Bruno Haible  <bruno@clisp.org>
34874
34875         * gnulib-tool (func_create_testdir): When building the tests
34876         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
34877         Reported by Simon Josefsson.
34878
34879 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34880
34881         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
34882
34883 2008-12-06  Bruno Haible  <bruno@clisp.org>
34884
34885         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
34886         Suggested by Eric Blake.
34887
34888 2008-12-06  Bruno Haible  <bruno@clisp.org>
34889
34890         Fix a c-stack test failure on MacOS X.
34891         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
34892         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
34893         handler for SIGBUS as well.
34894         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
34895         install a signal handler for SIGBUS as well.
34896         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
34897
34898 2008-12-06  Bruno Haible  <bruno@clisp.org>
34899
34900         Advocacy documentation.
34901         * doc/gnulib-intro.texi (Benefits): New section.
34902         * doc/gnulib.texi: Update.
34903
34904 2008-12-06  Bruno Haible  <bruno@clisp.org>
34905
34906         Document the 'manywarnings' module.
34907         * doc/manywarnings.texi: New file.
34908         * doc/gnulib.texi: Include it.
34909
34910 2008-12-05  Eric Blake  <ebb9@byu.net>
34911
34912         tests: silence some gcc warnings
34913         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
34914         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
34915         type mismatches.
34916
34917 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34918             Bruno Haible  <bruno@clisp.org>
34919
34920         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
34921
34922 2008-11-29  Jim Meyering  <meyering@redhat.com>
34923
34924         unicodeio.c: mark unused parameters
34925         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34926         (fallback_failure_callback): Likewise.
34927
34928         fts: fix a thinko
34929         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
34930         (set_stat_type): Return S_IF*-valued "type" directly.
34931         Prompted by James Youngman's spotting a related bug.
34932         Confirmed by further testing through find.
34933
34934         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
34935         * lib/fts.c (D_TYPE): Define.
34936         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
34937         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
34938         (s_ifmt_shift_bits): New function.
34939         (set_stat_type): New function.
34940         (fts_build): When not calling fts_stat, call set_stat_type
34941         to propagate dirent.d_type info to fts_read caller.
34942         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
34943         fts_statp->st_mode type information may be valid.
34944
34945 2008-11-28  Simon Josefsson  <simon@josefsson.org>
34946
34947         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
34948         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
34949         <sds@gnu.org>.
34950
34951 2008-11-20  Bruno Haible  <bruno@clisp.org>
34952
34953         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
34954         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
34955         INCLUDE_NEXT.
34956         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
34957         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
34958         * modules/math (Makefile.am): Substitute
34959         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
34960         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34961
34962 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34963             Bruno Haible  <bruno@clisp.org>
34964
34965         * lib/stdint.in.h: Define all type macros so that their expansion is
34966         a single typedef'ed token. Fixes a compilation failure in Boost which
34967         does "using ::int8_t;".
34968
34969 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34970
34971         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
34972         gl_MANYWARN_ALL_GCC.
34973         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
34974         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
34975         * modules/manywarnings: New file.
34976         * MODULES.html.sh: Mention manywarnings module.
34977
34978 2008-11-18  Bruno Haible  <bruno@clisp.org>
34979
34980         * doc/gnulib-tool.texi (Unit tests): New section.
34981
34982 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34983
34984         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
34985         paths like 'lib/po/foo.po'.
34986
34987 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34988
34989         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
34990         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
34991
34992 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34993
34994         * m4/warnings.m4: Use CPPFLAGS to really check whether the
34995         parameter works.
34996
34997 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34998
34999         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
35000
35001 2008-11-17  Bruce Korb  <bkorb@gnu.org>
35002
35003         * modules/parse-duration-tests: New file.
35004         * tests/test-parse-duration.sh: New file.
35005         * tests/test-parse-duration.c: New file.
35006
35007         New module 'parse-duration'.
35008         * lib/parse-duration.h: New file.
35009         * lib/parse-duration.c: New file.
35010         * modules/parse-duration: New file.
35011
35012 2008-11-17  Bruno Haible  <bruno@clisp.org>
35013
35014         * tests/test-select-out.sh: Comment out the first pipe test.
35015         Reported by Simon Josefsson.
35016
35017 2008-11-17  Bruno Haible  <bruno@clisp.org>
35018
35019         * modules/getaddrinfo (Depends-on): Add servent, hostent.
35020         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
35021         gl_HOSTENT.
35022
35023 2008-11-17  Bruno Haible  <bruno@clisp.org>
35024
35025         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
35026         -lnetwork and -lnet. Needed for Haiku and BeOS.
35027
35028 2008-11-16  Bruno Haible  <bruno@clisp.org>
35029
35030         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
35031
35032 2008-11-16  Bruno Haible  <bruno@clisp.org>
35033
35034         Avoid test failure on Haiku.
35035         * tests/test-fsync.c: Include <errno.h>.
35036         (main): Don't require that fsync (0) fails.
35037
35038 2008-11-15  Bruno Haible  <bruno@clisp.org>
35039
35040         New module 'hostent'.
35041         * modules/hostent: New file.
35042         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
35043
35044 2008-11-15  Bruno Haible  <bruno@clisp.org>
35045
35046         New module 'servent'.
35047         * modules/servent: New file.
35048         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
35049
35050 2008-11-15  Bruno Haible  <bruno@clisp.org>
35051
35052         Avoid generating same test program with two different rules.
35053         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
35054         test-frexp to test-frexp-nolibm.
35055         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
35056         test-frexpl to test-frexpl-nolibm.
35057
35058 2008-11-15  Bruno Haible  <bruno@clisp.org>
35059
35060         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
35061         $(FREXPL_LIBM).
35062
35063 2008-11-15  Bruno Haible  <bruno@clisp.org>
35064
35065         * lib/netdb.in.h: Activate the definitions also when the system's
35066         <netdb.h> has 'struct addrinfo'.
35067         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
35068         EAI_OVERFLOW or AI_NUMERICSERV.
35069         * doc/posix-headers/netdb.texi: Document the problem.
35070
35071 2008-11-15  Bruno Haible  <bruno@clisp.org>
35072
35073         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
35074
35075         Make the 'sched' module work on platforms where <sched.h> exists but
35076         is incomplete (such as Haiku).
35077         * lib/sched.in.h; Include the system's <sched.h> if it exists.
35078         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
35079         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
35080         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
35081         HAVE_STRUCT_SCHED_PARAM.
35082         * modules/sched (Depends-on): Add include_next.
35083         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
35084         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
35085         * doc/posix-headers/sched.texi: Document the issue.
35086
35087 2008-11-13  Jim Meyering  <meyering@redhat.com>
35088
35089         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
35090         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
35091         test would fail due to the difference in the Report bugs to ...
35092         line.  The expected address is empty, "<>", while the actual
35093         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
35094
35095 2008-11-12  Bruno Haible  <bruno@clisp.org>
35096
35097         lstat: don't compile lstat.c on systems lacking lstat
35098         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
35099         which don't have lstat; this is handled by lib/sys_stat.in.h already.
35100         Reported by Daniel P. Berrange via Jim Meyering.
35101
35102 2008-11-12  Jim Meyering  <meyering@redhat.com>
35103
35104         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
35105
35106 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35107
35108         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
35109         instead.
35110
35111 2008-11-12  Bruno Haible  <bruno@clisp.org>
35112
35113         * lib/unicodeio.c: Include unistr.h.
35114         (utf8_wctomb): Remove function.
35115         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
35116
35117 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35118
35119         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
35120         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
35121         <bruno@clisp.org>.
35122         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
35123
35124 2008-11-12  Simon Josefsson  <simon@josefsson.org>
35125
35126         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
35127         * doc/gnulib.texi: Add section for warnings.
35128
35129 2008-11-11  Bruno Haible  <bruno@clisp.org>
35130
35131         * lib/sockets.h: Add a comment.
35132
35133 2008-11-11  Karl Berry  <karl@gnu.org>
35134
35135         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
35136
35137 2008-11-11  Eric Blake  <ebb9@byu.net>
35138
35139         fdl.texi: avoid git symlinks
35140         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
35141
35142 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35143
35144         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
35145
35146 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35147
35148         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
35149         (gl_WARN_ADD): Substitute $2 if literal.
35150
35151 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35152
35153         * m4/warning.m4: Remove.
35154
35155 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
35156
35157         * m4/warnings.m4: Almost complete rewrite. :-)
35158
35159 2008-11-10  Simon Josefsson  <simon@josefsson.org>
35160
35161         * modules/warnings: New module.
35162         * m4/warnings.m4: New file.
35163         * MODULES.html.sh: Mention warnings module.
35164         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
35165         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35166
35167 2008-11-10  Eric Blake  <ebb9@byu.net>
35168
35169         fdl.texi: make a symlink to the latest version
35170         * doc/standards.texi: Revert today's earlier change.
35171         * doc/fdl-1.2.texi: Rename from old fdl.texi...
35172         * doc/fdl.texi: ...and replace this with a symlink to the newer
35173         fdl-1.3.texi.
35174
35175 2008-11-10  Bruno Haible  <bruno@clisp.org>
35176
35177         * tests/test-select-fd.c (main): Accept the result file name as fourth
35178         argument.
35179         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
35180         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
35181
35182 2008-11-10  Bruno Haible  <bruno@clisp.org>
35183
35184         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
35185         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
35186         as autoconf-substituted macros.
35187         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
35188         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
35189         gl_NETDB_H_DEFAULTS. Set these variables.
35190         * modules/netdb (Makefile.am): Substitute these variables.
35191
35192 2008-11-10  Eric Blake  <ebb9@byu.net>
35193
35194         standards.texi: include correct file for FDL 1.3
35195         * doc/standards.texi (GNU Free Documentation License): Change
35196         include file to pull in FDL 1.3, not 1.2.
35197
35198         fdl.texi: revert accidental change to license
35199         * doc/fdl.texi: This is FDL 1.2, not 1.3.
35200
35201 2008-11-10  Bruno Haible  <bruno@clisp.org>
35202
35203         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
35204         cross-compiling guesses also when the native compile gives no result.
35205
35206 2008-11-10  Bruno Haible  <bruno@clisp.org>
35207
35208         * lib/spawni.c (__spawni): Force variable into the stack.
35209
35210 2008-11-10  Bruno Haible  <bruno@clisp.org>
35211
35212         Add support for Haiku.
35213         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
35214         glibc and BeOS, but also on Haiku.
35215         * lib/fpurge.c (fpurge): Likewise.
35216         * lib/freadable.c (freadable): Likewise.
35217         * lib/freadahead.c (freadahead): Likewise.
35218         * lib/freading.c (freading): Likewise.
35219         * lib/freadptr.c (freadptr): Likewise.
35220         * lib/freadseek.c (freadptrinc): Likewise.
35221         * lib/fseeko.c (rpl_fseeko): Likewise.
35222         * lib/fseterr.c (fseterr): Likewise.
35223         * lib/fwritable.c (fwritable): Likewise.
35224         * lib/fwriting.c (fwriting): Likewise.
35225         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
35226
35227 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35228
35229         * lib/config.charset: Treat Haiku like BeOS.
35230
35231 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
35232
35233         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
35234         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
35235
35236 2008-11-08  Bruno Haible  <bruno@clisp.org>
35237
35238         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
35239         AC_CACHE_CHECK.
35240
35241 2008-11-08  Bruno Haible  <bruno@clisp.org>
35242
35243         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
35244
35245 2008-11-08  Bruno Haible  <bruno@clisp.org>
35246
35247         * tests/test-select-fd.c: New file.
35248         * tests/test-select-in.sh: New file.
35249         * tests/test-select-out.sh: New file.
35250         * tests/test-select-stdin.c: New file.
35251         * modules/select-tests (Files): Add the new files.
35252         (Depends-on): Add gettimeofday.
35253         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
35254         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
35255         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
35256
35257 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
35258             Bruno Haible  <bruno@clisp.org>
35259
35260         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
35261
35262 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
35263
35264         * build-aux/pmccabe2html: Added support for C++ source files.
35265
35266 2008-11-05  Ben Pfaff  <blp@gnu.org>
35267
35268         Fix lib/close.c build on Windows.
35269         * modules/close (Files): Add lib/w32sock.h.
35270
35271 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
35272
35273         Accept Bison's NEWS format.
35274         * build-aux/announce-gen (print_news_deltas): Tweak
35275         $re_prefix.
35276
35277 2008-11-04  Bruno Haible  <bruno@clisp.org>
35278
35279         * modules/random_r (Maintainer): Add glibc.
35280
35281 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35282
35283         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
35284         by karl@freefriends.org (Karl Berry).
35285         * doc/alloca.texi: Likewise.
35286         * doc/c-ctype.texi: Likewise.
35287         * doc/c-strcase.texi: Likewise.
35288         * doc/c-strcaseeq.texi: Likewise.
35289         * doc/c-strcasestr.texi: Likewise.
35290         * doc/c-strstr.texi: Likewise.
35291         * doc/c-strtod.texi: Likewise.
35292         * doc/c-strtold.texi: Likewise.
35293         * doc/ctime.texi: Likewise.
35294         * doc/error.texi: Likewise.
35295         * doc/fdl.texi: Likewise.
35296         * doc/gcd.texi: Likewise.
35297         * doc/getdate.texi: Likewise.
35298         * doc/gnulib-intro.texi: Likewise.
35299         * doc/gnulib-tool.texi: Likewise.
35300         * doc/gnulib.texi: Likewise.
35301         * doc/inet_ntoa.texi: Likewise.
35302         * doc/maintain.texi: Likewise.
35303         * doc/make-stds.texi: Likewise.
35304         * doc/quote.texi: Likewise.
35305         * doc/regexprops-generic.texi: Likewise.
35306         * doc/standards.texi: Likewise.
35307         * doc/verify.texi: Likewise.
35308         * doc/visibility.texi: Likewise.
35309         * doc/gnulib.texi (GNU Free Documentation License): Include
35310         fdl-1.3.texi instead of fdl.texi.
35311
35312 2008-11-04  Simon Josefsson  <simon@josefsson.org>
35313
35314         * doc/fdl-1.3.texi: New file, from
35315         <http://www.gnu.org/licenses/fdl-1.3.texi>.
35316         * modules/fdl-1.3: Add.
35317         * MODULES.html.sh: Add fdl-1.3.
35318
35319 2008-11-03  Bruno Haible  <bruno@clisp.org>
35320
35321         Make determination of absolute name of header file work with AIX xlc.
35322         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
35323         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
35324         preprocessing.
35325         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35326         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
35327
35328 2008-11-03  Simon Josefsson  <simon@josefsson.org>
35329
35330         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
35331         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
35332         <ludo@gnu.org>.
35333
35334 2008-11-02  Bruno Haible  <bruno@clisp.org>
35335
35336         Mark 'strpbrk' obsolete.
35337         * modules/strpbrk (Status, Notice): New sections.
35338         * modules/strtok_r (Depends-on): Add strpbrk.
35339
35340 2008-11-02  Bruno Haible  <bruno@clisp.org>
35341
35342         Mark 'strdup' obsolete.
35343         * modules/strdup (Status, Notice): New sections.
35344         * modules/findprog (Depends-on): Add strdup.
35345         * modules/getaddrinfo (Depends-on): Likewise.
35346         * modules/localename (Depends-on): Likewise.
35347         * modules/relocatable-lib (Depends-on): Likewise.
35348         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
35349         * modules/relocatable-prog (Depends-on): Likewise.
35350         * modules/trim (Depends-on): Likewise.
35351         * modules/unictype/gen-ctype (Depends-on): Likewise.
35352         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35353
35354 2008-11-02  Bruno Haible  <bruno@clisp.org>
35355
35356         Mark 'strcspn' obsolete.
35357         * modules/strcspn (Status, Notice): New sections.
35358
35359 2008-11-02  Bruno Haible  <bruno@clisp.org>
35360
35361         Mark 'rmdir' obsolete.
35362         * modules/rmdir (Status, Notice): New sections.
35363         * modules/clean-temp (Depends-on): Add rmdir.
35364         * modules/openat (Depends-on): Likewise.
35365
35366 2008-11-02  Bruno Haible  <bruno@clisp.org>
35367
35368         Mark 'raise' obsolete.
35369         * modules/raise (Status, Notice): New sections.
35370         (Include): Specify <signal.h>.
35371         * modules/stdio (Depends-on): Add raise.
35372         * modules/write (Depends-on): Likewise.
35373
35374 2008-11-02  Bruno Haible  <bruno@clisp.org>
35375
35376         Mark 'memset' obsolete.
35377         * modules/memset (Status, Notice): New sections.
35378
35379 2008-11-02  Bruno Haible  <bruno@clisp.org>
35380
35381         Mark 'memmove' obsolete.
35382         * modules/memmove (Status, Notice): New sections.
35383         * modules/argp (Depends-on): Add memmove.
35384         * modules/argz (Depends-on): Likewise.
35385         * modules/canonicalize (Depends-on): Likewise.
35386         * modules/canonicalize-lgpl (Depends-on): Likewise.
35387         * modules/fts (Depends-on): Likewise.
35388         * modules/getcwd (Depends-on): Likewise.
35389         * modules/human (Depends-on): Likewise.
35390         * modules/regex (Depends-on): Likewise.
35391         * modules/striconveh (Depends-on): Likewise.
35392         * modules/trim (Depends-on): Likewise.
35393         * modules/unistr/u8-move (Depends-on): Likewise.
35394         * modules/unistr/u16-move (Depends-on): Likewise.
35395         * modules/unistr/u32-move (Depends-on): Likewise.
35396
35397 2008-11-02  Bruno Haible  <bruno@clisp.org>
35398
35399         Mark 'memcpy' obsolete.
35400         * modules/memcpy (Status, Notice): New sections.
35401
35402 2008-11-02  Bruno Haible  <bruno@clisp.org>
35403
35404         Mark 'memcmp' obsolete.
35405         * modules/memcmp (Status, Notice): New sections.
35406         * modules/argmatch (Depends-on): Add memchr.
35407         * modules/backupfile (Depends-on): Likewise.
35408         * modules/c-strcasestr (Depends-on): Likewise.
35409         * modules/crypto/des (Depends-on): Likewise.
35410         * modules/csharpcomp (Depends-on): Likewise.
35411         * modules/fnmatch (Depends-on): Likewise.
35412         * modules/git-merge-changelog (Depends-on): Likewise.
35413         * modules/isnand (Depends-on): Likewise.
35414         * modules/isnand-nolibm (Depends-on): Likewise.
35415         * modules/isnanf (Depends-on): Likewise.
35416         * modules/isnanf-nolibm (Depends-on): Likewise.
35417         * modules/isnanl (Depends-on): Likewise.
35418         * modules/isnanl-nolibm (Depends-on): Likewise.
35419         * modules/mbchar (Depends-on): Likewise.
35420         * modules/memcoll (Depends-on): Likewise.
35421         * modules/quotearg (Depends-on): Likewise.
35422         * modules/regex (Depends-on): Likewise.
35423         * modules/relocatable-prog (Depends-on): Likewise.
35424         * modules/same (Depends-on): Likewise.
35425         * modules/signbit (Depends-on): Likewise.
35426         * modules/strcasestr-simple (Depends-on): Likewise.
35427         * modules/unictype/gen-ctype (Depends-on): Likewise.
35428         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
35429         * modules/uniname/uniname (Depends-on): Likewise.
35430         * modules/unistr/u8-cmp (Depends-on): Likewise.
35431
35432 2008-11-02  Bruno Haible  <bruno@clisp.org>
35433
35434         Mark 'memchr' obsolete.
35435         * modules/memchr (Status, Notice): New sections.
35436         * modules/argp (Depends-on): Add memchr.
35437         * modules/base64 (Depends-on): Likewise.
35438         * modules/c-strcasestr (Depends-on): Likewise.
35439         * modules/chdir-long (Depends-on): Likewise.
35440         * modules/fnmatch (Depends-on): Likewise.
35441         * modules/getsubopt (Depends-on): Likewise.
35442         * modules/git-merge-changelog (Depends-on): Likewise.
35443         * modules/glob (Depends-on): Likewise.
35444         * modules/strcasestr-simple (Depends-on): Likewise.
35445         * modules/strnlen (Depends-on): Likewise.
35446
35447 2008-11-02  Bruno Haible  <bruno@clisp.org>
35448
35449         Mark 'atexit' obsolete.
35450         * modules/atexit (Status, Notice): New sections.
35451         * modules/chdir-long (Depends-on): Add atexit.
35452         * modules/wait-process (Depends-on): Likewise.
35453
35454 2008-11-02  Bruno Haible  <bruno@clisp.org>
35455
35456         * gnulib-tool: New option --with-obsolete.
35457         (func_usage): Document it.
35458         (func_modules_transitive_closure): Drop obsolete dependencies if
35459         incobsolete is not true.
35460         (func_import): Read and save the incobsolete variable to the cache.
35461
35462 2008-11-02  Bruno Haible  <bruno@clisp.org>
35463
35464         * modules/TEMPLATE-EXTENDED: New field 'Status'.
35465         * gnulib-tool: New option --extract-status.
35466         (func_usage): Document it.
35467         (sed_extract_prog): Recognize it.
35468         (func_get_status): New function.
35469
35470 2008-10-30  Simon Josefsson  <simon@josefsson.org>
35471
35472         * modules/sockets (License): Change from LGPL to LGPLv2+.
35473
35474 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35475
35476         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
35477
35478 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35479
35480         * MODULES.html.sh (Support for systems lacking POSIX:2001):
35481         Mention times and sys_times.
35482         * modules/sys_times, modules/sys_times-tests: New modules.
35483         * modules/times, modules/times-tests: Likewise
35484         * m4/sys_times_h.m4: New file.
35485         * lib/sys_times.in.h: Likewise
35486         * lib/times.c: Likewise.
35487         * tests/test-sys_times.c: Likewise.
35488         * tests/test-times.c: Likewise.
35489         * doc/posix-headers/sys_times.texi: Update.
35490         * doc/posix-functions/times.texi: Update.
35491
35492 2008-10-28  Jim Meyering  <meyering@redhat.com>
35493
35494         * modules/tempname (Depends-on): Add lstat.
35495
35496         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
35497
35498 2008-10-28  Simon Josefsson  <simon@josefsson.org>
35499
35500         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
35501         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
35502         using idiom used elsewhere in gnulib.
35503
35504 2008-10-27  Jim Meyering  <meyering@redhat.com>
35505
35506         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
35507
35508 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35509
35510         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
35511         TESTS_ENVIRONMENT, for shell scripts that needs to call built
35512         programs.
35513         * tests/test-argp-2.sh: Use $EXEEXT when needed.
35514
35515 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35516
35517         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
35518
35519 2008-10-27  Bruno Haible  <bruno@clisp.org>
35520
35521         * tests/test-lstat.c: Include <stdio.h>.
35522
35523 2008-10-27  Simon Josefsson  <simon@josefsson.org>
35524
35525         * modules/lstat-tests: New module.
35526         * tests/test-lstat.c: New file.
35527
35528 2008-10-26  Jim Meyering  <meyering@redhat.com>
35529
35530         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
35531
35532 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35533             Bruno Haible  <bruno@clisp.org>
35534
35535         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
35536         * modules/configmake (Include): Add a note that the include must come
35537         after all system headers.
35538         * lib/javaversion.c: Include configmake.h after all other includes.
35539
35540 2008-10-26  Bruno Haible  <bruno@clisp.org>
35541
35542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
35543         HAVE_STRUCT_RANDOM_DATA to 1.
35544         (gl_STDLIB_H): Simplify.
35545
35546 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35547
35548         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
35549         substitute HAVE_STRUCT_RANDOM_DATA.
35550         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
35551         random_data.
35552         * modules/stdlib (Makefile.am): Substitute
35553         HAVE_STRUCT_RANDOM_DATA.
35554
35555 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35556
35557         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
35558         * doc/gnulib-intro.texi (Copyright): Likewise.
35559
35560 2008-10-26  Simon Josefsson  <simon@josefsson.org>
35561
35562         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
35563         findings.
35564
35565 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
35566             Bruno Haible  <bruno@clisp.org>
35567
35568         * lib/unistd.in.h: Include <winsock2.h>.
35569         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
35570         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
35571         Provide dummy declarations.
35572         (gethostname): Override.
35573         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
35574         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
35575         gl_PREREQ_SYS_H_WINSOCK2.
35576         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
35577         * doc/posix-functions/gethostname.texi: More details.
35578
35579 2008-10-25  Bruno Haible  <bruno@clisp.org>
35580
35581         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35582         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
35583         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
35584
35585         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
35586         here ...
35587         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
35588         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
35589         gl_UNISTD_H_DEFAULTS.
35590
35591 2008-10-25  Eric Blake  <ebb9@byu.net>
35592
35593         signbit: avoid spurious compiler failure
35594         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
35595         declarations inside function.
35596
35597 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35598             Bruno Haible  <bruno@clisp.org>
35599
35600         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
35601         * modules/random_r (Depends-on): Add stdint.
35602
35603 2008-10-24  Bruno Haible  <bruno@clisp.org>
35604
35605         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
35606         Eggert.
35607         * modules/strerror (License): Likewise.
35608
35609 2008-10-24  Jim Meyering  <meyering@redhat.com>
35610
35611         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
35612         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
35613
35614 2008-10-24  Eric Blake  <ebb9@byu.net>
35615
35616         getgroups: fix compilation when getgroups is available
35617         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
35618         but with <config.h> override of getgroups disabled.
35619
35620 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35621
35622         * doc/gnulib.texi (Header files): Add note about C++ problems.
35623         Explained by Bruno Haible <bruno@clisp.org>.
35624
35625 2008-10-23  Bruno Haible  <bruno@clisp.org>
35626
35627         Define a dummy SA_NODEFER macro on Interix.
35628         * lib/signal.in.h (SA_NODEFER): Define fallback.
35629         Reported by Aleksey Cheusov <cheusov@tut.by> via
35630         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
35631
35632 2008-10-23  Bruno Haible  <bruno@clisp.org>
35633
35634         * modules/freadahead (License): Change to LGPLv2+.
35635         Suggested by Simon Josefsson.
35636
35637 2008-10-23  Jim Meyering  <meyering@redhat.com>
35638
35639         random_r: new module
35640         * modules/random_r: New file.
35641         * m4/random_r.m4: New file.
35642         * lib/random_r.c: New file, from glibc.
35643         * modules/random_r-tests: New file.
35644         * tests/test-random_r.c: New file.
35645         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
35646          Declare.
35647         (RAND_MAX): Define.
35648         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
35649         * modules/stdlib: Substitute them, too.
35650         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
35651         * doc/glibc-functions/initstate_r.texi: Mention the new module.
35652         * doc/glibc-functions/random_r.texi: Likewise.
35653         * doc/glibc-functions/setstate_r.texi: Likewise.
35654         * doc/glibc-functions/srandom_r.texi: Likewise.
35655         * config/srclist.txt: Mention it.
35656
35657 2008-10-23  David Lutterkort  <lutter@redhat.com>
35658
35659         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
35660         link requirement
35661
35662 2008-10-23  Jim Meyering  <meyering@redhat.com>
35663
35664         selinux-h: mark parameters of stub functions as intentionally unused
35665         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
35666         * lib/se-context.in.h: Likewise.
35667
35668 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35669
35670         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
35671
35672 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35673
35674         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
35675
35676 2008-10-22  Eric Blake  <ebb9@byu.net>
35677
35678         glthread/thread: avoid compiler warning
35679         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
35680         Add unreachable abort to silence compiler.
35681
35682 2008-10-22  Eric Blake  <ebb9@byu.net>
35683
35684         netdb: also supply struct addrinfo for cygwin 1.5.x
35685         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
35686         older cygwin.
35687         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
35688         cygwin.
35689         * doc/posix-headers/netdb.texi (netdb.h): Document this.
35690
35691 2008-10-22  Bruno Haible  <bruno@clisp.org>
35692
35693         * users.txt: Update entry about pspp.
35694
35695 2008-10-21  Bruno Haible  <bruno@clisp.org>
35696
35697         Simplification.
35698         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
35699         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
35700
35701         Simplification.
35702         * lib/ioctl.c (ioctl): Don't undefine.
35703         * lib/socket.c (socket): Don't undefine.
35704
35705         Remove unused module indicator macros.
35706         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
35707         GNULIB_$1 as a C macro.
35708
35709         * doc/posix-functions/close.texi: Undo last change.
35710         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
35711         Windows platforms.
35712
35713 2008-10-21  Bruno Haible  <bruno@clisp.org>
35714
35715         Add gethostname() declaration to <unistd.h>.
35716         * lib/unistd.in.h (gethostname): New declaration.
35717         * lib/gethostname.c: Include <unistd.h>.
35718         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
35719         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
35720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
35721         and HAVE_GETHOSTNAME.
35722         * modules/gethostname (Depends-on): Add unistd.
35723         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35724         (Include): Specify <unistd.h>.
35725         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
35726         HAVE_GETHOSTNAME.
35727         * tests/test-gethostname.c: Include <unistd.h> first.
35728
35729 2008-10-21  Bruno Haible  <bruno@clisp.org>
35730
35731         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
35732         * modules/select-tests (Depends-on): Likewise.
35733         Reported by Simon Josefsson.
35734
35735 2008-10-21  Simon Josefsson  <simon@josefsson.org>
35736
35737         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
35738         * lib/accept.c: New file, based on winsock.c.
35739         * lib/bind.c: New file, based on winsock.c.
35740         * lib/connect.c: New file, based on winsock.c.
35741         * lib/getpeername.c: New file, based on winsock.c.
35742         * lib/getsockname.c: New file, based on winsock.c.
35743         * lib/getsockopt.c: New file, based on winsock.c.
35744         * lib/ioctl.c: New file, based on winsock.c.
35745         * lib/listen.c: New file, based on winsock.c.
35746         * lib/recv.c: New file, based on winsock.c.
35747         * lib/recvfrom.c: New file, based on winsock.c.
35748         * lib/send.c: New file, based on winsock.c.
35749         * lib/sendto.c: New file, based on winsock.c.
35750         * lib/setsockopt.c: New file, based on winsock.c.
35751         * lib/shutdown.c: New file, based on winsock.c.
35752         * lib/socket.c: New file, based on winsock.c.
35753         * lib/w32sock.h: New file, based on winsock.c.
35754         * lib/winsock.c: Remove file.
35755         * modules/accept: Likewise.
35756         * modules/bind: Likewise.
35757         * modules/connect: Likewise.
35758         * modules/getpeername: Likewise.
35759         * modules/getsockname: Likewise.
35760         * modules/getsockopt: Likewise.
35761         * modules/ioctl: Likewise.
35762         * modules/listen: Likewise.
35763         * modules/recv: Likewise.
35764         * modules/recvfrom: Likewise.
35765         * modules/send: Likewise.
35766         * modules/sendto: Likewise.
35767         * modules/setsockopt: Likewise.
35768         * modules/shutdown: Likewise.
35769         * modules/socket: Use socket.c instead of winsock.c.
35770         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
35771         * doc/posix-functions/accept.texi: Doc fix.
35772         * doc/posix-functions/bind.texi: Doc fix.
35773         * doc/posix-functions/close.texi: Doc fix.
35774         * doc/posix-functions/connect.texi: Doc fix.
35775         * doc/posix-functions/getpeername.texi: Doc fix.
35776         * doc/posix-functions/getsockname.texi: Doc fix.
35777         * doc/posix-functions/getsockopt.texi: Doc fix.
35778         * doc/posix-functions/ioctl.texi: Doc fix.
35779         * doc/posix-functions/listen.texi: Doc fix.
35780         * doc/posix-functions/recv.texi: Doc fix.
35781         * doc/posix-functions/recvfrom.texi: Doc fix.
35782         * doc/posix-functions/send.texi: Doc fix.
35783         * doc/posix-functions/sendto.texi: Doc fix.
35784         * doc/posix-functions/setsockopt.texi: Doc fix.
35785         * doc/posix-functions/shutdown.texi: Doc fix.
35786         * doc/posix-functions/socket.texi: Doc fix.
35787
35788 2008-10-20  Bruno Haible  <bruno@clisp.org>
35789
35790         Take into account the role of SIGABRT_COMPAT on Windows 2008.
35791         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
35792         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
35793         as an alias for SIGABRT.
35794         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
35795         (sigaction): Map it to SIGABRT.
35796         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
35797
35798 2008-10-20  Bruno Haible  <bruno@clisp.org>
35799
35800         * lib/fts.c: Don't include lstat.h.
35801         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
35802
35803         Move the lstat() declaration to <sys/stat.h>.
35804         * lib/lstat.h: Remove file.
35805         * lib/sys_stat.in.h: Add special invocation convention.
35806         (lstat): New declaration.
35807         * lib/lstat.c (orig_lstat): New function.
35808         (rpl_lstat): Use orig_lstat instead of lstat.
35809         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
35810         AC_C_INLINE. Set REPLACE_LSTAT.
35811         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
35812         and REPLACE_LSTAT.
35813         * modules/lstat (Files): Remove lib/lstat.h.
35814         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
35815         (Include): Specify <sys/stat.h> instead of lstat.h.
35816         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
35817         REPLACE_LSTAT.
35818         * NEWS: Mention the change.
35819
35820 2008-10-20  Bruno Haible  <bruno@clisp.org>
35821
35822         * modules/posix_spawn-tests: New file.
35823         * tests/test-posix_spawn3.c: New file.
35824
35825 2008-10-20  Bruno Haible  <bruno@clisp.org>
35826
35827         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
35828         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35829         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
35830         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35831         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
35832
35833 2008-10-20  Bruno Haible  <bruno@clisp.org>
35834
35835         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
35836         of posix_spawn on AIX 5.3.
35837
35838 2008-10-20  Bruno Haible  <bruno@clisp.org>
35839
35840         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
35841
35842 2008-10-20  Bruno Haible  <bruno@clisp.org>
35843
35844         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
35845         of AC_LANG_PROGRAM.
35846
35847 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35848
35849         * lib/netdb.in.h: Don't define GNU specific constants until they
35850         are supported or needed.  Reported by Bruno Haible
35851         <bruno@clisp.org>.
35852
35853 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35854
35855         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
35856
35857 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35858
35859         * lib/getaddrinfo.h: Remove file.
35860         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
35861         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
35862         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
35863         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
35864         * modules/netdb: Substitute GNULIB_GETADDRINFO.
35865         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
35866         * tests/test-getaddrinfo.c: Likewise.
35867         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
35868         * NEWS: Mention change.
35869
35870 2008-10-19  Bruno Haible  <bruno@clisp.org>
35871
35872         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
35873
35874 2008-10-19  Bruno Haible  <bruno@clisp.org>
35875
35876         * lib/wait-process.c: Include simply <sys/wait.h>.
35877         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
35878         WIFSTOPPED): Remove fallback definitions.
35879         * modules/wait-process (Depends-on): Add sys_wait.
35880
35881         New module 'sys_wait'.
35882         * modules/sys_wait: New file.
35883         * lib/sys_wait.in.h: New file, partially copied from
35884         lib/wait-process.c.
35885         * m4/sys_wait_h.m4: New file.
35886         * doc/posix-headers/sys_wait.texi: Mention the new module.
35887
35888 2008-10-19  Bruno Haible  <bruno@clisp.org>
35889
35890         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
35891
35892 2008-10-19  Bruno Haible  <bruno@clisp.org>
35893
35894         Assume that waitpid() fills an 'int' status, not a 'union wait'.
35895         * lib/wait-process.c (WAIT_T): Remove type.
35896         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
35897         (wait_subprocess): Update.
35898
35899 2008-10-19  Bruno Haible  <bruno@clisp.org>
35900
35901         New module 'atoll'.
35902         * modules/atoll: New file.
35903         * lib/stdlib.in.h (atoll): New declaration.
35904         * lib/atoll.c: New file, from glibc with modifications.
35905         * m4/atoll.m4: New file.
35906         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
35907         HAVE_ATOLL.
35908         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
35909         * doc/posix-functions/atoll.texi: Mention the new module.
35910
35911 2008-10-19  Bruno Haible  <bruno@clisp.org>
35912
35913         Add strtoull() declaration to <stdlib.h>.
35914         * lib/stdlib.in.h (strtoull): New declaration.
35915         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35916         Set HAVE_STRTOULL.
35917         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
35918         HAVE_STRTOULL.
35919         * modules/strtoull (Depends-on): Add stdlib.
35920         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35921         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
35922         HAVE_STRTOULL.
35923
35924 2008-10-19  Bruno Haible  <bruno@clisp.org>
35925
35926         Add strtoll() declaration to <stdlib.h>.
35927         * lib/stdlib.in.h (strtoll): New declaration.
35928         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35929         Set HAVE_STRTOLL.
35930         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
35931         HAVE_STRTOLL.
35932         * modules/strtoll (Depends-on): Add stdlib.
35933         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35934         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
35935
35936 2008-10-19  Bruno Haible  <bruno@clisp.org>
35937
35938         * modules/bcopy (Depends-on): Add strings.
35939         (Include): Specify <strings.h>.
35940
35941 2008-10-19  Bruno Haible  <bruno@clisp.org>
35942
35943         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
35944
35945 2008-10-19  Bruno Haible  <bruno@clisp.org>
35946
35947         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
35948         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
35949         mingw.
35950
35951 2008-10-19  Bruno Haible  <bruno@clisp.org>
35952
35953         * lib/atanl.c: Don't include isnanl.h.
35954         * lib/cosl.c: Likewise.
35955         * lib/ldexpl.c: Likewise.
35956         * lib/logl.c: Likewise.
35957         * lib/sinl.c: Likewise.
35958         * lib/sqrtl.c: Likewise.
35959         * lib/tanl.c: Likewise.
35960
35961         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
35962         * lib/isnanf.h: Remove file.
35963         * lib/isnand.h: Remove file.
35964         * lib/isnanl.h: Remove file.
35965         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
35966         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
35967         macros.
35968         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
35969         HAVE_ISNANF, don't define it as a C macro.
35970         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
35971         HAVE_ISNAND, don't define it as a C macro.
35972         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
35973         HAVE_ISNANL, don't define it as a C macro.
35974         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
35975         HAVE_ISNAN[FDL].
35976         * modules/isnanf (Files): Remove lib/isnanf.h.
35977         (Depends-on): Add math.
35978         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35979         (Include): Specify <math.h> instead of isnanf.h.
35980         * modules/isnand (Files): Remove lib/isnand.h.
35981         (Depends-on): Add math.
35982         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35983         (Include): Specify <math.h> instead of isnand.h.
35984         * modules/isnanl (Files): Remove lib/isnanl.h.
35985         (Depends-on): Add math.
35986         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35987         (Include): Specify <math.h> instead of isnanl.h.
35988         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
35989         HAVE_ISNAN[FDL].
35990         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
35991         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
35992         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
35993         * NEWS: Mention the change.
35994
35995 2008-10-18  Bruno Haible  <bruno@clisp.org>
35996
35997         Add getusershell(), setusershell(), endusershell() declarations to
35998         <unistd.h>.
35999         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
36000         declarations.
36001         * lib/getusershell.c: Include unistd.h.
36002         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
36003         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
36004         HAVE_GETUSERSHELL.
36005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
36006         and HAVE_GETUSERSHELL.
36007         * modules/getusershell (Depends-on): Add unistd, extensions.
36008         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36009         (Include): Specify <unistd.h>.
36010         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
36011         HAVE_GETUSERSHELL.
36012
36013 2008-10-18  Bruno Haible  <bruno@clisp.org>
36014
36015         Add a getloadavg() declaration to <stdlib.h>.
36016         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
36017         getloadavg declaration.
36018         (getloadavg): New declaration.
36019         * lib/getloadavg.c: Include <stdlib.h> first.
36020         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
36021         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
36022         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
36023         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
36024         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
36025         * modules/getloadavg (Depends-on): Add stdlib, extensions.
36026         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
36027         (Include): Specify <stdlib.h>.
36028         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
36029         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
36030
36031 2008-10-18  Bruno Haible  <bruno@clisp.org>
36032
36033         * lib/dirchownmod.c: Don't include lchmod.h.
36034
36035         Move the lchmod() declaration to <sys/stat.h>.
36036         * lib/lchmod.h: Remove file.
36037         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
36038         (lchmod): New declaration, moved here from lib/lchown.h.
36039         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
36040         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
36041         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
36042         and HAVE_LCHMOD.
36043         * modules/lchmod (Files): Remove lib/lchmod.h.
36044         (Depends-on): Add sys_stat, extensions.
36045         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
36046         (Include): Specify <sys/stat.h> instead of lchmod.h.
36047         * modules/sys_stat (Depends-on): Add link-warning.
36048         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
36049         definition of GL_LINK_WARNING.
36050         * NEWS: Mention the change.
36051
36052 2008-10-18  Bruno Haible  <bruno@clisp.org>
36053
36054         * lib/fchdir.c: Don't include dirfd.h.
36055         * lib/fts.c: Likewise.
36056         * lib/getcwd.c: Likewise.
36057         * lib/glob.c: Likewise.
36058
36059         Move the dirfd() declaration to <dirent.h>.
36060         * lib/dirfd.h: Remove file.
36061         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
36062         (dirfd): New declaration.
36063         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
36064         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
36065         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
36066         HAVE_DECL_DIRFD.
36067         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
36068         HAVE_DECL_DIRFD.
36069         * modules/dirfd (Files): Remove lib/dirfd.h.
36070         (Depends-on): Add dirent, extensions.
36071         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
36072         (Include): Specify <dirent.h> instead of dirfd.h.
36073         * modules/dirent (Depends-on): Add link-warning.
36074         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
36075         definition of GL_LINK_WARNING.
36076         * NEWS: Mention the change.
36077
36078 2008-10-18  Bruno Haible  <bruno@clisp.org>
36079
36080         Move the euidaccess() declaration to <unistd.h>.
36081         * lib/euidaccess.h: Remove file.
36082         * lib/unistd.in.h (euidaccess): New declaration.
36083         * lib/euidaccess.c: Don't include euidaccess.h.
36084         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
36085         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
36086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
36087         and HAVE_EUIDACCESS.
36088         * modules/euidaccess (Files): Remove lib/euidaccess.h.
36089         (Depends-on): Add unistd.
36090         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36091         (Include): Specify <unistd.h> instead of euidaccess.h.
36092         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
36093         HAVE_EUIDACCESS.
36094         * NEWS: Mention the change.
36095
36096 2008-10-18  Bruno Haible  <bruno@clisp.org>
36097
36098         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
36099
36100         Move the getdomainname() declaration to <unistd.h>.
36101         * lib/getdomainname.h: Remove file.
36102         * lib/unistd.in.h (getdomainname): New declaration.
36103         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
36104         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
36105         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
36106         HAVE_GETDOMAINNAME.
36107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36108         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
36109         * modules/getdomainname (Files): Remove lib/getdomainname.h.
36110         (Depends-on): Add unistd, extensions.
36111         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36112         (Includes): Specify <unistd.h> instead of getdomainname.h.
36113         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
36114         HAVE_GETDOMAINNAME.
36115         * NEWS: Mention the change.
36116
36117 2008-10-18  Bruno Haible  <bruno@clisp.org>
36118
36119         * modules/dirent: New file.
36120         * m4/dirent_h.m4: New file.
36121         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
36122         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
36123         * modules/fchdir (Files): Remove lib/dirent.in.h.
36124         (Depends-on): Add dirent.
36125         (Makefile.am): Move rules to modules/dirent.
36126         * doc/posix-headers/dirent.texi: Mention the new module.
36127
36128 2008-10-18  Bruno Haible  <bruno@clisp.org>
36129
36130         Avoid -Wunused-parameter warnings in public gnulib header files.
36131         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
36132         macro.
36133         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
36134
36135 2008-10-18  Bruno Haible  <bruno@clisp.org>
36136
36137         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
36138         * doc/glibc-functions/error.texi: Mention the module 'error'.
36139         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
36140         * doc/glibc-functions/getdomainname.texi: Mention the module
36141         'getdomainname'.
36142         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
36143         * doc/glibc-functions/getpagesize.texi: Mention the module
36144         'getpagesize'.
36145         * doc/glibc-functions/getusershell.texi: Mention the module
36146         'getusershell'.
36147         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
36148         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
36149         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
36150         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
36151         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
36152         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
36153         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
36154         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
36155         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
36156         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
36157         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
36158         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
36159         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
36160         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
36161
36162 2008-10-17  Bruno Haible  <bruno@clisp.org>
36163
36164         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
36165         HP-UX and IRIX, use -0.0L.
36166         * tests/test-ceill.c (minus_zero): Likewise.
36167         * tests/test-floorl.c (minus_zero): Likewise.
36168         * tests/test-frexpl.c (minus_zero): Likewise.
36169         * tests/test-isnan.c (minus_zerol): Likewise.
36170         * tests/test-isnanl.h (minus_zero): Likewise.
36171         * tests/test-ldexpl.c (minus_zero): Likewise.
36172         * tests/test-roundl.c (minus_zero): Likewise.
36173         * tests/test-signbit.c (minus_zerol): Likewise.
36174         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
36175         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
36176         * tests/test-truncl.c (minus_zero): Likewise.
36177         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
36178         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
36179         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
36180         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
36181
36182 2008-10-17  Bruno Haible  <bruno@clisp.org>
36183
36184         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
36185         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
36186         that it gets activated only for gcc >= 3.0.
36187         * lib/dirent.in.h: Likewise.
36188         * lib/errno.in.h: Likewise.
36189         * lib/fcntl.in.h: Likewise.
36190         * lib/float.in.h: Likewise.
36191         * lib/iconv.in.h: Likewise.
36192         * lib/inttypes.in.h: Likewise.
36193         * lib/locale.in.h: Likewise.
36194         * lib/math.in.h: Likewise.
36195         * lib/netdb.in.h: Likewise.
36196         * lib/netinet_in.in.h: Likewise.
36197         * lib/search.in.h: Likewise.
36198         * lib/signal.in.h: Likewise.
36199         * lib/spawn.in.h: Likewise.
36200         * lib/stdarg.in.h: Likewise.
36201         * lib/stdint.in.h: Likewise.
36202         * lib/stdio.in.h: Likewise.
36203         * lib/stdlib.in.h: Likewise.
36204         * lib/string.in.h: Likewise.
36205         * lib/strings.in.h: Likewise.
36206         * lib/sys_file.in.h: Likewise.
36207         * lib/sys_ioctl.in.h: Likewise.
36208         * lib/sys_select.in.h: Likewise.
36209         * lib/sys_socket.in.h: Likewise.
36210         * lib/sys_stat.in.h: Likewise.
36211         * lib/sys_time.in.h: Likewise.
36212         * lib/sysexits.in.h: Likewise.
36213         * lib/time.in.h: Likewise.
36214         * lib/unistd.in.h: Likewise.
36215         * lib/wchar.in.h: Likewise.
36216         * lib/wctype.in.h: Likewise.
36217         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36218
36219 2008-10-17  Jim Meyering  <meyering@redhat.com>
36220
36221         ignore-value: don't depend on inline module
36222         * modules/ignore-value (Depends-on): Remove 'inline'.
36223         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
36224         Suggestion from Bruno Haible.
36225
36226 2008-10-17  Bruno Haible  <bruno@clisp.org>
36227
36228         New implementation of condition variables for Win32.
36229         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
36230         (gl_linked_waitqueue_t): New type.
36231         (gl_cond_t): Use it.
36232         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
36233         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
36234         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
36235         (glthread_cond_init_func, glthread_cond_wait_func,
36236         glthread_cond_timedwait_func, glthread_cond_signal_func,
36237         glthread_cond_broadcast_func, glthread_cond_destroy_func):
36238         Reimplemented on the basis of gl_linked_waitqueue_t.
36239         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
36240         gl_waitqueue_t.
36241         (gl_rwlock_t): Update.
36242         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
36243
36244 2008-10-17  Simon Josefsson  <simon@josefsson.org>
36245
36246         * modules/recvfrom (Depends-on): Add dependency on getpeername.
36247         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36248
36249 2008-10-17  Jim Meyering  <meyering@redhat.com>
36250
36251         ignore-value: new module
36252         * modules/ignore-value: New file.
36253         * lib/ignore-value.h: New file.
36254         * MODULES.html.sh (Compiler warning management): New section,
36255         just for this module.  More to come.
36256
36257 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36258
36259         open-safer.c: avoid 'signed and unsigned in conditional...' warning
36260         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
36261         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
36262
36263 2008-10-16  Jim Meyering  <meyering@redhat.com>
36264
36265         openat-die.c: avoid 'no previous prototype' warning
36266         * lib/openat-die.c: Include "openat.h".
36267         Reported by Reuben Thomas <rrt@sc3d.org>.
36268
36269 2008-10-16  Simon Josefsson  <simon@josefsson.org>
36270
36271         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
36272         * lib/netdb.in.h: Fix typo.
36273         Reported by Bruno Haible  <bruno@clisp.org>
36274
36275         * lib/netdb.in.h: Include sys/socket.h for platforms without
36276         netdb.h, to get structures like hostent on MinGW.
36277         * modules/netdb (Depends-on): Add sys_socket.
36278
36279 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36280
36281         * modules/netdb, modules/netdb-tests: New file.
36282         * m4/netdb_h.m4: New file.
36283         * lib/netdb.in.h: Add, currently just an empty file pending
36284         definitions.
36285         * tests/test-netdb.c: New file.
36286         * doc/posix-headers/netdb.texi: Mention that we replace it if
36287         needed.
36288         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36289         netdb.
36290
36291 2008-10-15  Simon Josefsson  <simon@josefsson.org>
36292
36293         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
36294         with code.
36295
36296 2008-10-13  Bruno Haible  <bruno@clisp.org>
36297
36298         * lib/glthread/cond.c (glthread_cond_wait_func,
36299         glthread_cond_timedwait_func): Add a comment.
36300
36301 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36302
36303         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
36304         * tests/test-select.c: Likewise,
36305
36306 2008-10-13  Bruno Haible  <bruno@clisp.org>
36307
36308         * lib/glthread/cond.c (glthread_cond_wait_func,
36309         glthread_cond_timedwait_func): Fix variable name.
36310         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36311
36312 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
36313
36314         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
36315         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
36316         struct sockaddr.sa_len.
36317         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
36318
36319 2008-10-13  Simon Josefsson  <simon@josefsson.org>
36320
36321         * build-aux/pmccabe2html: Add css and css_url parameters.
36322
36323 2008-10-12  Bruno Haible  <bruno@clisp.org>
36324
36325         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
36326         calling aclx_get.
36327         Reported by Rainer Tammer <tammer@tammer.net>.
36328
36329 2008-10-12  Bruno Haible  <bruno@clisp.org>
36330
36331         Use msvcrt aware primitives for creation/termination of Win32 threads.
36332         * lib/glthread/thread.c: Include <process.h>.
36333         (glthread_create_func): Use _beginthreadex instead of CreateThread.
36334         (wrapper_func): Update signature.
36335         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
36336
36337 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
36338             Bruno Haible  <bruno@clisp.org>
36339
36340         Provide a Win32 implementation of the 'cond' module.
36341         * lib/glthread/cond.h [USE_WIN32]: New implementation.
36342         * lib/glthread/cond.c (glthread_cond_init_func,
36343         glthread_cond_wait_func, glthread_cond_timedwait_func,
36344         glthread_cond_signal_func, glthread_cond_broadcast_func,
36345         glthread_cond_destroy_func) [USE_WIN32]: New functions.
36346         * modules/cond (Dependencies): Add gettimeofday.
36347
36348 2008-10-11  Bruno Haible  <bruno@clisp.org>
36349
36350         Make sleep work on older versions of mingw.
36351         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
36352         only whether it exists.
36353         * doc/posix-functions/sleep.texi: Mention the problem with older
36354         versions of mingw.
36355
36356 2008-10-11  Bruno Haible  <bruno@clisp.org>
36357
36358         New module 'shutdown'.
36359         * modules/shutdown: New file.
36360         * lib/sys_socket.in.h (shutdown): New declaration.
36361         * lib/winsock.c (shutdown): New function.
36362         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
36363         GNULIB_SHUTDOWN.
36364         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
36365         * doc/posix-functions/shutdown.texi: Document the new module.
36366
36367 2008-10-11  Jim Meyering  <meyering@redhat.com>
36368
36369         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
36370
36371 2008-10-11  Bruno Haible  <bruno@clisp.org>
36372
36373         New module 'fclose'.
36374         * modules/fclose: New file.
36375         * lib/stdio.in.h (fclose): New declaration.
36376         * lib/fclose.c: New file.
36377         * m4/fclose.m4: New file.
36378         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
36379         REPLACE_FCLOSE.
36380         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
36381         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
36382         REPLACE_FCLOSE.
36383         * modules/close (Depends-on): fclose.
36384         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
36385
36386 2008-10-11  Bruno Haible  <bruno@clisp.org>
36387
36388         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
36389         set errno and don't call _close.
36390
36391 2008-10-10  Bruno Haible  <bruno@clisp.org>
36392
36393         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
36394         ACL, not afterwards. Fixes test failure on Cygwin.
36395
36396 2008-10-09  Ben Pfaff  <blp@gnu.org>
36397
36398         * build-aux/announce-gen: Fix gnulib version related part of usage
36399         message.  Die with a useful error message if no tarballs are
36400         found.
36401
36402 2008-10-10  Jim Meyering  <meyering@redhat.com>
36403
36404         bootstrap: use git's --depth=N option only if it's supported
36405         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
36406         recognize the --depth option.  Reported by Pádraig Brady.
36407
36408 2008-10-09  Bruno Haible  <bruno@clisp.org>
36409
36410         New module 'ioctl'.
36411         * modules/ioctl: New file.
36412         * lib/sys_socket.in.h (ioctl): Remove declaration.
36413         * lib/winsock.c: Include <sys/ioctl.h>.
36414         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
36415         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
36416         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
36417         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
36418         * doc/posix-functions/ioctl.texi: Mention the new module.
36419
36420 2008-10-09  Bruno Haible  <bruno@clisp.org>
36421
36422         New module 'sys_ioctl'.
36423         * lib/sys_ioctl.in.h: New file.
36424         * m4/sys_ioctl_h.m4: New file.
36425         * modules/sys_ioctl: New file.
36426         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
36427
36428 2008-10-09  Bruno Haible  <bruno@clisp.org>
36429
36430         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
36431         * lib/winsock.c: Include <stdarg.h>.
36432         (rpl_ioctl): Change to second argument 'int' and then varargs.
36433
36434 2008-10-09  Bruno Haible  <bruno@clisp.org>
36435
36436         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
36437         when the sys_socket module is present and the system has <winsock2.h>.
36438
36439 2008-10-09  Bruno Haible  <bruno@clisp.org>
36440
36441         * doc/posix-functions/close.texi: Mention module 'close' instead of
36442         module 'sys_socket'.
36443
36444 2008-10-09  Bruno Haible  <bruno@clisp.org>
36445
36446         * doc/glibc-headers/sys_ioctl.texi: New file.
36447         * doc/gnulib.texi: Include it.
36448
36449 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36450             Bruno Haible  <bruno@clisp.org>
36451
36452         Combine the two replacements of 'close'.
36453         * lib/sys_socket.in.h (close): Define to a reminder to include
36454         <unistd.h>.
36455         (_gl_close_fd_maybe_socket): New declaration.
36456         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
36457         * lib/winsock.c (close): Remove undefinition.
36458         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
36459         needed for the gnulib module 'close'.
36460         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
36461         define to an error symbol or to a warning, if suitable.
36462         * lib/close.c: Include <sys/socket.h>.
36463         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
36464         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
36465         UNISTD_H_HAVE_WINSOCK2_H.
36466         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
36467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36468         UNISTD_H_HAVE_WINSOCK2_H.
36469         * modules/sys_socket (Files): Add m4/unistd_h.m4.
36470         (configure.ac): Set a module indicator.
36471         (Makefile.am): Substitute GNULIB_CLOSE.
36472         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
36473         * modules/poll-tests (Depends-on): Add close.
36474         * modules/select-tests (Depends-on): Likewise.
36475
36476 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36477             Bruno Haible  <bruno@clisp.org>
36478
36479         New module 'close'.
36480         * modules/close: New file.
36481         * lib/unistd.in.h (close): Move declaration out of the
36482         FCHDIR_REPLACEMENT scope.
36483         (_gl_unregister_fd): New declaration.
36484         * lib/close.c: New file.
36485         * lib/fchdir.c (rpl_close): Remove function.
36486         * m4/close.m4: New file.
36487         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36488         close.
36489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
36490         REPLACE_CLOSE.
36491         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
36492         REPLACE_CLOSE.
36493         * modules/fchdir (Depends-on): Add close.
36494
36495 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36496             Bruno Haible  <bruno@clisp.org>
36497
36498         * lib/fcntl.in.h (open): Simplify conditionals.
36499         (_gl_register_fd): New declaration.
36500         * lib/fchdir.c (rpl_open): Remove function.
36501         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
36502         also.
36503         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
36504         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
36505         open.
36506
36507 2008-10-09  Jim Meyering  <meyering@redhat.com>
36508
36509         GNUmakefile: use the more name-space-friendly "_version"
36510         * top/GNUmakefile (_dummy): Update.
36511         (_version): Rename from "version".
36512
36513 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36514             Bruno Haible  <bruno@clisp.org>
36515
36516         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
36517         rpl_close.
36518         (_gl_register_fd): New function, extracted from rpl_open.
36519         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
36520         (rpl_open, rpl_opendir): Use _gl_register_fd.
36521
36522 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
36523
36524         Fix organization of 'open' replacement.
36525         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
36526         (gl_FUNC_OPEN): Use it.
36527         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
36528
36529 2008-10-08  Bruno Haible  <bruno@clisp.org>
36530
36531         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
36532
36533 2008-10-08  Simon Josefsson  <simon@josefsson.org>
36534
36535         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
36536         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
36537         listen).
36538
36539 2008-10-08  Eric Blake  <ebb9@byu.net>
36540
36541         GNUmakefile: add 'make version' target
36542         * top/GNUmakefile (_curr-ver): Split version update rules...
36543         (version): ...into a target.
36544
36545 2008-10-07  Bruno Haible  <bruno@clisp.org>
36546
36547         Use a more portable replacement expression for -0.0L.
36548         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
36549         instead of -0.0L. Fix m4 quotation.
36550
36551         * tests/test-signbit.c: Include <float.h>.
36552         (minus_zero): New variable.
36553         (test_signbitl): Use minus_zero instead of -zero.
36554         * modules/signbit-tests (Depends-on): Add float.
36555
36556         * tests/test-ceill.c: Include <float.h>.
36557         (zero): Remove variable.
36558         (minus_zero): New variable.
36559         (main): Use minus_zero instead of -zero.
36560         * modules/ceill-tests (Depends-on): Add float.
36561
36562         * tests/test-floorl.c: Include <float.h>.
36563         (zero): Remove variable.
36564         (minus_zero): New variable.
36565         (main): Use minus_zero instead of -zero.
36566         * modules/floorl-tests (Depends-on): Add float.
36567
36568         * tests/test-roundl.c: Include <float.h>.
36569         (zero): Remove variable.
36570         (minus_zero): New variable.
36571         (main): Use minus_zero instead of -zero.
36572         * modules/roundl-tests (Depends-on): Add float.
36573
36574         * tests/test-truncl.c: Include <float.h>.
36575         (zero): Remove variable.
36576         (minus_zero): New variable.
36577         (main): Use minus_zero instead of -zero.
36578         * modules/truncl-tests (Depends-on): Add float.
36579
36580         * tests/test-frexpl.c (zero): Remove variable.
36581         (minus_zero): New variable.
36582         (main): Use minus_zero instead of -zero.
36583         * modules/frexpl-tests (Depends-on): Add float.
36584
36585         * tests/test-isnan.c (zerol): Remove variable.
36586         (minus_zerol): New variable.
36587         (test_long_double): Use minus_zerol instead of -zerol.
36588         * modules/isnan-tests (Depends-on): Add float.
36589
36590         * tests/test-isnanl.h (zero): Remove variable.
36591         (minus_zero): New variable.
36592         (main): Use minus_zero instead of -zero.
36593         * modules/isnanl-nolibm-tests (Depends-on): Add float.
36594         * modules/isnanl-tests (Depends-on): Add float.
36595
36596         * tests/test-ldexpl.c (zero): Remove variable.
36597         (minus_zero): New variable.
36598         (main): Use minus_zero instead of -zero.
36599         * modules/ldexpl-tests (Depends-on): Add float.
36600
36601         * tests/test-snprintf-posix.h (zerol): Remove variable.
36602         (minus_zerol): New variable.
36603         (test_function): Use minus_zerol instead of -zerol.
36604         * modules/snprintf-posix-tests (Depends-on): Add float.
36605         * modules/vsnprintf-posix-tests (Depends-on): Add float.
36606
36607         * tests/test-sprintf-posix.h (zerol): Remove variable.
36608         (minus_zerol): New variable.
36609         (test_function): Use minus_zerol instead of -zerol.
36610         * modules/sprintf-posix-tests (Depends-on): Add float.
36611         * modules/vsprintf-posix-tests (Depends-on): Add float.
36612
36613         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
36614         (minus_zerol): New variable.
36615         (test_function): Use minus_zerol instead of -zerol.
36616         * modules/vasnprintf-posix-tests (Depends-on): Add float.
36617
36618         * tests/test-vasprintf-posix.c (zerol): Remove variable.
36619         (minus_zerol): New variable.
36620         (test_function): Use minus_zerol instead of -zerol.
36621         * modules/vasprintf-posix-tests (Depends-on): Add float.
36622
36623 2008-10-07  Simon Josefsson  <simon@josefsson.org>
36624
36625         * MODULES.html.sh (Support for building documentation): Mention
36626         pmccabe2html.  Sort entries.
36627
36628         Add pmccabe2html module, from gnupdf.
36629         * build-aux/pmccabe.css: New file.
36630         * build-aux/pmccabe2html: New file.
36631         * m4/pmccabe2html.m4: New file.
36632         * modules/pmccabe2html: New file.
36633
36634 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
36635
36636         flock: new module
36637         * MODULES.html.sh: Add to list of modules.
36638         * lib/flock.c: flock implementation for Windows and Unix systems
36639         which have fcntl.
36640         * doc/glibc-functions/flock.texi: Update documentation.
36641         * lib/sys_file.in.h: <sys/file.h> header file.
36642         * m4/flock.m4: M4 macros.
36643         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
36644         * modules/flock: flock module.
36645         * modules/flock-tests: flock tests module.
36646         * modules/sys_file: sys/file.h module.
36647         * tests/test-flock.c: test suite for flock.
36648
36649 2008-10-06  Jim Meyering  <meyering@redhat.com>
36650
36651         bootstrap: check for LT_INIT more portably still ;-)
36652         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
36653         Spotted by Bruno Haible.
36654
36655 2008-10-06  Eric Blake  <ebb9@byu.net>
36656
36657         test-signbit: avoid tripping Irix cc bug on -0.0L
36658         * tests/test-signbit.c (minus_zerol): Delete, and replace with
36659         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
36660         entire testsuite consistent and avoids an Irix 6.2 bug.
36661
36662 2008-10-05  Bruno Haible  <bruno@clisp.org>
36663             Jim Meyering  <jim@meyering.net>
36664
36665         Add an option for ignoring EPIPE during close_stdout.
36666         * lib/closeout.h: Include <stdbool.h>.
36667         (close_stdout_set_ignore_EPIPE): New declaration.
36668         * lib/closeout.c: Include <stdbool.h>.
36669         (ignore_EPIPE): New variable.
36670         (close_stdout_set_ignore_EPIPE): New function.
36671         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
36672         * lib/close-stream.c (close_stream): Mention the possible EPIPE
36673         failure.
36674         * modules/closeout (Depends-on): Add stdbool.
36675
36676 2008-10-05  Bruno Haible  <bruno@clisp.org>
36677
36678         * modules/accept: New file.
36679         * modules/bind: New file.
36680         * modules/connect: New file.
36681         * modules/getpeername: New file.
36682         * modules/getsockname: New file.
36683         * modules/getsockopt: New file.
36684         * modules/listen: New file.
36685         * modules/recv: New file.
36686         * modules/recvfrom: New file.
36687         * modules/send: New file.
36688         * modules/sendto: New file.
36689         * modules/setsockopt: New file.
36690         * modules/socket: New file.
36691         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
36692         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36693         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
36694         the particular module is requested. Add a link warning when the
36695         particular module is not requested.
36696         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
36697         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
36698         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
36699         the particular module is requested.
36700         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
36701         gl_SYS_SOCKET_H_DEFAULTS): New macros.
36702         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
36703         * modules/sys_socket (Depends-on): Add link-warning.
36704         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
36705         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
36706         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
36707         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
36708         GL_LINK_WARNING.
36709         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
36710         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
36711         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
36712         * doc/posix-functions/getpeername.texi: Mention the new module
36713         'getpeername'.
36714         * doc/posix-functions/getsockname.texi: Mention the new module
36715         'getsockname'.
36716         * doc/posix-functions/getsockopt.texi: Mention the new module
36717         'getsockopt'.
36718         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
36719         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
36720         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
36721         * doc/posix-functions/send.texi: Mention the new module 'send'.
36722         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
36723         * doc/posix-functions/setsockopt.texi: Mention the new module
36724         'setsockopt'.
36725         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
36726         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
36727         listen, connect, accept.
36728         * modules/select-tests (Depends-on): Likewise.
36729
36730 2008-10-05  Bruno Haible  <bruno@clisp.org>
36731
36732         * lib/winsock.c (strerror): Remove unused #undef.
36733         (rpl_close): Remove unused local variable.
36734
36735         * modules/sys_socket (Depends-on); Add errno.
36736
36737 2008-10-05  Bruno Haible  <bruno@clisp.org>
36738
36739         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
36740         (select): Add a link warning when the 'select' module is not used.
36741         * modules/sys_select (Depends-on): Add link-warning.
36742         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
36743         Suggested by Paolo Bonzini.
36744
36745 2008-10-05  Jim Meyering  <meyering@redhat.com>
36746
36747         bootstrap: check for LT_INIT more portably
36748         * build-aux/bootstrap: Avoid using grep -E, since it's not
36749         portable enough.  Suggestion from Bruno Haible.
36750
36751 2008-10-05  Bruno Haible  <bruno@clisp.org>
36752
36753         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
36754         as being fixed by gnulib.
36755
36756 2008-10-05  Bruno Haible  <bruno@clisp.org>
36757
36758         * modules/select-tests: New file, mostly copied from
36759         modules/sys_select-tests.
36760         * tests/test-select.c: New file, mostly copied from
36761         tests/test-sys_select.c.
36762         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
36763         * modules/sys_select-tests (Depends-on): Remove all dependencies.
36764         (Makefile.am): Remove test_sys_select_LDADD.
36765
36766         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
36767         to an undefined symbol, for an error message.
36768         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
36769         (gl_SYS_SELECT_H_DEFAULTS): New macro.
36770         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
36771         winsock-select.c here.
36772         * modules/sys_select (Files): Remove lib/winsock-select.c.
36773         (Depends-on): Remove alloca.
36774         (Makefile.am): Substitute GNULIB_SELECT.
36775         * modules/select: New file.
36776         * doc/posix-functions/select.texi: Update.
36777
36778 2008-10-05  Bruno Haible  <bruno@clisp.org>
36779
36780         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
36781         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
36782         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
36783         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
36784         getdtablesize.
36785         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
36786         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
36787
36788 2008-10-05  Bruno Haible  <bruno@clisp.org>
36789
36790         * modules/getdtablesize-tests: New file.
36791         * tests/test-getdtablesize.c: New file.
36792
36793         New module 'getdtablesize'.
36794         * lib/unistd.in.h (getdtablesize): New declaration.
36795         * lib/getdtablesize.c: New file.
36796         * m4/getdtablesize.m4: New file.
36797         * modules/getdtablesize: New file.
36798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36799         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
36800         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
36801         HAVE_GETDTABLESIZE.
36802         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
36803
36804 2008-10-05  Bruno Haible  <bruno@clisp.org>
36805
36806         * modules/sched (Makefile.am): Fix typo.
36807         Reported by Simon Josefsson.
36808
36809 2008-10-05  Jim Meyering  <meyering@redhat.com>
36810
36811         bootstrap: check for LT_INIT, too
36812         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
36813         are deprecated.  Suggestion from Ralf Wildenhues.
36814
36815 2008-10-05  Bruno Haible  <bruno@clisp.org>
36816
36817         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
36818         overriding them by ours.
36819         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
36820
36821 2008-10-05  Jim Meyering  <meyering@redhat.com>
36822
36823         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
36824         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
36825         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
36826
36827 2008-10-04  Bruno Haible  <bruno@clisp.org>
36828
36829         * modules/dup2 (License): Change to LGPLv2+.
36830         * modules/sleep (License): Likewise.
36831         * modules/perror (License): Likewise.
36832         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
36833         Blake.
36834         * modules/signal (License): Likewise.
36835         * modules/sigprocmask (License): Likewise.
36836         * modules/raise (License): Change to LGPLv2+, with approval by Jim
36837         Meyering.
36838
36839 2008-10-04  Bruno Haible  <bruno@clisp.org>
36840
36841         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
36842         Reported by Rainer Tammer <tammer@tammer.net>.
36843
36844 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
36845             Bruno Haible  <bruno@clisp.org>
36846
36847         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
36848         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
36849         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
36850
36851 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
36852
36853         filevercmp: new module
36854         * lib/filevercmp.h: New function filevercmp comparing version strings.
36855         * lib/filevercmp.c: Implementation of filevercmp function.
36856         * modules/filevercmp: Module metadata.
36857         * tests/test-filevercmp.c: Unit test for new module.
36858         * modules/filevercmp-tests: Unit test metadata.
36859         * MODULES.html.sh: Add filevercmp module.
36860
36861 2008-10-03  Bruno Haible  <bruno@clisp.org>
36862
36863         * lib/c-ctype.h: Add comment.
36864         Reported by Jim Meyering.
36865
36866 2008-10-02  Bruno Haible  <bruno@clisp.org>
36867
36868         * modules/posix_spawn-internal (Depends-on): Add 'open'.
36869
36870 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36871
36872         * build-aux/bootstrap: Allow renaming bootstrap, and change the
36873         name of bootstrap.conf accordingly.
36874
36875 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36876
36877         * build-aux/bootstrap: Install git-merge-changelog configuration
36878         items into .gitconfig if needed.
36879
36880 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36881
36882         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
36883         git repository, and initialize/update it accordingly.
36884
36885 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
36886
36887         * modules/fsync-tests: New file.
36888         * tests/test-fsync.c: New file.
36889
36890         New module 'fsync'.
36891         * lib/fsync.c: New file.
36892         * m4/fsync.m4: New file.
36893         * modules/fsync: New file.
36894         * lib/unistd.in.h (fsync): New declaration.
36895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
36896         GNULIB_FSYNC and HAVE_FSYNC.
36897         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
36898         * MODULES.html.sh (posix_functions): Add fsync.
36899         * doc/posix-functions/fsync.texi: Mention the new module.
36900
36901 2008-10-02  Jim Meyering  <meyering@redhat.com>
36902
36903         fts.c: sync with similar code from coreutils' remove.c
36904         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
36905         Guard also with "#if defined __linux__", since for now at least,
36906         this code is Linux-kernel-specific.
36907
36908 2008-10-02  Jim Meyering  <meyering@redhat.com>
36909
36910         fts: bug fixes
36911         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
36912         Include <sys/vfs.h>, not <sys/statfs.h>.
36913
36914         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
36915         Include <sys/vfs.h>, not <sys/statfs.h>.
36916
36917 2008-10-01  Bruno Haible  <bruno@clisp.org>
36918
36919         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
36920         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
36921         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
36922         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
36923         * doc/posix-functions/posix_spawnp.texi: Likewise.
36924         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
36925         whether posix_spawn actually works.
36926         * m4/pipe.m4 (gl_PIPE): Likewise.
36927         * modules/execute (Files): Add m4/posix_spawn.m4.
36928         * modules/pipe (Files): Add m4/posix_spawn.m4.
36929         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
36930
36931 2008-10-01  Jim Meyering  <meyering@redhat.com>
36932
36933         remove trailing spaces
36934         * NEWS: Likewise.
36935         * lib/poll.c (poll): Likewise.
36936         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
36937         * lib/winsock.c (rpl_close): Likewise.
36938         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
36939         * modules/yield: Likewise.
36940         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
36941         * tests/test-sys_select.c (connect_to_socket): Likewise.
36942
36943         fts.c: adjust a new interface to be more generally useful
36944         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
36945         (fts_build): Adjust caller.
36946
36947 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36948
36949         * modules/cond-tests: New file.
36950         * tests/test-cond.c: New file.
36951
36952 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36953             Bruno Haible  <bruno@clisp.org>
36954
36955         * modules/cond (Dependencies): Add errno, time.
36956         * lib/glthread/cond.h: Include <time.h>.
36957         (gl_cond_define, gl_cond_define_initialized): Use the same definition
36958         across platforms.
36959
36960 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36961             Bruno Haible  <bruno@clisp.org>
36962
36963         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
36964
36965 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36966             Bruno Haible  <bruno@clisp.org>
36967
36968         * modules/tls-tests (Depends-on): Add thread, yield.
36969         (configure.ac): Remove all checks.
36970         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
36971         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36972         gl_thread_self): Remove definitions. Include glthread/thread.h and
36973         glthread/yield.h instead.
36974         (test_tls): Pass an additional NULL argument to gl_thread_join.
36975
36976 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36977             Bruno Haible  <bruno@clisp.org>
36978
36979         * modules/lock-tests (Depends-on): Add thread, yield.
36980         (configure.ac): Remove all checks.
36981         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
36982         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36983         gl_thread_self): Remove definitions. Include glthread/thread.h and
36984         glthread/yield.h instead.
36985         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
36986         additional NULL argument to gl_thread_join.
36987
36988 2008-09-30  Bruno Haible  <bruno@clisp.org>
36989
36990         Fix the Win32 implementation of the 'thread' module.
36991         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
36992         pointer type.
36993         (gl_thread_self): Invoke gl_thread_self_func.
36994         (gl_thread_self_func): New declaration.
36995         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
36996         (do_init_self_key, init_self_key): New functions.
36997         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
36998         Remove some fields.
36999         (running_threads, running_lock): Remove variables.
37000         (get_current_thread_handle): New function.
37001         (gl_thread_self_func, wrapper_func, glthread_create_func,
37002         glthread_join_func, gl_thread_exit_func): Largely rewritten and
37003         simplified.
37004
37005 2008-09-30  Bruno Haible  <bruno@clisp.org>
37006
37007         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
37008         files.
37009
37010 2008-09-30  Jim Meyering  <meyering@redhat.com>
37011
37012         fts.m4: correct the test for statfs.f_type
37013         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
37014         when checking for statfs.f_type.
37015
37016 2008-09-15  Simon Josefsson  <simon@josefsson.org>
37017
37018         tests: avoid some compiler warnings
37019         * tests/test-memchr.c (main): Pass NULL indirectly.
37020         * tests/test-getdate.c (main): Remove unused variable 'ret'.
37021
37022 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
37023
37024         getdate.y: disallow countable dayshifts like "4 yesterday ago"
37025         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
37026         exactly specified dayshifts.
37027         (dayshift): New rule.
37028         (rel): Add dayshift.
37029         (relative_time_table) [tomorrow, yesterday, today, now]:
37030         Use tDAY_SHIFT in place of tDAY_UNIT.
37031         * tests/test-getdate.c: Add tests for now-disallowed countable
37032         dayshifts, e.g., "4 yesterday ago".
37033
37034 2008-09-29  Bruno Haible  <bruno@clisp.org>
37035
37036         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
37037         * tests/test-posix_spawn1.in.sh: Renamed from
37038         tests/test-posix_spawn.in.sh.
37039         * tests/test-posix_spawn2.c: New file.
37040         * tests/test-posix_spawn2.in.sh: New file.
37041         * modules/posix_spawnp-tests (Files): Update.
37042         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
37043
37044 2008-09-29  Bruno Haible  <bruno@clisp.org>
37045
37046         Propagate effects of putenv/setenv/unsetenv to child processes.
37047         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
37048         * lib/pipe.c (create_pipe): Likewise.
37049
37050 2008-09-29  Bruno Haible  <bruno@clisp.org>
37051
37052         Enable use of shell scripts as executables in mingw.
37053         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
37054         run the program as a shell script.
37055         * lib/pipe.c (create_pipe): Likewise.
37056         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
37057         resulting array.
37058
37059 2008-09-29  Eric Blake  <ebb9@byu.net>
37060
37061         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
37062
37063 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
37064
37065         * doc/posix-functions/accept.texi: Update mingw problems.
37066         * doc/posix-functions/bind.texi: Update mingw problems.
37067         * doc/posix-functions/close.texi: Update mingw problems.
37068         * doc/posix-functions/connect.texi: Update mingw problems.
37069         * doc/posix-functions/getpeername.texi: Update mingw problems.
37070         * doc/posix-functions/getsockname.texi: Update mingw problems.
37071         * doc/posix-functions/getsockopt.texi: Update mingw problems.
37072         * doc/posix-functions/ioctl.texi: Update mingw problems.
37073         * doc/posix-functions/listen.texi: Update mingw problems.
37074         * doc/posix-functions/recv.texi: Update mingw problems.
37075         * doc/posix-functions/recvfrom.texi: Update mingw problems.
37076         * doc/posix-functions/select.texi: Update mingw problems.
37077         * doc/posix-functions/send.texi: Update mingw problems.
37078         * doc/posix-functions/sendto.texi: Update mingw problems.
37079         * doc/posix-functions/setsockopt.texi: Update mingw problems.
37080         * doc/posix-functions/socket.texi: Update mingw problems.
37081
37082 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
37083             Bruno Haible  <bruno@clisp.org>
37084
37085         * lib/sys_select.in.h: Include sys/time.h.
37086         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
37087         * modules/sys_select: Depend on sys_time.
37088         * tests/test-sys_select.c: Test that sys/select.h defines struct
37089         timeval fully.
37090
37091 2008-09-29  Bruno Haible  <bruno@clisp.org>
37092
37093         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
37094         * lib/sys_select.in.h: Likewise.
37095
37096 2008-09-29  Bruno Haible  <bruno@clisp.org>
37097
37098         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
37099
37100 2008-09-29  Bruno Haible  <bruno@clisp.org>
37101
37102         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
37103         Set LIBSOCKET instead of augmenting LIBS.
37104         * modules/sockets (Link): New section.
37105         * modules/sockets-tests (test_sockets_LDADD): New variable.
37106         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
37107         * modules/poll-tests (test_poll_LDADD): New variable.
37108         * NEWS: Document the change.
37109
37110 2008-09-29  Bruno Haible  <bruno@clisp.org>
37111
37112         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
37113         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
37114         ARPA_INET_H directly.
37115         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37116
37117 2008-09-28  Bruno Haible  <bruno@clisp.org>
37118
37119         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
37120         from gl_HEADER_SYS_SOCKET.
37121         (gl_HEADER_SYS_SOCKET): Invoke it.
37122         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37123
37124 2008-09-28  Bruno Haible  <bruno@clisp.org>
37125
37126         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
37127         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
37128         Needed on OSF/1 4.0.
37129
37130 2008-09-28  Bruno Haible  <bruno@clisp.org>
37131
37132         Override open more carefully.
37133         * lib/open.c (orig_open): New function.
37134         (rpl_open): Use orig_open instead of open.
37135         * lib/fcntl.in.h: Add special invocation convention.
37136         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
37137         (gl_FUNC_OPEN): Invoke it.
37138
37139         Override freopen more carefully.
37140         * lib/freopen.c (orig_freopen): New function.
37141         (rpl_freopen): Use orig_freopen instead of freopen.
37142         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
37143         (gl_FUNC_FREOPEN): Invoke it.
37144
37145         Override fopen more carefully.
37146         * lib/fopen.c (orig_fopen): New function.
37147         (rpl_fopen): Use orig_fopen instead of fopen.
37148         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
37149         (gl_FUNC_FOPEN): Invoke it.
37150         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
37151
37152 2008-09-28  Bruno Haible  <bruno@clisp.org>
37153
37154         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
37155         SIGPIPE.
37156
37157 2008-09-28  Bruno Haible  <bruno@clisp.org>
37158
37159         * tests/test-sigaction.c (handler, main): Disable the check whether
37160         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
37161         glibc systems with LinuxThreads.
37162
37163 2008-09-28  Bruno Haible  <bruno@clisp.org>
37164
37165         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
37166
37167         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
37168         with AIX xlc.
37169         * lib/fcntl.in.h (open): Likewise.
37170         Reported by Rainer Tammer <tammer@tammer.net>.
37171
37172 2008-09-28  Bruno Haible  <bruno@clisp.org>
37173
37174         * modules/posix_spawnp-tests: New file.
37175         * tests/test-posix_spawn.c: New file.
37176         * tests/test-posix_spawn.in.sh: New file.
37177
37178         New module 'posix_spawnp'.
37179         * modules/posix_spawnp: New file.
37180         * lib/spawnp.c: New file, from GNU libc with modifications.
37181         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
37182
37183         New module 'posix_spawn'.
37184         * modules/posix_spawn: New file.
37185         * lib/spawn.c: New file, from GNU libc with modifications.
37186         * doc/posix-functions/posix_spawn.texi: Mention the new module.
37187
37188         New module 'posix_spawnattr_destroy'.
37189         * modules/posix_spawnattr_destroy: New file.
37190         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
37191         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
37192         module.
37193
37194         New module 'posix_spawnattr_setsigmask'.
37195         * modules/posix_spawnattr_setsigmask: New file.
37196         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
37197         modifications.
37198         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
37199         new module.
37200
37201         New module 'posix_spawnattr_getsigmask'.
37202         * modules/posix_spawnattr_getsigmask: New file.
37203         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
37204         modifications.
37205         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
37206         new module.
37207
37208         New module 'posix_spawnattr_setsigdefault'.
37209         * modules/posix_spawnattr_setsigdefault: New file.
37210         * lib/spawnattr_setdefault.c: New file, from GNU libc with
37211         modifications.
37212         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
37213         new module.
37214
37215         New module 'posix_spawnattr_getsigdefault'.
37216         * modules/posix_spawnattr_getsigdefault: New file.
37217         * lib/spawnattr_getdefault.c: New file, from GNU libc with
37218         modifications.
37219         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
37220         new module.
37221
37222         New module 'posix_spawnattr_setschedpolicy'.
37223         * modules/posix_spawnattr_setschedpolicy: New file.
37224         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
37225         modifications.
37226         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
37227         new module.
37228
37229         New module 'posix_spawnattr_getschedpolicy'.
37230         * modules/posix_spawnattr_getschedpolicy: New file.
37231         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
37232         modifications.
37233         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
37234         new module.
37235
37236         New module 'posix_spawnattr_setschedparam'.
37237         * modules/posix_spawnattr_setschedparam: New file.
37238         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
37239         modifications.
37240         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
37241         new module.
37242
37243         New module 'posix_spawnattr_getschedparam'.
37244         * modules/posix_spawnattr_getschedparam: New file.
37245         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
37246         modifications.
37247         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
37248         new module.
37249
37250         New module 'posix_spawnattr_setpgroup'.
37251         * modules/posix_spawnattr_setpgroup: New file.
37252         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
37253         modifications.
37254         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
37255         module.
37256
37257         New module 'posix_spawnattr_getpgroup'.
37258         * modules/posix_spawnattr_getpgroup: New file.
37259         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
37260         modifications.
37261         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
37262         module.
37263
37264         New module 'posix_spawnattr_setflags'.
37265         * modules/posix_spawnattr_setflags: New file.
37266         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
37267         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
37268         module.
37269
37270         New module 'posix_spawnattr_getflags'.
37271         * modules/posix_spawnattr_getflags: New file.
37272         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
37273         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
37274         module.
37275
37276         New module 'posix_spawnattr_init'.
37277         * modules/posix_spawnattr_init: New file.
37278         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
37279         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
37280         module.
37281
37282         New module 'posix_spawn_file_actions_destroy'.
37283         * modules/posix_spawn_file_actions_destroy: New file.
37284         * lib/spawn_faction_destroy.c: New file, from GNU libc with
37285         modifications.
37286         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
37287         the new module.
37288
37289         New module 'posix_spawn_file_actions_addopen'.
37290         * modules/posix_spawn_file_actions_addopen: New file.
37291         * lib/spawn_faction_addopen.c: New file, from GNU libc with
37292         modifications.
37293         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
37294         the new module.
37295
37296         New module 'posix_spawn_file_actions_adddup2'.
37297         * modules/posix_spawn_file_actions_adddup2: New file.
37298         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
37299         modifications.
37300         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
37301         the new module.
37302
37303         New module 'posix_spawn_file_actions_addclose'.
37304         * modules/posix_spawn_file_actions_addclose: New file.
37305         * lib/spawn_faction_addclose.c: New file, from GNU libc with
37306         modifications.
37307         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
37308         the new module.
37309
37310         New module 'posix_spawn_file_actions_init'.
37311         * modules/posix_spawn_file_actions_init: New file.
37312         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
37313         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
37314         new module.
37315
37316         New module 'posix_spawn-internal'.
37317         * modules/posix_spawn-internal: New file.
37318         * lib/spawn_int.h: New file, from GNU libc with modifications.
37319         * lib/spawni.c: New file, from GNU libc with modifications.
37320         * m4/posix_spawn.m4: New file.
37321
37322         New module 'spawn'.
37323         * modules/spawn: New file.
37324         * lib/spawn.in.h: New file, from GNU libc with modifications.
37325         * m4/spawn_h.m4: New file.
37326         * doc/posix-headers/spawn.texi: Mention the new module.
37327
37328 2008-09-28  Bruno Haible  <bruno@clisp.org>
37329
37330         * modules/sched-tests: New file.
37331         * tests/test-sched.c: New file.
37332
37333         New module 'sched'.
37334         * modules/sched: New file.
37335         * lib/sched.in.h: New file.
37336         * m4/sched_h.m4: New file.
37337         * doc/posix-headers/sched.texi: Mention the new module.
37338
37339 2008-09-27  Eric Blake  <ebb9@byu.net>
37340
37341         Fix previous patch, and tweak references to $0.
37342         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
37343         (func_version, func_gnulib_dir): Don't call this program
37344         gnulib-tool.
37345         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
37346         with using $0 in function.
37347         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
37348         (func_fatal_error): Reuse the name the user invoked us with.
37349
37350 2008-09-27  Bruno Haible  <bruno@clisp.org>
37351
37352         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
37353         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
37354         (gl_ICONV_H): Not here.
37355         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
37356         instead of assigning ICONV_H directly.
37357
37358         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
37359         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
37360         WCHAR_H directly.
37361
37362 2008-09-27  Bruno Haible  <bruno@clisp.org>
37363
37364         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
37365         * modules/arpa_inet (Depends-on): Add link-warning.
37366         (Makefile.am): Insert the definition of GL_LINK-WARNING.
37367         * modules/unistd (Makefile.am): Likewise.
37368
37369 2008-09-26  Bruno Haible  <bruno@clisp.org>
37370
37371         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
37372         variables.
37373         (func_version): Essentially copied from gnulib-tool.
37374         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
37375         func_readlink): Copied from gnulib-tool.
37376
37377 2008-09-26  Bruno Haible  <bruno@clisp.org>
37378
37379         * gnulib-tool (func_version): Change directory to $gnulib_dir before
37380         invoking git-version-gen.
37381
37382 2008-09-26  Bruno Haible  <bruno@clisp.org>
37383
37384         * posix-modules: Update to directory names changed on 2008-01-19.
37385         Remove commas in output before splitting into words. No more need to
37386         avoid 'ftruncate' since 2007-02-19.
37387
37388 2008-09-26  Bruno Haible  <bruno@clisp.org>
37389
37390         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
37391
37392 2008-09-26  Bruno Haible  <bruno@clisp.org>
37393
37394         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
37395         * modules/fwriteerror (Depends-on): Add errno.
37396
37397 2008-09-26  Bruno Haible  <bruno@clisp.org>
37398
37399         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
37400         * tests/test-vc-list-files-cvs.sh: Likewise.
37401
37402 2008-09-26  Bruno Haible  <bruno@clisp.org>
37403
37404         * doc/posix-headers/sys_resource.texi: Reorder items.
37405
37406 2008-09-26  Jim Meyering  <meyering@redhat.com>
37407
37408         fts: tweak inode comparison function
37409         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
37410         inode numbers, as documented.
37411
37412         fts: sort dirent entries on inode number before traversing
37413         This avoids a quadratic, seek-related performance penalty when
37414         operating on a directory containing many entries (measurable at 10k;
37415         3.5 hours at 2 million entries with a cold cache) on certain types
37416         of file systems, including ext3 and ext4, but not tmpfs.
37417         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
37418         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
37419         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
37420         (fs_handles_readdir_ordered_dirents_efficiently): New function.
37421         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
37422         (fts_build): Set the stat.st_ino member from D_INO.
37423         If it is likely to be useful, sort dirent entries on inode number.
37424
37425         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
37426         and the struct statfs.f_type member.
37427         * modules/fts (Depends-on): Add d-ino.
37428
37429 2008-09-26  Bruno Haible  <bruno@clisp.org>
37430
37431         * modules/sigpipe-die (Depends-on): Add sigpipe.
37432
37433         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
37434         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
37435         and GNULIB_STDIO_H_SIGPIPE are set.
37436         * lib/stdio-write.c: New file.
37437         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
37438         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37439         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37440         REPLACE_STDIO_WRITE_FUNCS.
37441         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
37442         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37443         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37444         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37445         * modules/stdio (Files): Add lib/stdio-write.c.
37446         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
37447         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
37448         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
37449         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
37450         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
37451         REPLACE_FPRINTF_POSIX.
37452         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
37453         REPLACE_PRINTF_POSIX.
37454         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
37455         REPLACE_VFPRINTF_POSIX.
37456         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
37457         REPLACE_VPRINTF_POSIX.
37458         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
37459         SIGPIPE issue.
37460         * doc/posix-functions/fputc.texi: Likewise.
37461         * doc/posix-functions/fputs.texi: Likewise.
37462         * doc/posix-functions/fwrite.texi: Likewise.
37463         * doc/posix-functions/printf.texi: Likewise.
37464         * doc/posix-functions/putc.texi: Likewise.
37465         * doc/posix-functions/putchar.texi: Likewise.
37466         * doc/posix-functions/puts.texi: Likewise.
37467         * doc/posix-functions/vfprintf.texi: Likewise.
37468         * doc/posix-functions/vprintf.texi: Likewise.
37469
37470         * modules/safe-write (Depends-on): Add write.
37471
37472         * modules/sigpipe-tests: New file.
37473         * tests/test-sigpipe.c: New file.
37474         * tests/test-sigpipe.sh: New file.
37475
37476         * modules/write: New file.
37477         * lib/unistd.in.h: Include <sys/types.h>.
37478         (write): New declaration.
37479         * lib/write.c: New file.
37480         * m4/write.m4: New file.
37481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
37482         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
37483         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
37484         GNULIB_WRITE, REPLACE_WRITE.
37485         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
37486         and the SIGPIPE issue.
37487
37488         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
37489         (raise): New declaration.
37490         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
37491         (ext_signal): New function.
37492         (rpl_raise): New function.
37493         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
37494         GNULIB_SIGNAL_H_SIGPIPE.
37495         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
37496         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
37497
37498         * modules/sigpipe: New file.
37499         * m4/sigpipe.m4: New file.
37500
37501 2008-09-25  Derek Price  <derek@ximbiot.com>
37502             Bruno Haible  <bruno@clisp.org>
37503
37504         * gnulib-tool (func_import): Report all license incompatibilities, not
37505         just the first one.
37506
37507 2008-09-25  Bruno Haible  <bruno@clisp.org>
37508
37509         * gnulib-tool (func_import): When computing the edits, consider not
37510         only the Makefile.ams that exist but also those that will be generated.
37511
37512 2008-09-25  Simon Josefsson  <simon@josefsson.org>
37513
37514         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
37515         fixes gnulib-tool --test warning about duplicate dependency.
37516
37517 2008-09-25  Bruno Haible  <bruno@clisp.org>
37518
37519         * gnulib-tool: Don't ask the user to perform edits in the generated
37520         Makefile.ams.
37521         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
37522         apply to the Makefile.am being generated.
37523         (func_emit_tests_Makefile_am): Execute edits that apply to the
37524         Makefile.am being generated.
37525         (func_import): Setup list of Makefile.am edits before emitting the
37526         Makefile.ams, not at the end.
37527         (func_create_testdir): Update.
37528         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37529
37530 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37531
37532         * gnulib-tool (func_import): Store the --tests-base option in the
37533         comment in gnulib-cache.m4.
37534
37535 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
37536
37537         * NEWS: Document increased portability that sys_select now provides.
37538
37539         * lib/sys_select.in.h: Install select wrapper.
37540         * lib/sys_socket.in.h: Use more descriptive name when there is no
37541         select wrapper.
37542         * lib/winsock-select.c: New.
37543         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
37544         Require gl_HEADER_SYS_SOCKET.
37545         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
37546         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
37547         * tests/test-sys_select.c: Add functional tests.
37548
37549 2008-09-24  Eric Blake  <ebb9@byu.net>
37550
37551         open, fopen: close fd leak in last patch
37552         * lib/open.c (rpl_open): Close fd before returning error.
37553         * lib/fopen.c (rpl_fopen): Close fd before returning error.
37554         * doc/posix-functions/open.texi (open): Document that Irix also
37555         has the bug.
37556         * doc/posix-functions/fopen.texi (fopen): Likewise.
37557         Reported by Paolo Bonzini.
37558
37559 2008-09-24  Bruno Haible  <bruno@clisp.org>
37560
37561         Ensure that a filename ending in a slash cannot be used to access a
37562         non-directory.
37563         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
37564         to check whether it's really a directory.
37565         * lib/fopen.c: Include fcntl.h, unistd.h.
37566         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
37567         and fdopen().
37568         * modules/fopen (Depends-on): Add unistd.
37569         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
37570         * tests/test-fopen.c (main): Likewise.
37571         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
37572         * doc/posix-functions/fopen.texi: Likewise.
37573         Reported by Eric Blake.
37574
37575 2008-09-23  Eric Blake  <ebb9@byu.net>
37576
37577         c-stack: avoid compiler optimizations when provoking overflow
37578         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
37579         recursion harder to optimize, to ensure a stack overflow occurs.
37580         * tests/test-c-stack.c (recurse): Likewise.
37581         Borrowed from libsigsegv.
37582
37583         c-stack: work around Irix sigaltstack bug
37584         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
37585         whether sigaltstack uses wrong end of stack_t (copied in part from
37586         libsigsegv).
37587         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
37588         Irix bug, without requiring an over-allocation.
37589         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
37590         bug.
37591
37592         fopen: document mingw bug on directories
37593         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
37594         not allowing a stream visiting a directory, even though reading
37595         from such a stream is not portable.
37596
37597 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37598
37599         * lib/poll.c: Rewrite.
37600         * modules/poll: Depend on alloca.
37601
37602 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37603
37604         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
37605         instead define prototypes for a full set of wrappers.  Ensure
37606         that Cygwin does not use the compatibility code, which is only
37607         for MinGW.
37608         * lib/winsock.c: New.
37609         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
37610         * modules/sys_socket: Add lib/winsock.c.
37611
37612         * modules/poll-tests: Add errno and perror.
37613         * tests/test-poll.c: Use ioctl, not ioctlsocket.
37614
37615 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
37616
37617         * tests/test-poll.c: Downgrade minimum needed Winsock version.
37618
37619 2008-09-23  Bruno Haible  <bruno@clisp.org>
37620
37621         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
37622         * doc/glibc-functions/*: Likewise.
37623
37624 2008-09-23  Simon Josefsson  <simon@josefsson.org>
37625
37626         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
37627         success.
37628
37629 2008-09-22  Eric Blake  <ebb9@byu.net>
37630             Bruno Haible  <bruno@clisp.org>
37631
37632         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
37633         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
37634         supply %A but mishandle pseudo-NaN.
37635         Reported by Simon Josefsson.
37636
37637 2008-09-21  Bruno Haible  <bruno@clisp.org>
37638
37639         * tests/test-lock.c (main): Tweak skip message.
37640         * tests/test-tls.c (main): Likewise.
37641
37642 2008-09-21  Bruno Haible  <bruno@clisp.org>
37643
37644         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
37645         whether 'struct sigaction' has sa_sigaction here...
37646         (gl_PREREQ_SIG_HANDLER_H): ... not here.
37647         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
37648
37649 2008-09-21  Bruno Haible  <bruno@clisp.org>
37650
37651         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
37652         section.
37653         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
37654         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
37655         the new section.
37656         (Support for obsolete systems lacking POSIX:2001): New section.
37657         (String handling <string.h>): Move strdup to the new section.
37658         Suggested by Simon Josefsson and Paolo Bonzini.
37659
37660 2008-09-21  Bruno Haible  <bruno@clisp.org>
37661
37662         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
37663         exponents in %e and %g results on 'long double'. Needed for mingw's
37664         improved *printf functions.
37665         * tests/test-vasprintf-posix.c (test_function): Likewise.
37666         * tests/test-snprintf-posix.h (test_function): Likewise.
37667         * tests/test-sprintf-posix.h (test_function): Likewise.
37668         Reported by Eric Blake.
37669
37670 2008-09-21  Bruno Haible  <bruno@clisp.org>
37671
37672         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
37673         * tests/test-sprintf-posix.h (test_function): Likewise.
37674
37675 2008-09-21  Bruno Haible  <bruno@clisp.org>
37676
37677         * modules/getpass (Depends-on): Add strdup-posix.
37678
37679         New module 'strdup-posix'.
37680         * modules/strdup-posix: New file.
37681         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
37682         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
37683         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37684         REPLACE_STRDUP.
37685         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
37686         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
37687         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37688         strdup-posix.
37689
37690         * modules/strdup (Depends-on): Remove malloc-posix.
37691
37692 2008-09-20  Bruno Haible  <bruno@clisp.org>
37693
37694         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
37695         Wildenhues.
37696
37697 2008-09-20  Bruno Haible  <bruno@clisp.org>
37698
37699         Ensure that wint_t gets defined on IRIX 5.3.
37700         * lib/wchar.in.h (wint_t): Define if not defined by the system.
37701         * lib/wctype.in.h (wint_t): Likewise.
37702         (__wctype_wint_t): Remove type.
37703         (isw*): Use wint_t instead of __wctype_wint_t.
37704         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
37705         * modules/wchar (Files): Add m4/wint_t.m4.
37706         (Makefile.am): Substitute HAVE_WINT_T.
37707         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
37708         * tests/test-wctype.c: Check that wint_t is defined.
37709         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
37710         * doc/posix-headers/wctype.texi: Likewise.
37711         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37712
37713 2008-09-18  Bruno Haible  <bruno@clisp.org>
37714
37715         * gnulib-tool (func_exit): Update comment.
37716
37717 2008-09-18  Simon Josefsson  <simon@josefsson.org>
37718
37719         * modules/getaddrinfo (Depends-on): Remove strdup, this module
37720         assumes strdup exists and does not depend on strdup to return
37721         ENOMEM on out of memory conditions.
37722
37723 2008-09-18  Bruno Haible  <bruno@clisp.org>
37724
37725         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
37726         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
37727         digits for the exponent.
37728
37729 2008-09-18  Jim Meyering  <meyering@redhat.com>
37730             Bruno Haible  <bruno@clisp.org>
37731
37732         * lib/vasnprintf.c (decimal_point_char): Define also if
37733         NEED_PRINTF_INFINITE_LONG_DOUBLE.
37734
37735 2008-09-16  Bruno Haible  <bruno@clisp.org>
37736         and Eric Blake  <ebb9@byu.net>
37737
37738         vasnprintf: support Irix 5.3
37739         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
37740         that mishandle long double infinity.
37741         Reported by Tom G. Christensen.
37742
37743 2008-09-16  Bruno Haible  <bruno@clisp.org>
37744
37745         * doc/glibc-functions/scandir.texi: Mention the function is missing on
37746         Solaris 9.
37747         * doc/glibc-functions/alphasort.texi: Likewise.
37748         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
37749
37750 2008-09-16  Jim Meyering  <meyering@redhat.com>
37751
37752         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
37753         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
37754         a umask modification leak out of a subshell.  Otherwise, the
37755         opensolaris /bin/sh would be accepted and thus cause unwarranted
37756         failures in the coreutils test suite.
37757
37758 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
37759
37760         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
37761         to succeed.
37762
37763 2008-09-16  Jim Meyering  <meyering@redhat.com>
37764
37765         avoid spurious test failure when library is built without ACL support
37766         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
37767         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
37768         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
37769         * tests/test-copy-acl.sh: Likewise.
37770
37771 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37772
37773         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
37774         based on character occurrence counts.
37775
37776 2008-09-15  Eric Blake  <ebb9@byu.net>
37777
37778         tests: avoid some compiler warnings
37779         * tests/test-memchr.c (main): Pass NULL indirectly.
37780         * tests/test-closein.c (main): Avoid unused variable.
37781
37782 2008-09-15  Bruno Haible  <bruno@clisp.org>
37783
37784         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
37785         are missing on OpenBSD 4.0 individually.
37786         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37787
37788 2008-09-15  Bruno Haible  <bruno@clisp.org>
37789
37790         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
37791         * doc/posix-functions/strerror.texi: Mention also Cygwin.
37792         * doc/posix-functions/perror.texi: Likewise.
37793         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
37794         is missing.
37795         Reported by Eric Blake.
37796
37797         * lib/errno.in.h: Use replacement values >= 2000.
37798         Reported by Eric Blake.
37799
37800 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37801
37802         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
37803         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
37804         limit.
37805         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
37806         compareseq was aborted.
37807
37808 2008-09-14  Bruno Haible  <bruno@clisp.org>
37809
37810         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
37811         yvec_edit_count.
37812         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
37813         (fstrcmp_bounded): Simplify result computation accordingly.
37814
37815 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37816
37817         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
37818         (fstrcmp): Define in terms of fstrcmp_bounded.
37819         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
37820         lower_bound argument.
37821         Return quickly if the result is certainly < lower_bound.
37822         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
37823
37824 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37825
37826         * lib/diffseq.h (EARLY_ABORT): New macro.
37827         (compareseq): Change return type to bool. Return true when EARLY_ABORT
37828         evaluates to true.
37829
37830 2008-09-14  Bruno Haible  <bruno@clisp.org>
37831
37832         * modules/perror-tests: New file.
37833         * tests/test-perror.sh: New file.
37834         * tests/test-perror.c: New file.
37835
37836         New module 'perror'.
37837         * lib/stdio.in.h (perror): New declaration.
37838         * lib/perror.c: New file.
37839         * m4/perror.m4: New file.
37840         * modules/perror: New file.
37841         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
37842         * doc/posix-functions/perror.texi: Mention the perror module.
37843         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
37844         REPLACE_PERROR.
37845         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
37846         REPLACE_PERROR.
37847
37848 2008-09-14  Bruno Haible  <bruno@clisp.org>
37849
37850         * modules/stdio (Makefile.am): Reorder to match the order in
37851         lib/stdio.in.h.
37852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37853
37854 2008-09-13  Bruno Haible  <bruno@clisp.org>
37855
37856         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
37857
37858 2008-09-13  Bruno Haible  <bruno@clisp.org>
37859
37860         Extend strerror to cover the added errno values.
37861         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
37862         (rpl_strerror): Provide error messages for the added errno values and
37863         for the WSA* values.
37864         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
37865         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
37866         strerror.
37867         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
37868         * modules/strerror (Depends-on): Add errno.
37869         * doc/posix-functions/strerror.texi: Document the change.
37870         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
37871         and EOVERFLOW.
37872
37873 2008-09-13  Bruno Haible  <bruno@clisp.org>
37874
37875         * modules/EOVERFLOW: Remove file.
37876         * m4/eoverflow.m4: Remove file.
37877         * modules/EOVERFLOW-tests: Remove file.
37878         * tests/test-EOVERFLOW.c: Remove file.
37879         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
37880         * modules/ftell (Depends-on): Likewise.
37881         * modules/getdelim (Depends-on): Likewise.
37882         * modules/getugroups (Depends-on): Likewise.
37883         * modules/poll (Depends-on): Likewise.
37884         * modules/snprintf (Depends-on): Likewise.
37885         * modules/sprintf-posix (Depends-on): Likewise.
37886         * modules/vasnprintf (Depends-on): Likewise.
37887         * modules/vasprintf (Depends-on): Likewise.
37888         * modules/vfprintf-posix (Depends-on): Likewise.
37889         * modules/vsnprintf (Depends-on): Likewise.
37890         * modules/vsprintf-posix (Depends-on): Likewise.
37891         * modules/xvasprintf (Depends-on): Likewise.
37892         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37893         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
37894         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
37895         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
37896         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37897         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
37898         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
37899         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
37900         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37901         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
37902         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
37903         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
37904         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37905         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
37906         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
37907         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
37908         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37909         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
37910         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
37911         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
37912         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37913         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
37914         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
37915         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
37916         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
37917         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37918         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
37919         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
37920         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
37921         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
37922         * MODULES.html.sh: Remove EOVERFLOW.
37923         * NEWS: Mention the change.
37924
37925 2008-09-13  Bruno Haible  <bruno@clisp.org>
37926
37927         * modules/errno-tests: New file.
37928         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
37929
37930         * lib/errno.in.h: New file.
37931         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
37932         * modules/errno: New file.
37933         * doc/posix-headers/errno.texi: Update documentation.
37934         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
37935
37936 2008-09-13  Bruno Haible  <bruno@clisp.org>
37937
37938         * tests/test-poll.c: Use #if for native Windows, rather than testing
37939         __MSVCRT__.
37940
37941 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37942             Bruno Haible  <bruno@clisp.org>
37943
37944         * lib/glob.c: Don't include <pwd.h> on native Windows.
37945         (WINDOWS32): New macro.
37946         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
37947
37948 2008-09-13  Bruno Haible  <bruno@clisp.org>
37949
37950         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
37951         (ETIMEDOUT): Remove macro.
37952         (glthread_cond_timedwait_multithreaded): New declaration.
37953         (glthread_cond_timedwait): Use it.
37954         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
37955         (glthread_cond_timedwait_multithreaded): New function.
37956
37957 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37958
37959         * modules/poll-tests: Do not check for io.h.
37960         * tests/test-poll.c: Check for __MSVCRT__ instead.
37961
37962 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37963
37964         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
37965         * modules/poll-tests: Add inet_pton, stdbool, sockets.
37966         * tests/test-poll.c: Use them.  Use _pipe on Windows.
37967
37968 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37969
37970         * modules/poll-tests: New.
37971         * tests/test-poll.c: New.
37972
37973 2008-09-12  Eric Blake  <ebb9@byu.net>
37974
37975         frexp: test for NetBSD failure on -0.0
37976         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
37977         not all, bugs from NetBSD 3.0 have been fixed.
37978         * doc/posix-functions/frexp.texi (frexp): Document bug.
37979         Reported by Thomas Klausner.
37980
37981         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
37982         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
37983         literal -0.0.
37984         Reported by Jonathan C. Patschke <jp@centtech.com>.
37985
37986 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37987
37988         * lib/glthread/cond.h: Use dummy implementation also if
37989         USE_WIN32_THREADS.
37990
37991 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37992
37993         * modules/fnmatch-posix (License): Change to LGPLv2+.
37994         * modules/fnmatch-gnu (License): Likewise.
37995
37996 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37997
37998         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
37999
38000 2008-09-11  Jim Meyering  <meyering@redhat.com>
38001
38002         * users.txt: Add gtk-vnc.
38003
38004 2008-09-08  Simon Josefsson  <simon@josefsson.org>
38005
38006         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
38007         rotate amounts.
38008
38009         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
38010         required for 16-bit and 8-bit rotates.
38011         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
38012         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
38013         UINT8_MAX instead of hard-coded constants.
38014         Suggested by Paul Eggert.
38015
38016 2008-09-07  Bruno Haible  <bruno@clisp.org>
38017
38018         * tests/test-striconveh.c (main): Check behaviour when converting from
38019         UTF-7.
38020
38021         Make striconveh work better with stateful encodings.
38022         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
38023         that iconv does not increment the inptr when returning -1/EINVAL.
38024
38025 2008-09-07  Bruno Haible  <bruno@clisp.org>
38026
38027         * build-aux/config.rpath: Update according to libtool-2.2.6.
38028         * build-aux/config.libpath: Likewise.
38029
38030 2008-09-06  Bruno Haible  <bruno@clisp.org>
38031
38032         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
38033         * lib/freadptr.c (freadptr): Likewise.
38034         * lib/freadseek.c (freadptrinc): Likewise.
38035         Reported by Simon Josefsson.
38036
38037 2008-09-06  Bruno Haible  <bruno@clisp.org>
38038
38039         * modules/freadptr (License): Change to LGPLv2+.
38040         * modules/freadseek (License): Likewise.
38041         Suggested by Eric Blake.
38042
38043         * modules/memchr2 (License): Change to LGPLv2+.
38044         Approved by Eric Blake.
38045
38046 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38047             Bruno Haible  <bruno@clisp.org>
38048
38049         Make gnulib-tool work with native 'sed' on AIX.
38050         * gnulib-tool (sed_noop): New variable.
38051         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
38052         func_add_or_update, func_create_testdir): Use it to initialize sed
38053         script variables.
38054         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38055
38056 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
38057             Bruno Haible  <bruno@clisp.org>
38058
38059         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
38060         also works after #include directives.
38061
38062 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
38063
38064         getdate.y: reject an out-of-range timezone value
38065         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
38066         the range [-24...+24].  When specified with only one or two digits,
38067         * tests/test-getdate.c: Tests for the fix.
38068         * doc/getdate.texi: Document this change.
38069
38070 2008-09-03  Bruno Haible  <bruno@clisp.org>
38071
38072         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
38073
38074 2008-09-02  Simon Josefsson  <simon@josefsson.org>
38075
38076         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
38077         <bruce.korb@gmail.com> with ideas from Ben Pfaff
38078         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
38079         Blake <ebb9@byu.net>.
38080
38081         * tests/test-bitrotate.c: Add more test vectors.
38082
38083 2008-09-02  Eric Blake  <ebb9@byu.net>
38084
38085         vasnprintf-posix: handle large precision via %.*d
38086         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
38087         when handling it ourselves.
38088         * tests/test-vasnprintf-posix.c (test_function): Add test.
38089         * tests/test-snprintf-posix.h (test_function): Likewise.
38090         * tests/test-sprintf-posix.h (test_function): Likewise.
38091         * tests/test-vasprintf-posix.c (test_function): Likewise.
38092         Reported by Alain Guibert.
38093
38094 2008-09-01  Eric Blake  <ebb9@byu.net>
38095
38096         c-stack: make configure-time check more robust
38097         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
38098         successful sigaction call.
38099         Reported by Tom G. Christensen.
38100
38101 2008-09-01  Bruno Haible  <bruno@clisp.org>
38102
38103         New module 'findprog-lgpl'.
38104         * modules/findprog-lgpl: New file.
38105         * lib/findprog-lgpl.c: New file.
38106         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
38107         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
38108         to decide whether to use strdup or xstrdup, concatenated_filename or
38109         xconcatenated_filename.
38110
38111 2008-09-01  Bruno Haible  <bruno@clisp.org>
38112
38113         Split module 'concat-filename' into 'concat-filename' (LGPL) and
38114         'xconcat-filename' (GPL).
38115         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
38116         (License): Change to LGPLv2+.
38117         * modules/xconcat-filename: New file.
38118         * lib/concat-filename.h (concatenated_filename): Change specification.
38119         (xconcatenated_filename): New declaration.
38120         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
38121         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
38122         memory situations.
38123         * lib/xconcat-filename.c: New file.
38124         * NEWS: Mention the change.
38125         * lib/findprog.c: Include concat-filename.h, not filename.h.
38126         (find_in_path): Use xconcatenated_filename instead of
38127         concatenated_filename.
38128         * lib/javacomp.c: Include concat-filename.h, not filename.h.
38129         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38130         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38131         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38132         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
38133         instead of concatenated_filename.
38134         * lib/javaexec.c: Include concat-filename.h, not filename.h.
38135         (execute_java_class): Use xconcatenated_filename instead of
38136         concatenated_filename.
38137         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
38138         * modules/javacomp (Depends-on): Likewise.
38139         * modules/javaexec (Depends-on): Likewise.
38140
38141 2008-09-01  Bruno Haible  <bruno@clisp.org>
38142
38143         Split module 'filename' into 'filename' and 'concat-filename'.
38144         * modules/filename: Keep only lib/filename.h.
38145         (License): Change to LGPLv2+.
38146         * modules/concat-filename: New file, extracted from modules/filename.
38147         * lib/filename.h (concatenated_filename): Remove declaration.
38148         * lib/concat-filename.h: New file, extracted from lib/filename.h.
38149         * lib/concat-filename.c: Include concat-filename.h.
38150         * NEWS: Mention the change.
38151
38152 2008-09-01  Simon Josefsson  <simon@josefsson.org>
38153
38154         * lib/bitrotate.h (rotl8, rotr8): Add.
38155
38156         * modules/bitrotate (configure.ac): Need
38157         AC_REQUIRE([AC_C_INLINE]).
38158         (Description): Mention stdint.h.  Reported by Bruno Haible
38159         <bruno@clisp.org>.
38160
38161         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
38162         Paolo Bonzini <bonzini@gnu.org>.
38163
38164 2008-08-31  Bruno Haible  <bruno@clisp.org>
38165
38166         Assume Solaris specific bi-arch conventions on Solaris systems.
38167         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
38168         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
38169         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
38170         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
38171         like acl_libdirstem.
38172         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
38173         acl_libdirstem.
38174         * NEWS: Mention the change.
38175         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
38176
38177 2008-08-31  Jim Meyering  <meyering@redhat.com>
38178
38179         * lib/strftime.h: Add comments describing the two added arguments.
38180
38181         remove duplicate #include directives
38182         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
38183         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
38184
38185 2008-08-31  Bruno Haible  <bruno@clisp.org>
38186
38187         New module 'sigpipe-die'.
38188         * modules/sigpipe-die: New file.
38189         * lib/sigpipe-die.h: New file.
38190         * lib/sigpipe-die.c: New file.
38191         * MODULES.html.sh (Signal handling): Add sigpipe-die.
38192
38193 2008-08-31  Bruno Haible  <bruno@clisp.org>
38194
38195         Don't override previously installed signal handlers.
38196         * lib/fatal-signal.c (saved_sigactions): New variable.
38197         (uninstall_handlers): Reset the signal to the saved handler, not
38198         to SIG_DFL (except when ignored).
38199         (install_handlers): Save the previous handlers.
38200
38201 2008-08-30  Bruno Haible  <bruno@clisp.org>
38202
38203         * gnulib-tool (func_reset_sigpipe): New function.
38204         (func_get_automake_snippet, func_modules_transitive_closure,
38205         func_import): Invoke it before a join command that reads from stdin,
38206         to avoid "echo: write error: Broken pipe" error messages on stderr.
38207         Reported by Sam Steingold <sds@gnu.org>.
38208
38209 2008-08-30  Bruno Haible  <bruno@clisp.org>
38210
38211         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
38212         Code copied from m4/open.m4.
38213         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
38214         access and the filename ends in a slash. Code copied from lib/open.c.
38215         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
38216         * tests/test-fopen.c (main): Check against bug with trailing slash.
38217
38218 2008-08-29  Bruno Haible  <bruno@clisp.org>
38219
38220         Avoid some "gcc -pedantic" warnings.
38221         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
38222         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
38223         * lib/dirent.in.h: Likewise.
38224         * lib/fcntl.in.h: Likewise.
38225         * lib/float.in.h: Likewise.
38226         * lib/iconv.in.h: Likewise.
38227         * lib/inttypes.in.h: Likewise.
38228         * lib/locale.in.h: Likewise.
38229         * lib/math.in.h: Likewise.
38230         * lib/netinet_in.in.h: Likewise.
38231         * lib/search.in.h: Likewise.
38232         * lib/signal.in.h: Likewise.
38233         * lib/stdarg.in.h: Likewise.
38234         * lib/stdint.in.h: Likewise.
38235         * lib/stdio.in.h: Likewise.
38236         * lib/stdlib.in.h: Likewise.
38237         * lib/string.in.h: Likewise.
38238         * lib/strings.in.h: Likewise.
38239         * lib/sys_select.in.h: Likewise.
38240         * lib/sys_socket.in.h: Likewise.
38241         * lib/sys_stat.in.h: Likewise.
38242         * lib/sys_time.in.h: Likewise.
38243         * lib/sysexits.in.h: Likewise.
38244         * lib/time.in.h: Likewise.
38245         * lib/unistd.in.h: Likewise.
38246         * lib/wchar.in.h: Likewise.
38247         * lib/wctype.in.h: Likewise.
38248         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
38249         * modules/fchdir (Makefile.am): Likewise.
38250         * modules/fcntl (Makefile.am): Likewise.
38251         * modules/float (Makefile.am): Likewise.
38252         * modules/iconv_open (Makefile.am): Likewise.
38253         * modules/inttypes (Makefile.am): Likewise.
38254         * modules/locale (Makefile.am): Likewise.
38255         * modules/math (Makefile.am): Likewise.
38256         * modules/netinet_in (Makefile.am): Likewise.
38257         * modules/search (Makefile.am): Likewise.
38258         * modules/signal (Makefile.am): Likewise.
38259         * modules/stdarg (Makefile.am): Likewise.
38260         * modules/stdint (Makefile.am): Likewise.
38261         * modules/stdio (Makefile.am): Likewise.
38262         * modules/stdlib (Makefile.am): Likewise.
38263         * modules/string (Makefile.am): Likewise.
38264         * modules/strings (Makefile.am): Likewise.
38265         * modules/sys_select (Makefile.am): Likewise.
38266         * modules/sys_socket (Makefile.am): Likewise.
38267         * modules/sys_stat (Makefile.am): Likewise.
38268         * modules/sys_time (Makefile.am): Likewise.
38269         * modules/sysexits (Makefile.am): Likewise.
38270         * modules/time (Makefile.am): Likewise.
38271         * modules/unistd (Makefile.am): Likewise.
38272         * modules/wchar (Makefile.am): Likewise.
38273         * modules/wctype (Makefile.am): Likewise.
38274         Reported by Reuben Thomas <rrt@sc3d.org>.
38275
38276 2008-08-29  Bruno Haible  <bruno@clisp.org>
38277
38278         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
38279         any more.
38280
38281 2008-08-29  Simon Josefsson  <simon@josefsson.org>
38282
38283         * MODULES.html.sh (Misc): Add bitrotate.
38284
38285         * modules/bitrotate: New file.
38286
38287         * lib/bitrotate.h: New file.
38288
38289         * modules/bitrotate-tests: New file.
38290
38291         * tests/test-bitrotate.c: New file.
38292
38293         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
38294         on the bitrotate module.
38295
38296         * lib/arctwo.c: Use new bitrotate module.
38297
38298 2008-08-29  Jim Meyering  <meyering@redhat.com>
38299
38300         bootstrap: merge changes from coreutils
38301         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
38302         of copied files.  Remove a kludge, now that this is fixed.
38303         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
38304         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
38305         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
38306
38307 2008-08-29  Bruno Haible  <bruno@clisp.org>
38308
38309         * MODULES.html.sh: Remove --cvs-urls option.
38310
38311 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
38312
38313         maint.mk: adjust to file name change
38314         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
38315
38316 2008-08-28  Jim Meyering  <meyering@redhat.com>
38317
38318         * modules/getndelim2 (License): Relicense to LGPLv2+.
38319         Approved by Richard Stallman for the version of 1995, and by
38320         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
38321
38322 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
38323
38324         * lib/getdelim.c (flockfile, funlockfile): Make all of them
38325         dummy if one is not available.  Do not touch them if
38326         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
38327         (getc_maybe_unlocked): New.
38328         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
38329
38330 2008-08-26  Eric Blake  <ebb9@byu.net>
38331
38332         doc/INSTALL: resync from autoconf
38333         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
38334         (INSTALL_PRELUDE): Delete; this is done more efficiently by
38335         moving...
38336         * install.texi [!autoconf]: ...here.  Resync from autoconf.
38337         * INSTALL: Regenerate.
38338         * INSTALL.ISO: New file.
38339         * INSTALL.UTF-8: Likewise.
38340
38341 2008-08-26  Jim Meyering  <meyering@redhat.com>
38342
38343         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
38344         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
38345         these definitions conditional, so that they may be overridden, too.
38346
38347 2008-08-26  Bruno Haible  <bruno@clisp.org>
38348
38349         Generate INSTALL file variants with prettier quotes.
38350         * doc/Makefile (INSTALL_PRELUDE): New macro.
38351         (INSTALL): Use it.
38352         (INSTALL.ISO, INSTALL.UTF-8): New rules.
38353
38354 2008-08-26  Bruno Haible  <bruno@clisp.org>
38355
38356         Run makeinfo in an English locale.
38357         * doc/Makefile (MAKEINFO): New variable.
38358
38359 2008-08-26  Bruno Haible  <bruno@clisp.org>
38360
38361         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
38362         Suggested by Eric Blake.
38363
38364 2008-08-25  Bruno Haible  <bruno@clisp.org>
38365
38366         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
38367
38368 2008-08-25  Eric Blake  <ebb9@byu.net>
38369
38370         c-stack: test that stack overflow can be caught
38371         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
38372         that platform allows handling stack overflow; at least OS/2 EMX
38373         has sigaltstack, but crashes before transferring control to
38374         handler on stack overflow.
38375         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
38376         check for HAVE_STACK_OVERFLOW_HANDLING.
38377         Reported by Elbert Pol.
38378
38379 2008-08-25  Bruno Haible  <bruno@clisp.org>
38380
38381         * doc/posix-functions/strftime.texi: Fix description of strftime
38382         module.
38383
38384 2008-08-24  Bruno Haible  <bruno@clisp.org>
38385
38386         * tests/uniwidth/test-uc_width2.c: New file.
38387         * tests/uniwidth/test-uc_width2.sh: New file.
38388         * modules/uniwidth/width-tests (Files): Add the new files.
38389         (TESTS): Add uniwidth/test-uc_width2.sh.
38390         (TESTS_ENVIRONMENT): New variable.
38391         (check_PROGRAMS): Add test-uc_width2.
38392         (test_uc_width2_SOURCES): New variable.
38393
38394         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
38395         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
38396         not 0x00AB.
38397         Reported by Alexander V. Lukyanov <lav@netis.ru>.
38398
38399 2008-08-22  Eric Blake  <ebb9@byu.net>
38400
38401         test-lock, test-tls: mention why a test is skipped
38402         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
38403         skipped.
38404         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
38405
38406         count-one-bits: relax license
38407         * modules/count-one-bits (License): Relicense to LGPLv2+.
38408         Suggested by Ludovic Courtès, approved by Ben Pfaff.
38409
38410 2008-08-22  Andreas Schwab  <schwab@suse.de>
38411
38412         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
38413         Remove spurious space in assignment.
38414
38415 2008-08-21  Simon Josefsson  <simon@josefsson.org>
38416
38417         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
38418         Paul Eggert <eggert@CS.UCLA.EDU>.
38419
38420 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
38421
38422         * modules/gettext: Add m4/threadlib.m4.
38423
38424 2008-08-19  Eric Blake  <ebb9@byu.net>
38425
38426         test-c-stack: fix compilation failure on FreeBSD 5.0
38427         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
38428         headers before <sys/resource.h>.
38429         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
38430         the bug.
38431         Reported by Nelson H. F. Beebe.
38432
38433         strverscmp: migrate from "strverscmp.h" to <string.h>
38434         * modules/string (Makefile.am): Add new hooks.
38435         * modules/strverscmp (Files): Remove strverscmp.h.
38436         (Depends-on): Add string.
38437         (configure.ac): Add indicator.
38438         (Include): Mention new header.
38439         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
38440         defaults.
38441         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
38442         results.
38443         * lib/strverscmp.h: Delete.
38444         * lib/string.in.h (strverscmp): Provide declaration, when needed.
38445         * tests/test-strverscmp.c (includes): Adjust client.
38446         * lib/check-version.c (includes): Likewise.
38447         * NEWS: Document the change.
38448
38449         strverscmp: add unit test
38450         * modules/strverscmp-tests: New file.
38451         * tests/test-strverscmp.c: Likewise.
38452
38453 2008-08-19  Simon Josefsson  <simon@josefsson.org>
38454
38455         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
38456         regarding Windows crypto stuff, from Mono.
38457
38458 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
38459
38460         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
38461         if present, for intel RND.  Return error on failures.
38462
38463 2008-08-18  Ben Pfaff  <blp@gnu.org>
38464
38465         gitlog-to-changelog: give better diagnostic for failed pipe-open
38466         * build-aux/gitlog-to-changelog: Improve error message: suggest
38467         that the version of Git may be too old.
38468
38469 2008-08-18  Simon Josefsson  <simon@josefsson.org>
38470
38471         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
38472         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
38473
38474 2008-08-18  Bruno Haible  <bruno@clisp.org>
38475
38476         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
38477         pthread_in_use().
38478
38479 2008-08-18  Bruno Haible  <bruno@clisp.org>
38480
38481         * lib/glthread/threadlib.c: Include <pthread.h>.
38482
38483 2008-08-18  Bruno Haible  <bruno@clisp.org>
38484
38485         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
38486         glthread_recursive_lock_* macros.
38487         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
38488         Fix syntax error.
38489
38490 2008-08-18  Bruno Haible  <bruno@clisp.org>
38491
38492         * lib/glthread/thread.c: Avoid forcing a context switch right after
38493         thread creation.
38494
38495 2008-08-17  Bruno Haible  <bruno@clisp.org>
38496
38497         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
38498         * lib/glthread/thread.h: Provide Win32 specific implementation.
38499         * modules/thread (Files): Add lib/glthread/thread.c.
38500         (Depends-on): Add lock.
38501         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
38502
38503 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38504
38505         New module 'yield'.
38506         * modules/yield: New file.
38507         * lib/glthread/yield.h: New file.
38508         * m4/yield.m4: New file.
38509         * MODULES.html.sh (Multithreading): Add yield.
38510
38511 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38512
38513         New module 'thread'.
38514         * modules/thread: New file.
38515         * lib/glthread/thread.h: New file.
38516         * m4/thread.m4: New file.
38517         * MODULES.html.sh (Multithreading): Add thread.
38518
38519 2008-08-17  Bruno Haible  <bruno@clisp.org>
38520
38521         * lib/glthread/lock.h: Include <stdlib.h> always.
38522         * lib/glthread/tls.h: Likewise.
38523         * lib/glthread/cond.h: Likewise.
38524
38525 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38526
38527         New module 'cond'.
38528         * modules/cond: New file.
38529         * lib/glthread/cond.h: New file.
38530         * lib/glthread/cond.c: New file.
38531         * m4/cond.m4: New file.
38532         * MODULES.html.sh (Multithreading): Add cond.
38533
38534 2008-08-16  Eric Blake  <ebb9@byu.net>
38535
38536         c-stack: fix regression on Irix 5.3 from 2008-06-21
38537         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
38538         sa_sigaction...
38539         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
38540         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
38541         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
38542         * modules/signal (Makefile.am): Use the value.
38543         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
38544         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
38545         * doc/posix-headers/signal.texi (signal.h): Document this
38546         portability issue.
38547         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
38548         Reported by Tom G. Christensen.
38549
38550 2008-08-17  Bruno Haible  <bruno@clisp.org>
38551
38552         New module 'threadlib'.
38553         * modules/threadlib: New file.
38554         * lib/glthread/threadlib.c: New file, extracted from
38555         lib/glthread/lock.c.
38556         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
38557         functions.
38558         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
38559         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
38560         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
38561         macros.
38562         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
38563         (gl_DISABLE_THREADS): Remove macro.
38564         * modules/lock (Files): Remove build-aux/config.rpath.
38565         (Depends-on): Remove havelib. Add threadlib.
38566         (configure.ac-early): Remove section.
38567         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
38568         * modules/tls (Depends-on): Remove lock. Add threadlib.
38569         (Link): New section, copied from threadlib.
38570         * MODULES.html.sh (Multithreading): Add threadlib.
38571
38572 2008-08-14  Bruno Haible  <bruno@clisp.org>
38573
38574         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
38575         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
38576         glthread_rwlock_unlock, glthread_rwlock_destroy,
38577         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
38578         glthread_recursive_lock_destroy): Define as macros always.
38579         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
38580         glthread_lock_lock.
38581         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
38582         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
38583         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
38584         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
38585         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
38586         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
38587         (glthread_recursive_lock_lock_func): Renamed from
38588         glthread_recursive_lock_lock.
38589         (glthread_recursive_lock_unlock_func): Renamed from
38590         glthread_recursive_lock_unlock.
38591         (glthread_recursive_lock_destroy_func): Renamed from
38592         glthread_recursive_lock_destroy.
38593
38594 2008-08-14  Bruno Haible  <bruno@clisp.org>
38595
38596         * lib/glthread/lock.h: Renamed from lib/lock.h.
38597         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
38598         * lib/glthread/tls.h: Renamed from lib/tls.h.
38599         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
38600         * lib/fstrcmp.c: Update includes.
38601         * lib/strsignal.c: Update includes.
38602         * modules/lock (Files, Makefile.am): Update.
38603         (Include): Change to "glthread/lock.h".
38604         * modules/tls (Files, Makefile.am): Update.
38605         (Include): Change to "glthread/tls.h".
38606         * tests/test-lock.c: Update includes.
38607         * tests/test-tls.c: Update includes.
38608         * NEWS: Mention the renamed header files.
38609
38610 2008-08-11  Jim Meyering  <meyering@redhat.com>
38611
38612         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
38613
38614 2008-08-11  Eric Blake  <ebb9@byu.net>
38615
38616         test-c-stack: avoid C99-ism
38617         * tests/test-c-stack.c (main): Fix whitespace, move declaration
38618         before statement.
38619         Reported by Alain Guibert.
38620
38621 2008-08-10  Jim Meyering  <meyering@redhat.com>
38622
38623         ensure that return value of uinttostr et al are not ignored
38624         * lib/inttostr.h (__GNUC_PREREQ): Define.
38625         (__attribute_warn_unused_result__): Define.
38626         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
38627
38628 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
38629
38630         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
38631         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
38632
38633 2008-08-07  Jim Meyering  <meyering@redhat.com>
38634
38635         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
38636
38637         * modules/mkstemp (License): Relicense under LGPLv2+.
38638         * modules/tempname (License): Likewise.
38639
38640 2008-08-06  Bruno Haible  <bruno@clisp.org>
38641
38642         * lib/poll.c (poll): Further micro-optimization.
38643
38644 2008-08-06  Jim Meyering  <meyering@redhat.com>
38645
38646         inet_pton.c: use locale-independent tolower
38647         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
38648         (inet_pton6): Use c_tolower rather than tolower.
38649         * modules/inet_pton (Depends-on): Add c-ctype.
38650
38651 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
38652
38653         * lib/poll.c (poll): Avoid division when timeout is 0, cache
38654         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
38655
38656 2008-08-06  Jim Meyering  <meyering@redhat.com>
38657
38658         * modules/inet_pton (License): Relicense under LGPLv2+.
38659
38660 2008-08-03  Bruno Haible  <bruno@clisp.org>
38661
38662         Additional non-aborting API for lock and tls.
38663         * lib/lock.h: Include <errno.h>.
38664         (glthread_lock_init): New macro/function.
38665         (gl_lock_init): Define as wrapper around glthread_lock_init.
38666         (glthread_lock_lock): New macro/function.
38667         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
38668         (glthread_lock_unlock): New macro/function.
38669         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
38670         (glthread_lock_destroy): New macro/function.
38671         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
38672         (glthread_rwlock_init): New macro/function.
38673         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
38674         (glthread_rwlock_rdlock): New macro/function.
38675         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
38676         (glthread_rwlock_wrlock): New macro/function.
38677         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
38678         (glthread_rwlock_unlock): New macro/function.
38679         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
38680         (glthread_rwlock_destroy): New macro/function.
38681         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
38682         (glthread_recursive_lock_init): New macro/function.
38683         (gl_recursive_lock_init): Define as wrapper around
38684         glthread_recursive_lock_init.
38685         (glthread_recursive_lock_lock): New macro/function.
38686         (gl_recursive_lock_lock): Define as wrapper around
38687         glthread_recursive_lock_lock.
38688         (glthread_recursive_lock_unlock): New macro/function.
38689         (gl_recursive_lock_unlock): Define as wrapper around
38690         glthread_recursive_lock_unlock.
38691         (glthread_recursive_lock_destroy): New macro/function.
38692         (gl_recursive_lock_destroy): Define as wrapper around
38693         glthread_recursive_lock_destroy.
38694         (glthread_once): New macro/function.
38695         (gl_once): Define as wrapper around glthread_once.
38696         Update function declarations.
38697         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
38698         glthread_rwlock_init. Return error code.
38699         (glthread_rwlock_rdlock_multithreaded): Renamed from
38700         glthread_rwlock_rdlock. Return error code.
38701         (glthread_rwlock_wrlock_multithreaded): Renamed from
38702         glthread_rwlock_wrlock. Return error code.
38703         (glthread_rwlock_unlock_multithreaded): Renamed from
38704         glthread_rwlock_unlock. Return error code.
38705         (glthread_rwlock_destroy_multithreaded): Renamed from
38706         glthread_rwlock_destroy. Return error code.
38707         (glthread_recursive_lock_init_multithreaded): Renamed from
38708         glthread_recursive_lock_init. Return error code.
38709         (glthread_recursive_lock_lock_multithreaded): Renamed from
38710         glthread_recursive_lock_lock. Return error code.
38711         (glthread_recursive_lock_unlock_multithreaded): Renamed from
38712         glthread_recursive_lock_unlock. Return error code.
38713         (glthread_recursive_lock_destroy_multithreaded): Renamed from
38714         glthread_recursive_lock_destroy. Return error code.
38715         (glthread_once_call): Make static.
38716         (glthread_once_multithreaded): Renamed from glthread_once.
38717         * lib/tls.h: Include <errno.h>.
38718         (glthread_tls_key_init): New macro/function.
38719         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
38720         (glthread_tls_set): New macro/function.
38721         (gl_tls_set): Define as wrapper around glthread_tls_set.
38722         (glthread_tls_key_destroy): New macro/function.
38723         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
38724         Update function declarations.
38725         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
38726         glthread_tls_get.
38727         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38728
38729 2008-08-04  Eric Blake  <ebb9@byu.net>
38730
38731         gnumakefile: use space, not TAB, outside of targets
38732         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
38733
38734 2008-08-02  Jim Meyering  <meyering@redhat.com>
38735
38736         getdate.y: avoid locale-dependent date parsing failure
38737         In Turkish locales, getdate would fail to recognize keywords
38738         containing a lowercase "i".  The solution is not to rely on
38739         locale-sensitive case-conversion.
38740         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
38741         (lookup_word): Use c_toupper in place of toupper.
38742         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
38743         Reported by Vefa Bicakci <bicave@superonline.com> in
38744         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
38745         * modules/getdate (Depends-on): Add c-ctype.
38746
38747 2008-08-02  Bruno Haible  <bruno@clisp.org>
38748
38749         * gnulib-tool (func_import): When updating or creating a .gitignore
38750         file, prepend each added line with a slash, and ignore leading slashes
38751         from the existing lines.
38752         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
38753
38754 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38755
38756         Portability fix for GNU make 3.79.1.
38757         * top/GNUmakefile: Avoid 'else COND', which older GNU make
38758         versions do not understand.
38759
38760 2008-08-01  Bruno Haible  <bruno@clisp.org>
38761
38762         Work around bug of HP-UX 10.20 cc with -0.0 literal.
38763         * tests/test-isnanf.h (zero): New variable.
38764         (main): Avoid literal -0.0f.
38765         * tests/test-isnand.h (zero): New variable.
38766         (main): Avoid literal -0.0.
38767         * tests/test-isnanl.h (zero): New variable.
38768         (main): Avoid literal -0.0L.
38769         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
38770         (test_float, test_double, test_long_double): Avoid literals -0.0f,
38771         -0.0, -0.0L.
38772         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
38773         (test_signbitd): Avoid literal -0.0.
38774         (test_signbitl): Avoid literal -0.0L.
38775         * tests/test-ceilf1.c (zero): New variable.
38776         (main): Avoid literal -0.0f.
38777         * tests/test-ceill.c (zero): New variable.
38778         (main): Avoid literal -0.0L.
38779         * tests/test-floorf1.c (zero): New variable.
38780         (main): Avoid literal -0.0f.
38781         * tests/test-floorl.c (zero): New variable.
38782         (main): Avoid literal -0.0L.
38783         * tests/test-roundf1.c (zero): New variable.
38784         (main): Avoid literal -0.0f.
38785         * tests/test-round1.c (zero): New variable.
38786         (main): Avoid literal -0.0.
38787         * tests/test-roundl.c (zero): New variable.
38788         (main): Avoid literal -0.0L.
38789         * tests/test-truncf1.c (zero): New variable.
38790         (main): Avoid literal -0.0f.
38791         * tests/test-trunc1.c (zero): New variable.
38792         (main): Avoid literal -0.0.
38793         * tests/test-truncl.c (zero): New variable.
38794         (main): Avoid literal -0.0L.
38795         * tests/test-frexp.c (zero): New variable.
38796         (main): Avoid literal -0.0.
38797         * tests/test-frexpl.c (zero): New variable.
38798         (main): Avoid literal -0.0L.
38799         * tests/test-ldexpl.c (zero): New variable.
38800         (main): Avoid literal -0.0L.
38801         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38802         (zerod, zerol): New variables.
38803         (test_function): Avoid literals -0.0, -0.0L.
38804         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38805         (zerod, zerol): New variables.
38806         (test_function): Avoid literals -0.0, -0.0L.
38807         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38808         (zerod, zerol): New variables.
38809         (test_function): Avoid literals -0.0, -0.0L.
38810         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38811         (zerod, zerol): New variables.
38812         (test_function): Avoid literals -0.0, -0.0L.
38813         * tests/test-strtod.c (zero): New variable.
38814         (main): Avoid literal -0.0.
38815         Reported by Jonathan C. Patschke <jp@centtech.com>.
38816
38817 2008-07-31  Jim Meyering  <meyering@redhat.com>
38818
38819         sha256.h: correct definition of SHA224_DIGEST_SIZE
38820         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
38821         Reported by Paulie Pena IV <paulie4@gmail.com>.
38822         Define as 224 / 8, rather than as a literal.
38823         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
38824         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
38825         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
38826
38827 2008-07-31  Bruno Haible  <bruno@clisp.org>
38828
38829         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
38830         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
38831         Reported by Jonathan Patschke <jp@centtech.com>.
38832
38833 2008-07-31  Bruno Haible  <bruno@clisp.org>
38834
38835         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
38836         Reported by Paolo Bonzini <bonzini@gnu.org>.
38837
38838 2008-07-30  Eric Blake  <ebb9@byu.net>
38839
38840         test-strtod: allow compilation without -lm
38841         * tests/test-strtod.c (main): Avoid link dependence on fabs.
38842         Reported by Dennis Clarke <blastwave@gmail.com>.
38843
38844 2008-07-28  Jim Meyering  <meyering@redhat.com>
38845
38846         bootstrap: work also when there are no .po files in po/
38847         * build-aux/bootstrap (update_po_files): Complete the change
38848         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
38849
38850 2008-07-27  Jim Meyering  <meyering@redhat.com>
38851
38852         * users.txt: Add zile.
38853
38854 2008-07-26  Ben Pfaff  <blp@gnu.org>
38855
38856         Add missing dependencies on new m4/exponent[fdl].m4 files.
38857         * modules/isnanf-nolibm: Add m4/exponentf.m4.
38858         * modules/isnand-nolibm: Add m4/exponentd.m4.
38859         * modules/isnanl-nolibm: Add m4/exponentl.m4.
38860         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
38861         m4/isnan[fdl].m4, because the macros actually used moved.
38862         Reported by Jim Meyering.
38863
38864 2008-07-14  Ben Pfaff  <blp@gnu.org>
38865
38866         Add isinf module.
38867         * lib/isinf.c: New file.
38868         * lib/math.in.h: Define isinf macro if we have decided to replace
38869         it.
38870         * m4/isinf.m4: New file.
38871         * m4/math_h.m4: Initialize and substitute variables for isinf
38872         module.
38873         * modules/isinf: New file.
38874         * modules/isinf-tests: New file.
38875         * modules/math: Add substitutions for new module.
38876         * tests/test-isinf.c: New file.
38877         * doc/posix-functions/isinf.texi: Mention new module.
38878         * MODULES.html.sh: Mention new module.
38879
38880 2008-07-14  Ben Pfaff  <blp@gnu.org>
38881
38882         Factor out some macros for use by additional modules.
38883         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
38884         exponentf.m4.
38885         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
38886         exponentd.m4.
38887         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
38888         file exponentl.m4.
38889         * m4/exponentf.m4: New file.
38890         * m4/exponentd.m4: New file.
38891         * m4/exponentl.m4: New file.
38892         * modules/isnanf: Use new file m4/exponentf.m4.
38893         * modules/isnand: Use new file m4/exponentd.m4.
38894         * modules/isnanl: Use new file m4/exponentl.m4.
38895
38896 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
38897
38898         mktime.c: normalize tp->tm_isdst value to -1/0/1.
38899         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
38900         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
38901         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
38902
38903         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
38904         readlink on platforms without PATH_MAX.
38905
38906 2008-07-21  Eric Blake  <ebb9@byu.net>
38907
38908         Warn, not fail, on stale version.
38909         * top/GNUmakefile (_curr-ver): Tone down previous patch.
38910
38911         Don't allow installation with stale devel version number.
38912         * top/GNUmakefile (_is-install-target): New macro.
38913         (_curr-ver): Forbid installation with stale version number.
38914
38915 2008-07-20  Bruno Haible  <bruno@clisp.org>
38916
38917         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
38918         TESTS_ENVIRONMENT.
38919         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
38920
38921 2008-07-20  Bruno Haible  <bruno@clisp.org>
38922
38923         * lib/c-stack.h (c_stack_action): Add documentation.
38924         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
38925
38926 2008-07-20  Bruno Haible  <bruno@clisp.org>
38927
38928         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
38929         * modules/readlink (License): Likewise.
38930
38931 2008-07-17  Eric Blake  <ebb9@byu.net>
38932
38933         * modules/c-stack (Link): Fix typo.
38934
38935         Make c-stack use libsigsegv, when available.
38936         * modules/c-stack (Depends-on): Add libsigsegv.
38937         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
38938         needed.
38939         * lib/c-stack.c (SIGSTKSZ): Define fallback.
38940         (segv_handler, overflow_handler, c_stack_action)
38941         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
38942         implementation when libsigsegv is available, but only when using
38943         the library is necessary.
38944         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
38945         comment, explaining why XSI check fails on Linux.
38946         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
38947         * tests/test-c-stack2.sh: Tweak skip message.
38948         * NEWS: Document new link-time requirements.
38949
38950 2008-07-16  Eric Blake  <ebb9@byu.net>
38951
38952         c-stack: Expose false positives when not using libsigsegv.
38953         * modules/c-stack-tests (Files): Expand test.
38954         * tests/test-c-stack.c (main): Add means to conditionally trigger
38955         non-overflow SIGSEGV.
38956         * tests/test-c-stack2.sh: New file.
38957
38958 2008-07-14  Bruno Haible  <bruno@clisp.org>
38959
38960         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
38961         Reported by Eric Blake.
38962
38963 2008-07-14  Sam Steingold  <sds@gnu.org>
38964             Bruno Haible  <bruno@clisp.org>
38965
38966         New module libsigsegv.
38967         * modules/libsigsegv: New file.
38968         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
38969         modifications.
38970         * MODULES.html.sh (Signal handling): New section.
38971
38972 2008-07-14  Bruno Haible  <bruno@clisp.org>
38973
38974         * modules/unictype/ctype-* (Description): Add the word "function".
38975         Improves the resulting doc in MODULES.html.
38976
38977 2008-07-12  Ben Pfaff  <blp@gnu.org>
38978
38979         Add longlong module.
38980         * modules/longlong: New file.
38981
38982 2008-07-12  Bruno Haible  <bruno@clisp.org>
38983
38984         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
38985         to empty.
38986
38987 2008-07-10  Ben Pfaff  <blp@gnu.org>
38988
38989         Add isnan module.
38990         * doc/posix-functions/isnan.texi: Mention new module.
38991         * lib/math.in.h: Define isnan macro if we have decided to replace
38992         it.
38993         * m4/isnan.m4: New file.
38994         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
38995         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
38996         also.
38997         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
38998         redundancy.
38999         * m4/math_h.m4: Initialize and substitute variables for isnan
39000         module.
39001         * modules/isnan: New file.
39002         * modules/isnan-tests: New file.
39003         * modules/math: Add substitutions for new module.
39004         * tests/test-isnan.c: New file.
39005         * MODULES.html.sh: Mention new module.
39006
39007 2008-07-10  Ben Pfaff  <blp@gnu.org>
39008
39009         Add isnanf module.
39010         * lib/isnanf.m4: New file.
39011         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
39012         (gl_HAVE_ISNANF_IN_LIBM): New macro.
39013         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
39014         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
39015         * modules/isnanf: New file.
39016         * modules/isnanf-tests: New file.
39017         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
39018         files.
39019         * tests/test-isnanf-nolibm.c: factored most of its contents into
39020         new file tests/test-isnanf.h.
39021         * tests/test-isnanf.h: New file.
39022         * tests/test-isnanf.c: New file.
39023         * MODULES.html.sh: Mention new module.
39024         * doc/glibc-functions/isnanf.texi: Mention new module.
39025
39026 2008-07-10  Ben Pfaff  <blp@gnu.org>
39027
39028         Add isnand module.
39029         * lib/isnand.h: New file.
39030         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
39031         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
39032         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
39033         functionality also.
39034         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
39035         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
39036         (gl_HAVE_ISNAND_IN_LIBM): New macro.
39037         * modules/isnand: New file.
39038         * modules/isnand-tests: New file.
39039         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
39040         files.
39041         * tests/test-isnand-nolibm.c: factored most of its contents into
39042         new file tests/test-isnand.h.
39043         * tests/test-isnand.h: New file.
39044         * tests/test-isnand.c: New file.
39045         * MODULES.html.sh: Mention new module.
39046
39047 2008-07-10  Ben Pfaff  <blp@gnu.org>
39048
39049         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
39050         * lib/isnand.h: Rename lib/isnand-nolibm.h.
39051         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
39052         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
39053         * modules/isnanf-nolibm: Update references to renamed files.
39054         * modules/isnand-nolibm: Likewise.
39055         * modules/isnanf-nolibm-tests: Likewise.
39056         * modules/isnand-nolibm-tests: Likewise.
39057         * lib/frexp.c: Likewise.
39058         * lib/isfinite.c: Likewise.
39059         * lib/signbitd.c: Likewise.
39060         * lib/signbitf.c: Likewise.
39061         * lib/vasnprintf.c: Likewise.
39062         * tests/test-ceilf1.c: Likewise.
39063         * tests/test-ceilf2.c: Likewise.
39064         * tests/test-floorf1.c: Likewise.
39065         * tests/test-floorf2.c: Likewise.
39066         * tests/test-frexp.c: Likewise.
39067         * tests/test-round1.c: Likewise.
39068         * tests/test-round2.c: Likewise.
39069         * tests/test-roundf1.c: Likewise.
39070         * tests/test-strtod.c: Likewise.
39071         * tests/test-trunc1.c: Likewise.
39072         * tests/test-trunc2.c: Likewise.
39073         * tests/test-truncf1.c: Likewise.
39074         * tests/test-truncf2.c: Likewise.
39075         * NEWS: Mention the renamed header files.
39076
39077 2008-07-11  Jim Meyering  <meyering@redhat.com>
39078
39079         vc-list-files: make the last-resort awk code more portable
39080         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
39081         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
39082         does not support it.
39083
39084 2008-07-10  Eric Blake  <ebb9@byu.net>
39085
39086         Work with tar's bootstrap.
39087         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
39088         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
39089         an m4 comment.
39090
39091 2008-07-09  Jim Meyering  <meyering@redhat.com>
39092
39093         posix-shell.m4: fix typo that made this test malfunction
39094         * m4/posix-shell.m4: Remove capitalization in variable name.
39095
39096 2008-07-08  Bruno Haible  <bruno@clisp.org>
39097
39098         * m4/onceonly.m4: Update comments.
39099         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39100
39101 2008-07-04  Jim Meyering  <meyering@redhat.com>
39102
39103         * users.txt: Add vc-dwim.
39104         (bison, coreutils): Use the gitweb URL.
39105
39106 2008-07-03  Jim Meyering  <meyering@redhat.com>
39107
39108         * users.txt: Add libffcall.  From Sam Steingold.
39109
39110 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
39111
39112         getdate.y: do not ignore TZ with relative day, month or year offset
39113         * lib/getdate.y (get_date): Move the tz-handling block to follow the
39114         relative-date-handling, since otherwise, the latter would clobber the
39115         sole output (an updated Start value) of the tz-handling block.
39116         * tests/test-getdate.c: Tests for the fix
39117
39118 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39119
39120         Recognize 'foo_LIBRARIES += libgnu.a'.
39121         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
39122         makefile snippet has already specified an installation location,
39123         also using '+='.
39124
39125 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
39126
39127         getdate.y: factor out common actions
39128         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
39129         Use them in place of open-coded actions.
39130
39131 2008-07-01  Simon Josefsson  <simon@josefsson.org>
39132
39133         Add self-test for getdate module.
39134         * modules/getdate-tests: New file.
39135         * tests/test-getdate.c: New file.
39136
39137 2008-06-29  Bruno Haible  <bruno@clisp.org>
39138
39139         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
39140         .gitignore.
39141         Reported by Sylvain Beucler <beuc@beuc.net>.
39142
39143 2008-06-29  Bruno Haible  <bruno@clisp.org>
39144
39145         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
39146         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
39147
39148 2008-06-29  Bruno Haible  <bruno@clisp.org>
39149
39150         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
39151         EXTRA_DIST.
39152         Reported by Sylvain Beucler <beuc@beuc.net>.
39153
39154 2008-06-26  Jim Meyering  <meyering@redhat.com>
39155
39156         make several modules depend on the "open" module
39157         This provides slightly increased consistency when opening-for-write
39158         the name of a non-directory spelled with a trailing slash.
39159         * modules/chdir-safer: Likewise.
39160         * modules/chown: Likewise.
39161         * modules/clean-temp: Likewise.
39162         * modules/copy-file: Likewise.
39163         * modules/fchdir: Likewise.
39164         * modules/fcntl-safer: Likewise.
39165         * modules/pipe: Likewise.
39166         * modules/utime: Likewise.
39167         Prompted by Eric Blake and Bruno Haible.
39168
39169 2008-06-24  Andreas Schwab  <schwab@suse.de>
39170
39171         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
39172         literals can be used as initializers for global variables.
39173
39174 2008-06-23  Eric Blake  <ebb9@byu.net>
39175
39176         Make gnulib-cache.m4 easier to diff.
39177         * gnulib-tool (func_import): Allow newlines when reading cached
39178         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
39179
39180 2008-06-23  Bruno Haible  <bruno@clisp.org>
39181
39182         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
39183         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
39184         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
39185         m4/signalblocking.m4.
39186         (gl_PREREQ_SIGACTION): Don't invoke it.
39187         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
39188         gl_PREREQ_SIG_HANDLER_H.
39189         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39190         Don't check for sigaction here.
39191
39192 2008-06-23  Bruno Haible  <bruno@clisp.org>
39193
39194         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
39195         (install_handlers): Don't set the SA_RESETHAND flag.
39196
39197 2008-06-23  Bruno Haible  <bruno@clisp.org>
39198
39199         * m4/sigaction.m4: Comment fixes.
39200         * lib/signal.in.h: Likewise.
39201
39202 2008-06-23  Eric Blake  <ebb9@byu.net>
39203
39204         Fix typo.
39205         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
39206
39207         Avoid SA_ namespace.
39208         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
39209         Reported by Ralf Wildenhues.
39210
39211         Avoid test failure due to SA_RESTORER.
39212         * tests/test-sigaction.c (SA_MASK): New macro.
39213         (main): Avoid failing due to extension flags being set.
39214         Reported by Jim Meyering.
39215
39216         Revert use of sig-handler.h in sigprocmask.c.
39217         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
39218         it requires the existence of struct sigaction.
39219         * lib/sigprocmask.c (handler_t): Restore typedef.
39220         (rpl_signal, old_handlers): Use local type.
39221
39222 2008-06-22  Bruno Haible  <bruno@clisp.org>
39223
39224         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
39225         conditionally.
39226         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39227
39228 2008-06-22  Bruno Haible  <bruno@clisp.org>
39229
39230         * doc/posix-functions/siginterrupt.texi: Move note.
39231
39232         * lib/signal.in.h (SA_RESTART): New macro.
39233         * lib/sigaction.c: Update comment.
39234
39235         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
39236
39237         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
39238         (gl_PREREQ_SIGPROCMASK): Invoke it.
39239         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
39240
39241         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
39242
39243         * lib/sigprocmask.c: Update a comment.
39244
39245 2008-06-21  Eric Blake  <ebb9@byu.net>
39246
39247         Use sigaction module rather than signal().
39248         * modules/c-stack (Depends-on): Add sigaction.
39249         * modules/fatal-signal (Depends-on): Likewise.
39250         * modules/nanosleep (Depends-on): Likewise.
39251         * modules/sigprocmask (Files): Add sig-handler.h.
39252         * modules/sigaction (Files): Likewise.
39253         * lib/sig-handler.h (get_handler): New file, suggested by Paul
39254         Eggert.
39255         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
39256         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
39257         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
39258         (init_fatal_signals): Likewise.
39259         * lib/nanosleep.c (rpl_nanosleep): Likewise.
39260         (siginterrupt): Delete fallback.
39261         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
39262         instead.
39263         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
39264         siginterrupt.
39265
39266         New module sigaction, for mingw.
39267         * modules/sigaction: New module...
39268         * modules/sigaction-tests: ...and its test.
39269         * m4/sigaction.m4: New file.
39270         * lib/sigaction.c: Likewise.
39271         * tests/test-sigaction.c: Likewise.
39272         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
39273         * modules/signal (Makefile.am): Likewise.
39274         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
39275         needed.
39276         * doc/posix-headers/signal.texi (signal.h): Mention provided
39277         types.
39278         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
39279         that sigaction is preferable.
39280         * doc/posix-functions/sigaction.texi (sigaction): Mention new
39281         module.
39282         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39283         sigaction.
39284
39285         Improve robustness of sigprocmask by overriding signal.
39286         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
39287         is in use.
39288         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
39289         (SIGKILL, SIGSTOP): Provide fallbacks.
39290         (rpl_signal): Implement.
39291         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
39292         signal can be called inside handlers.
39293
39294         Fix nanosleep module on mingw.
39295         * modules/nanosleep (Depends-on): Add sys_select.
39296         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
39297
39298         Fix licensing of sigprocmask.
39299         * modules/raise (License): Relicense as LGPL.
39300
39301 2008-06-21  Bruno Haible  <bruno@clisp.org>
39302
39303         * lib/propername.c (proper_name_utf8): Don't use the transliterated
39304         result if it contains question marks.
39305         Reported by Michael Geng <linux@michaelgeng.de>.
39306
39307 2008-06-19  Bruno Haible  <bruno@clisp.org>
39308
39309         Fix CVS-ism.
39310         * doc/gnulib.texi: Include updated-stamp.texi.
39311         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
39312         (updated-stamp.texi): New rule.
39313         (gnulib.info): Depend on it.
39314         * doc/.gitignore: Add updated-stamp.texi.
39315         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
39316
39317 2008-06-19  Bruno Haible  <bruno@clisp.org>
39318
39319         * doc/Makefile (gnulib.info): Update and simplify dependencies.
39320         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39321
39322 2008-06-19  Eric Blake  <ebb9@byu.net>
39323
39324         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
39325         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
39326         Reported by Stepan Kasal.
39327
39328 2008-06-18  Bruno Haible  <bruno@clisp.org>
39329
39330         * lib/fatal-signal.c (init_fatal_signals): Add comment.
39331         Reported by Eric Blake.
39332
39333 2008-06-18  Eric Blake  <ebb9@byu.net>
39334
39335         Work around cygwin 1.5.25 strsignal bug.
39336         * tests/test-strsignal.c: Allow for const char *.
39337         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
39338
39339 2008-06-18  Simon Josefsson  <simon@josefsson.org>
39340
39341         * users.txt: Update URL to article and add author/date
39342         information.
39343
39344 2008-06-17  Bruno Haible  <bruno@clisp.org>
39345
39346         New macro gl_DISABLE_THREADS.
39347         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
39348         if the user did not pass --enable-threads or --disable-threads option.
39349         (gl_DISABLE_THREADS): New macro.
39350         Reported by Eric Blake <ebb9@byu.net>.
39351
39352 2008-06-17  Bruno Haible  <bruno@clisp.org>
39353
39354         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
39355         when the macro ignores it.
39356         Based on a patch by Eric Blake <ebb9@byu.net>.
39357
39358 2008-06-17  Bruno Haible  <bruno@clisp.org>
39359
39360         * modules/tls (License): Change to LGPLv2+.
39361         Reported by Eric Blake.
39362
39363 2008-06-17  Eric Blake  <ebb9@byu.net>
39364
39365         Simplify c-stack prerequisites.
39366         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
39367         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
39368         no longer requires <ucontext.h> to exist.  Optimize setrlimit
39369         check.
39370         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
39371         <sys/resource.h>.
39372
39373         Move c-stack test into testsuite.
39374         * modules/c-stack-tests: New file.
39375         * lib/c-stack.c [DEBUG]: Move test program...
39376         * tests/test-c-stack.c: ...into this new file.  Skip rather than
39377         fail test if sigaltstack is lacking.
39378         * tests/test-c-stack.sh: New driver file.
39379
39380 2008-06-16  Eric Blake  <ebb9@byu.net>
39381
39382         Use raise module consistently.
39383         * modules/fatal-signal (Depends-on): Add raise.
39384         * modules/sigprocmask (Depends-on): Likewise.
39385         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
39386         * lib/sigprocmask.c (sigprocmask): Likewise.
39387         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39388         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
39389
39390         Fix compliance bug in sigpending.
39391         * lib/sigprocmask.c (sigpending): Return pending array via
39392         parameter, not return value.
39393
39394 2008-06-14  Eric Blake  <ebb9@byu.net>
39395
39396         Improve obstack-printf test code.
39397         * tests/test-obstack-printf.c (test_function): Fix comment, and
39398         simplify usage of obstack_* in macros.  Add a test for coverage.
39399         Reported by Bruno Haible.
39400
39401 2008-06-14  Bruno Haible  <bruno@clisp.org>
39402
39403         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
39404         array size as a constant, not as a const variable.
39405         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
39406         AC_USE_SYSTEM_EXTENSIONS.
39407         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
39408         Test whether the obstack_printf function actually exists.
39409         * modules/obstack-printf (Depends-on): Add extensions.
39410         (Include): Remove obstack.h.
39411         * modules/obstack-printf-posix (Depends-on): Add extensions.
39412         (Include): Remove obstack.h.
39413
39414 2008-06-13  Eric Blake  <ebb9@byu.net>
39415
39416         Add obstack-printf and obstack-printf-posix modules.
39417         * modules/obstack-printf: New file.
39418         * modules/obstack-printf-posix: Likewise.
39419         * MODULES.html.sh (Misc): Mention them.
39420         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
39421         Likewise.
39422         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
39423         Likewise.
39424         * modules/stdio (Makefile.am): Accomodate new modules.
39425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39426         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
39427         Declare.
39428         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
39429         functions.
39430         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
39431         (gl_REPLACE_OBSTACK_PRINTF): New macros
39432         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
39433         * tests/test-obstack-printf.c: New file.
39434         * modules/obstack-printf-tests: Likewise.
39435         * modules/obstack-printf-posix-tests: Likewise.
39436
39437 2008-06-11  Bruno Haible  <bruno@clisp.org>
39438
39439         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
39440         * lib/open.c: Include errno.h.
39441         (open): Fail when attempting to write to a file that has a trailing
39442         slash.
39443         * tests/test-open.c (main): Test against trailing slash bug.
39444         * doc/posix-functions/open.texi: Mention the trailing slash bug.
39445
39446 2008-06-10  Bruno Haible  <bruno@clisp.org>
39447
39448         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
39449         for $? to work inside the trap command, with various /bin/sh-s.
39450         * tests/test-vc-list-files-cvs.sh: Likewise.
39451
39452 2008-06-10  Bruno Haible  <bruno@clisp.org>
39453
39454         * lib/acl-internal.h: Don't include gettext.h here.
39455         * lib/set-mode-acl.c: Include gettext.h here.
39456         * lib/copy-acl.c: Likewise.
39457
39458 2008-06-10  Bruno Haible  <bruno@clisp.org>
39459
39460         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
39461         * lib/wait-process.c (wait_subprocess): Likewise.
39462         * lib/execute.h (execute): Add termsigp argument.
39463         * lib/execute.c (execute): Likewise.
39464         * lib/csharpcomp.c (compile_csharp_using_pnet,
39465         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
39466         * lib/csharpexec.c (execute_csharp_using_pnet,
39467         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
39468         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
39469         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
39470         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
39471         is_jikes_present): Update.
39472         * lib/javaexec.c (execute_java_class): Update.
39473         * lib/javaversion.c (execute_and_read_line): Update.
39474         * NEWS: Document the changes.
39475         Reported by Eric Blake.
39476
39477 2008-06-10  Eric Blake  <ebb9@byu.net>
39478
39479         Add missing include.
39480         * tests/test-strstr.c (includes): Add <signal.h>.
39481         * tests/test-strcasestr.c (includes): Likewise.
39482         * tests/test-memmem.c (includes): Likewise.
39483
39484 2008-06-10  Bruno Haible  <bruno@clisp.org>
39485
39486         * lib/wait-process.c (wait_subprocess): Add an assertion.
39487
39488 2008-06-10  Bruno Haible  <bruno@clisp.org>
39489
39490         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
39491
39492 2008-06-10  Bruno Haible  <bruno@clisp.org>
39493
39494         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
39495         using alarm().
39496         * tests/test-strcasestr.c (main): Likewise.
39497         * tests/test-strstr.c (main): Likewise.
39498
39499 2008-06-09  Bruno Haible  <bruno@clisp.org>
39500
39501         Work around the Solaris 10 ACE ACLs ABI change.
39502         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
39503         declare if ACL_NO_TRIVIAL is present.
39504         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
39505         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
39506         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
39507         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
39508         define if ACL_NO_TRIVIAL is present.
39509         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
39510         and use the current ABI.
39511         (file_has_acl): Use same #if condition as elsewhere.
39512         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
39513         in use, and use the current ABI.
39514         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
39515         Reported by Jim Meyering.
39516
39517 2008-06-09  Eric Blake  <ebb9@byu.net>
39518
39519         Work around environments that (stupidly) ignore SIGALRM.
39520         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
39521         before using alarm().
39522         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39523         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
39524         Reported by Ian Beckwith <ianb@erislabs.net>.
39525
39526         Produce autobuild blurb earlier in log.
39527         * modules/autobuild (configure.ac-early): Move AB_INIT here.
39528
39529 2008-06-09  Jim Meyering  <meyering@redhat.com>
39530         and OndÅ™ej Vašík  <ovasik@redhat.com>
39531
39532         utimens.c: correct kernel bug work-around
39533         OndÅ™ej Vašík found that the invalid return value of 280 indicates
39534         failure, not success, and the kernel bug we're trying to work
39535         around affects not just the utimensat call, but also the fallback
39536         futimens call.
39537         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
39538         not success.
39539         [HAVE_FUTIMENS]: Use the same work-around, here.
39540
39541 2008-06-09  Jim Meyering  <meyering@redhat.com>
39542
39543         add more guards around definition of ACE_-related code
39544         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
39545         ALLOW and ACE_OWNER are also defined.
39546
39547 2008-06-08  Bruno Haible  <bruno@clisp.org>
39548
39549         * lib/acl-internal.h: Add me as co-author.
39550         * lib/file-has-acl.c: Likewise.
39551         * lib/set-mode-acl.c: Likewise.
39552         * lib/copy-acl.c: Likewise.
39553
39554 2008-06-08  Bruno Haible  <bruno@clisp.org>
39555
39556         Add support for AIX ACLs.
39557         * lib/acl-internal.h (acl_nontrivial): New declaration.
39558         * lib/file-has-acl.c (acl_nontrivial): New function.
39559         (file_has_acl): Add implementation using AIX 4 ACL API.
39560         * lib/set-mode-acl.c (qset_acl): Likewise.
39561         * lib/copy-acl.c (qcopy_acl): Likewise.
39562
39563 2008-06-08  Bruno Haible  <bruno@clisp.org>
39564
39565         Add support for HP-UX ACLs.
39566         * lib/acl-internal.h (acl_nontrivial): New declaration.
39567         * lib/file-has-acl.c (acl_nontrivial): New function.
39568         (file_has_acl): Add implementation using HP-UX 11 ACL API.
39569         * lib/set-mode-acl.c (qset_acl): Likewise.
39570         * lib/copy-acl.c (qcopy_acl): Likewise.
39571
39572 2008-06-08  Bruno Haible  <bruno@clisp.org>
39573
39574         Add support for Cygwin ACLs.
39575         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
39576         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
39577         the chmod_or_fchmod call.
39578         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
39579
39580 2008-06-08  Bruno Haible  <bruno@clisp.org>
39581
39582         Fix bug with setuid modes in Solaris 10+ code.
39583         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
39584         succeeded, when the mode contains some special bits.
39585
39586 2008-06-08  Bruno Haible  <bruno@clisp.org>
39587
39588         Add support for Solaris 7..10 ACLs.
39589         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
39590         declarations.
39591         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
39592         functions.
39593         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
39594         * lib/set-mode-acl.c (qset_acl): Likewise.
39595         * lib/copy-acl.c (qcopy_acl): Likewise.
39596
39597 2008-06-08  Bruno Haible  <bruno@clisp.org>
39598
39599         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
39600         declaration.
39601         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
39602         (acl_access_nontrivial): Remove MacOS X case.
39603         (file_has_acl): Use acl_extended_nontrivial.
39604         * lib/copy-acl.c (qcopy_acl): Likewise.
39605
39606 2008-06-08  Bruno Haible  <bruno@clisp.org>
39607
39608         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
39609
39610 2008-06-08  Jim Meyering  <meyering@redhat.com>
39611
39612         * modules/acl (Maintainer): Add Bruno Haible.
39613
39614 2008-06-07  Bruno Haible  <bruno@clisp.org>
39615
39616         Improve support for Tru64 ACLs.
39617         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
39618         ACL on OSF/1.
39619
39620 2008-06-07  Bruno Haible  <bruno@clisp.org>
39621
39622         Add support for MacOS X ACLs.
39623         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
39624         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
39625         * lib/set-mode-acl.c (qset_acl): Likewise.
39626         * lib/copy-acl.c (qcopy_acl): Likewise.
39627
39628 2008-06-07  Bruno Haible  <bruno@clisp.org>
39629
39630         Fix memory leak introduced on 2008-05-22.
39631         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
39632         use.
39633
39634 2008-06-07  Bruno Haible  <bruno@clisp.org>
39635
39636         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
39637         to construct an empty ACL.
39638
39639 2008-06-07  Bruno Haible  <bruno@clisp.org>
39640
39641         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
39642         precisely.
39643         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
39644
39645 2008-06-07  Bruno Haible  <bruno@clisp.org>
39646
39647         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
39648         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
39649
39650 2008-06-07  Bruno Haible  <bruno@clisp.org>
39651
39652         * doc/posix-functions/_setjmp.texi: Explain the use of this function
39653         regardless of POSIX.
39654         * doc/posix-functions/_longjmp.texi: Likewise.
39655         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
39656         SystemV platform in this case.
39657
39658 2008-06-06  Eric Blake  <ebb9@byu.net>
39659
39660         Document abort() bugs.
39661         * doc/posix-functions/abort.texi (abort): Mention anomalies.
39662
39663         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
39664         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
39665         sigsetjmp.
39666         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
39667         siglongjmp, but only as a macro.
39668         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
39669         is obsolete.
39670         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
39671
39672         Tweak documentation to cover cygwin argz bugs.
39673         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
39674         argz bug fix; no code change needed since no cygwin releases
39675         occurred between the last fix and the bug being tested.
39676         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
39677         module and recently fixed cygwin bugs.
39678         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
39679         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
39680         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
39681         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
39682         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
39683         Likewise.
39684         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
39685         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
39686         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
39687         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
39688         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
39689         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
39690         Likewise.
39691
39692         Avoid gcc warning on cygwin.
39693         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
39694         !ACL_NO_TRIVIAL]: Avoid unused variable.
39695
39696 2008-06-05  Eric Blake  <ebb9@byu.net>
39697
39698         Be tolerant of UNKNOWN version in gnulib-tool test dir.
39699         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
39700         git-version-gen fails to come up with a version.
39701         Reported by Simon Josefsson.
39702
39703 2008-06-05  Jim Meyering  <meyering@redhat.com>
39704             Paul Eggert  <eggert@cs.ucla.edu>
39705
39706         utimens.c: work around a probable Linux kernel bug
39707         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
39708         appears to be a kernel bug that causes utimensat to return 280
39709         instead of 0, indicating success.
39710
39711 2008-06-04  Bruno Haible  <bruno@clisp.org>
39712
39713         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
39714         2008-06-01 commit.
39715
39716 2008-06-04  Bruno Haible  <bruno@clisp.org>
39717
39718         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
39719         * lib/file-has-acl.c (acl_access_nontrivial): New function.
39720         (file_has_acl): Use it. Save errno afterwards.
39721         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
39722
39723 2008-06-03  Bruno Haible  <bruno@clisp.org>
39724
39725         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
39726         draft code. Simplify #ifs.
39727         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
39728         Put Solaris code after POSIX-draft code. Fix comments regarding
39729         Solaris 10, HP-UX. Mention Cygwin.
39730         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
39731
39732 2008-06-03  Eric Blake  <ebb9@byu.net>
39733
39734         Provide fallback for older kernels.
39735         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
39736         Provide runtime fallback if kernel lacks support.
39737         Reported by Mike Frysinger.
39738
39739 2008-06-02  Bruno Haible  <bruno@clisp.org>
39740
39741         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
39742         it exists.
39743
39744 2008-06-02  Bruno Haible  <bruno@clisp.org>
39745
39746         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
39747         * lib/copy-acl.c (qcopy_acl): Update comment.
39748
39749 2008-06-02  Bruno Haible  <bruno@clisp.org>
39750
39751         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
39752         like ACL APIs.
39753
39754 2008-06-02  Bruno Haible  <bruno@clisp.org>
39755
39756         * tests/test-file-has-acl.sh: Use different code for Cygwin.
39757         * tests/test-set-mode-acl.sh: Likewise.
39758         * tests/test-copy-acl.sh: Likewise.
39759         * tests/test-copy-file.sh: Likewise.
39760
39761 2008-06-02  Bruno Haible  <bruno@clisp.org>
39762
39763         * tests/test-file-has-acl.sh: Remove unused code.
39764
39765 2008-06-01  Bruno Haible  <bruno@clisp.org>
39766
39767         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
39768         (copy_acl): Just a wrapper around qcopy_acl that emits the error
39769         messages.
39770         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
39771
39772 2008-06-01  Bruno Haible  <bruno@clisp.org>
39773
39774         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
39775         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
39776         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
39777         APIs.
39778         * modules/acl-tests (configure.ac): Remove tests now contained in
39779         m4/acl.m4.
39780
39781 2008-06-02  Jim Meyering  <meyering@redhat.com>
39782
39783         announce-gen: use a better key-server host name
39784         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
39785         it may be more consistently reliable.  Suggested by Werner Koch
39786         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
39787
39788 2008-06-01  Bruno Haible  <bruno@clisp.org>
39789
39790         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
39791         Reported by Voroskoi Andras <voroskoi@gmail.com>.
39792
39793 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
39794
39795         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
39796
39797 2008-06-01  Bruno Haible  <bruno@clisp.org>
39798
39799         New ACL tests.
39800         * tests/test-file-has-acl.sh: New file.
39801         * tests/test-file-has-acl.c: New file.
39802         * tests/test-set-mode-acl.sh: New file.
39803         * tests/test-set-mode-acl.c: New file.
39804         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
39805         * tests/test-copy-acl.c: New file.
39806         * modules/acl-tests: New file, based on modules/copy-file-tests.
39807         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
39808         (Depends-on): Add acl-tests.
39809         (configure.ac): Remove checks.
39810         (Makefile.am): Don't create test-sameacls program here any more.
39811
39812 2008-06-01  Bruno Haible  <bruno@clisp.org>
39813
39814         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
39815         * tests/test-sameacls.c: Include progname.h.
39816         (main): Invoke set_program_name. Portability fixes for MacOS X,
39817         Solaris, HP-UX.
39818
39819 2008-06-01  Bruno Haible  <bruno@clisp.org>
39820
39821         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
39822         function.
39823         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
39824
39825 2008-06-01  Bruno Haible  <bruno@clisp.org>
39826
39827         * modules/rpmatch (Depends-on): Add strdup.
39828
39829 2008-06-01  Bruno Haible  <bruno@clisp.org>
39830
39831         * lib/pipe.c: Include unistd-safer.h.
39832         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
39833         * modules/pipe (Depends-on): Add unistd-safer.
39834
39835 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39836
39837         * modules/autobuild (configure.ac): Call AB_INIT.
39838
39839 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39840
39841         * tests/test-getaddrinfo.c: Don't print debug messages by default.
39842         Suggested by Bruno Haible <bruno@clisp.org>.
39843
39844 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39845
39846         * tests/test-base64.c: Cast size_t to unsigned long when invoking
39847         printf.  Use %lu instead of %d.  Reported by Bruno Haible
39848         <bruno@clisp.org>.
39849
39850 2008-05-29  Eric Blake  <ebb9@byu.net>
39851
39852         Prefer new POSIX 200x interfaces over futimesat.
39853         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
39854         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
39855         when available.
39856         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
39857
39858 2008-05-28  Bruno Haible  <bruno@clisp.org>
39859
39860         * modules/stpcpy (License): Change to LGPLv2+.
39861         Requested by David Lutterkort <dlutter@redhat.com>.
39862
39863 2008-05-27  Bruno Haible  <bruno@clisp.org>
39864
39865         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
39866         current mingw.
39867         Reported by Jose E. Marchesi <jemarch@gnu.org>.
39868
39869 2008-05-27  Bruno Haible  <bruno@clisp.org>
39870
39871         * modules/iconv_open (Link): New section, from module 'iconv'.
39872         * modules/striconv (Link): Likewise.
39873         * modules/striconveh (Link): Likewise.
39874         * modules/xstriconv (Link): Likewise.
39875         * modules/unicodeio (Link): Likewise.
39876         * modules/propername (Link): Likewise.
39877         Reported by Jim Meyering.
39878
39879 2008-05-26  Jim Meyering  <meyering@redhat.com>
39880
39881         sha256: do not artificially restrict buffer length to be < 2^32
39882         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
39883         uint32_t to size_t.
39884         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
39885         to match.
39886
39887         avoid unaligned access errors, e.g., on sparc
39888         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
39889         direct access through a possibly-unaligned uint64* pointer.
39890         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
39891         direct access through a possibly-unaligned uint32* pointer.
39892         Prompted by this patch from Tom "spot" Callaway:
39893         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
39894
39895         sha512.c: fix typo in comment
39896         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
39897
39898 2008-05-25  Bruno Haible  <bruno@clisp.org>
39899
39900         * lib/set-mode-acl.c: Renamed from lib/acl.c.
39901         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
39902         (Makefile.am): Update lib_SOURCES.
39903
39904 2008-05-25  Bruno Haible  <bruno@clisp.org>
39905
39906         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
39907
39908 2008-05-25  Jim Meyering  <meyering@redhat.com>
39909
39910         useless-if-before-free: freed expr may have white-space differences
39911         * build-aux/useless-if-before-free: Recognize cases in which the
39912         freed expression differs from the tested one in embedded white
39913         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
39914         $1 was used, so we can't make any regexp shy.  Improved tests now
39915         detect this.
39916
39917         useless-if-before-free: accept white space in the expression.
39918         * build-aux/useless-if-before-free: For now, any white space
39919         in the expression must be identical in the free argument.
39920
39921         useless-if-before-free: efficiency tweak
39922         * build-aux/useless-if-before-free: Make the expression-matching
39923         regexp "shy".
39924         Make the *outer* regexp shy, not the expr-matching one.
39925
39926         update code-in-comment to accept cast of free arg
39927         * build-aux/useless-if-before-free: Update regexp.
39928
39929 2008-05-25  Bruno Haible  <bruno@clisp.org>
39930
39931         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
39932         * modules/copy-file-tests (Files, Makefile.am): Update.
39933         * tests/test-copy-file.c (func_test_copy): Update.
39934
39935 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
39936
39937         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
39938
39939 2008-05-23  Bruno Haible  <bruno@clisp.org>
39940
39941         Improve support for ACLs on OSF/1.
39942         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
39943         Remove fallback for unknown flavors of ACLs.
39944
39945 2008-05-22  Bruno Haible  <bruno@clisp.org>
39946
39947         Add support for ACLs on OSF/1.
39948         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
39949         replacements.
39950         (acl_free_text): New macro fallback.
39951         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
39952         acl_free.
39953         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
39954         acl_free_text function. Require AC_C_INLINE.
39955
39956 2008-05-22  Bruno Haible  <bruno@clisp.org>
39957
39958         Make copy_acl work on MacOS X 10.5.
39959         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
39960         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
39961         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
39962         If MODE_INSIDE_ACL, don't assume that every system has the same text
39963         representation for ACLs as FreeBSD.
39964         * lib/copy-acl.c (copy_acl): Add support for platforms with
39965         !MODE_INSIDE_ACL.
39966         * lib/file-has-acl.c (file_has_acl): Likewise.
39967         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
39968         FreeBSD, MacOS X, or IRIX, respectively.
39969
39970 2008-05-22  Bruno Haible  <bruno@clisp.org>
39971
39972         * lib/acl.h: Don't include <sys/acl.h>.
39973         (GETACLCNT): Move fallback to lib/acl-internal.h.
39974         * lib/acl-internal.h: Include <sys/acl.h> here.
39975         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
39976
39977 2008-05-22  Bruno Haible  <bruno@clisp.org>
39978
39979         Split off copy_acl function to separate file.
39980         * lib/copy-acl.c: New file, extracted from lib/acl.c.
39981         * lib/acl.c (copy_acl): Moved function to separate file.
39982         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
39983         * modules/acl (Files): Add lib/copy-acl.c.
39984         (Makefiles.am): Augment lib_SOURCES.
39985
39986 2008-05-22  Bruno Haible  <bruno@clisp.org>
39987
39988         * modules/copy-file-tests: New file.
39989         * tests/test-copy-file.sh: New file.
39990         * tests/test-copy-file.c: New file.
39991         * tests/test-copy-file-sameacls.c: New file.
39992
39993 2008-05-22  Eric Blake  <ebb9@byu.net>
39994
39995         Avoid gcc warning.
39996         * tests/test-memcmp.c (main): Pass NULL indirectly.
39997
39998 2008-05-21  Bruno Haible  <bruno@clisp.org>
39999
40000         Add reference doc about ACLs.
40001         * doc/acl-resources.txt: New file.
40002         * doc/acl-cygwin.txt: New file.
40003
40004 2008-05-21  Bruno Haible  <bruno@clisp.org>
40005
40006         Avoid one more warning from gcc.
40007         * lib/vasnprintf.c (IF_LINT): Update comments.
40008         (VASNPRINTF): Use it also for the 'prefix' array initializer.
40009
40010 2008-05-21  Jim Meyering  <meyering@redhat.com>
40011
40012         avoid a warning from gcc
40013         * lib/vasnprintf.c (IF_LINT): Define.
40014         (scale10_round_decimal_long_double):
40015         Use it to avoid a "may be used uninitialized" warning.
40016         (scale10_round_decimal_double): Likewise.
40017
40018 2008-05-21  Simon Josefsson  <simon@josefsson.org>
40019
40020         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
40021         declared.
40022
40023 2008-05-20  Bruno Haible  <bruno@clisp.org>
40024
40025         * tests/test-memcmp.c (main): Test also the sign of the result. Test
40026         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
40027
40028 2008-05-20  Simon Josefsson  <simon@josefsson.org>
40029
40030         * modules/memcmp-tests: New file.
40031         * tests/test-memcmp.c: New file.
40032
40033 2008-05-19  Bruno Haible  <bruno@clisp.org>
40034
40035         * modules/propername (Notice, configure.ac): Put quoted "..." into
40036         --keyword option.
40037         * lib/propername.h: Update comments accordingly.
40038         Reported by Eric Blake.
40039
40040 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
40041
40042         * modules/getpass-gnu (Depends-on): Add fseeko.
40043
40044 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40045
40046         * modules/base64-tests: New file.
40047
40048 2008-05-19  Bo Borgerson <gigabo@gmail.com>
40049
40050         * lib/base64.c (base64_decode_ctx): If a decode context structure
40051         was passed in use it to ignore newlines.  If a context structure
40052         was _not_ passed in, continue to treat newlines as garbage (this
40053         is the historical behavior).  Formerly base64_decode.
40054         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40055         takes a decode context structure.
40056         * lib/base64.h (base64_decode): Macro for four-argument calls.
40057         (base64_decode_alloc): Likewise.
40058         * lib/base64.c (base64_decode_ctx): If a decode context structure
40059         was passed in use it to ignore newlines.  If a context structure
40060         was _not_ passed in, continue to treat newlines as garbage (this
40061         is the historical behavior).  Formerly base64_decode.
40062         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
40063         takes a decode context structure.
40064         * lib/base64.h (base64_decode): Macro for four-argument calls.
40065         (base64_decode_alloc): Likewise.
40066
40067 2008-05-19  Jim Meyering  <meyering@redhat.com>
40068
40069         avoid a warning from gcc
40070         * lib/trim.c (IF_LINT): Define.
40071         (trim2): Use it to avoid a "may be used uninitialized" warning.
40072
40073         Fix doc typo.
40074         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
40075
40076 2008-05-19  Bruno Haible  <bruno@clisp.org>
40077
40078         * doc/glibc-functions/getpass.texi: Document limits of other
40079         implementations.
40080
40081 2008-05-19  Simon Josefsson  <simon@josefsson.org>
40082             Bruno Haible <bruno@clisp.org>
40083
40084         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
40085
40086 2008-05-18  Bruno Haible  <bruno@clisp.org>
40087
40088         * modules/propername: New file, from GNU gettext.
40089         * lib/propername.h: New file, from GNU gettext.
40090         * lib/propername.c: New file, from GNU gettext.
40091         * MODULES.html.sh (Internationalization functions): Add propername.
40092
40093 2008-05-16  Jim Meyering  <meyering@redhat.com>
40094             Bruno Haible  <bruno@clisp.org>
40095
40096         Avoid some warnings from "gcc -Wshadow".
40097         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
40098
40099 2008-05-15  Eric Blake  <ebb9@byu.net>
40100
40101         Extend previous patch to cygwin 1.7.0.
40102         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
40103         fast implementation in cygwin >= 1.7.0.
40104         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40105         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40106
40107 2008-05-15  Bruno Haible  <bruno@clisp.org>
40108
40109         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
40110         implementation in glibc >= 2.9.
40111         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40112         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40113
40114 2008-05-15  Bruno Haible  <bruno@clisp.org>
40115
40116         * MODULES.html.sh (Internationalization functions): Remove linebreak.
40117         (Unicode string functions): Add unilbrk/*.
40118         Reported by Karl Berry.
40119
40120 2008-05-15  Eric Blake  <ebb9@byu.net>
40121
40122         Fix violation of <stdbool.h> replacement in regex.
40123         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
40124         * lib/regexec.c (re_search_internal): Likewise.
40125         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
40126
40127 2008-05-15  Jim Meyering  <meyering@redhat.com>
40128
40129         avoid distracting test output when git or cvs is not found
40130         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
40131         * tests/test-vc-list-files-git.sh: Likewise.
40132
40133 2008-05-15  Eric Blake  <ebb9@byu.net>
40134
40135         Glibc finally accepted the memmem speedup code, bugzilla #5514.
40136         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
40137         glibc version.
40138         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40139         * doc/posix-functions/strstr.texi (strstr): Likewise.
40140         * lib/str-two-way.h (MAX): Sychronize with glibc.
40141
40142 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
40143
40144         * lib/regcomp.c (optimize_utf8): Add a note on why we test
40145         opr.ctx_type.
40146         (calc_first): Initialize constraint field.
40147         (duplicate_node_closure): Use it instead of special casing ANCHORS.
40148         Fix grammar.
40149         (duplicate_node): Merge constraint field for all node types.
40150         (calc_eclosure_iter): Look at constraint field for all node types.
40151         * lib/regex_internal.c (create_cd_newstate): Don't look at
40152         opr.ctx_type.
40153
40154 2008-05-14  Bruno Haible  <bruno@clisp.org>
40155
40156         Help GCC to do better code generation.
40157         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
40158         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
40159         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
40160         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
40161         Declare with attribute 'malloc' if supported.
40162
40163 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
40164
40165         use "echo STR|wc -c" rather than unportable "expr length STR"
40166         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
40167         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
40168
40169 2008-05-14  Jim Meyering  <meyering@redhat.com>
40170
40171         use dd ibs=$n count=1 ... rather than less-portable head -c$n
40172         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
40173         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
40174         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
40175         via Collin Lasse.
40176
40177 2008-05-14  Eric Blake  <ebb9@byu.net>
40178
40179         Avoid quadratic growth in gl_LIBSOURCES.
40180         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
40181         Suggested by Bruno Haible.
40182
40183         Test xmemdup0.
40184         * modules/xmemdup0-tests: New file.
40185         * tests/test-xmemdup0.c: Likewise.
40186
40187 2008-05-13  Eric Blake  <ebb9@byu.net>
40188
40189         Split xmemdup0 into its own module.
40190         * modules/xmemdup0: New file.
40191         * lib/xmemdup0.h: Likewise.
40192         * lib/xmemdup0.c: Likewise.
40193         * MODULES.html.sh (Memory management functions): Add xmemdup0.
40194         * lib/xalloc.h (xmemdup0): Remove.
40195         * lib/xmalloc.c (xmemdup0): Likewise.
40196
40197 2008-05-13  Eric Blake  <ebb9@byu.net>
40198             Bruno Haible  <bruno@clisp.org>
40199
40200         Reduce number of forks required during autoconf.
40201         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
40202         and gl_LIBSOURCES_DIR.
40203         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
40204         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
40205         m4_syscmd per file.
40206         <m4_foreach_w>: Move...
40207         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
40208
40209 2008-05-13  Eric Blake  <ebb9@byu.net>
40210
40211         * gnulib-tool: Fix various comment typos.
40212
40213 2008-05-12  Bruno Haible  <bruno@clisp.org>
40214
40215         Tailor the linebreaking algorithm.
40216         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
40217
40218 2008-05-12  Bruno Haible  <bruno@clisp.org>
40219
40220         Update to Unicode 5.0.0.
40221         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40222         LBP_JV, LBP_JT. Redistribute values.
40223         (unilbrk_table): Change size.
40224         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
40225         Unicode TR#14 rev. 22.
40226         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
40227         LBP_JV, LBP_JT. Redistribute values.
40228         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
40229         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
40230         Update.
40231         * lib/unilbrk/lbrkprop1.h: Regenerated.
40232         * lib/unilbrk/lbrkprop2.h: Regenerated.
40233         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
40234         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
40235         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
40236         Likewise.
40237         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
40238         Likewise.
40239         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
40240         result.
40241         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
40242         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
40243         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
40244         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
40245         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
40246         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
40247
40248 2008-05-11  Bruno Haible  <bruno@clisp.org>
40249
40250         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
40251
40252 2008-05-11  Bruno Haible  <bruno@clisp.org>
40253
40254         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
40255         * modules/unilbrk/gen-lbrk: New file.
40256
40257 2008-05-11  Bruno Haible  <bruno@clisp.org>
40258
40259         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
40260         * m4/sha512.m4 (gl_SHA512): Likewise.
40261
40262 2008-05-11  Jim Meyering  <meyering@redhat.com>
40263
40264         New modules: crypto/sha256, crypto/sha512 (from coreutils)
40265         * modules/crypto/sha256: New file.
40266         * modules/crypto/sha512: Likewise.
40267         * lib/sha256.c: Likewise.
40268         * lib/sha256.h: Likewise.
40269         * lib/sha512.c: Likewise.
40270         * lib/sha512.h: Likewise.
40271         * lib/u64.h: Likewise.
40272         * m4/sha256.m4: Likewise.
40273         * m4/sha512.m4: Likewise.
40274         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
40275
40276 2008-05-10  Bruno Haible  <bruno@clisp.org>
40277
40278         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
40279         (Input/Output <stdio.h>): Add xprintf.
40280         (Signal handling <signal.h>): Add strsignal.
40281         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
40282         (Core language properties): Add func.
40283         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
40284         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
40285         strings.
40286         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
40287         (Input/output): New section.
40288         (File system functions): Add openat-die, stat-macros.
40289         (Networking functions): Add sockets.
40290         (Unicode string functions): Add unictype/*.
40291         (Support for building libraries and executables): Add gperf.
40292         (Support for building documentation): Add agpl-3.0.
40293         (Misc): Add nocrash.
40294
40295 2008-05-10  Bruno Haible  <bruno@clisp.org>
40296
40297         * modules/unictype/gen-ctype: New file.
40298
40299 2008-05-10  Jim Meyering  <meyering@redhat.com>
40300
40301         Make chdir-safer.c more efficient on a system with no symlinks.
40302         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
40303         also if ELOOP is zero.  Suggested by Bruno Haible.
40304
40305         Make chdir-safer.c slightly safer.
40306         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
40307         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
40308
40309         Avoid compile failure on systems without ELOOP (like mingw).
40310         * lib/chdir-safer.c (ELOOP): Define if not already defined.
40311         Reported by Bruno Haible.
40312
40313 2008-05-10  Bruno Haible  <bruno@clisp.org>
40314
40315         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
40316         (is_utf8_encoding): Use a case-insensitive comparison.
40317         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
40318         streq.
40319
40320 2008-05-10  Bruno Haible  <bruno@clisp.org>
40321
40322         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
40323         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
40324         * lib/unilbrk/ulc-common.h (iconv_string_length,
40325         iconv_string_keeping_offsets): Remove declarations.
40326         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
40327         Don't include <iconv.h>, streq.h, xsize.h.
40328         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
40329         conversion.
40330         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
40331         <iconv.h>, streq.h, xsize.h.
40332         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
40333         conversion.
40334         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
40335         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
40336         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
40337         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
40338
40339 2008-05-10  Bruno Haible  <bruno@clisp.org>
40340
40341         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
40342         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
40343
40344         * modules/unilbrk/u32-width-linebreaks-tests: New file.
40345         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
40346
40347         * modules/unilbrk/u16-width-linebreaks-tests: New file.
40348         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
40349
40350         * modules/unilbrk/u8-width-linebreaks-tests: New file.
40351         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
40352
40353         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
40354         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
40355
40356         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
40357         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
40358
40359         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
40360         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
40361
40362         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
40363         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
40364
40365 2008-05-10  Bruno Haible  <bruno@clisp.org>
40366
40367         Split up 'linebreak' module.
40368         * lib/unilbrk.h: New file, based on lib/linebreak.h.
40369         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
40370         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
40371         modifications.
40372         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
40373         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
40374         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
40375         lib/linebreak.c.
40376         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
40377         lib/linebreak.c.
40378         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
40379         lib/linebreak.c.
40380         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
40381         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
40382         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
40383         lib/linebreak.c.
40384         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
40385         lib/linebreak.c.
40386         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
40387         lib/linebreak.c.
40388         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
40389         lib/linebreak.c.
40390         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
40391         lib/linebreak.c.
40392         * modules/unilbrk/base: New file.
40393         * modules/unilbrk/tables: New file.
40394         * modules/unilbrk/u8-possible-linebreaks: New file.
40395         * modules/unilbrk/u16-possible-linebreaks: New file.
40396         * modules/unilbrk/u32-possible-linebreaks: New file.
40397         * modules/unilbrk/ulc-common: New file.
40398         * modules/unilbrk/ulc-possible-linebreaks: New file.
40399         * modules/unilbrk/u8-width-linebreaks: New file.
40400         * modules/unilbrk/u16-width-linebreaks: New file.
40401         * modules/unilbrk/u32-width-linebreaks: New file.
40402         * modules/unilbrk/ulc-width-linebreaks: New file.
40403         * lib/linebreak.h: Remove file.
40404         * lib/linebreak.c: Remove file.
40405         * m4/linebreak.m4: Remove file.
40406         * modules/linebreak: Remove file.
40407         * NEWS: Mention the changes.
40408
40409 2008-05-09  Eric Blake  <ebb9@byu.net>
40410
40411         Add xmemdup0.
40412         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
40413         implementation.
40414         * lib/xmalloc.c (xmemdup0): New C implementation.
40415
40416 2008-05-08  Bruno Haible  <bruno@clisp.org>
40417
40418         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
40419
40420 2008-05-07  Eric Blake  <ebb9@byu.net>
40421
40422         Support cross-compilation of <wctype.h>.
40423         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
40424         AC_CACHE_CHECK.
40425
40426 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
40427
40428         * build-aux/vc-list-files: Add support for bzr.
40429
40430 2008-05-03  Jim Meyering  <meyering@redhat.com>
40431
40432         avoid failed assertion with tight malloc
40433         * tests/test-getndelim2.c: Correct an off-by-one assertion.
40434
40435 2008-05-03  Simon Josefsson  <simon@josefsson.org>
40436
40437         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
40438         are needed from arpa/inet.h.
40439         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
40440         Reported by Bruno Haible.
40441
40442 2008-05-02  Jim Meyering  <meyering@redhat.com>
40443
40444         avoid compilation error on FreeBSD 6
40445         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
40446
40447 2008-05-01  Jim Meyering  <meyering@redhat.com>
40448
40449         useless-if-before-free: correct --help's exit status description
40450         * build-aux/useless-if-before-free (usage): Like grep, exit 0
40451         for one or more matches, etc.  Reported by Bruno Haible.
40452
40453         vc-list-files: make the stand-alone gnulib test work
40454         * modules/vc-list-files-tests (configure.ac):
40455         Define and AC_SUBST abs_aux_dir.
40456         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
40457         $(abs_top_srcdir) to each script and having each of them
40458         duplicate the work of setting PATH, set PATH here, using
40459         the new variable, abs_aux_dir instead.
40460         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
40461         * tests/test-vc-list-files-git.sh: Likewise.
40462         Reported by Bruno Haible.
40463
40464 2008-05-01  Bruno Haible  <bruno@clisp.org>
40465
40466         * lib/getndelim2.c (getndelim2): Fix newsize computation during
40467         reallocation. Rename 'done' to 'found_delimiter'.
40468
40469 2008-05-01  Jim Meyering  <meyering@redhat.com>
40470
40471         vc-list-files: accommodate /bin/sh like the one from Solaris 10
40472         * build-aux/vc-list-files: Use `...`, not $(...).
40473
40474 2008-04-30  Jim Meyering  <meyering@redhat.com>
40475
40476         add tests for vc-list-files
40477         * modules/vc-list-files-tests: New module.
40478         * tests/test-vc-list-files-cvs.sh: New file.
40479         * tests/test-vc-list-files-git.sh: New file.
40480
40481         avoid a warning from gcc
40482         * lib/getndelim2.c (IF_LINT): Define.
40483         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
40484
40485         vc-list-files: work properly with build-aux/cvsu, too
40486         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
40487         to all cvs-based clauses.
40488
40489         vc-list-files: work properly in the CVS+awk case, too
40490         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
40491
40492         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
40493         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
40494         take more than one file argument, so .  Add quotes, just in case $dir
40495         ever contains a shell meta-character.  Prompted by Soren Hansen in
40496         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
40497
40498 2008-04-29  Eric Blake  <ebb9@byu.net>
40499
40500         Optimize getndelim2 to use block operations when possible.
40501         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
40502         freadseek, and memchr2.
40503         * lib/getndelim2.c (getndelim2): Use them for block reads.
40504
40505 2008-04-29  Bruno Haible  <bruno@clisp.org>
40506
40507         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
40508         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40509         * modules/inet_ntop (Depends-on): Add extensions.
40510         * modules/inet_pton (Depends-on): Likewise.
40511         Reported by Simon Josefsson.
40512
40513 2008-04-29  Jim Meyering  <meyering@redhat.com>
40514
40515         When the is more than one match in a block, match all of them.
40516         * build-aux/useless-if-before-free: Iterate through each block
40517         until there are no more matches.
40518
40519         Fix broken useless-if-before-free script.
40520         * build-aux/useless-if-before-free: Fix typo: missing "?" after
40521         the expression to match cast of argument to free-like function.
40522
40523 2008-04-29  Eric Blake  <ebb9@byu.net>
40524
40525         Use new header.
40526         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
40527
40528 2008-04-29  Jim Meyering  <meyering@redhat.com>
40529
40530         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
40531         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
40532         by gnulib to exist and to declare e.g., inet_ntop.
40533         Don't include "inet_ntop.h", now removed.
40534
40535         * m4/arpa_inet_h.m4: Remove trailing blanks.
40536
40537 2008-04-29  Eric Blake  <ebb9@byu.net>
40538
40539         Silence valgrind on safe reads beyond potential array bounds.
40540         * lib/rawmemchr.valgrind: New file.
40541         * lib/strchrnul.valgrind: Likewise.
40542         * modules/rawmemchr (Files): Distribute new file.
40543         * modules/strchrnul (Files): Likewise.
40544         Suggested by Bruno Haible.
40545
40546 2008-04-29  Bruno Haible  <bruno@clisp.org>
40547
40548         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
40549         (inet_ntop, inet_pton): Change portability warning's wording.
40550         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
40551         Invoke gl_CHECK_NEXT_HEADERS.
40552         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
40553         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
40554         set ARPA_INET_H.
40555         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40556         * modules/arpa_inet (Description): No longer only for systems that
40557         lack it.
40558         (Depends-on): Add include_next.
40559         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
40560         HAVE_ARPA_INET_H.
40561
40562 2008-04-29  Jim Meyering  <meyering@redhat.com>
40563
40564         * modules/mkdir (License): Re-license as LGPLv2+.
40565
40566 2008-04-29  Bruno Haible  <bruno@clisp.org>
40567
40568         * modules/rawmemchr (Maintainer): Set to Eric.
40569         * modules/strchrnul (Maintainer): Likewise.
40570
40571 2008-04-29  Simon Josefsson  <simon@josefsson.org>
40572
40573         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
40574         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
40575
40576         * modules/arpa_inet (arpa/inet.h): Use them.
40577
40578 2008-04-28  Eric Blake  <ebb9@byu.net>
40579
40580         Test getndelim2.
40581         * modules/getndelim2-tests: New file.
40582         * tests/test-getndelim2.c: Likewise.
40583         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
40584         stream.
40585         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
40586
40587         * MODULES.html.sh: Document new module.
40588
40589 2008-04-20  Bruno Haible  <bruno@clisp.org>
40590
40591         * lib/c-stack.c (die): Use raise.
40592         * modules/c-stack (Depends-on): Add raise.
40593
40594 2008-04-28  Bruno Haible  <bruno@clisp.org>
40595
40596         Expect rpmatch to be declared.
40597         * lib/yesno.c (rpmatch): Remove declaration.
40598
40599         Declare rpmatch.
40600         * lib/stdlib.in.h (rpmatch): New declaration.
40601         * lib/rpmatch.c: Include <stdlib.h> first.
40602         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
40603         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
40604         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
40605         HAVE_RPMATCH.
40606         * modules/rpmatch (Depends-on): Add stdlib, extensions.
40607         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40608         (Include): Set to <stdlib.h>.
40609         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
40610         HAVE_RPMATCH.
40611         * NEWS: Document the change.
40612
40613 2008-04-28  Bruno Haible  <bruno@clisp.org>
40614
40615         Change rpmatch to use nl_langinfo when appropriate.
40616         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
40617         (N_): New macro.
40618         (localized_pattern): New function/macro.
40619         (try): Remove match, nomatch arguments. Copy the pattern into safe
40620         memory before caching it.
40621         (rpmatch): Use localized_pattern. Add translator comments.
40622         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
40623         Suggested by Eric Blake.
40624         * modules/rpmatch (Depends-on): Add stdbool.
40625
40626 2008-04-28  Eric Blake  <ebb9@byu.net>
40627
40628         Add rawmemchr module, matching glibc.
40629         * modules/string (Makefile.am): New indicator.
40630         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
40631         * lib/string.in.h (rawmemchr): Declare when appropriate.
40632         * modules/rawmemchr: New file.
40633         * m4/rawmemchr.m4: Likewise.
40634         * lib/rawmemchr.c: Likewise.
40635         * modules/rawmemchr-tests: Likewise.
40636         * tests/test-rawmemchr.c: Likewise.
40637         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
40638         module.
40639         * modules/strchrnul (Depends-on): Add rawmemchr.
40640         * lib/strchrnul.c (strchrnul): Optimize a corner case.
40641
40642         Whitespace cleanup.
40643         * tests/test-strchrnul.c: Reindent.
40644         * lib/strchrnul.c: Likewise.
40645
40646         Optimize and test strchrnul.
40647         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
40648         * modules/strchrnul-tests: New file.
40649         * tests/test-strchrnul.c: Likewise.
40650
40651         Remove intprops dependency.
40652         * modules/memchr (Depends-on): Remove intprops.
40653         * modules/memrchr (Depends-on): Likewise.
40654         * modules/memchr2 (Depends-on): Likewise.
40655         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
40656         * lib/memrchr.c (__memrchr): Likewise.
40657         * lib/memrchr2.c (memchr2): Likewise.
40658         Reported by Simon Josefsson.
40659
40660 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40661
40662         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
40663         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40664
40665 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40666
40667         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
40668
40669         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
40670
40671         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
40672
40673         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
40674         declarations.
40675         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
40676
40677         * m4/inet_pton.m4: Don't check for header files.
40678
40679         * m4/inet_ntop.m4: Don't check for header files.
40680
40681 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40682
40683         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
40684         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
40685         trigger for cygwin).
40686         Reported by Bruno Haible  <bruno@clisp.org>.
40687
40688 2008-04-28  Bruno Haible  <bruno@clisp.org>
40689
40690         * doc/posix-functions/strdup.texi: Mention mingw problem.
40691
40692 2008-04-27  Bruno Haible  <bruno@clisp.org>
40693
40694         * modules/stat-time-tests (Depends-on): Add sleep.
40695         * tests/test-stat-time.c (force_unlink): New function.
40696         (cleanup): Use it.
40697         (test_mtime): Remove the ctime related tests.
40698         (test_ctime): New function, containing the ctime related tests.
40699         (main): Call test_ctime, except on native Windows platforms.
40700
40701 2008-04-27  Bruno Haible  <bruno@clisp.org>
40702
40703         * lib/rpmatch.c (rpmatch): Add some comments.
40704         Reported by James Youngman <jay@gnu.org>.
40705
40706 2008-04-27  Bruno Haible  <bruno@clisp.org>
40707
40708         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
40709         quiet NaNs.
40710
40711 2008-04-27  Bruno Haible  <bruno@clisp.org>
40712
40713         Make test-yesno.sh work on mingw.
40714         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
40715         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
40716         (main): Set stdin to binary mode.
40717         * modules/yesno-tests (Depends-on): Add binary-io.
40718
40719 2008-04-27  Bruno Haible  <bruno@clisp.org>
40720
40721         Fix 'isfinite' on x86, x86_64, ia64 platforms.
40722         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
40723         argument that lie outside the IEEE 854 domain.
40724         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
40725         (gl_ISFINITE): Use it.
40726         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
40727
40728 2008-04-27  Bruno Haible  <bruno@clisp.org>
40729
40730         Allow local renaming in config.h.
40731         * lib/memrchr.c (memrchr): Don't undefine outside libc.
40732
40733 2008-04-27  Bruno Haible  <bruno@clisp.org>
40734
40735         * lib/memchr.c (__memchr): Change type of 'i'.
40736         * lib/memchr2.c (memchr2): Likewise.
40737
40738 2008-04-26  Eric Blake  <ebb9@byu.net>
40739         and Bruno Haible  <bruno@clisp.org>
40740
40741         Optimize and test memrchr.
40742         * modules/memrchr (Depends-on): Add intprops.
40743         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
40744         * modules/memrchr-tests: New file.
40745         * tests/test-memrchr.c: New file.
40746
40747 2008-04-26  Bruno Haible  <bruno@clisp.org>
40748
40749         Add tentative support for DragonFly BSD.
40750         * lib/stdio-impl.h: Add macros for DragonFly BSD.
40751         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
40752         fp.
40753         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40754         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
40755         * lib/fpurge.c (fpurge): Likewise.
40756         * lib/freadable.c (freaadable): Likewise.
40757         * lib/freadahead.c (freadahead): Likewise.
40758         * lib/freading.c (freading): Likewise.
40759         * lib/freadptr.c (freadptr): Likewise.
40760         * lib/freadseek.c (freadptrinc): Likewise.
40761         * lib/fseeko.c (fseeko): Likewise.
40762         * lib/fseterr.c (fseterr): Likewise.
40763         * lib/fwritable.c (fwritable): Likewise.
40764         * lib/fwriting.c (fwriting): Likewise.
40765
40766 2008-04-26  Bruno Haible  <bruno@clisp.org>
40767
40768         * lib/stdio-impl.h: New file.
40769         * lib/fbufmode.c: Include stdio-impl.h.
40770         (fbufmode): Use fp_, remove redundant #defines.
40771         * lib/fflush.c: Include stdio-impl.h.
40772         (clear_ungetc_buffer): Remove redundant #defines.
40773         * lib/fpurge.c: Include stdio-impl.h.
40774         (fpurge): Remove redundant #defines.
40775         * lib/freadable.c: Include stdio-impl.h.
40776         (freadable): Remove redundant #defines.
40777         * lib/freadahead.c: Include stdio-impl.h.
40778         (freadahead): Remove redundant #defines.
40779         * lib/freading.c: Include stdio-impl.h.
40780         (freading): Remove redundant #defines.
40781         * lib/freadptr.c: Include stdio-impl.h.
40782         (freadptr): Remove redundant #defines.
40783         * lib/freadseek.c: Include stdio-impl.h.
40784         (freadptrinc): Remove redundant #defines.
40785         * lib/fseeko.c: Include stdio-impl.h.
40786         (rpl_fseeko): Remove redundant #defines.
40787         * lib/fseterr.c: Include stdio-impl.h.
40788         (fseterr): Remove redundant #defines.
40789         * lib/fwritable.c: Include stdio-impl.h.
40790         (fwritable: Remove redundant #defines.
40791         * lib/fwriting.c: Include stdio-impl.h.
40792         (fwriting): Remove redundant #defines.
40793         * modules/fbufmode (Files): Add lib/stdio-impl.h.
40794         * modules/fflush (Files): Likewise.
40795         * modules/fpurge (Files): Likewise.
40796         * modules/freadable (Files): Likewise.
40797         * modules/freadahead (Files): Likewise.
40798         * modules/freading (Files): Likewise.
40799         * modules/freadptr (Files): Likewise.
40800         * modules/freadseek (Files): Likewise.
40801         * modules/fseeko (Files): Likewise.
40802         * modules/fseterr (Files): Likewise.
40803         * modules/fwritable (Files): Likewise.
40804         * modules/fwriting (Files): Likewise.
40805
40806 2008-04-26  Bruno Haible  <bruno@clisp.org>
40807
40808         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40809         restore_seek_optimization, update_fpos_cache): New functions, extracted
40810         from rpl_fflush.
40811         (rpl_fflush): Use them.
40812         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
40813         (gl_REPLACE_FFLUSH): Use it.
40814
40815 2008-04-26  Bruno Haible  <bruno@clisp.org>
40816
40817         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
40818         on Solaris.
40819         * tests/test-xstrtoimax.sh: Likewise.
40820         * tests/test-xstrtoumax.sh: Likewise.
40821         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40822
40823 2008-04-26  Bruno Haible  <bruno@clisp.org>
40824
40825         * modules/memchr-tests: New file.
40826         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
40827
40828 2008-04-26  Eric Blake  <ebb9@byu.net>
40829             Bruno Haible  <bruno@clisp.org>
40830
40831         * lib/memchr.c: Include intprops.h.
40832         (__memchr): Optimize parallel detection of matching bytes. Rename local
40833         variables. Add explanatory comments.
40834
40835 2008-04-26  Bruno Haible  <bruno@clisp.org>
40836
40837         Fix module 'memchr', broken since 2000-10-28.
40838         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
40839
40840 2008-04-26  Bruno Haible  <bruno@clisp.org>
40841
40842         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
40843         comments.
40844
40845 2008-04-25  Eric Blake  <ebb9@byu.net>
40846
40847         Use native fstatat on cygwin 1.7.0.
40848         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
40849         first.
40850
40851 2008-04-23  Eric Blake  <ebb9@byu.net>
40852
40853         Improve memchr2 performance.
40854         * lib/memchr2.c (memchr2): Further optimize parallel detection of
40855         NUL bytes.
40856         * modules/memchr2 (Depends-on): Use intprops.h.
40857
40858 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40859
40860         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
40861         an inline function instead of a CPP macro.  Patch by Ben Pfaff
40862         <blp@cs.stanford.edu>.
40863
40864 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40865
40866         * lib/arpa_inet.in.h: New file.
40867
40868         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
40869         (Makefile.am): Sed in substitute header file.
40870
40871         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
40872         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
40873
40874         * modules/inet_ntop (configure.ac): Use
40875         gl_ARPA_INET_MODULE_INDICATOR.
40876
40877         * modules/inet_pton (configure.ac): Use
40878         gl_ARPA_INET_MODULE_INDICATOR.
40879
40880 2008-04-22  Jim Meyering  <meyering@redhat.com>
40881
40882         * modules/verify (License): Re-license as LGPLv2+.
40883
40884 2008-04-22  Simon Josefsson  <simon@josefsson.org>
40885
40886         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
40887         parameter to void* as per POSIX standard (MinGW uses char*).
40888
40889 2008-04-21  Bruno Haible  <bruno@clisp.org>
40890
40891         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
40892         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
40893         Define to replacements if REPLACE_ISWCNTRL is 1.
40894         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
40895         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
40896         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
40897         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
40898         what it fixes.
40899         * doc/posix-functions/iswalpha.texi: Likewise.
40900         * doc/posix-functions/iswblank.texi: Likewise.
40901         * doc/posix-functions/iswcntrl.texi: Likewise.
40902         * doc/posix-functions/iswdigit.texi: Likewise.
40903         * doc/posix-functions/iswgraph.texi: Likewise.
40904         * doc/posix-functions/iswlower.texi: Likewise.
40905         * doc/posix-functions/iswprint.texi: Likewise.
40906         * doc/posix-functions/iswpunct.texi: Likewise.
40907         * doc/posix-functions/iswspace.texi: Likewise.
40908         * doc/posix-functions/iswupper.texi: Likewise.
40909         * doc/posix-functions/iswxdigit.texi: Likewise.
40910         Reported by Alain Guibert.
40911
40912 2008-04-21  Bruno Haible  <bruno@clisp.org>
40913
40914         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
40915         Patch by Alain Guibert.
40916
40917 2008-04-21  Bruno Haible  <bruno@clisp.org>
40918
40919         Fix test failures on mingw.
40920         * tests/test-xstrtol.c (print_no_progname): New function.
40921         (main): Install it in error_print_progname hook.
40922         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
40923         * tests/test-xstrtoimax.sh: Likewise.
40924         * tests/test-xstrtoumax.sh: Likewise.
40925
40926 2008-04-21  Bruno Haible  <bruno@clisp.org>
40927
40928         Fix test failure on mingw.
40929         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
40930
40931 2008-04-21  Bruno Haible  <bruno@clisp.org>
40932
40933         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
40934         Actually assign a value.
40935
40936 2008-04-20  Bruno Haible  <bruno@clisp.org>
40937
40938         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
40939         take 2.
40940         * lib/canonicalize.c (canonicalize_file_name): Elide if the
40941         'canonicalize-lgpl' module is also used.
40942         * lib/canonicalize-lgpl.c: Undo last change.
40943         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
40944
40945 2008-04-20  Bruno Haible  <bruno@clisp.org>
40946
40947         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
40948         config.h. Provide _mkdir based fallback for mingw.
40949         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
40950         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
40951         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
40952         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
40953         rather than defining mkdir in config.h.
40954         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
40955         (gl_SYS_STAT_H_DEFAULTS): New macro.
40956         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
40957         HAVE_IO_H any more.
40958         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
40959         HAVE_DECL_MKDIR and HAVE_IO_H.
40960
40961 2008-04-20  Bruno Haible  <bruno@clisp.org>
40962
40963         * lib/isapipe.c: Port to native Windows platforms.
40964
40965 2008-04-20  Bruno Haible  <bruno@clisp.org>
40966
40967         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
40968
40969 2008-04-21  Eric Blake  <ebb9@byu.net>
40970
40971         Work around preprocessors that don't handle UINTMAX_MAX.
40972         * lib/memchr2.c (memchr2): Avoid embedded #if.
40973         Reported by Alain Guibert, fix suggested by Bruno Haible.
40974
40975 2008-04-21  Simon Josefsson  <simon@josefsson.org>
40976
40977         * doc/posix-functions/strftime.texi (strftime): Explain better
40978         Windows incompatibility.  Suggested by Micah Cowan
40979         <micah@cowan.name>.
40980
40981 2008-04-20  Bruno Haible  <bruno@clisp.org>
40982
40983         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
40984         unistr/u8-mblen.
40985
40986 2008-04-20  Bruno Haible  <bruno@clisp.org>
40987
40988         Fix test failure on platforms with non-GNU iconv.
40989         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
40990         (U_TO_U8): Use it, rather than u16_to_u8.
40991         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
40992         units at the end of the input string.
40993         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
40994
40995 2008-04-20  Bruno Haible  <bruno@clisp.org>
40996
40997         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
40998         when the resulting length is 0.
40999         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
41000
41001 2008-04-20  Bruno Haible  <bruno@clisp.org>
41002
41003         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
41004         works.
41005         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
41006
41007 2008-04-20  Bruno Haible  <bruno@clisp.org>
41008
41009         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
41010         * modules/tsearch-tests (configure.ac): Test for initstate function.
41011
41012 2008-04-20  Bruno Haible  <bruno@clisp.org>
41013
41014         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
41015         for nlink_t if missing.
41016         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
41017
41018 2008-04-19  Bruno Haible  <bruno@clisp.org>
41019
41020         Work around snprintf bug on Linux libc5.
41021         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
41022         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41023         gl_SNPRINTF_SIZE1.
41024         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41025         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
41026         that test failed.
41027         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
41028         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
41029         * modules/snprintf (Files): Add m4/printf.m4.
41030         * modules/vsnprintf (Files): Likewise.
41031         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
41032         * doc/posix-functions/vsnprintf.texi: Likewise.
41033
41034 2008-04-19  Bruno Haible  <bruno@clisp.org>
41035
41036         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
41037         from 0.0058 to less than 10^-7.
41038
41039 2008-04-19  Bruno Haible  <bruno@clisp.org>
41040
41041         Fix rounding when a precision is given.
41042         * lib/vasnprintf.c (is_borderline): New function.
41043         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
41044         9...9x.
41045         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
41046         %e, %g.
41047         * tests/test-vasprintf-posix.c (test_function): Likewise.
41048         * tests/test-snprintf-posix.h (test_function): Likewise.
41049         * tests/test-sprintf-posix.h (test_function): Likewise.
41050         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
41051         * tests/test-printf-posix.h (test_function): Likewise.
41052         * tests/test-printf-posix.output: Update.
41053         Reported by John Darrington <john@darrington.wattle.id.au> via
41054         Ben Pfaff <blp@cs.stanford.edu>.
41055
41056 2008-04-18  Simon Josefsson  <simon@josefsson.org>
41057
41058         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
41059         Suggested by Bruno Haible <bruno@clisp.org>.
41060
41061 2008-04-17  Bruno Haible  <bruno@clisp.org>
41062
41063         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
41064         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
41065         implementation.
41066         Patch by Bruce Merry <bmerry@gmail.com>.
41067
41068 2008-04-17  Simon Josefsson  <simon@josefsson.org>
41069
41070         * doc/posix-functions/strftime.texi (strftime): Mention that %e
41071         doesn't work under Windows.
41072
41073 2008-04-16  Bruno Haible  <bruno@clisp.org>
41074
41075         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
41076         New macros.
41077         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
41078         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
41079         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
41080         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
41081         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
41082         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
41083         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
41084         macros.
41085         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
41086         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
41087         Northern Sotho, Uighur.
41088
41089 2008-04-16  Bruno Haible  <bruno@clisp.org>
41090
41091         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
41092         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
41093         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
41094         Reported by Daniel Bergström <daniel@octocode.com>.
41095
41096 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
41097             Bruno Haible  <bruno@clisp.org>
41098
41099         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
41100         function.
41101         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
41102         New functions, mostly extracted from gl_locale_name_default.
41103         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
41104
41105 2008-04-16  Eric Blake  <ebb9@byu.net>
41106
41107         Adjust strtod detection to catch glibc 2.7 bug.
41108         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
41109         Reported by John Gatewood Ham.
41110
41111 2008-04-16  Bruno Haible  <bruno@clisp.org>
41112
41113         Add tentative support for Linux libc5.
41114         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
41115         * lib/fpurge.c (fpurge): Likewise.
41116         * lib/freadable.c (freadable): Likewise.
41117         * lib/freadahead.c (freadahead): Likewise.
41118         * lib/freading.c (freading): Likewise.
41119         * lib/freadptr.c (freadptr): Likewise.
41120         * lib/freadseek.c (freadptrinc): Likewise.
41121         * lib/fseeko.c (rpl_fseeko): Likewise.
41122         * lib/fseterr.c (fseterr): Likewise.
41123         * lib/fwritable.c (fwritable): Likewise.
41124         * lib/fwriting.c (fwriting): Likewise.
41125         Reported by Alain Guibert <alguibert+bts@free.fr>.
41126
41127 2008-04-15  Bruno Haible  <bruno@clisp.org>
41128
41129         * modules/mathl (configure.ac): Define module indicator.
41130
41131 2008-04-15  Bruno Haible  <bruno@clisp.org>
41132
41133         * lib/logl.c (logl): Remove unused variables.
41134
41135 2008-04-15  Bruno Haible  <bruno@clisp.org>
41136
41137         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
41138         fails.
41139
41140 2008-04-15  Bruno Haible  <bruno@clisp.org>
41141
41142         * lib/trim.c (trim2): Fix argument of isspace() macro.
41143
41144 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
41145
41146         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
41147         to 0.
41148         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
41149
41150 2008-04-14  Bruno Haible  <bruno@clisp.org>
41151
41152         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
41153         AC_LANG_PROGRAM argument.
41154         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
41155         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
41156         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41157         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
41158         * m4/math_h.m4 (gl_MATH_H): Likewise.
41159         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
41160         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41161         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
41162         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
41163         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
41164         * m4/regex.m4 (gl_REGEX): Likewise.
41165         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
41166         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
41167         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41168         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
41169         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
41170         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41171         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41172         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
41173
41174 2008-04-14  Jim Meyering  <meyering@redhat.com>
41175
41176         test-strtod: fix typos: s/abs/fabs/
41177         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
41178
41179 2008-04-13  Bruno Haible  <bruno@clisp.org>
41180
41181         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
41182         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
41183         module is also used and while not building the reloc-wrapper.
41184
41185 2008-04-13  Bruno Haible  <bruno@clisp.org>
41186
41187         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
41188
41189 2008-04-13  Bruno Haible  <bruno@clisp.org>
41190
41191         Fix AIX compilation failure introduced on 2008-04-02.
41192         * tests/test-frexp.c (exp): Undefine before redefining.
41193         * tests/test-frexpl.c (exp): Likewise.
41194
41195 2008-04-13  Bruno Haible  <bruno@clisp.org>
41196
41197         Work around a HP-UX stdio bug.
41198         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
41199         * tests/test-ftello.c (main): Likewise.
41200         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
41201         * doc/posix-functions/ftello.texi: Likewise.
41202
41203 2008-04-13  Bruno Haible  <bruno@clisp.org>
41204
41205         Make test-signbit pass on HP-UX/hppa.
41206         * tests/test-signbit.c (minus_zerol): New variable.
41207         (test_signbitl): Use it.
41208
41209 2008-04-13  Bruno Haible  <bruno@clisp.org>
41210
41211         Make truncl work on OSF/1 4.0.
41212         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
41213         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41214         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
41215         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
41216         HAVE_DECL_TRUNCL.
41217         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
41218         HAVE_DECL_TRUNCL.
41219         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
41220
41221 2008-04-13  Bruno Haible  <bruno@clisp.org>
41222
41223         * lib/unictype.h: Remove trailing comma from enumeration definitions.
41224
41225 2008-04-13  Bruno Haible  <bruno@clisp.org>
41226
41227         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
41228         expression, so as to avoid HP-UX 11 cc compiler bug.
41229
41230 2008-04-13  Bruno Haible  <bruno@clisp.org>
41231
41232         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
41233
41234 2008-04-13  Bruno Haible  <bruno@clisp.org>
41235
41236         * lib/git-merge-changelog.c: Remove empty declaration outside of
41237         functions.
41238
41239 2008-04-13  Bruno Haible  <bruno@clisp.org>
41240
41241         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
41242
41243 2008-04-13  Bruno Haible  <bruno@clisp.org>
41244
41245         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
41246         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
41247         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
41248         also if it exists but lacks definitions of the SHUT_* macros.
41249         * modules/sys_socket (Description): Update.
41250         Reported by Elbert Pol <e.pol@chello.nl>.
41251
41252 2008-04-13  Bruno Haible  <bruno@clisp.org>
41253
41254         * lib/localcharset.c (OS2): Don't redefine if already defined.
41255         Reported by Elbert Pol <e.pol@chello.nl>.
41256
41257 2008-04-13  Bruno Haible  <bruno@clisp.org>
41258
41259         * lib/binary-io.h [__EMX__]: Include <io.h>.
41260         Reported by Elbert Pol <e.pol@chello.nl>.
41261
41262 2008-04-12  Bruno Haible  <bruno@clisp.org>
41263
41264         * lib/fpucw.h: Enable the definitions also for x86_64.
41265         Needed for NetBSD/x86_64.
41266         Reported by Thomas Klausner <tk@giga.or.at>.
41267
41268 2008-04-12  Bruno Haible  <bruno@clisp.org>
41269
41270         * tests/test-strtod.c: Include isnand.h.
41271         (main): Use isnand instead of isnan.
41272         Reported by Jim Meyering.
41273
41274 2008-04-12  Bruno Haible  <bruno@clisp.org>
41275
41276         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
41277         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
41278
41279 2008-04-12  Jim Meyering  <meyering@redhat.com>
41280
41281         * m4/math_h.m4 (gl_MATH_H): Fix typos.
41282
41283 2008-04-12  Bruno Haible  <bruno@clisp.org>
41284
41285         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
41286         Reported by Elbert Pol <e.pol@chello.nl>.
41287
41288 2008-04-12  Eric Blake  <ebb9@byu.net>
41289
41290         Work around Solaris 10 math.h bug.
41291         * m4/math_h.m4 (gl_MATH_H): Check for bug.
41292         (gl_MATH_H_DEFAULTS): Set up default.
41293         * modules/math (Makefile.am): Replace new indicators.
41294         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
41295         * tests/test-math.c (main): Test this.
41296         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
41297         * doc/posix-headers/math.texi (math.h): Mention bug.
41298         Reported by Nelson H. F. Beebe and Jim Meyering.
41299
41300 2008-04-11  Bruno Haible  <bruno@clisp.org>
41301
41302         Adapt to future versions of Apple GCC.
41303         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
41304         Reported by Peter O'Gorman <peter@pogma.com>.
41305
41306 2008-04-11  Bruno Haible  <bruno@clisp.org>
41307
41308         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
41309
41310 2008-04-11  Bruno Haible  <bruno@clisp.org>
41311
41312         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
41313
41314         * modules/getaddrinfo-tests (Makefile.am): Define
41315         test_getaddrinfo_LDADD.
41316
41317 2008-04-11  Bruno Haible  <bruno@clisp.org>
41318
41319         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
41320         (init): Fix syntax error.
41321         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
41322         is declared.
41323
41324 2008-04-11  Bruno Haible  <bruno@clisp.org>
41325
41326         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
41327         * modules/glob (Depends-on): Add stdbool.
41328
41329 2008-04-11  Bruno Haible  <bruno@clisp.org>
41330
41331         * lib/trim.c: Include <string.h>.
41332
41333 2008-04-11  Eric Blake  <ebb9@byu.net>
41334
41335         Avoid compile failure on OS/2.
41336         * lib/regex_internal.h (internal_function): Disable optimization
41337         on OS/2 (__EMX__), where it caused compiler error.
41338         Reported by Elbert Pol.
41339
41340 2008-04-11  Bruno Haible  <bruno@clisp.org>
41341
41342         Flush the standard error stream before aborting. Needed on mingw.
41343         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
41344         * tests/test-array_list.c (ASSERT): Likewise.
41345         * tests/test-array_oset.c (ASSERT): Likewise.
41346         * tests/test-avltree_list.c (ASSERT): Likewise.
41347         * tests/test-avltree_oset.c (ASSERT): Likewise.
41348         * tests/test-avltreehash_list.c (ASSERT): Likewise.
41349         * tests/test-binary-io.c (ASSERT): Likewise.
41350         * tests/test-byteswap.c (ASSERT): Likewise.
41351         * tests/test-c-ctype.c (ASSERT): Likewise.
41352         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
41353         * tests/test-c-strcasestr.c (ASSERT): Likewise.
41354         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
41355         * tests/test-c-strstr.c (ASSERT): Likewise.
41356         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
41357         * tests/test-canonicalize.c (ASSERT): Likewise.
41358         * tests/test-carray_list.c (ASSERT): Likewise.
41359         * tests/test-ceilf1.c (ASSERT): Likewise.
41360         * tests/test-ceilf2.c (ASSERT): Likewise.
41361         * tests/test-ceill.c (ASSERT): Likewise.
41362         * tests/test-count-one-bits.c (ASSERT): Likewise.
41363         * tests/test-fbufmode.c (ASSERT): Likewise.
41364         * tests/test-fflush2.c (ASSERT): Likewise.
41365         * tests/test-floorf1.c (ASSERT): Likewise.
41366         * tests/test-floorf2.c (ASSERT): Likewise.
41367         * tests/test-floorl.c (ASSERT): Likewise.
41368         * tests/test-fopen.c (ASSERT): Likewise.
41369         * tests/test-fpending.c (ASSERT): Likewise.
41370         * tests/test-fprintf-posix.c (ASSERT): Likewise.
41371         * tests/test-fpurge.c (ASSERT): Likewise.
41372         * tests/test-freadable.c (ASSERT): Likewise.
41373         * tests/test-freadahead.c (ASSERT): Likewise.
41374         * tests/test-freading.c (ASSERT): Likewise.
41375         * tests/test-freadptr.c (ASSERT): Likewise.
41376         * tests/test-freadptr2.c (ASSERT): Likewise.
41377         * tests/test-freadseek.c (ASSERT): Likewise.
41378         * tests/test-freopen.c (ASSERT): Likewise.
41379         * tests/test-frexp.c (ASSERT): Likewise.
41380         * tests/test-frexpl.c (ASSERT): Likewise.
41381         * tests/test-fseek.c (ASSERT): Likewise.
41382         * tests/test-fseeko.c (ASSERT): Likewise.
41383         * tests/test-fstrcmp.c (ASSERT): Likewise.
41384         * tests/test-ftell.c (ASSERT): Likewise.
41385         * tests/test-ftello.c (ASSERT): Likewise.
41386         * tests/test-func.c (ASSERT): Likewise.
41387         * tests/test-fwritable.c (ASSERT): Likewise.
41388         * tests/test-fwriting.c (ASSERT): Likewise.
41389         * tests/test-getdelim.c (ASSERT): Likewise.
41390         * tests/test-getline.c (ASSERT): Likewise.
41391         * tests/test-i-ring.c (ASSERT): Likewise.
41392         * tests/test-iconv-utf.c (ASSERT): Likewise.
41393         * tests/test-iconv.c (ASSERT): Likewise.
41394         * tests/test-isfinite.c (ASSERT): Likewise.
41395         * tests/test-isnand.c (ASSERT): Likewise.
41396         * tests/test-isnanf.c (ASSERT): Likewise.
41397         * tests/test-isnanl.h (ASSERT): Likewise.
41398         * tests/test-ldexpl.c (ASSERT): Likewise.
41399         * tests/test-linked_list.c (ASSERT): Likewise.
41400         * tests/test-linkedhash_list.c (ASSERT): Likewise.
41401         * tests/test-localename.c (ASSERT): Likewise.
41402         * tests/test-lseek.c (ASSERT): Likewise.
41403         * tests/test-mbscasecmp.c (ASSERT): Likewise.
41404         * tests/test-mbscasestr1.c (ASSERT): Likewise.
41405         * tests/test-mbscasestr2.c (ASSERT): Likewise.
41406         * tests/test-mbscasestr3.c (ASSERT): Likewise.
41407         * tests/test-mbscasestr4.c (ASSERT): Likewise.
41408         * tests/test-mbschr.c (ASSERT): Likewise.
41409         * tests/test-mbscspn.c (ASSERT): Likewise.
41410         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
41411         * tests/test-mbspbrk.c (ASSERT): Likewise.
41412         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
41413         * tests/test-mbsrchr.c (ASSERT): Likewise.
41414         * tests/test-mbsspn.c (ASSERT): Likewise.
41415         * tests/test-mbsstr1.c (ASSERT): Likewise.
41416         * tests/test-mbsstr2.c (ASSERT): Likewise.
41417         * tests/test-mbsstr3.c (ASSERT): Likewise.
41418         * tests/test-memchr2.c (ASSERT): Likewise.
41419         * tests/test-memmem.c (ASSERT): Likewise.
41420         * tests/test-open.c (ASSERT): Likewise.
41421         * tests/test-printf-frexp.c (ASSERT): Likewise.
41422         * tests/test-printf-frexpl.c (ASSERT): Likewise.
41423         * tests/test-printf-posix.c (ASSERT): Likewise.
41424         * tests/test-quotearg.c (ASSERT): Likewise.
41425         * tests/test-rbtree_list.c (ASSERT): Likewise.
41426         * tests/test-rbtree_oset.c (ASSERT): Likewise.
41427         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
41428         * tests/test-round1.c (ASSERT): Likewise.
41429         * tests/test-roundf1.c (ASSERT): Likewise.
41430         * tests/test-roundl.c (ASSERT): Likewise.
41431         * tests/test-signbit.c (ASSERT): Likewise.
41432         * tests/test-sleep.c (ASSERT): Likewise.
41433         * tests/test-snprintf-posix.c (ASSERT): Likewise.
41434         * tests/test-snprintf.c (ASSERT): Likewise.
41435         * tests/test-sprintf-posix.c (ASSERT): Likewise.
41436         * tests/test-stat-time.c (ASSERT): Likewise.
41437         * tests/test-strcasestr.c (ASSERT): Likewise.
41438         * tests/test-strerror.c (ASSERT): Likewise.
41439         * tests/test-striconv.c (ASSERT): Likewise.
41440         * tests/test-striconveh.c (ASSERT): Likewise.
41441         * tests/test-striconveha.c (ASSERT): Likewise.
41442         * tests/test-strsignal.c (ASSERT): Likewise.
41443         * tests/test-strstr.c (ASSERT): Likewise.
41444         * tests/test-strtod.c (ASSERT): Likewise.
41445         * tests/test-trunc1.c (ASSERT): Likewise.
41446         * tests/test-trunc2.c (ASSERT): Likewise.
41447         * tests/test-truncf1.c (ASSERT): Likewise.
41448         * tests/test-truncf2.c (ASSERT): Likewise.
41449         * tests/test-truncl.c (ASSERT): Likewise.
41450         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
41451         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
41452         * tests/test-vasnprintf.c (ASSERT): Likewise.
41453         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
41454         * tests/test-vasprintf.c (ASSERT): Likewise.
41455         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
41456         * tests/test-vprintf-posix.c (ASSERT): Likewise.
41457         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
41458         * tests/test-vsnprintf.c (ASSERT): Likewise.
41459         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
41460         * tests/test-wcwidth.c (ASSERT): Likewise.
41461         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
41462         * tests/test-xprintf-posix.c (ASSERT): Likewise.
41463         * tests/test-xvasprintf.c (ASSERT): Likewise.
41464         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
41465         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
41466         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
41467         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
41468         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
41469         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
41470         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
41471         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
41472         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
41473         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
41474         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
41475         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
41476         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
41477         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
41478         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
41479         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
41480         * tests/unictype/test-block_list.c (ASSERT): Likewise.
41481         * tests/unictype/test-block_of.c (ASSERT): Likewise.
41482         * tests/unictype/test-block_test.c (ASSERT): Likewise.
41483         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
41484         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
41485         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
41486         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
41487         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
41488         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
41489         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
41490         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
41491         * tests/unictype/test-combining.c (ASSERT): Likewise.
41492         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
41493         * tests/unictype/test-digit.c (ASSERT): Likewise.
41494         * tests/unictype/test-mirror.c (ASSERT): Likewise.
41495         * tests/unictype/test-numeric.c (ASSERT): Likewise.
41496         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
41497         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
41498         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
41499         * tests/unictype/test-scripts.c (ASSERT): Likewise.
41500         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
41501         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
41502         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
41503         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
41504         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
41505         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
41506         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
41507         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
41508         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
41509         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
41510         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
41511         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
41512         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
41513         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
41514         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
41515         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
41516         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
41517         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
41518         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
41519         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
41520         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
41521         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
41522         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
41523         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
41524         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
41525         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
41526         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
41527         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
41528         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
41529         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
41530         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
41531         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
41532         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
41533         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
41534         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
41535         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
41536         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
41537         Reported by Eric Blake.
41538
41539 2008-04-11  Bruno Haible  <bruno@clisp.org>
41540
41541         * lib/wchar.in.h: Tweak comment.
41542
41543 2008-04-11  Bruno Haible  <bruno@clisp.org>
41544
41545         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
41546         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
41547         gl_COMMON.
41548         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
41549
41550 2008-04-11  Bruno Haible  <bruno@clisp.org>
41551
41552         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
41553
41554 2008-04-11  Simon Josefsson  <simon@josefsson.org>
41555
41556         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
41557         of attempting to use non-existing /dev/*random.  Based on patch
41558         from Adam Strzelecki <ono@java.pl> in
41559         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
41560
41561 2008-04-08  Bruno Haible  <bruno@clisp.org>
41562
41563         Add tentative support for emx+gcc.
41564         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
41565         * lib/fpurge.c (fpurge): Likewise.
41566         * lib/freadable.c (freadable): Likewise.
41567         * lib/freadahead.c (freadahead): Likewise.
41568         * lib/freading.c (freading): Likewise.
41569         * lib/freadptr.c (freadptr): Likewise.
41570         * lib/freadseek.c (freadptrinc): Likewise.
41571         * lib/fseeko.c (rpl_fseeko): Likewise.
41572         * lib/fseterr.c (fseterr): Likewise.
41573         * lib/fwritable.c (fwritable): Likewise.
41574         * lib/fwriting.c (fwriting): Likewise.
41575         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
41576
41577 2008-04-09  Eric Blake  <ebb9@byu.net>
41578
41579         Avoid some autoconf warnings.
41580         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
41581         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
41582         * m4/afs.m4 (gl_AFS): Likewise.
41583         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
41584         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
41585         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41586         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
41587         (gl_INTEGER_TYPE_SUFFIX): Likewise.
41588         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
41589         (AC_CHECK_DECLS_ONCE): Likewise.
41590         Rename file...
41591         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
41592         gnulib-tool requires autoconf 2.59 or better.
41593         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
41594
41595 2008-04-08  Eric Blake  <ebb9@byu.net>
41596
41597         Use 'git describe --match' if present (added in git 1.5.5).
41598         * build-aux/git-version-gen: Limit result to tags that match 'v*'
41599         if possible.
41600
41601 2008-04-08  Bruno Haible  <bruno@clisp.org>
41602
41603         Add tentative support for OpenServer.
41604         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
41605         _ptr, _cnt.
41606         * lib/fpurge.c (fpurge): Likewise.
41607         * lib/freadable.c (freadable): Likewise.
41608         * lib/freadahead.c (freadahead): Likewise.
41609         * lib/freading.c (freading): Likewise.
41610         * lib/freadptr.c (freadptr): Likewise.
41611         * lib/freadseek.c (freadptrinc): Likewise.
41612         * lib/fseeko.c (rpl_fseeko): Likewise.
41613         * lib/fseterr.c (fseterr): Likewise.
41614         * lib/fwritable.c (fwritable): Likewise.
41615         * lib/fwriting.c (fwriting): Likewise.
41616         Reported by Roger Cornelius <rac@tenzing.org> and
41617         Brian K. White <brian@aljex.com>.
41618
41619 2008-04-06  Jim Meyering  <meyering@redhat.com>
41620
41621         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
41622
41623 2008-04-06  Bruno Haible  <bruno@clisp.org>
41624
41625         Avoid possible error with non-ASCII bytes in UTF-8 locales.
41626         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
41627         * tests/test-printf-posix.sh: Likewise.
41628         * tests/test-vfprintf-posix.sh: Likewise.
41629         * tests/test-vprintf-posix.sh: Likewise.
41630         * tests/test-xprintf-posix.sh: Likewise.
41631
41632 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41633
41634         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
41635         hide error from 'ls', needed on OS/2.
41636         Report by Elbert Pol <elbert.pol@gmail.com>.
41637
41638 2008-04-04  Eric Blake  <ebb9@byu.net>
41639
41640         Make test-fseeko.c failures meaningful.
41641         * tests/test-fseeko.c: Print line number on failure.
41642         * tests/test-fseek.c: Likewise.
41643         Reported by Nelson H. F. Beebe.
41644
41645         Improve strtod bug detection check.
41646         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
41647         required for Solaris 10.
41648         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
41649
41650 2008-04-04  Bruno Haible  <bruno@clisp.org>
41651
41652         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
41653         by m4/setenv.m4.
41654
41655 2008-04-03  Eric Blake  <ebb9@byu.net>
41656
41657         Ensure sane .version contents.
41658         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
41659         version string.
41660         * build-aux/git-version-gen: Improve documentation.
41661
41662         Make GNU make output nicer.
41663         * top/GNUmakefile [!_have-Makefile]: Add dependency on
41664         MAKECMDGOALS to enforce message for all command line targets.  Set
41665         srcdir for use in maint.mk.
41666
41667         Another maintainer tweak.
41668         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
41669         a target that regenerates version.
41670
41671 2008-04-03  Jim Meyering  <meyering@redhat.com>
41672
41673         vc-list-files: don't cause coreutils "make po-check" failure
41674         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
41675
41676 2008-04-03  Eric Blake  <ebb9@byu.net>
41677
41678         Allow VPATH usage of vc-list-files.
41679         * build-aux/vc-list-files (scriptversion): Add timestamp.
41680         (options): Add --help, --version, -C.
41681         (CVS): Support installed cvsu.
41682
41683 2008-04-02  Bruno Haible  <bruno@clisp.org>
41684
41685         Avoid some "statement with no effect" warnings from gcc.
41686         * tests/test-wctype.c (main): Explicitly ignore unused values.
41687         Reported by Jim Meyering.
41688
41689 2008-04-02  Jim Meyering  <meyering@redhat.com>
41690
41691         Avoid some warnings from "gcc -Wshadow".
41692         * tests/test-frexp.c (exp): Define to a different identifier.
41693         * tests/test-frexpl.c (exp): Likewise.
41694
41695 2008-04-03  Jim Meyering  <meyering@redhat.com>
41696
41697         bootstrap: remove dangling *.[ch] symlinks from lib
41698         * build-aux/bootstrap [dangling symlink removal]: Move find's
41699         -depth option to precede all others, to avoid a warning.
41700         Remove *.[ch] files too, and from "$source_base" (usually lib/).
41701
41702 2008-04-02  Bruno Haible  <bruno@clisp.org>
41703
41704         Avoid some warnings from "gcc -Wshadow".
41705         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
41706         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
41707         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
41708         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
41709         Reported by Jim Meyering.
41710
41711 2008-04-01  Bruno Haible  <bruno@clisp.org>
41712
41713         Fix test to work on IRIX 6.5 with cc.
41714         * tests/test-math.c (numeric_equal): New function.
41715         (main): Use it.
41716
41717 2008-04-01  Bruno Haible  <bruno@clisp.org>
41718
41719         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
41720
41721 2008-04-01  Bruno Haible  <bruno@clisp.org>
41722
41723         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
41724         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41725         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
41726         (Depends-on): Remove math.
41727
41728         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
41729         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41730         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
41731         (Depends-on): Remove math.
41732
41733         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
41734         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41735         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
41736         (Depends-on): Remove math.
41737         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
41738         (Depends-on): Remove math.
41739
41740         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
41741         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41742         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
41743         (Depends-on): Remove math.
41744         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
41745         (Depends-on): Remove math.
41746
41747         * tests/test-round1.c: Include nan.h.
41748         (main): Use NaNd instead of NAN.
41749         * modules/round-tests (Files): Add tests/nan.h.
41750
41751         * tests/test-trunc1.c: Include nan.h.
41752         (main): Use NaNd instead of NAN.
41753         * modules/trunc-tests (Files): Add tests/nan.h.
41754
41755         * tests/test-roundf1.c: Include nan.h.
41756         (main): Use NaNf instead of NAN.
41757         * modules/roundf-tests (Files): Add tests/nan.h.
41758
41759         * tests/test-truncf1.c: Include nan.h.
41760         (main): Use NaNf instead of NAN.
41761         * modules/truncf-tests (Files): Add tests/nan.h.
41762
41763         * tests/test-ceilf1.c: Include nan.h.
41764         (main): Use NaNf instead of NAN.
41765         * modules/ceilf-tests (Files): Add tests/nan.h.
41766
41767         * tests/test-floorf1.c: Include nan.h.
41768         (main): Use NaNf instead of NAN.
41769         * modules/floorf-tests (Files): Add tests/nan.h.
41770
41771         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
41772         (main): Use NaNf instead of NAN.
41773         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
41774
41775         * tests/test-isnand.c: Include nan.h instead of <math.h>.
41776         (main): Use NaNd instead of NAN.
41777         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
41778
41779         * tests/test-frexp.c: Include nan.h.
41780         (main): Use NaNd instead of NAN.
41781         * modules/frexp-tests (Files): Add tests/nan.h.
41782
41783         * lib/isnan.c: Don't include <math.h>.
41784         (FUNC): Don't use NAN macro.
41785         * modules/isnand-nolibm (Depends-on): Remove math.
41786         * modules/isnanf-nolibm (Depends-on): Remove math.
41787         * modules/isnanl (Depends-on): Remove math.
41788         * modules/isnanl-nolibm (Depends-on): Remove math.
41789
41790         * tests/nan.h: New file.
41791
41792 2008-04-01  Eric Blake  <ebb9@byu.net>
41793
41794         Fix typos.
41795         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
41796         values to be the right type.
41797
41798         For now, cater to gnulib strtod inaccuracies.
41799         * tests/test-strtod.c (main): Allow 1-ulp error on expected
41800         fractional results.  While not as nice from a QoI perspective, it
41801         is a quicker patch than correctly implementing decimal to binary
41802         rounding.
41803
41804 2008-03-31  Eric Blake  <ebb9@byu.net>
41805
41806         Guarantee a definition of NAN.
41807         * lib/math.in.h (NAN): Define if missing.
41808         * tests/test-math.c (main): Test it.
41809         * doc/posix-headers/math.texi (math.h): Document this.
41810         * lib/isnan.c (rpl_isnand): Use it.
41811         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
41812         * tests/test-floorf1.c (NaN): Likewise.
41813         * tests/test-frexp.c (NaN): Likewise.
41814         * tests/test-isnand.c (NaN): Likewise.
41815         * tests/test-isnanf.c (NaN): Likewise.
41816         * tests/test-round1.c (NaN): Likewise.
41817         * tests/test-roundf1.c (NaN): Likewise.
41818         * tests/test-snprintf-posix.h (NaN): Likewise.
41819         * tests/test-sprintf-posix.h (NaN): Likewise.
41820         * tests/test-trunc1.c (NaN): Likewise.
41821         * tests/test-truncf1.c (NaN): Likewise.
41822         * tests/test-vasnprintf-posix.c (NaN): Likewise.
41823         * tests/test-vasprintf-posix.c (NaN): Likewise.
41824         * modules/isnand-nolibm (Depends-on): Add math.
41825         * modules/isnanf-nolibm (Depends-on): Likewise.
41826         * modules/isnanl (Depends-on): Likewise.
41827         * modules/isnanl-nolibm (Depends-on): Likewise.
41828         * modules/snprintf-posix-tests (Depends-on): Likewise.
41829         * modules/sprintf-posix-tests (Depends-on): Likewise.
41830         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
41831         * modules/vsprintf-posix-tests (Depends-on): Likewise.
41832         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
41833         * modules/vasprintf-posix-tests (Depends-on): Likewise.
41834
41835 2008-03-31  Bruno Haible  <bruno@clisp.org>
41836
41837         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
41838         * doc/posix-functions/strtod.texi: Likewise.
41839
41840 2008-03-31  Bruno Haible  <bruno@clisp.org>
41841
41842         * tests/test-strtod.c (main): Don't use C99 syntax.
41843
41844 2008-03-31  Bruno Haible  <bruno@clisp.org>
41845
41846         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
41847         Reported by Eric Blake.
41848
41849 2008-03-31  Jim Meyering  <meyering@redhat.com>
41850
41851         Don't compare actual signbit return values.
41852         * tests/test-strtod.c (main): Rather, compare only their
41853         zero/non-zero nature.
41854
41855 2008-03-31  Eric Blake  <ebb9@byu.net>
41856
41857         More strtod documentation.
41858         * doc/posix-functions/strtod.texi (strtod): Interpret more test
41859         failures as distinct bugs.
41860
41861 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41862
41863         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
41864         Problem reported by Erik Benada in
41865         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
41866
41867 2008-03-30  Bruno Haible  <bruno@clisp.org>
41868
41869         * tests/test-strtod.c: Add comments about which assertion fails on which
41870         platform.
41871         * doc/posix-functions/strtod.texi: Add info about many more platforms.
41872
41873 2008-03-30  Eric Blake  <ebb9@byu.net>
41874
41875         Test signbit behavior on zeros.
41876         * tests/test-signbit.c (test_signbitf): Add tests for zero.
41877         (test_signbitd, test_signbitl): Likewise.
41878
41879         More strtod touchups.
41880         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
41881         sign of negative underflow, for now.  Use .5, not .1.
41882         * doc/posix-functions/strtod.texi (strtod): Mention these
41883         limitations.
41884         Reported by Jim Meyering.
41885
41886 2008-03-30  Bruno Haible  <bruno@clisp.org>
41887
41888         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
41889         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
41890
41891 2008-03-30  Bruno Haible  <bruno@clisp.org>
41892
41893         Avoid failure when attempting to return empty iconv results on some
41894         platforms.
41895         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
41896         allocation, don't report ENOMEM when the resulting string is empty.
41897
41898 2008-03-30  Bruno Haible  <bruno@clisp.org>
41899
41900         Fix buffer overrun.
41901         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
41902         Don't consider the width for tmp_length. Check count against tmp_length
41903         before doing the padding. Ensure enough allocation during padding.
41904
41905 2008-03-30  Eric Blake  <ebb9@byu.net>
41906
41907         strtod touchups.
41908         * lib/strtod.c (strtod): Avoid compiler warnings.
41909         Reported by Jim Meyering.
41910
41911 2008-03-30  Bruno Haible  <bruno@clisp.org>
41912
41913         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
41914         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
41915         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
41916         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
41917         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
41918         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
41919         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
41920         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
41921
41922         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
41923         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
41924         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
41925         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
41926         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
41927         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
41928         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
41929         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
41930
41931         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
41932         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
41933         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
41934         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
41935         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
41936         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
41937         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
41938         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
41939
41940         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
41941         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
41942
41943         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
41944         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
41945
41946         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
41947         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
41948
41949         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
41950         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
41951         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
41952
41953         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
41954         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
41955         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
41956
41957         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
41958         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
41959         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
41960
41961         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
41962         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
41963         * modules/vasprintf (Depends-on): Add EOVERFLOW.
41964
41965         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
41966         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
41967         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
41968         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
41969         (Depends-on): Add EOVERFLOW.
41970         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
41971         (Depends-on): Add EOVERFLOW.
41972         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41973         (Depends-on): Add EOVERFLOW.
41974         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41975         (Depends-on): Add EOVERFLOW.
41976         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41977         (Depends-on): Add EOVERFLOW.
41978         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41979         (Depends-on): Add EOVERFLOW.
41980         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41981         (Depends-on): Add EOVERFLOW.
41982         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41983         (Depends-on): Add EOVERFLOW.
41984
41985         * lib/sprintf.c (EOVERFLOW): Remove fallback.
41986         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
41987         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
41988
41989         * lib/snprintf.c (EOVERFLOW): Remove fallback.
41990         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
41991         * modules/snprintf (Depends-on): Add EOVERFLOW.
41992
41993         * lib/poll.c (EOVERFLOW): Remove fallback.
41994         * modules/poll (Depends-on): Add EOVERFLOW.
41995
41996         * lib/getugroups.c (EOVERFLOW): Remove fallback.
41997         * modules/getugroups (Depends-on): Add EOVERFLOW.
41998
41999         * lib/getdelim.c (EOVERFLOW): Remove fallback.
42000         * modules/getdelim (Depends-on): Add EOVERFLOW.
42001
42002         * lib/ftell.c (EOVERFLOW): Remove fallback.
42003         * modules/ftell (Depends-on): Add EOVERFLOW.
42004
42005         * lib/fprintf.c (EOVERFLOW): Remove fallback.
42006         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
42007         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
42008
42009         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
42010
42011         * modules/EOVERFLOW-tests: New file.
42012         * tests/test-EOVERFLOW.c: New file.
42013
42014         * modules/EOVERFLOW: New file.
42015         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
42016
42017 2008-03-30  Bruno Haible  <bruno@clisp.org>
42018
42019         Fix bug introduced on 2007-06-10.
42020         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
42021         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
42022
42023 2008-03-30  Bruno Haible  <bruno@clisp.org>
42024
42025         Improve freadseek's efficiency after ungetc.
42026         * lib/freadseek.c: Include freadahead.h.
42027         (freadptrinc): New function, extracted from freadseek.
42028         (freadseek): Use it in a loop. Use freadahead to determine the number
42029         of loop iterations.
42030         * modules/freadseek (Depends-on): Add freadahead.
42031         (configure.ac): Require AC_C_INLINE.
42032
42033 2008-03-30  Bruno Haible  <bruno@clisp.org>
42034
42035         * lib/freadseek.c (freadseek): Don't ignore the return value of
42036         freadptr.
42037
42038 2008-03-29  Eric Blake  <ebb9@byu.net>
42039
42040         Add hex float support.
42041         * modules/strtod (Depends-on): Add c-ctype.
42042         (Link): Mention POW_LIB.
42043         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
42044         whitespace between 'e' and exponent.
42045         * tests/test-strtod.c (main): Enable hex float tests.
42046         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
42047         now provides.
42048
42049         Document various strtod bugs, with some fixes.
42050         * doc/posix-functions/strtod.texi (strtod): Document bugs with
42051         "-0x", "inf", "nan", and hex constants.
42052         * doc/posix-functions/atof.texi (atof): Likewise.
42053         * modules/stdlib (Makefile.am): Support strtod.
42054         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42055         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
42056         detect additional strtod bugs.
42057         * lib/stdlib.in.h (rpl_strtod): Add declarations.
42058         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
42059         bool where appropriate.  Parse 'inf' and 'nan'.
42060         * tests/test-strtod.c: New file.
42061         * modules/strtod (Depends-on): Add stdbool, stdlib.
42062         (configure.ac): Turn on module indicator.
42063         * modules/strtod-tests: New module.
42064
42065 2008-03-29  Eric Blake  <ebb9@byu.net>
42066
42067         Fix ftell on mingw.
42068         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
42069         * modules/ftell-tests (Depends-on): Add binary-io.
42070         * modules/ftello-tests (Depends-on): Likewise.
42071         * tests/test-ftell.c (main): Enhance test to cover behavior after
42072         ungetc.  Enforce binary mode.
42073         * tests/test-ftello.c (main): Likewise.
42074
42075         Pass test-freadseek on cygwin.
42076         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
42077         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
42078         ungetc buffer.
42079
42080         * tests/test-fflush2.c (main): Fix typo.
42081
42082 2008-03-29  Bruno Haible  <bruno@clisp.org>
42083
42084         * tests/test-fflush2.c (main): Temporarily disable the contents of
42085         this test.
42086         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
42087         Reported by Eric Blake.
42088
42089 2008-03-28  Simon Josefsson  <simon@josefsson.org>
42090
42091         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
42092         (GC_SHA224_DIGEST_SIZE): Add.
42093
42094         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
42095         (gc_hash_digest_length): Likewise.
42096         (gc_hash_buffer): Likewise.
42097
42098 2008-03-25  Bruno Haible  <bruno@clisp.org>
42099
42100         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
42101         detail which gettext release to use.
42102         Reported by Simon Josefsson.
42103
42104 2008-03-26  Jim Meyering  <meyering@redhat.com>
42105
42106         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
42107         * modules/gnumakefile (clean-GNUmakefile): Also, use
42108         test ... && ... || : syntax rather than if-then ... fi.
42109
42110         gnumakefile: Don't double-quote-expand $(VPATH) value.
42111         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
42112
42113 2008-03-24  Eric Blake  <ebb9@byu.net>
42114
42115         Alter GNUmakefile to install into top directory.
42116         * modules/maintainer-makefile: Split, and add dependency...
42117         * modules/gnumakefile: to this new module.
42118         * build-aux/GNUmakefile: Move...
42119         * top/GNUmakefile: ...here.
42120         * build-aux/maint.mk: Move...
42121         * top/maint.mk: ...here.
42122         * MODULES.html.sh (Support for maintaining...): Document new
42123         module.
42124
42125 2008-03-23  Bruno Haible  <bruno@clisp.org>
42126
42127         * gnulib-tool: New options --vc-files, --no-vc-files.
42128         (func_usage): Document them.
42129         (vc_files): New variable.
42130         (func_import): Consider vc_files.
42131         (func_create_testdir): Set vc_files to empty.
42132         Suggested by Jim Meyering and Karl Berry.
42133
42134 2008-03-23  Bruno Haible  <bruno@clisp.org>
42135
42136         Fix regex compilation error on HP-UX 11.
42137         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
42138         * modules/regex (Files): Add m4/mbstate_t.m4.
42139         Reported by Ton Voon <ton.voon@altinity.com>.
42140
42141 2008-03-23  Bruno Haible  <bruno@clisp.org>
42142
42143         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
42144
42145 2008-03-23  Eric Blake  <ebb9@byu.net>
42146             Bruno Haible  <bruno@clisp.org>
42147
42148         Install files from top/ in the destination directory.
42149         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
42150         augmentation also for the files from top/.
42151         (func_import, func_create_testdir): Rewrite file names:
42152         top/filename -> filename.
42153
42154 2008-03-23  Bruno Haible  <bruno@clisp.org>
42155
42156         Tweak "gnulib --version" output.
42157         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
42158
42159 2008-03-23  Bruno Haible  <bruno@clisp.org>
42160
42161         Tweak "gnulib --version" output.
42162         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
42163         rather than contents of ChangeLog, when possible.
42164
42165 2008-03-21  Eric Blake  <ebb9@byu.net>
42166
42167         More --version tweaks.
42168         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
42169         date of last ChangeLog entry.
42170
42171 2008-03-21  Jim Meyering  <meyering@redhat.com>
42172
42173         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
42174
42175 2008-03-20  Eric Blake  <ebb9@byu.net>
42176
42177         VPATH fix.
42178         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
42179
42180 2008-03-20  Simon Josefsson  <simon@josefsson.org>
42181
42182         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
42183         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
42184
42185 2008-03-20  Eric Blake  <ebb9@byu.net>
42186
42187         Sync GNUmakefile with coreutils.
42188         * build-aux/GNUmakefile (have-Makefile): Rename...
42189         (_have-Makefile): ...to this, for namespace consideration.
42190         (GNUmakefile.cfg): Include, if present.
42191         (_autoreconf): Define a default.
42192         (_is-dist-target): New rule for rebuilds to pick up intra-release
42193         version.
42194         (maint-cfg.mk): Rename...
42195         (cfg.mk): ...to this.
42196
42197 2008-03-18  Jim Meyering  <meyering@redhat.com>
42198
42199         New script and module: mktempd
42200         * MODULES.html.sh (maint+release support): Add mktempd.
42201         * build-aux/mktempd: New file.
42202         * modules/mktempd: New file.
42203
42204 2008-03-15  Jim Meyering  <meyering@redhat.com>
42205
42206         Undo last change.
42207         * lib/sha1.c, lib/md5.c: 63 != ~63.
42208         Reported by Andreas Schwab.
42209
42210         sha1.c, md5.c: Hoist a redundant expression.
42211         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
42212         "ctx->buflen" only once, before calling *_process_block.
42213         * lib/md5.c (md5_process_bytes): Likewise.
42214
42215 2008-03-14  Eric Blake  <ebb9@byu.net>
42216
42217         Bump copyright year in files generated by gnulib-tool.
42218         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
42219         gnulib-tool, rather than hard-coding it.
42220
42221         Fix 'gnulib-tool --version' output to work with git.
42222         * gnulib-tool (func_gnulib_dir): New function, extracted from...
42223         (startup): ...here.
42224         (func_version): Use it to invoke git-version-gen, rather than
42225         relying on CVS keyword expansion.  Modernize wording.
42226         (cvsdatestamp, last_checkin_date, version): Kill unused
42227         variables.
42228
42229 2008-03-12  Jim Meyering  <meyering@redhat.com>
42230
42231         Recognize optional cast of the argument to free.
42232         * build-aux/useless-if-before-free: Update regexps.
42233
42234         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
42235
42236 2008-03-11  Bruno Haible  <bruno@clisp.org>
42237
42238         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
42239         by a single package.
42240         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
42241         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
42242         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
42243         Reported by Sam Steingold <sds@gnu.org>.
42244
42245 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42246
42247         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
42248         repositories.
42249
42250 2008-03-11  Bruno Haible  <bruno@clisp.org>
42251
42252         Avoid conflicts between local macro definitions.
42253         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42254         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
42255
42256 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
42257             Bruno Haible  <bruno@clisp.org>
42258
42259         Make va_copy work with some version of xlc on AIX 5.1.
42260         * lib/stdarg.in.h: New file.
42261         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
42262         On AIX, use a <stdarg.h> file substitute.
42263         * modules/stdarg (Files): Add lib/stdarg.in.h.
42264         (Depends-on): Add include_next.
42265         (Makefile.am): Build a stdarg.h substitute if requested.
42266         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
42267
42268 2008-03-10  Bruno Haible  <bruno@clisp.org>
42269
42270         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
42271         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42272         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42273
42274 2008-03-10  Bruno Haible  <bruno@clisp.org>
42275
42276         * modules/stdlib (Depends-on): Add include_next, remove
42277         absolute-header.
42278
42279 2008-03-09  Bruno Haible  <bruno@clisp.org>
42280
42281         * lib/freadahead.h (freadahead): Document more precisely.
42282         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
42283         the sum of both buffer sizes.
42284         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
42285         * NEWS: Document the change.
42286
42287 2008-03-09  Bruno Haible  <bruno@clisp.org>
42288
42289         Extend freadptr to return also the buffer size.
42290         * lib/freadptr.h (freadptr): Add sizep argument.
42291         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
42292         (freadptr): Add sizep argument. Determine buffer size like freadahead
42293         does.
42294         * tests/test-freadptr.c: Don't include freadahead.h.
42295         (main): Adapt for new calling convention of freadptr.
42296         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
42297         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
42298         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
42299         tests/test-freadptr2.sh.
42300         (Depends): Remove freadahead.
42301         (TESTS): Add test-freadptr2.sh.
42302         (check_PROGRAMS): Add test-freadptr2.
42303
42304 2008-03-09  Bruno Haible  <bruno@clisp.org>
42305
42306         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
42307         Report and solution by Simon Josefsson.
42308
42309 2008-03-06  Bruno Haible  <bruno@clisp.org>
42310
42311         Make fflush after ungetc work on BSD platforms.
42312         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
42313         * tests/test-fflush2.c: New file.
42314         * tests/test-fflush2.sh: New file.
42315         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
42316         tests/test-fflush2.c.
42317         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
42318         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
42319
42320 2008-03-06  Eric Blake  <ebb9@byu.net>
42321
42322         Likewise for ftello.
42323         * modules/ftello (Dependencies): Add extensions.
42324         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
42325
42326 2008-03-06  Bruno Haible  <bruno@clisp.org>
42327
42328         * modules/fseeko (Dependencies): Add extensions.
42329         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
42330         Needed on glibc systems.
42331
42332 2008-03-06  Bruno Haible  <bruno@clisp.org>
42333
42334         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
42335         email address.
42336         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42337
42338 2008-03-06  Bruno Haible  <bruno@clisp.org>
42339
42340         * users.txt: Add libgnupdf.
42341
42342 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
42343
42344         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
42345         (Header File Substitutes, Function Substitutes,
42346         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
42347         (Build robot for gnulib): Fix typo.
42348
42349 2008-03-06  Bruno Haible  <bruno@clisp.org>
42350
42351         * doc/gnulib-tool.texi (VCS Issues): Small updates.
42352         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42353
42354 2008-03-06  Bruno Haible  <bruno@clisp.org>
42355
42356         * doc/func.texi: New file, extracted from doc/gnulib.texi.
42357         * doc/gnulib.texi: Include it.
42358
42359 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42360
42361         * modules/func (License): Change license to unlimited; there was
42362         no LGPL parts in the module anyway.
42363
42364 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42365
42366         * modules/__func__: Renamed to modules/func.
42367         * modules/__func__-tests: Renamed to modules/func-tests.
42368         * tests/test-__func__.c: Renamed to tests/test-func.c.
42369         * m4/__func__.m4: Renamed to m4/func.m4.
42370         * doc/gnulib.texi (__func__): Section renamed to func.
42371         Suggested by Eric Blake <ebb9@byu.net>.
42372
42373 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42374
42375         * doc/gnulib.texi (__func__): Use C99 terminology when talking
42376         about __func__.  Make example self-contained.  Suggested by Eric
42377         Blake <ebb9@byu.net>.
42378
42379         * tests/test-__func__.c (main): Avoid extraneous () around __func.
42380         Suggested by Eric Blake <ebb9@byu.net>.
42381
42382 2008-03-06  Simon Josefsson  <simon@josefsson.org>
42383
42384         * modules/__func__: New file.
42385         * modules/__func__-tests: New file.
42386         * tests/test-__func__.c: New file.
42387         * m4/__func__.m4: New file.
42388         * doc/gnulib.texi (__func__): Document __func__ module.
42389
42390 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42391
42392         * modules/byteswap (License): Re-license as LGPLv2+.
42393
42394 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42395
42396         * doc/Makefile: Add pdf target.
42397
42398 2008-03-05  Simon Josefsson  <simon@josefsson.org>
42399
42400         * modules/inline (License): Use 'unlimited', since there are only
42401         *.m4 files in this module.
42402
42403 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42404             Bruno Haible  <bruno@clisp.org>
42405
42406         Add support for HP C 7.1 on OpenVMS 8.3.
42407         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
42408
42409 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
42410
42411         Update VMS specifics.
42412         * lib/getopt.c [VMS]: Remove include of unixlib.h.
42413
42414 2008-03-02  Jim Meyering  <meyering@redhat.com>
42415
42416         Remove the last dependency on the "free" module.
42417         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
42418         Reported by Bob Proulx.
42419
42420         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
42421
42422         Remove useless "if" tests before free.  Deprecate "free" module.
42423         * doc/posix-functions/free.texi: Mention that this
42424         module is no longer useful.
42425         * modules/free (Notice): Say this module is obsolete.
42426         * modules/readutmp (Depends-on): Remove free.
42427         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
42428         * lib/putenv.c (putenv): Likewise.
42429         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
42430         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
42431         * tests/test-c-strcasestr.c (main): Likewise.
42432         * tests/test-c-strstr.c (main): Likewise.
42433         * tests/test-mbscasestr1.c (main): Likewise.
42434         * tests/test-mbscasestr2.c (main): Likewise.
42435         * tests/test-mbsstr1.c (main): Likewise.
42436         * tests/test-mbsstr2.c (main): Likewise.
42437         * tests/test-memmem.c (main): Likewise.
42438         * tests/test-strcasestr.c (main): Likewise.
42439         * tests/test-striconv.c (main): Likewise.
42440         * tests/test-striconveh.c (main): Likewise.
42441         * tests/test-striconveha.c (main): Likewise.
42442         * tests/test-strstr.c (main): Likewise.
42443
42444         * build-aux/git-version-gen: Adjust a comment and the Usage string.
42445
42446         bootstrap: sync from coreutils again
42447         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
42448
42449 2008-03-01  Jim Meyering  <meyering@redhat.com>
42450
42451         bootstrap: sync from coreutils
42452         * build-aux/bootstrap (update_po_files): Copy a .po file into place
42453         also when the target doesn't exist.
42454
42455 2008-03-01  Eric Blake  <ebb9@byu.net>
42456
42457         Fix bugs in last patch.
42458         * lib/memchr2.c (memchr2): Fix typo.
42459         * tests/test-memchr2.c: Test previous bug, and don't use GNU
42460         extension.
42461         Reported by Bruce Korb.
42462
42463         New module 'memchr2'.
42464         * modules/memchr2: New file.
42465         * modules/memchr2-tests: Likewise.
42466         * lib/memchr2.h: Likewise.
42467         * lib/memchr2.c: Likewise, based on memchr.c.
42468         * tests/test-memchr2.c: New test.
42469         * MODULES.html.sh (String handling): Add memchr2.
42470
42471 2008-02-29  Bruno Haible  <bruno@clisp.org>
42472
42473         * modules/freadseek-tests: New file.
42474         * tests/test-freadseek.sh: New file.
42475         * tests/test-freadseek.c: New file.
42476
42477         New module 'freadseek'.
42478         * modules/freadseek: New file.
42479         * lib/freadseek.h: New file.
42480         * lib/freadseek.c: New file.
42481         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
42482
42483 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
42484
42485         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
42486         wydawca.
42487
42488         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
42489         program_invocation_name and program_invocation_short_name are
42490         present.
42491
42492 2008-02-28  Bruno Haible  <bruno@clisp.org>
42493
42494         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
42495         * tests/test-freadptr.sh: Also test non-seekable stdin.
42496
42497 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
42498
42499         * build-aux/bootstrap (source_base, m4_base)
42500         (doc_base, tests_base): New variables.
42501         (gnulib_tool_options): Do not hardcode base directories, use
42502         the above variables instead.
42503
42504 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
42505
42506         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
42507
42508 2008-02-28  Bruno Haible  <bruno@clisp.org>
42509
42510         * modules/freadptr-tests: New file.
42511         * tests/test-freadptr.sh: New file.
42512         * tests/test-freadptr.c: New file.
42513
42514         New module 'freadptr'.
42515         * modules/freadptr: New file.
42516         * lib/freadptr.h: New file.
42517         * lib/freadptr.c: New file.
42518         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
42519
42520 2008-02-26  Karl Berry  <karl@freefriends.org>
42521
42522         Sync from Libtool:
42523         * libltdl/argz.c (argz_add, argz_count): New functions.
42524         * libltdl/argz.in.h: Declare them.
42525         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
42526
42527 2008-02-22  Bruno Haible  <bruno@clisp.org>
42528
42529         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
42530         is a pointer type.  Needed for HP-UX 10.
42531         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
42532         * doc/posix-functions/gmtime_r.texi: Likewise.
42533         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
42534
42535 2008-02-24  Bruno Haible  <bruno@clisp.org>
42536
42537         * modules/environ-tests: New file.
42538         * tests/test-environ.c: New file.
42539
42540         New module 'environ'.
42541         * modules/environ: New file.
42542         * lib/unistd.in.h (environ): New declaration.
42543         * m4/environ.m4: New file.
42544         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
42545         after use.
42546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
42547         HAVE_DECL_ENVIRON.
42548         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
42549         HAVE_DECL_ENVIRON.
42550         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
42551         wrong claim that 'environ' is missing on some systems.
42552         * modules/execute (Depends-on): Add environ.
42553         * lib/execute.c (environ): Remove fallback declaration.
42554         * modules/pipe (Depends-on): Add environ.
42555         * lib/pipe.c (environ): Remove fallback declaration.
42556         * modules/setenv (Depends-on): Add environ.
42557         * lib/setenv.c (environ): Remove fallback declaration.
42558         * modules/unsetenv (Depends-on): Add environ.
42559         * lib/unsetenv.c (environ): Remove fallback declaration.
42560         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
42561         m4/environ.m4.
42562         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
42563         (gl_PREREQ_UNSETENV): Likewise.
42564
42565 2008-02-24  Bruno Haible  <bruno@clisp.org>
42566
42567         * doc/posix-functions/environ.texi: Document the MacOS X problem.
42568
42569 2008-02-20  Bob Proulx  <bob@proulx.com>
42570
42571         Enable use of older two part flavor 'git describe'.
42572         * build-aux/git-version-gen: If using the older two part flavor of
42573         git version then recreate the third part now present in the
42574         newer three part flavor of git describe.
42575
42576 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
42577
42578         * lib/fts.c (fts_build): Typo correction to comment.
42579
42580 2008-02-17  Bruno Haible  <bruno@clisp.org>
42581
42582         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
42583         generating no-op conflicts.
42584
42585 2008-02-17  Bruno Haible  <bruno@clisp.org>
42586
42587         Speed up by 10%.
42588         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
42589         result_entries, rather than an index-based loop.
42590
42591 2008-02-17  Bruno Haible  <bruno@clisp.org>
42592
42593         Speed up by 25%.
42594         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
42595         'hashcode_cached'.
42596         (entry_create): New function.
42597         (entry_hashcode): Use the cached hashcode if possible.
42598         (read_changelog_file, try_split_merged_entry): Use entry_create.
42599
42600 2008-02-17  Bruno Haible  <bruno@clisp.org>
42601
42602         Speed up from O(n^2) to O(n) for long ChangeLog files.
42603         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
42604         (read_changelog_file): Change implementation of entries_reversed list
42605         to rbtreehash.
42606         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
42607
42608 2008-02-17  Bruno Haible  <bruno@clisp.org>
42609
42610         New option --split-merged-entry.
42611         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
42612         (find_paragraph_end, try_split_merged_entry): New functions.
42613         (long_options): Add option --split-merged-entry.
42614         (usage): Document option --split-merged-entry.
42615         (main): Implement option --split-merged-entry.
42616         Reported by Eric Blake.
42617
42618 2008-02-17  Bruno Haible  <bruno@clisp.org>
42619
42620         * lib/git-merge-changelog.c: Include c-strstr.h.
42621         (main): Support the "git pull --rebase" situation.
42622         * modules/git-merge-changelog (Depends-on): Add c-strstr.
42623         Reported by Eric Blake.
42624
42625 2008-02-16  Eric Blake  <ebb9@byu.net>
42626
42627         Avoid doubling \ in common case of "c-maybe" quoting style.
42628         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
42629         eliding outer quotes.
42630         * lib/quotearg.h: Document this.
42631         * tests/test-quotearg.c (result_strings, inputs, results_g)
42632         (flag_results, locale_results): Test it by adding a new string to
42633         each test group.
42634         (compare_strings): Test new string.
42635
42636 2008-02-13  Eric Blake  <ebb9@byu.net>
42637
42638         Avoid trigraph quoting in default output.
42639         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
42640         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
42641         unless explicitly requested.
42642         * tests/test-quotearg.c (flag_results, main): Add additional tests.
42643
42644 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
42645
42646         Don't rely on signed integer overflowing to negative value.
42647         * lib/getugroups.c (getugroups): Include <limits.h>.
42648         Instead, compare against INT_MAX, and increment only if the test passes.
42649
42650 2008-02-13  Jim Meyering  <meyering@redhat.com>
42651         and Eric Blake  <ebb9@byu.net>
42652
42653         Avoid shadowing warning and compile errors on Linux.
42654         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
42655         forwarding macros on Linux.
42656         (dcgettext): Define a stub, for Linux.
42657         (results_g, main): Avoid warnings.
42658
42659 2008-02-12  Eric Blake  <ebb9@byu.net>
42660
42661         Silence warning in last patch.
42662         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
42663
42664         Quotearg part 4: add tests, fix c-maybe colon quoting.
42665         * lib/quotearg.h: Improve documentation.
42666         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
42667         escapes when adding outer quotes.  When quoting trigraphs, use
42668         valid C notation.  When quoting NUL, omit extra characters if next
42669         character is not digit.  Alter prototype.
42670         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
42671         callers.
42672         * modules/quotearg-tests: New module.
42673         * tests/test-quotearg.c: New test.
42674
42675 2008-02-07  Eric Blake  <ebb9@byu.net>
42676
42677         Quotearg part 3: add flag to control outer quote elision.
42678         * lib/quotearg.h (c_maybe_quoting_style): New style.
42679         (enum quoting_flags): Better documentation of flags.
42680         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
42681         c-maybe style.
42682         (quotearg_buffer_restyled): Handle new flag to elide outer
42683         quotes.
42684
42685         Quotearg part 2: add flag that can control NUL elision.
42686         * lib/quotearg.h (set_quoting_flags): New prototype.
42687         * lib/quotearg.c (struct quoting_options): Add flag field.
42688         (set_quoting_flags): New function.
42689         (quotearg_buffer_restyled): Add flags parameter.
42690         (quotearg_alloc_mem): Set the flag if length cannot be returned.
42691         (quotearg_n_options): Set the flag, since length cannot be
42692         returned.
42693         (quoting_options_from_style): Default flags correctly.
42694
42695         Quotearg part 1: more wrappers, restore quotearg_char state.
42696         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
42697         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
42698         (quotearg_colon_mem): New wrappers.
42699         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
42700         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
42701         functions.
42702         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
42703         (quotearg_colon_mem): New functions.
42704
42705 2008-02-11  Bruno Haible  <bruno@clisp.org>
42706
42707         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
42708         library in the current directory: it does not work with parallel make.
42709         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42710
42711 2008-02-11  Bruno Haible  <bruno@clisp.org>
42712
42713         * .gitattributes: New file.
42714
42715 2008-02-11  Jim Meyering  <meyering@redhat.com>
42716
42717         useless-if-before-free: Fix reversed exit values.
42718         * build-aux/useless-if-before-free: Use correct values
42719         for EXIT_MATCH and EXIT_NO_MATCH.
42720
42721         * build-aux/useless-if-before-free: Close stdout carefully.
42722
42723 2008-02-10  Bruno Haible  <bruno@clisp.org>
42724
42725         New module 'git-merge-changelog'.
42726         * modules/git-merge-changelog: New file.
42727         * lib/git-merge-changelog.c: New file.
42728
42729 2008-02-10  Jim Meyering  <meyering@redhat.com>
42730
42731         useless-if-before-free: New option: --list (-l).
42732
42733         useless-if-before-free: Don't exit immediately upon open failure.
42734         * build-aux/useless-if-before-free: Exit 2 for errors.
42735         Upon failure to open a file, don't exit immediately.
42736         Rather, just warn and continue with any remaining files.
42737
42738 2008-02-10  Bruno Haible  <bruno@clisp.org>
42739
42740         New abstract list operation 'node_set_value'.
42741         * lib/gl_list.h (gl_list_node_set_value): New function.
42742         (struct gl_list_implementation): New field node_set_value.
42743         * lib/gl_list.c (gl_list_node_set_value): New function.
42744         * lib/gl_array_list.c (gl_array_node_set_value): New function.
42745         (gl_array_list_implementation): Update.
42746         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
42747         (gl_carray_list_implementation): Update.
42748         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
42749         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
42750         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
42751         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
42752         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
42753         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
42754         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
42755         Update.
42756         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
42757         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
42758         (gl_sublist_list_implementation): Update.
42759
42760 2008-02-10  Bruno Haible  <bruno@clisp.org>
42761
42762         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
42763         Needed when ELEMENT is #defined to 'some_type *'.
42764
42765 2008-02-10  Jim Meyering  <meyering@redhat.com>
42766
42767         New script and module: useless-if-before-free
42768         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
42769         * build-aux/useless-if-before-free: New file.
42770         * modules/useless-if-before-free: New file.
42771
42772         * build-aux/gitlog-to-changelog: Use committer date, not author date.
42773
42774         xstrtol_error: Fix typo.
42775         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
42776         s/exit_failure/exit_status/.
42777
42778 2008-02-09  Jim Meyering  <meyering@redhat.com>
42779
42780         New script and module: gitlog-to-changelog
42781         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
42782         * modules/gitlog-to-changelog: New file.
42783         * build-aux/gitlog-to-changelog: New file.
42784
42785 2008-02-08  Jim Meyering  <meyering@redhat.com>
42786
42787         Avoid two "parameter unused" warnings.
42788         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
42789         Mark "st" as used.
42790
42791         Use "git COMMAND", not "git-COMMAND".
42792         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
42793         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
42794         * build-aux/git-version-gen: Use "git status", not "git-status".
42795
42796 2008-02-07  Bruno Haible  <bruno@clisp.org>
42797
42798         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
42799         Avoids a crash on Windows Vista.
42800         Reported by Adam Strzelecki <ono@java.pl> via
42801         Simon Josefsson <simon@josefsson.org>.
42802
42803 2008-02-06  Bruno Haible  <bruno@clisp.org>
42804
42805         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
42806         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
42807         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
42808         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
42809         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42810         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42811         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
42812         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
42813         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42814         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42815         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42816         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42817         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42818         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42819         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42820         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
42821         left-adjust flag.
42822         * tests/test-snprintf-posix.h (test_function): Likewise.
42823         * tests/test-sprintf-posix.h (test_function): Likewise.
42824         * tests/test-vasprintf-posix.c (test_function): Likewise.
42825         * doc/posix-functions/fprintf.texi: Update.
42826         * doc/posix-functions/printf.texi: Update.
42827         * doc/posix-functions/snprintf.texi: Update.
42828         * doc/posix-functions/sprintf.texi: Update.
42829         * doc/posix-functions/vfprintf.texi: Update.
42830         * doc/posix-functions/vprintf.texi: Update.
42831         * doc/posix-functions/vsnprintf.texi: Update.
42832         * doc/posix-functions/vsprintf.texi: Update.
42833         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42834
42835 2008-02-06  Bruno Haible  <bruno@clisp.org>
42836
42837         Fix bug introduced on 2008-01-26.
42838         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
42839
42840 2008-02-06  Bruno Haible  <bruno@clisp.org>
42841
42842         Fix bug introduced on 2007-06-10.
42843         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
42844         !NEED_PRINTF_FLAG_ZERO.
42845
42846 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
42847
42848         getloadavg: use libperfstat on AIX5
42849         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
42850
42851 2008-02-03  Bruno Haible  <bruno@clisp.org>
42852
42853         * lib/diffseq.h: Add comments about required #includes.
42854         Reported by Michael Biggs <gnulib@doubleplum.net>.
42855
42856 2008-02-01  Bruno Haible  <bruno@clisp.org>
42857
42858         * users.txt: Add gnuit.
42859
42860 2008-01-31  Bruno Haible  <bruno@clisp.org>
42861
42862         * lib/md4.c (set_uint32): Mark as inline.
42863         * lib/md5.c (set_uint32): Likewise.
42864         * lib/sha1.c (set_uint32): Likewise.
42865         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
42866         * m4/md5.m4 (gl_MD5): Likewise.
42867         * m4/sha1.m4 (gl_SHA1): Likewise.
42868
42869 2008-01-31  Jim Meyering  <meyering@redhat.com>
42870
42871         Use "sizeof VAR", rather than a literal "4".
42872         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
42873         * lib/md4.c (md4_read_ctx): Likewise.
42874         * lib/sha1.c (sha1_read_ctx): Likewise.
42875
42876 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42877
42878         * tests/test-sha1.c: New file, based on test-md5.c.
42879
42880         * modules/crypto/sha1-tests: New file.
42881
42882 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42883
42884         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
42885
42886 2008-01-31  Jim Meyering  <meyering@redhat.com>
42887
42888         Prefer "sizeof v" over the equivalent "4".
42889         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
42890         * lib/md5.c (set_uint32): Likewise.
42891         * lib/sha1.c (set_uint32): Likewise.
42892
42893 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42894
42895         * lib/sha1.c (set_uint32): Mark function as static.
42896
42897 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42898
42899         md2: clarify comments to say that alignment is not required.
42900         * lib/md2.h: Remove warning about alignment in comment.
42901         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
42902         never been required.
42903
42904 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42905
42906         md4: adapt alignment constraint fix from sha1.
42907         * lib/md4.c (set_uint32): New function, from sha1.c
42908         (md4_read_ctx): Use it.
42909         (md4_finish_ctx): Doc fix.
42910         * lib/md4.h: Doc fix.
42911
42912 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42913
42914         md5: adapt alignment constraint fix from sha1.
42915         * lib/md5.c (set_uint32): New function, from sha1.c
42916         (md5_read_ctx): Use it.
42917         (md5_finish_ctx): Doc fix.
42918         * lib/md5.h: Doc fix.
42919
42920 2008-01-30  Peter Palfrader  <weasel@debian.org>
42921
42922         sha1: remove the result buffer alignment constraint
42923         * lib/sha1.c (set_uint32): New function.
42924         (sha1_read_ctx): Rewrite to remove the result buffer alignment
42925         constraint.
42926         (sha1_finish_ctx): Remove comment warning about alignment constraint.
42927         * lib/sha1.h: Likewise.
42928
42929 2008-01-30  Andreas Schwab  <schwab@suse.de>
42930             Bruno Haible  <bruno@clisp.org>
42931
42932         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
42933         correct definition of LDBL_MIN_EXP.
42934
42935 2008-01-30  Karl Berry  <karl@gnu.org>
42936
42937         * config/srclist-update: try to preserve x bit on updates.
42938         * config/srclistvars.sh: update for karl.
42939
42940 2008-01-29  Jim Meyering  <meyering@redhat.com>
42941
42942         vasnprintf.c: Avoid warning about unused label
42943         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
42944         "overflow" label definition and associated code with the
42945         same cpp condition that guards the sole use of that label.
42946
42947 2008-01-26  Bruno Haible  <bruno@clisp.org>
42948
42949         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
42950         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
42951         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
42952         * lib/isnanl-nolibm.h (isnanl): Likewise.
42953         Reported by Paul Eggert <eggert@cs.ucla.edu>.
42954
42955 2008-01-26  Bruno Haible  <bruno@clisp.org>
42956
42957         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
42958         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
42959
42960 2008-01-26  Bruno Haible  <bruno@clisp.org>
42961
42962         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
42963         GCC >= 4.0 built-in.
42964         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
42965
42966 2008-01-26  Bruno Haible  <bruno@clisp.org>
42967
42968         Rename isnan, applicable to 'double' only, to isnand.
42969         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
42970         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
42971         (configure.ac): Update.
42972         (Include): Replace "isnan.h" with "isnand.h".
42973         * m4/isnand.m4: Renamed from m4/isnan.m4.
42974         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
42975         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
42976         instead of isnan.c.
42977         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
42978         instead of HAVE_ISNAN_IN_LIBC.
42979         (isnand): Renamed from isnan.
42980         * lib/isnand.c: New file.
42981         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
42982         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
42983         (Makefile.am): Update.
42984         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
42985         Include isnand.h instead of isnan.h.
42986         (main): Test isnand instead of isnan.
42987         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
42988         isnan-nolibm.
42989         * modules/frexp (Depends-on): Likewise.
42990         * modules/frexp-tests (Depends-on): Likewise.
42991         * modules/frexp-nolibm (Depends-on): Likewise.
42992         * modules/frexp-nolibm-tests (Depends-on): Likewise.
42993         * modules/isfinite (Depends-on): Likewise.
42994         * modules/round-tests (Depends-on): Likewise.
42995         * modules/signbit (Depends-on): Likewise.
42996         * modules/signbit-tests (Depends-on): Likewise.
42997         * modules/snprintf-posix (Depends-on): Likewise.
42998         * modules/sprintf-posix (Depends-on): Likewise.
42999         * modules/trunc-tests (Depends-on): Likewise.
43000         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43001         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43002         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43003         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43004         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43005         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43006         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43007         * modules/vasnprintf-posix (Depends-on): Likewise.
43008         * modules/vasprintf-posix (Depends-on): Likewise.
43009         * modules/vfprintf-posix (Depends-on): Likewise.
43010         * modules/vsnprintf-posix (Depends-on): Likewise.
43011         * modules/vsprintf-posix (Depends-on): Likewise.
43012         * lib/frexp.c: Include isnand.h instead of isnan.h.
43013         (ISNAN): Set to isnand instead of isnan.
43014         * lib/isfinite.c: Include isnand.h instead of isnan.h.
43015         (gl_isfinited): Use isnand instead of isnan.
43016         * lib/signbitd.c: Include isnand.h instead of isnan.h.
43017         (gl_signbitd): Use isnand instead of isnan.
43018         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
43019         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
43020         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
43021         (main): Use isnand instead of isnan.
43022         * tests/test-round1.c: Include isnand.h.
43023         (main): Use isnand instead of isnan.
43024         * tests/test-round2.c: Include isnand.h instead of isnan.h.
43025         (ISNAN): Set to isnand instead of isnan.
43026         * tests/test-trunc1.c: Include isnand.h.
43027         (main): Use isnand instead of isnan.
43028         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
43029         (equal): Use isnand instead of isnan.
43030         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
43031         isnand-nolibm.
43032         * NEWS: Mention the change.
43033
43034 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43035             Bruno Haible  <bruno@clisp.org>
43036
43037         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
43038         the GCC builtins for signbits are present and set
43039         REPLACE_SIGNBIT_USING_GCC if so.
43040         * lib/math.in.h (signbit): Define using GCC builtins if
43041         REPLACE_SIGNBIT_USING_GCC is set.
43042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
43043         REPLACE_SIGNBIT_USING_GCC.
43044         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
43045
43046 2008-01-25  Jim Meyering  <meyering@redhat.com>
43047
43048         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
43049         * lib/poll.c: Include <config.h>, not "config.h".
43050         * tests/test-getaddrinfo.c: Likewise.
43051
43052 2008-01-25  Simon Josefsson  <simon@josefsson.org>
43053
43054         * modules/sockets-tests: New file.
43055
43056 2008-01-24  Simon Josefsson  <simon@josefsson.org>
43057
43058         * modules/sockets: New module, can be used to call WSA_Startup and
43059         WSA_Cleanup when needed.
43060
43061         * lib/sockets.h, lib/sockets.c: New files.
43062
43063         * m4/sockets.m4: New file.
43064
43065         * tests/test-sockets.c: New file.
43066
43067 2008-01-19  Bruno Haible  <bruno@clisp.org>
43068
43069         * doc/posix-headers: Renamed from doc/headers.
43070         * doc/posix-functions: Renamed from doc/functions.
43071         * doc/gnulib.texi: Update.
43072
43073 2008-01-19  Bruno Haible  <bruno@clisp.org>
43074
43075         * doc/glibc-functions/strcasestr.texi: Include contents of
43076         doc/functions/strcasestr.texi, fixing the list of platforms.
43077         * doc/functions/strcasestr.texi: Remove file.
43078
43079 2008-01-19  Bruno Haible  <bruno@clisp.org>
43080
43081         * doc/glibc-functions/memmem.texi: Include contents of
43082         doc/functions/memmem.texi.
43083         * doc/functions/memmem.texi: Remove file.
43084
43085 2008-01-18  Bruno Haible  <bruno@clisp.org>
43086
43087         * doc/glibc-functions/*.texi: New files.
43088         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
43089         to use the new files.
43090
43091 2008-01-17  Bruno Haible  <bruno@clisp.org>
43092
43093         * tests/test-gethostname.c (main): Fix printf statement.
43094
43095 2008-01-17  Simon Josefsson  <simon@josefsson.org>
43096
43097         * modules/gethostname-tests: New file.
43098
43099         * tests/test-gethostname.c: New file.
43100
43101 2008-01-17  Simon Josefsson  <simon@josefsson.org>
43102
43103         * lib/gethostname.c: Include string.h unconditionally, strncpy is
43104         used by the UNAME case.  Reported by Bruno Haible
43105         <bruno@clisp.org>.
43106
43107 2008-01-17  Eric Blake  <ebb9@byu.net>
43108
43109         Convert c-strcasestr to be more efficient.
43110         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
43111         (Depends-on): Add c-strcase, remove malloca, strnlen.
43112         * tests/test-c-strcasestr.c (main): Enhance test.
43113         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
43114
43115 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
43116
43117         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
43118         Use it in creating po/Makevars.
43119
43120 2008-01-15  Simon Josefsson  <simon@josefsson.org>
43121
43122         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
43123         Applications that requires it should initialize libgcrypt
43124         manually.
43125
43126 2008-01-16  Simon Josefsson  <simon@josefsson.org>
43127
43128         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
43129
43130 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
43131
43132         Fix problem with getdate on mingw32 reported by Simon Josefsson
43133         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
43134         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
43135         tzname", when deciding whether to declare tzname.
43136         * lib/strftime.c (tzname): Likewise.
43137
43138 2008-01-15  Bruno Haible  <bruno@clisp.org>
43139
43140         Work around a MacOS X 10.5 bug in frexpl().
43141         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
43142         * doc/functions/frexpl.texi: Document the bug.
43143         Reported by Elias Pipping <pipping@gentoo.org>.
43144
43145 2008-01-14  Eric Blake  <ebb9@byu.net>
43146
43147         Touch up previous patch.
43148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
43149         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
43150
43151         Convert strcasestr module to use Two-Way algorithm.
43152         * modules/strcasestr-simple: New module, based on the old
43153         strcasestr, but with Two-Way rather than KMP.
43154         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
43155         * lib/string.in.h (rpl_strcasestr): Declare.
43156         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
43157         performance.
43158         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
43159         * modules/string (Makefile.am): Support strcasestr.
43160         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
43161         * modules/strcasestr-tests (Depends-on): Check for alarm.
43162         * tests/test-strcasestr.c: Augment test.
43163         * lib/str-two-way.h: Clean up stray macro.
43164         * NEWS: Document new module.
43165         * MODULES.html.sh (string handling): Likewise.
43166         * doc/functions/strcasestr.texi: New file.
43167         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
43168         here, since it is not a POSIX function.
43169
43170 2008-01-14  Colin Watson  <cjwatson@debian.org>
43171             Bruno Haible  <bruno@clisp.org>
43172
43173         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
43174         works fine; if not, set REPLACE_STRSIGNAL.
43175         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
43176         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43177         REPLACE_STRSIGNAL.
43178         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
43179         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
43180         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
43181
43182 2008-01-14  Bruno Haible  <bruno@clisp.org>
43183
43184         * modules/strsignal (Include): Change to <string.h>.
43185
43186 2008-01-14  Colin Watson  <cjwatson@debian.org>
43187
43188         * modules/argp (Notice): Add a notice recommending to change
43189         XGETTEXT_OPTIONS.
43190         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
43191
43192 2008-01-13  Colin Watson  <cjwatson@debian.org>
43193
43194         * modules/strsignal-tests: New file.
43195         * tests/test-strsignal.c: New file.
43196
43197         * lib/strsignal.c: New file, from glibc with modifications.
43198         * lib/siglist.h: New file, from glibc with modifications.
43199         * lib/string.in.h (strsignal): New declaration.
43200         * m4/strsignal.m4: New file.
43201         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43202         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
43203         * modules/strsignal: New file.
43204         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
43205         HAVE_DECL_STRSIGNAL.
43206
43207 2008-01-13  Bruno Haible  <bruno@clisp.org>
43208
43209         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
43210         locale encoding is not ASCII. Needed for OpenBSD 4.0.
43211         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43212         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43213
43214 2008-01-13  Bruno Haible  <bruno@clisp.org>
43215
43216         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
43217         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
43218         * lib/argp.h (__attribute__): Likewise.
43219         * lib/c-stack.c (__attribute__): Likewise.
43220         * lib/error.h (__attribute__): Likewise.
43221         * lib/fts.c (__attribute__): Likewise.
43222         * lib/openat.h (__attribute__): Likewise.
43223         * lib/stdio.in.h (__attribute__): Likewise.
43224         * lib/string.in.h (__attribute__): Likewise.
43225         * lib/utimens.c (__attribute__): Likewise.
43226         * lib/vasnprintf.h (__attribute__): Likewise.
43227         * lib/xalloc.h (__attribute__): Likewise.
43228         * lib/xprintf.h (__attribute__): Likewise.
43229         * lib/xstrtol.h (__attribute__): Likewise.
43230         * lib/xvasprintf.h (__attribute__): Likewise.
43231
43232 2008-01-12  Bruno Haible  <bruno@clisp.org>
43233
43234         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
43235         * doc/glibc-headers/a.out.texi: New file.
43236         * doc/glibc-headers/aliases.texi: New file.
43237         * doc/glibc-headers/alloca.texi: New file.
43238         * doc/glibc-headers/ar.texi: New file.
43239         * doc/glibc-headers/argp.texi: New file.
43240         * doc/glibc-headers/argz.texi: New file.
43241         * doc/glibc-headers/byteswap.texi: New file.
43242         * doc/glibc-headers/crypt.texi: New file.
43243         * doc/glibc-headers/endian.texi: New file.
43244         * doc/glibc-headers/envz.texi: New file.
43245         * doc/glibc-headers/err.texi: New file.
43246         * doc/glibc-headers/error.texi: New file.
43247         * doc/glibc-headers/execinfo.texi: New file.
43248         * doc/glibc-headers/fpu_control.texi: New file.
43249         * doc/glibc-headers/fstab.texi: New file.
43250         * doc/glibc-headers/fts.texi: New file.
43251         * doc/glibc-headers/getopt.texi: New file.
43252         * doc/glibc-headers/ieee754.texi: New file.
43253         * doc/glibc-headers/ifaddrs.texi: New file.
43254         * doc/glibc-headers/libintl.texi: New file.
43255         * doc/glibc-headers/mcheck.texi: New file.
43256         * doc/glibc-headers/mntent.texi: New file.
43257         * doc/glibc-headers/obstack.texi: New file.
43258         * doc/glibc-headers/paths.texi: New file.
43259         * doc/glibc-headers/printf.texi: New file.
43260         * doc/glibc-headers/pty.texi: New file.
43261         * doc/glibc-headers/resolv.texi: New file.
43262         * doc/glibc-headers/shadow.texi: New file.
43263         * doc/glibc-headers/sysexits.texi: New file.
43264         * doc/glibc-headers/ttyent.texi: New file.
43265
43266 2008-01-12  Jim Meyering  <meyering@redhat.com>
43267
43268         announce-gen: emit Gnulib's git-based version string.
43269         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
43270         New option --gnulib-version=V, where V is expected to be
43271         the output of running git describe in the gnulib directory.
43272         (get_tool_versions): Request feedback on xdelta.  I suspect it's
43273         not useful, and plan to stop publishing an xdelta file with each
43274         coreutils release.
43275
43276         * build-aux/announce-gen: Also check for lzma-compressed files.
43277
43278 2008-01-11  Bruno Haible  <bruno@clisp.org>
43279
43280         * tests/test-memmem.c (main): Increase maximum allowed time.
43281         * tests/test-strstr.c (main): Likewise.
43282
43283 2008-01-11  Bruno Haible  <bruno@clisp.org>
43284
43285         * doc/functions/memmem.texi: Add more precisions about platforms.
43286         * doc/functions/strstr.texi: Likewise.
43287
43288 2008-01-10  Eric Blake  <ebb9@byu.net>
43289
43290         * m4/strstr.m4: Delete cruft from copy-n-paste.
43291         Reported by Bruno Haible.
43292
43293 2008-01-10  Bruno Haible  <bruno@clisp.org>
43294
43295         Make c-strstr rely on strstr.
43296         * lib/c-strstr.c: Don't include str-kmp.h.
43297         (c_strstr): Define in terms of strstr.
43298         * modules/c-strstr (Files): Remove lib/str-kmp.h.
43299         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
43300
43301 2008-01-10  Bruno Haible  <bruno@clisp.org>
43302
43303         * doc/gnulib.texi (String Functions in C Locale): New section.
43304         * doc/c-ctype.texi: New file.
43305         * doc/c-strcase.texi: New file.
43306         * doc/c-strcaseeq.texi: New file.
43307         * doc/c-strcasestr.texi: New file.
43308         * doc/c-strstr.texi: New file.
43309         * doc/c-strtod.texi: New file.
43310         * doc/c-strtold.texi: New file.
43311
43312 2008-01-10  Eric Blake  <ebb9@byu.net>
43313
43314         * lib/relocatable.h: Fix a comment.
43315
43316 2008-01-10  Eric Blake  <ebb9@byu.net>
43317
43318         Share two-way algorithm.
43319         * lib/str-two-way.h: New file, merged from...
43320         * lib/memmem.c: ...here...
43321         * lib/strstr.c: ...and here.
43322         * modules/memmem (Files): Use it.
43323         * modules/strstr (Files): Likewise.
43324
43325         Avoid quadratic strstr implementations.
43326         * lib/strstr.c: New file.
43327         * m4/strstr.m4: Likewise.
43328         * modules/strstr: Likewise.
43329         * modules/strstr-tests: Likewise.
43330         * tests/test-strstr.c: Likewise.
43331         * lib/string.in.h (rpl_strstr): Declare.
43332         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
43333         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
43334         * modules/string (Makefile.am): Likewise.
43335         * MODULES.html.sh (string handling): Mention new module.
43336         * doc/functions/strstr.texi (strstr): Document the bug.
43337
43338 2008-01-10  Bruno Haible  <bruno@clisp.org>
43339
43340         * lib/relocatable.h (relocate): State whether result is freshly
43341         allocated or not.
43342         * lib/relocatable.c (relocate): Return a freshly allocated string
43343         instead of a pointer to a privately held string.
43344         Reported by Sylvain Beucler <beuc@gnu.org>.
43345
43346 2008-01-10  Colin Watson  <cjwatson@debian.org>
43347
43348         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
43349         s/S_ISNLK/S_ISLNK/.
43350
43351 2008-01-09  Bruno Haible  <bruno@clisp.org>
43352
43353         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
43354         and other files.
43355         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
43356         if it's only a guess.
43357         * modules/memmem: Simplify by depending on memmem-simple.
43358
43359 2008-01-09  Bruno Haible  <bruno@clisp.org>
43360
43361         Work around OpenBSD 4.0 tdelete() bug.
43362         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
43363         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
43364         macros and don't redefine the enum values.
43365         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
43366         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
43367         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
43368
43369 2008-01-09  Bruno Haible  <bruno@clisp.org>
43370
43371         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
43372         (main): Don't perform the tests if setlocale did not install a UTF-8
43373         locale. Needed on OpenBSD 4.0.
43374         * modules/wcwidth-tests (Depends-on): Add localcharset.
43375
43376 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
43377
43378         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
43379         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
43380         * NEWS: announce this.
43381         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
43382
43383 2008-01-09  Simon Josefsson  <simon@josefsson.org>
43384         and Eric Blake  <ebb9@byu.net>
43385
43386         Add memmem-simple module.
43387         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
43388         (gl_FUNC_MEMMEM): Separate performance from presence checks.
43389         * modules/memmem-simple: New file.
43390         * modules/memmem (Description): Tweak.
43391         * MODULES.html.sh (string handling): Mention new module.
43392         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
43393         addressed by memmem-simple.
43394         * NEWS: Document the difference.
43395
43396 2008-01-09  Eric Blake  <ebb9@byu.net>
43397
43398         Give gcc some memmem optimization hints.
43399         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
43400         (strcasestr): Declare as pure.
43401         * modules/memmem (Maintainer): Claim my implementation.
43402
43403 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43404
43405         Support AIX 6.1 and higher.
43406         * build-aux/config.libpath: Likewise.
43407         * build-aux/config.rpath: Likewise.
43408
43409 2008-01-08  Jim Meyering  <meyering@redhat.com>
43410             Bruno Haible  <bruno@clisp.org>
43411
43412         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
43413         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
43414         Reported by Peter Fales in
43415         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
43416
43417 2008-01-08  Bruno Haible  <bruno@clisp.org>
43418
43419         * modules/unictype/category-of (Depends-on): Add
43420         unictype/category-none.
43421         * modules/unictype/category-and-tests (Depends-on): Add
43422         unictype/category-{L,N,Lu,Nd}.
43423         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
43424         * modules/unictype/category-or-tests (Depends-on): Add
43425         unictype/category-{L,N}.
43426         * modules/unictype/category-name-tests (Depends-on): Add
43427         unictype/category-{Z,Nl}.
43428         Reported by Simon Josefsson.
43429
43430 2008-01-08  Bruno Haible  <bruno@clisp.org>
43431
43432         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
43433         convention better.
43434         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
43435         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
43436         Reported by Peter Miller <millerp@canb.auug.org.au>.
43437
43438 2008-01-08  Eric Blake  <ebb9@byu.net>
43439
43440         Rewrite memmem to guarantee linear complexity without malloc.
43441         * lib/memmem.c (memmem): Use Two-Way rather than
43442         Knuth-Morris-Pratt, to allow O(1) space usage.
43443         (critical_factorization, two_way_short_needle)
43444         (two_way_long_needle): New functions.
43445         (knuth_morris_pratt): Delete.
43446         * modules/memmem (Depends-on): No longer need malloca or stdbool.
43447         Add stdint.
43448         * tests/test-memmem.c (main): Add tests for periodic needle and
43449         sublinear performance.
43450         * doc/functions/memmem.texi (memmem): Document other deficiencies
43451         in cygwin and older glibc.
43452
43453 2008-01-08  Bruno Haible  <bruno@clisp.org>
43454
43455         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
43456         augmentation.
43457
43458 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
43459
43460         Add a configure time option: --disable-acl.
43461         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
43462         AC_ARG_ENABLE(acl).
43463
43464 2008-01-06  Simon Josefsson  <simon@josefsson.org>
43465
43466         * tests/test-localename.c: Don't include obsolete "setenv.h".
43467
43468         * modules/localename-tests (Depends-on): Need unsetenv.
43469
43470 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43471
43472         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
43473
43474 2008-01-06  Colin Watson  <cjwatson@debian.org>
43475
43476         * users.txt: Add man-db.
43477
43478 2008-01-07  Bruno Haible  <bruno@clisp.org>
43479
43480         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
43481         previous section name.
43482
43483 2008-01-07  Bruno Haible  <bruno@clisp.org>
43484
43485         * lib/progname.c (set_program_name): Don't strip off a leading
43486         "lt-" prefix outside a .libs directory.
43487         Suggested by Paul Eggert.
43488
43489 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
43490             Bruno Haible  <bruno@clisp.org>
43491
43492         Improve memory cleanup in 'relocatable' module.
43493         * lib/relocatable.h (compute_curr_prefix): Change return type to
43494         'char *'.
43495         * lib/relocatable.c (compute_curr_prefix): Change return type to
43496         'char *'. Free curr_installdir after use.
43497         (relocate): Free curr_prefix_better after use.
43498         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
43499
43500 2008-01-01  Bruno Haible  <bruno@clisp.org>
43501
43502         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
43503         failure on older glibc systems.
43504         Reported by Peter Fales <psfales@alcatel-lucent.com>.
43505
43506 2008-01-05  Eric Blake  <ebb9@byu.net>
43507
43508         Avoid quadratic system memmem.
43509         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
43510         Reported by Ralf Wildenhues.
43511
43512         Fix memmem test for mingw.
43513         * modules/memmem-tests (configure.ac): Check for alarm.
43514         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
43515         it.
43516         * doc/functions/memmem.texi: New file.
43517         * doc/gnulib.texi (Function Substitutes): Add memmem.
43518         Reported by Bruno Haible.
43519
43520 2008-01-04  Bruno Haible  <bruno@clisp.org>
43521
43522         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
43523         Require gl_HEADER_STRINGS_H_DEFAULTS, not
43524         gl_HEADER_STRING_H_DEFAULTS.
43525
43526 2008-01-04  Eric Blake  <ebb9@byu.net>
43527
43528         Shorten duration of memmem test.
43529         * tests/test-memmem.c (main): Use alarm to declare failure if test
43530         is taking too long.
43531         Reported by Ralf Wildenhues.
43532
43533 2007-12-21  Simon Josefsson  <simon@josefsson.org>
43534
43535         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
43536         string, needed by strerror.
43537
43538 2008-01-03  Colin Watson  <cjwatson@debian.org>
43539             Bruno Haible  <bruno@clisp.org>
43540
43541         * doc/gnulib-tool.texi (Localization): New section.
43542
43543 2008-01-02  Bruno Haible  <bruno@clisp.org>
43544
43545         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
43546         variables to 'unsigned char *' type.
43547         Reported by Paul Eggert.
43548
43549 2008-01-02  Jim Meyering  <jim@meyering.net>
43550
43551         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
43552
43553 2007-12-31  Jim Meyering  <jim@meyering.net>
43554
43555         Avoid use of private FTS type name.
43556         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
43557
43558 2007-12-30  Karl Berry  <karl@gnu.org>
43559
43560         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
43561         work around defect in Texinfo and/or the standalone Info browser.
43562
43563 2007-12-30  Bruno Haible  <bruno@clisp.org>
43564
43565         Unify 5 copies of the KMP code.
43566         * lib/str-kmp.h: New file.
43567         * lib/c-strcasestr.c: Include str-kmp.h.
43568         (knuth_morris_pratt): Remove function.
43569         (c_strcasestr): Update.
43570         * lib/c-strstr.c: Include str-kmp.h.
43571         (knuth_morris_pratt): Remove function.
43572         (c_strcasestr): Update.
43573         * lib/mbscasestr.c: Include str-kmp.h.
43574         (knuth_morris_pratt_unibyte): Remove function.
43575         * lib/mbsstr.c: Include str-kmp.h.
43576         (knuth_morris_pratt_unibyte): Remove function.
43577         * lib/strcasestr.c: Include str-kmp.h.
43578         (knuth_morris_pratt): Remove function.
43579         (strcasestr): Update.
43580         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
43581         * modules/c-strstr (Files): Likewise.
43582         * modules/mbscasestr (Files): Likewise.
43583         * modules/mbsstr (Files): Likewise.
43584         * modules/strcasestr (Files): Likewise.
43585         Suggested by Paul Eggert.
43586
43587 2007-12-30  Bruno Haible  <bruno@clisp.org>
43588
43589         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
43590         defined.
43591
43592 2007-12-30  Bruno Haible  <bruno@clisp.org>
43593
43594         * lib/xmalloca.h: Include xalloc.h.
43595         (xnmalloca): New macro.
43596
43597 2007-12-30  Bruno Haible  <bruno@clisp.org>
43598
43599         * lib/malloca.h (nmalloca): New macro.
43600         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
43601         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
43602         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
43603         knuth_morris_pratt_multibyte): Likewise.
43604         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
43605         knuth_morris_pratt_multibyte): Likewise.
43606         * lib/memmem.c (knuth_morris_pratt): Likewise.
43607         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
43608
43609 2007-12-25  Bruno Haible  <bruno@clisp.org>
43610
43611         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
43612         * lib/glob.c: Don't include openat.h.
43613         (link_exists2_p): Add back the code that deals with the
43614         !GLOB_ALTDIRFUNC case.
43615         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
43616         let it do the filename concatenation.
43617         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
43618         * modules/glob (Depends-on): Remove openat.
43619
43620 2007-12-31  Bruno Haible  <bruno@clisp.org>
43621
43622         * modules/dirfd (License): Change to LGPLv2+.
43623         Approved by Jim Meyering.
43624
43625 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43626
43627         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
43628         when multiplying M by sizeof (size_t).
43629
43630 2007-12-10  Martin Lambers  <marlam@marlam.de>
43631
43632         Override getpagesize on mingw.
43633         * lib/getpagesize.c: New file.
43634         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
43635         * modules/getpagesize (Files): Add lib/getpagesize.c.
43636         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
43637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43638         REPLACE_GETPAGESIZE.
43639         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
43640
43641 2007-12-25  Bruno Haible  <bruno@clisp.org>
43642
43643         * modules/localcharset (Notice): New field.
43644         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
43645         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
43646
43647 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43648             Bruno Haible  <bruno@clisp.org>
43649
43650         Avoid using the syntax symbol() in formatted documentation.
43651         * MODULES.html.sh (func_module): When replacing symbol() with a
43652         hyperlink, remove the parentheses. Show an error if some remain.
43653         Recognize and render the '...' syntax.
43654         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
43655         Rework. Add paragraph about GCC's inlining.
43656         * doc/alloca.texi: Likewise.
43657         * doc/error.texi: Remove parentheses from symbol reference.
43658         * doc/gnulib-intro.texi: Likewise.
43659         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
43660         * modules/fnmatch (Description): Reword to say "the ... function".
43661         * modules/full-read (Description): Likewise.
43662         * modules/full-write (Description): Likewise.
43663         * modules/safe-read (Description): Likewise.
43664         * modules/safe-write (Description): Likewise.
43665         * modules/strchrnul (Description): Likewise.
43666         * modules/trim (Description): Likewise.
43667         * modules/error (Description): Remove parentheses from symbol
43668         references.
43669         * modules/verror (Description): Likewise.
43670         Reported by Karl Berry.
43671
43672 2007-12-25  Bruno Haible  <bruno@clisp.org>
43673
43674         Fixup after 2007-10-16 commit.
43675         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
43676
43677 2007-12-24  Bruno Haible  <bruno@clisp.org>
43678
43679         Make --enable-relocatable work with DESTDIR.
43680         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
43681         to compute installdir from destprog.
43682         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
43683         also set the RELOC_DESTDIR variable.
43684         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43685
43686 2007-12-24  Bruno Haible  <bruno@clisp.org>
43687
43688         Fix link error due to xalloc_die().
43689         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
43690         of xreadlink.
43691         * lib/relocwrapper.c: Update comments.
43692         * build-aux/install-reloc: Remove xreadlink.c from file list.
43693         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
43694         xreadlink.c.
43695         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43696
43697 2007-12-24  Bruno Haible  <bruno@clisp.org>
43698
43699         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
43700         * lib/setenv.h: Remove file.
43701         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
43702         lib/setenv.h.
43703         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
43704         (Depends-on): Add stdlib.
43705         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
43706         gl_FUNC_UNSETENV.
43707         (Include): Replace setenv.h with <stdlib.h>.
43708         * modules/unsetenv: New file.
43709         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
43710         * lib/unsetenv.c: Include <stdlib.h> first.
43711         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
43712         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
43713         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
43714         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
43715         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
43716         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43717         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
43718         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43719         * doc/functions/unsetenv.texi: Update.
43720         * modules/xsetenv (Depends-on): Add unsetenv.
43721         * modules/getdate (Depends-on): Likewise.
43722         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
43723         * lib/xsetenv.c: Don't include setenv.h.
43724         * lib/getdate.y: Likewise.
43725         * lib/relocwrapper.c: Likewise.
43726         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
43727         (Depends-on): Add stdlib.
43728         * NEWS: Mention the changes.
43729         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43730
43731 2007-12-23  Bruno Haible  <bruno@clisp.org>
43732
43733         * lib/memmem.c (memmem): Use lowercase variable names. Tab
43734         indentation.
43735
43736 2007-12-23  Bruno Haible  <bruno@clisp.org>
43737
43738         * lib/c-strcasestr.c: Add more comments.
43739         * lib/c-strstr.c: Likewise.
43740         * lib/mbscasestr.c: Likewise.
43741         * lib/mbsstr.c: Likewise.
43742         * lib/strcasestr.c: Likewise.
43743         * lib/memmem.c: Likewise.
43744
43745 2007-12-23  Bruno Haible  <bruno@clisp.org>
43746
43747         * tests/test-memmem.c: Include <string.h> first.
43748
43749 2007-12-22  Bruno Haible  <bruno@clisp.org>
43750
43751         * gnulib-tool (func_create_testdir): Change $auxdir while generating
43752         the contents of $testsbase.
43753         Reported by Ralf Wildenhues.
43754
43755 2007-12-22  Bruno Haible  <bruno@clisp.org>
43756
43757         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
43758         two variables local_ldadd_before, local_ldadd_last.
43759
43760 2007-12-20  Eric Blake  <ebb9@byu.net>
43761
43762         Work around circular library issue when cross-compiling.
43763         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
43764         that progname.o does not need to pull in rpl_memcmp.
43765
43766 2007-12-19  Eric Blake  <ebb9@byu.net>
43767
43768         Fix memmem to avoid O(n^2) worst-case complexity.
43769         * lib/memmem.c (knuth_morris_pratt): New function.
43770         (memmem): Use it if first few naive iterations fail.
43771         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
43772         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
43773         * modules/memchr (License): Likewise.
43774         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
43775         malloca.
43776         * tests/test-memmem.c: Rewrite, borrowing ideas from
43777         test-mbsstr1.c; the old version wouldn't even compile!
43778         * modules/memmem-tests: New file.
43779         * lib/string.in.h (rpl_memmem): Add declaration.
43780         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
43781         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
43782         REPLACE_MEMMEM.
43783
43784 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43785
43786         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
43787         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
43788         before any system include files, and undef after them all.  This
43789         should fix a problem on VMS reported by John E. Malmberg in
43790         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
43791
43792 2007-12-17  Eric Blake  <ebb9@byu.net>
43793
43794         Revert addition of verify, for BSD/OS.
43795         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
43796         can't handle large files, for the sake of obsolete platforms.
43797         * modules/fseeko (Depends-on): Remove verify.
43798         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
43799         * doc/functions/ftello.texi (ftello): Likewise.
43800         * doc/functions/fgetpos.texi (fgetpos): Likewise.
43801         Reported by Larry Jones.
43802
43803 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
43804
43805         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
43806         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
43807
43808 2007-12-17  Jim Meyering  <meyering@redhat.com>
43809
43810         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
43811         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
43812         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
43813         * modules/getcwd (Depends-on): Add openat.
43814         Reported by Petr Salinger.
43815
43816 2007-12-17  Bruno Haible  <bruno@clisp.org>
43817
43818         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
43819         avoid a segmentation fault of the configure test on x86_64 systems.
43820
43821 2007-12-15  Jim Meyering  <meyering@redhat.com>
43822
43823         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
43824
43825 2007-12-13  Eric Blake  <ebb9@byu.net>
43826
43827         Another fseek test.
43828         * tests/test-fseek.c (main): Also test ungetc handling.
43829         * tests/test-fseeko.c (main): Likewise.
43830         * modules/fseeko (Depends-on): Add verify.
43831         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
43832         large.
43833         Reported by Larry Jones.
43834
43835         Fix fseeko on mingw.
43836         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
43837         seek.
43838
43839         Beef up fseek tests.
43840         * tests/test-fseek.c (main): Also test eof handling.
43841         * tests/test-fseeko.c (main): Likewise.
43842         Reported by Larry Jones.
43843
43844 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
43845
43846         Fix fseeko on BSD-based platforms.
43847         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
43848         successful seek.
43849
43850 2007-12-12  Eric Blake  <ebb9@byu.net>
43851
43852         Allow circular dependency of separate libtests.a
43853         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
43854         when use_libtests.
43855
43856 2007-12-11  Eric Blake  <ebb9@byu.net>
43857
43858         Fix bug with -0.0L in previous patch.
43859         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
43860         * tests/test-isnan.c (main): Also test on zeroes.
43861         * tests/test-isnanf.c (main): Likewise.
43862         * tests/test-isnanl.h (main): Likewise.
43863
43864         Detect pseudo-denormals on x86 even when cross-compiling.
43865         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
43866         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
43867         invalid bit patterns that happen to satisfy ==.
43868
43869         Avoid link failures with separate libtests.a.
43870         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
43871         last, to satisfy circular dependencies.
43872
43873 2007-12-11  Eric Blake  <ebb9@byu.net>
43874         and Bruno Haible  <bruno@clisp.org>
43875
43876         Fix OpenBSD 4.0 <float.h> handling of long double.
43877         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
43878         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
43879         * doc/headers/float.texi (float.h): Document OpenBSD bug.
43880
43881 2007-12-11  Jim Meyering  <meyering@redhat.com>
43882
43883         * users.txt: Add libvirt.
43884
43885         Support versions of autoconf prior to 2.59c.
43886         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
43887         if it is not already defined.
43888
43889 2007-12-09  Bruno Haible  <bruno@clisp.org>
43890
43891         Let 'gnulib-tool --import' collect sources needed for the tests in
43892         tests/ rather than in lib/.
43893         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
43894         argument. If true, add rules to generate libtests.a, and put libtests.a
43895         into $(LDADD). Consider source files in subdirectories and set
43896         uses_subdirs.
43897         (func_emit_initmacro_start, func_emit_initmacro_end,
43898         func_emit_initmacro_done): Pass all arguments explicitly.
43899         (func_import): Determine two module lists main_modules,
43900         testsrelated_modules. Determine use_libtests. Determine two variables
43901         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
43902         instead of just sed_transform_lib_file. Determine two variables
43903         main_files and testsrelated_files. Compute 'files' as the union of
43904         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
43905         func_add_or_update. In the generated gnulib-comp.m4, collect the
43906         object files for tests/ in different variables than those for lib/.
43907         Substitute LIBTESTS_LIBDEPS.
43908         (func_create_testdir): Combine the uses_subdirs results from
43909         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
43910
43911 2007-12-09  Bruno Haible  <bruno@clisp.org>
43912
43913         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
43914         the build-aux directory.
43915
43916 2007-12-09  Bruno Haible  <bruno@clisp.org>
43917
43918         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
43919         introduced on 2006-09-09.
43920
43921 2007-12-07  Jim Meyering  <meyering@redhat.com>
43922
43923         Let these macros work also with autoconf-2.59.
43924         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
43925         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
43926         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
43927
43928 2007-12-06  Jim Meyering  <meyering@redhat.com>
43929
43930         Avoid a configure-time syntax error in gl_FUNC_ACL.
43931         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
43932         function in each branch, before testing the cache variable.
43933
43934 2007-12-04  Eric Blake  <ebb9@byu.net>
43935
43936         Make scripts executable.
43937         * build-aux/config.guess: Add execute permissions.
43938         * build-aux/config.sub: Likewise.
43939         * build-aux/gendocs.sh: Likewise.
43940
43941         Fix frexp on mingw.
43942         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
43943         cross-compiling.
43944         * doc/functions/frexp.texi (frexp): Document the bug.
43945
43946         Make cygwin fseeko check more reliable.
43947         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
43948         version numbers, rather than unrelated feature check.
43949         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
43950         * doc/functions/ftello.texi (ftello): Likewise.
43951         Reported by Bruno Haible.
43952
43953         * m4/strerror.m4: Bump version number.
43954
43955 2007-12-03  Bruno Haible  <bruno@clisp.org>
43956
43957         * doc/functions/mprotect.texi: Mention the mingw problem.
43958
43959 2007-12-03  Eric Blake  <ebb9@byu.net>
43960
43961         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
43962         REPLACE_STRERROR is initialized before this macro.
43963
43964 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
43965
43966         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
43967         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
43968         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
43969         put -lsec in even for programs other than 'ls'.  This fixes a problem
43970         for gettext reported by Bruno Haible in
43971         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
43972         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
43973         Add support for Solaris 10.  This isn't efficient, but should get the
43974         job done for now.
43975
43976 2007-12-03  James Youngman  <jay@gnu.org>
43977
43978         * doc/regexprops-generic.texi: change "an close-group" to "a
43979         close-group" and "illegal" to "not allowed".
43980
43981 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43982
43983         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
43984         pr_byname.h. Needed for the rare case when the maintainer has done
43985         "make maintainer-clean" in the source directory and then attempts a
43986         build outside the source directory.
43987         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
43988         scripts_byname.h.
43989
43990 2007-12-02  Martin Lambers <marlam@marlam.de>
43991             Bruno Haible  <bruno@clisp.org>
43992
43993         * lib/getpagesize.h: Remove file.
43994         * lib/unistd.in.h: Include declaration of getpagesize here.
43995         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
43996         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
43997         HAVE_SYS_PARAM_H.
43998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
43999         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
44000         * modules/getpagesize (Files): Remove lib/getpagesize.h.
44001         (Depends-on): Add unistd.
44002         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
44003         (Include): Use <unistd.h> instead of getpagesize.h.
44004         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
44005         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
44006         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
44007         gl_GETPAGESIZE invocation, already handled by module dependency.
44008         * lib/pagealign_alloc.c: Don't include getpagesize.h.
44009
44010 2007-12-02  Bruno Haible  <bruno@clisp.org>
44011
44012         * modules/strings-tests: New file.
44013         * tests/test-strings.c: New file.
44014
44015         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
44016         * lib/strings.in.h: New file.
44017         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
44018         * m4/strings_h.m4: New file.
44019         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
44020         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
44021         * modules/strings: New file.
44022         * modules/string (Makefile.am): Update.
44023         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
44024         Reported by Karl Berry.
44025
44026 2007-12-01  Eric Blake  <ebb9@byu.net>
44027
44028         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
44029         accomodate fix in cygwin 1.5.25.
44030
44031 2007-12-01  Jim Meyering  <meyering@redhat.com>
44032
44033         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
44034         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
44035         that would inhibit utf8-optimization of a regexp containing line-
44036         or buffer-anchors, e.g., `^', `$'.
44037
44038 2007-11-30  Bruno Haible  <bruno@clisp.org>
44039
44040         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
44041         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
44042         glthread_recursive_lock_init.
44043         * lib/lock.c (glthread_recursive_lock_init)
44044         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
44045         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44046
44047 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
44048
44049         New function qset_acl, like set_acl but with syscall semantics.
44050         * lib/acl.h (qset_acl): New decl.
44051         * lib/acl.c (qset_acl): New function.
44052         (set_acl): Use new function.  Use more-consistent diagnostics.
44053
44054 2007-11-28  Jim Meyering  <meyering@redhat.com>
44055
44056         * modules/physmem (License): Change from GPL to LGPLv2+.
44057
44058 2007-11-26  Bruno Haible  <bruno@clisp.org>
44059
44060         * lib/vasnprintf.c (decode_long_double): Don't abort if the
44061         'long double' type has excess precision.
44062         Reported by Jim Meyering in
44063         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
44064
44065 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44066
44067         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
44068         Sync from <http://gnu.org/licenses>.
44069         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
44070         with license text from same location.
44071         * doc/maintain.texi, doc/standards.texi:  Sync from
44072         <http://savannah.gnu.org/projects/gnustandards>.
44073
44074 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
44075         and Jim Meyering  <meyering@redhat.com>
44076
44077         Adjust getdate' grammar to accept a slightly more regular language.
44078         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
44079         Before, the former was rejected.
44080         * lib/getdate.y (digits_to_date_time): New function, factored
44081         out of ...
44082         (number): ...here.  Just call digits_to_date_time.
44083         (hybrid): New non-terminal to handle an <unsigned number,
44084         signed relative offset> sequence consistently.
44085
44086 2007-11-18  Jim Meyering  <meyering@redhat.com>
44087
44088         Pull my changes from coreutils:
44089         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
44090         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
44091         use of $gnulib_tool_option_extras, so that it's separated from the
44092         preceding argument.
44093
44094         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
44095         * build-aux/bootstrap (cp_mark_as_generated): Create any required
44096         parent destination directories before copying a file into place.
44097
44098 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
44099
44100         bootstrap: work also with 4-argument variant of AC_INIT
44101         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
44102
44103 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44104
44105         Port test-getaddrinfo to Solaris.
44106         Problem reported by Bruno Haible in
44107         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
44108         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
44109         explanation of setting 'hints'.
44110         Don't reject an implementation merely because it returns EAI_SERVICE.
44111         (EAI_SERVICE): Define to 0 if not defined.
44112
44113 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
44114
44115         The license of gnu-make and posix-shell is now "GPLed build tool".
44116         * modules/gnu-make (License): Likewise.
44117         * modules/posix-shell (License): Likewise.
44118
44119         New module posix-shell, for determining a POSIX shell
44120         or perhaps something that is close enough to a POSIX shell.
44121         * m4/posix-shell.m4: New file.
44122         * modules/posix-shell: New file.
44123
44124         * MODULES.html.sh: Mention new module.
44125
44126         New module gnu-make, for determining whether we're using GNU Make.
44127         * m4/gnu-make.m4: New file.
44128         * modules/gnu-make: New file.
44129         * MODULES.html.sh: Mention new module.
44130
44131 2007-11-14  Jim Meyering  <meyering@redhat.com>
44132
44133         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
44134         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
44135         use this macro to create a function _definition_.
44136         Remove useless "#undef ARGMATCH_DIE".
44137
44138 2007-11-14  Bruno Haible  <bruno@clisp.org>
44139
44140         * lib/config.charset: Update for OpenBSD 4.1.
44141         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
44142
44143 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
44144
44145         Document 64-bit #if problems in stdint.texi.
44146         * doc/headers/stdint.texi (stdint.h): Mention problems with
44147         64-bit-#if, and how to work around them.
44148
44149         Don't insist on 'long long int' support in the preprocessor.  It
44150         breaks too many things.  For example, PRIdMAX still uses a 'long
44151         long int' format with the latest Sun compiler, even though
44152         HAVE_LONG_LONG_INT isn't defined due to that compiler's
44153         preprocessor problem.  This causes the latest coreutils to dump
44154         core on Solaris 10 sparc with the Sun C compiler.
44155         Instead, fix the 2007-10-16 problem in a different way, by evaluating
44156         the troublesome expressions at configure-time, not at #if-time.
44157         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
44158         preprocessor.
44159         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
44160         compile-time C checks, done at 'configure'-time.
44161         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
44162         * modules/inttypes (Makefile): Substitute the new symbols that
44163         gl_INTTYPES_H now generates.
44164         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
44165
44166 2007-11-12  Bruno Haible  <bruno@clisp.org>
44167
44168         Tests for Unicode character classification functions.
44169
44170         * modules/unictype/bidicategory-byname-tests: New file.
44171         * modules/unictype/bidicategory-name-tests: New file.
44172         * modules/unictype/bidicategory-of-tests: New file.
44173         * modules/unictype/bidicategory-test-tests: New file.
44174         * modules/unictype/block-list-tests: New file.
44175         * modules/unictype/block-of-tests: New file.
44176         * modules/unictype/block-test-tests: New file.
44177         * modules/unictype/category-C-tests: New file.
44178         * modules/unictype/category-Cc-tests: New file.
44179         * modules/unictype/category-Cf-tests: New file.
44180         * modules/unictype/category-Cn-tests: New file.
44181         * modules/unictype/category-Co-tests: New file.
44182         * modules/unictype/category-Cs-tests: New file.
44183         * modules/unictype/category-L-tests: New file.
44184         * modules/unictype/category-Ll-tests: New file.
44185         * modules/unictype/category-Lm-tests: New file.
44186         * modules/unictype/category-Lo-tests: New file.
44187         * modules/unictype/category-Lt-tests: New file.
44188         * modules/unictype/category-Lu-tests: New file.
44189         * modules/unictype/category-M-tests: New file.
44190         * modules/unictype/category-Mc-tests: New file.
44191         * modules/unictype/category-Me-tests: New file.
44192         * modules/unictype/category-Mn-tests: New file.
44193         * modules/unictype/category-N-tests: New file.
44194         * modules/unictype/category-Nd-tests: New file.
44195         * modules/unictype/category-Nl-tests: New file.
44196         * modules/unictype/category-No-tests: New file.
44197         * modules/unictype/category-P-tests: New file.
44198         * modules/unictype/category-Pc-tests: New file.
44199         * modules/unictype/category-Pd-tests: New file.
44200         * modules/unictype/category-Pe-tests: New file.
44201         * modules/unictype/category-Pf-tests: New file.
44202         * modules/unictype/category-Pi-tests: New file.
44203         * modules/unictype/category-Po-tests: New file.
44204         * modules/unictype/category-Ps-tests: New file.
44205         * modules/unictype/category-S-tests: New file.
44206         * modules/unictype/category-Sc-tests: New file.
44207         * modules/unictype/category-Sk-tests: New file.
44208         * modules/unictype/category-Sm-tests: New file.
44209         * modules/unictype/category-So-tests: New file.
44210         * modules/unictype/category-Z-tests: New file.
44211         * modules/unictype/category-Zl-tests: New file.
44212         * modules/unictype/category-Zp-tests: New file.
44213         * modules/unictype/category-Zs-tests: New file.
44214         * modules/unictype/category-and-not-tests: New file.
44215         * modules/unictype/category-and-tests: New file.
44216         * modules/unictype/category-byname-tests: New file.
44217         * modules/unictype/category-name-tests: New file.
44218         * modules/unictype/category-none-tests: New file.
44219         * modules/unictype/category-of-tests: New file.
44220         * modules/unictype/category-or-tests: New file.
44221         * modules/unictype/category-test-withtable-tests: New file.
44222         * modules/unictype/combining-class-tests: New file.
44223         * modules/unictype/ctype-alnum-tests: New file.
44224         * modules/unictype/ctype-alpha-tests: New file.
44225         * modules/unictype/ctype-blank-tests: New file.
44226         * modules/unictype/ctype-cntrl-tests: New file.
44227         * modules/unictype/ctype-digit-tests: New file.
44228         * modules/unictype/ctype-graph-tests: New file.
44229         * modules/unictype/ctype-lower-tests: New file.
44230         * modules/unictype/ctype-print-tests: New file.
44231         * modules/unictype/ctype-punct-tests: New file.
44232         * modules/unictype/ctype-space-tests: New file.
44233         * modules/unictype/ctype-upper-tests: New file.
44234         * modules/unictype/ctype-xdigit-tests: New file.
44235         * modules/unictype/decimal-digit-tests: New file.
44236         * modules/unictype/digit-tests: New file.
44237         * modules/unictype/mirror-tests: New file.
44238         * modules/unictype/numeric-tests: New file.
44239         * modules/unictype/property-alphabetic-tests: New file.
44240         * modules/unictype/property-ascii-hex-digit-tests: New file.
44241         * modules/unictype/property-bidi-arabic-digit-tests: New file.
44242         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
44243         * modules/unictype/property-bidi-block-separator-tests: New file.
44244         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
44245         * modules/unictype/property-bidi-common-separator-tests: New file.
44246         * modules/unictype/property-bidi-control-tests: New file.
44247         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
44248         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
44249         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
44250         * modules/unictype/property-bidi-european-digit-tests: New file.
44251         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
44252         * modules/unictype/property-bidi-left-to-right-tests: New file.
44253         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
44254         * modules/unictype/property-bidi-other-neutral-tests: New file.
44255         * modules/unictype/property-bidi-pdf-tests: New file.
44256         * modules/unictype/property-bidi-segment-separator-tests: New file.
44257         * modules/unictype/property-bidi-whitespace-tests: New file.
44258         * modules/unictype/property-byname-tests: New file.
44259         * modules/unictype/property-combining-tests: New file.
44260         * modules/unictype/property-composite-tests: New file.
44261         * modules/unictype/property-currency-symbol-tests: New file.
44262         * modules/unictype/property-dash-tests: New file.
44263         * modules/unictype/property-decimal-digit-tests: New file.
44264         * modules/unictype/property-default-ignorable-code-point-tests: New file.
44265         * modules/unictype/property-deprecated-tests: New file.
44266         * modules/unictype/property-diacritic-tests: New file.
44267         * modules/unictype/property-extender-tests: New file.
44268         * modules/unictype/property-format-control-tests: New file.
44269         * modules/unictype/property-grapheme-base-tests: New file.
44270         * modules/unictype/property-grapheme-extend-tests: New file.
44271         * modules/unictype/property-grapheme-link-tests: New file.
44272         * modules/unictype/property-hex-digit-tests: New file.
44273         * modules/unictype/property-hyphen-tests: New file.
44274         * modules/unictype/property-id-continue-tests: New file.
44275         * modules/unictype/property-id-start-tests: New file.
44276         * modules/unictype/property-ideographic-tests: New file.
44277         * modules/unictype/property-ids-binary-operator-tests: New file.
44278         * modules/unictype/property-ids-trinary-operator-tests: New file.
44279         * modules/unictype/property-ignorable-control-tests: New file.
44280         * modules/unictype/property-iso-control-tests: New file.
44281         * modules/unictype/property-join-control-tests: New file.
44282         * modules/unictype/property-left-of-pair-tests: New file.
44283         * modules/unictype/property-line-separator-tests: New file.
44284         * modules/unictype/property-logical-order-exception-tests: New file.
44285         * modules/unictype/property-lowercase-tests: New file.
44286         * modules/unictype/property-math-tests: New file.
44287         * modules/unictype/property-non-break-tests: New file.
44288         * modules/unictype/property-not-a-character-tests: New file.
44289         * modules/unictype/property-numeric-tests: New file.
44290         * modules/unictype/property-other-alphabetic-tests: New file.
44291         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
44292         * modules/unictype/property-other-grapheme-extend-tests: New file.
44293         * modules/unictype/property-other-id-continue-tests: New file.
44294         * modules/unictype/property-other-id-start-tests: New file.
44295         * modules/unictype/property-other-lowercase-tests: New file.
44296         * modules/unictype/property-other-math-tests: New file.
44297         * modules/unictype/property-other-uppercase-tests: New file.
44298         * modules/unictype/property-paired-punctuation-tests: New file.
44299         * modules/unictype/property-paragraph-separator-tests: New file.
44300         * modules/unictype/property-pattern-syntax-tests: New file.
44301         * modules/unictype/property-pattern-white-space-tests: New file.
44302         * modules/unictype/property-private-use-tests: New file.
44303         * modules/unictype/property-punctuation-tests: New file.
44304         * modules/unictype/property-quotation-mark-tests: New file.
44305         * modules/unictype/property-radical-tests: New file.
44306         * modules/unictype/property-sentence-terminal-tests: New file.
44307         * modules/unictype/property-soft-dotted-tests: New file.
44308         * modules/unictype/property-space-tests: New file.
44309         * modules/unictype/property-terminal-punctuation-tests: New file.
44310         * modules/unictype/property-test-tests: New file.
44311         * modules/unictype/property-titlecase-tests: New file.
44312         * modules/unictype/property-unassigned-code-value-tests: New file.
44313         * modules/unictype/property-unified-ideograph-tests: New file.
44314         * modules/unictype/property-uppercase-tests: New file.
44315         * modules/unictype/property-variation-selector-tests: New file.
44316         * modules/unictype/property-white-space-tests: New file.
44317         * modules/unictype/property-xid-continue-tests: New file.
44318         * modules/unictype/property-xid-start-tests: New file.
44319         * modules/unictype/property-zero-width-tests: New file.
44320         * modules/unictype/scripts-tests: New file.
44321         * modules/unictype/syntax-c-ident-tests: New file.
44322         * modules/unictype/syntax-c-whitespace-tests: New file.
44323         * modules/unictype/syntax-java-ident-tests: New file.
44324         * modules/unictype/syntax-java-whitespace-tests: New file.
44325         * tests/unictype/test-bidi_byname.c: New file.
44326         * tests/unictype/test-bidi_name.c: New file.
44327         * tests/unictype/test-bidi_of.c: New file.
44328         * tests/unictype/test-bidi_test.c: New file.
44329         * tests/unictype/test-block_list.c: New file.
44330         * tests/unictype/test-block_of.c: New file.
44331         * tests/unictype/test-block_test.c: New file.
44332         * tests/unictype/test-categ_and.c: New file.
44333         * tests/unictype/test-categ_and_not.c: New file.
44334         * tests/unictype/test-categ_byname.c: New file.
44335         * tests/unictype/test-categ_name.c: New file.
44336         * tests/unictype/test-categ_none.c: New file.
44337         * tests/unictype/test-categ_of.c: New file.
44338         * tests/unictype/test-categ_or.c: New file.
44339         * tests/unictype/test-categ_test_withtable.c: New file.
44340         * tests/unictype/test-combining.c: New file.
44341         * tests/unictype/test-decdigit.c: New file.
44342         * tests/unictype/test-digit.c: New file.
44343         * tests/unictype/test-mirror.c: New file.
44344         * tests/unictype/test-numeric.c: New file.
44345         * tests/unictype/test-pr_byname.c: New file.
44346         * tests/unictype/test-pr_test.c: New file.
44347         * tests/unictype/test-predicate-part1.h: New file.
44348         * tests/unictype/test-predicate-part2.h: New file.
44349         * tests/unictype/test-scripts.c: New file.
44350         * tests/unictype/test-sy_c_ident.c: New file.
44351         * tests/unictype/test-sy_java_ident.c: New file.
44352
44353         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
44354         for Unicode 5.0.0.
44355         * tests/unictype/test-categ_Cc.c: Likewise.
44356         * tests/unictype/test-categ_Cf.c: Likewise.
44357         * tests/unictype/test-categ_Cn.c: Likewise.
44358         * tests/unictype/test-categ_Co.c: Likewise.
44359         * tests/unictype/test-categ_Cs.c: Likewise.
44360         * tests/unictype/test-categ_L.c: Likewise.
44361         * tests/unictype/test-categ_Ll.c: Likewise.
44362         * tests/unictype/test-categ_Lm.c: Likewise.
44363         * tests/unictype/test-categ_Lo.c: Likewise.
44364         * tests/unictype/test-categ_Lt.c: Likewise.
44365         * tests/unictype/test-categ_Lu.c: Likewise.
44366         * tests/unictype/test-categ_M.c: Likewise.
44367         * tests/unictype/test-categ_Mc.c: Likewise.
44368         * tests/unictype/test-categ_Me.c: Likewise.
44369         * tests/unictype/test-categ_Mn.c: Likewise.
44370         * tests/unictype/test-categ_N.c: Likewise.
44371         * tests/unictype/test-categ_Nd.c: Likewise.
44372         * tests/unictype/test-categ_Nl.c: Likewise.
44373         * tests/unictype/test-categ_No.c: Likewise.
44374         * tests/unictype/test-categ_P.c: Likewise.
44375         * tests/unictype/test-categ_Pc.c: Likewise.
44376         * tests/unictype/test-categ_Pd.c: Likewise.
44377         * tests/unictype/test-categ_Pe.c: Likewise.
44378         * tests/unictype/test-categ_Pf.c: Likewise.
44379         * tests/unictype/test-categ_Pi.c: Likewise.
44380         * tests/unictype/test-categ_Po.c: Likewise.
44381         * tests/unictype/test-categ_Ps.c: Likewise.
44382         * tests/unictype/test-categ_S.c: Likewise.
44383         * tests/unictype/test-categ_Sc.c: Likewise.
44384         * tests/unictype/test-categ_Sk.c: Likewise.
44385         * tests/unictype/test-categ_Sm.c: Likewise.
44386         * tests/unictype/test-categ_So.c: Likewise.
44387         * tests/unictype/test-categ_Z.c: Likewise.
44388         * tests/unictype/test-categ_Zl.c: Likewise.
44389         * tests/unictype/test-categ_Zp.c: Likewise.
44390         * tests/unictype/test-categ_Zs.c: Likewise.
44391         * tests/unictype/test-ctype_alnum.c: Likewise.
44392         * tests/unictype/test-ctype_alpha.c: Likewise.
44393         * tests/unictype/test-ctype_blank.c: Likewise.
44394         * tests/unictype/test-ctype_cntrl.c: Likewise.
44395         * tests/unictype/test-ctype_digit.c: Likewise.
44396         * tests/unictype/test-ctype_graph.c: Likewise.
44397         * tests/unictype/test-ctype_lower.c: Likewise.
44398         * tests/unictype/test-ctype_print.c: Likewise.
44399         * tests/unictype/test-ctype_punct.c: Likewise.
44400         * tests/unictype/test-ctype_space.c: Likewise.
44401         * tests/unictype/test-ctype_upper.c: Likewise.
44402         * tests/unictype/test-ctype_xdigit.c: Likewise.
44403         * tests/unictype/test-decdigit.h: Likewise.
44404         * tests/unictype/test-digit.h: Likewise.
44405         * tests/unictype/test-numeric.h: Likewise.
44406         * tests/unictype/test-pr_alphabetic.c: Likewise.
44407         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
44408         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44409         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44410         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
44411         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44412         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
44413         * tests/unictype/test-pr_bidi_control.c: Likewise.
44414         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
44415         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
44416         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44417         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44418         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44419         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44420         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44421         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44422         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
44423         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
44424         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
44425         * tests/unictype/test-pr_combining.c: Likewise.
44426         * tests/unictype/test-pr_composite.c: Likewise.
44427         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44428         * tests/unictype/test-pr_dash.c: Likewise.
44429         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44430         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
44431         * tests/unictype/test-pr_deprecated.c: Likewise.
44432         * tests/unictype/test-pr_diacritic.c: Likewise.
44433         * tests/unictype/test-pr_extender.c: Likewise.
44434         * tests/unictype/test-pr_format_control.c: Likewise.
44435         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44436         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44437         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44438         * tests/unictype/test-pr_hex_digit.c: Likewise.
44439         * tests/unictype/test-pr_hyphen.c: Likewise.
44440         * tests/unictype/test-pr_id_continue.c: Likewise.
44441         * tests/unictype/test-pr_id_start.c: Likewise.
44442         * tests/unictype/test-pr_ideographic.c: Likewise.
44443         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
44444         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
44445         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44446         * tests/unictype/test-pr_iso_control.c: Likewise.
44447         * tests/unictype/test-pr_join_control.c: Likewise.
44448         * tests/unictype/test-pr_left_of_pair.c: Likewise.
44449         * tests/unictype/test-pr_line_separator.c: Likewise.
44450         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44451         * tests/unictype/test-pr_lowercase.c: Likewise.
44452         * tests/unictype/test-pr_math.c: Likewise.
44453         * tests/unictype/test-pr_non_break.c: Likewise.
44454         * tests/unictype/test-pr_not_a_character.c: Likewise.
44455         * tests/unictype/test-pr_numeric.c: Likewise.
44456         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44457         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
44458         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
44459         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44460         * tests/unictype/test-pr_other_id_start.c: Likewise.
44461         * tests/unictype/test-pr_other_lowercase.c: Likewise.
44462         * tests/unictype/test-pr_other_math.c: Likewise.
44463         * tests/unictype/test-pr_other_uppercase.c: Likewise.
44464         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
44465         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
44466         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
44467         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
44468         * tests/unictype/test-pr_private_use.c: Likewise.
44469         * tests/unictype/test-pr_punctuation.c: Likewise.
44470         * tests/unictype/test-pr_quotation_mark.c: Likewise.
44471         * tests/unictype/test-pr_radical.c: Likewise.
44472         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44473         * tests/unictype/test-pr_soft_dotted.c: Likewise.
44474         * tests/unictype/test-pr_space.c: Likewise.
44475         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44476         * tests/unictype/test-pr_titlecase.c: Likewise.
44477         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44478         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44479         * tests/unictype/test-pr_uppercase.c: Likewise.
44480         * tests/unictype/test-pr_variation_selector.c: Likewise.
44481         * tests/unictype/test-pr_white_space.c: Likewise.
44482         * tests/unictype/test-pr_xid_continue.c: Likewise.
44483         * tests/unictype/test-pr_xid_start.c: Likewise.
44484         * tests/unictype/test-pr_zero_width.c: Likewise.
44485         * tests/unictype/test-sy_c_whitespace.c: Likewise.
44486         * tests/unictype/test-sy_java_whitespace.c: Likewise.
44487
44488 2007-11-12  Bruno Haible  <bruno@clisp.org>
44489
44490         Unicode character classification functions.
44491         * lib/unictype.h: New file.
44492         * modules/unictype/base: New file.
44493         * modules/unictype/category-L: New file.
44494         * modules/unictype/category-Lu: New file.
44495         * modules/unictype/category-Ll: New file.
44496         * modules/unictype/category-Lt: New file.
44497         * modules/unictype/category-Lm: New file.
44498         * modules/unictype/category-Lo: New file.
44499         * modules/unictype/category-M: New file.
44500         * modules/unictype/category-Mn: New file.
44501         * modules/unictype/category-Mc: New file.
44502         * modules/unictype/category-Me: New file.
44503         * modules/unictype/category-N: New file.
44504         * modules/unictype/category-Nd: New file.
44505         * modules/unictype/category-Nl: New file.
44506         * modules/unictype/category-No: New file.
44507         * modules/unictype/category-P: New file.
44508         * modules/unictype/category-Pc: New file.
44509         * modules/unictype/category-Pd: New file.
44510         * modules/unictype/category-Ps: New file.
44511         * modules/unictype/category-Pe: New file.
44512         * modules/unictype/category-Pi: New file.
44513         * modules/unictype/category-Pf: New file.
44514         * modules/unictype/category-Po: New file.
44515         * modules/unictype/category-S: New file.
44516         * modules/unictype/category-Sm: New file.
44517         * modules/unictype/category-Sc: New file.
44518         * modules/unictype/category-Sk: New file.
44519         * modules/unictype/category-So: New file.
44520         * modules/unictype/category-Z: New file.
44521         * modules/unictype/category-Zs: New file.
44522         * modules/unictype/category-Zl: New file.
44523         * modules/unictype/category-Zp: New file.
44524         * modules/unictype/category-C: New file.
44525         * modules/unictype/category-Cc: New file.
44526         * modules/unictype/category-Cf: New file.
44527         * modules/unictype/category-Cs: New file.
44528         * modules/unictype/category-Co: New file.
44529         * modules/unictype/category-Cn: New file.
44530         * modules/unictype/category-or: New file.
44531         * modules/unictype/category-of: New file.
44532         * modules/unictype/category-test: New file.
44533         * modules/unictype/category-test-withtable: New file.
44534         * modules/unictype/category-byname: New file.
44535         * modules/unictype/category-none: New file.
44536         * modules/unictype/category-and: New file.
44537         * modules/unictype/category-and-not: New file.
44538         * modules/unictype/category-name: New file.
44539         * modules/unictype/combining-class: New file.
44540         * modules/unictype/category-all: New file.
44541         * modules/unictype/bidicategory-all: New file.
44542         * modules/unictype/bidicategory-byname: New file.
44543         * modules/unictype/bidicategory-name: New file.
44544         * modules/unictype/bidicategory-of: New file.
44545         * modules/unictype/bidicategory-test: New file.
44546         * modules/unictype/decimal-digit: New file.
44547         * modules/unictype/digit: New file.
44548         * modules/unictype/numeric: New file.
44549         * modules/unictype/mirror: New file.
44550         * modules/unictype/property-white-space: New file.
44551         * modules/unictype/property-alphabetic: New file.
44552         * modules/unictype/property-other-alphabetic: New file.
44553         * modules/unictype/property-not-a-character: New file.
44554         * modules/unictype/property-default-ignorable-code-point: New file.
44555         * modules/unictype/property-other-default-ignorable-code-point: New
44556         file.
44557         * modules/unictype/property-deprecated: New file.
44558         * modules/unictype/property-logical-order-exception: New file.
44559         * modules/unictype/property-variation-selector: New file.
44560         * modules/unictype/property-private-use: New file.
44561         * modules/unictype/property-unassigned-code-value: New file.
44562         * modules/unictype/property-uppercase: New file.
44563         * modules/unictype/property-other-uppercase: New file.
44564         * modules/unictype/property-lowercase: New file.
44565         * modules/unictype/property-other-lowercase: New file.
44566         * modules/unictype/property-titlecase: New file.
44567         * modules/unictype/property-soft-dotted: New file.
44568         * modules/unictype/property-id-start: New file.
44569         * modules/unictype/property-other-id-start: New file.
44570         * modules/unictype/property-id-continue: New file.
44571         * modules/unictype/property-other-id-continue: New file.
44572         * modules/unictype/property-xid-start: New file.
44573         * modules/unictype/property-xid-continue: New file.
44574         * modules/unictype/property-pattern-white-space: New file.
44575         * modules/unictype/property-pattern-syntax: New file.
44576         * modules/unictype/property-join-control: New file.
44577         * modules/unictype/property-grapheme-base: New file.
44578         * modules/unictype/property-grapheme-extend: New file.
44579         * modules/unictype/property-other-grapheme-extend: New file.
44580         * modules/unictype/property-grapheme-link: New file.
44581         * modules/unictype/property-bidi-control: New file.
44582         * modules/unictype/property-bidi-left-to-right: New file.
44583         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
44584         * modules/unictype/property-bidi-arabic-right-to-left: New file.
44585         * modules/unictype/property-bidi-european-digit: New file.
44586         * modules/unictype/property-bidi-eur-num-separator: New file.
44587         * modules/unictype/property-bidi-eur-num-terminator: New file.
44588         * modules/unictype/property-bidi-arabic-digit: New file.
44589         * modules/unictype/property-bidi-common-separator: New file.
44590         * modules/unictype/property-bidi-block-separator: New file.
44591         * modules/unictype/property-bidi-segment-separator: New file.
44592         * modules/unictype/property-bidi-whitespace: New file.
44593         * modules/unictype/property-bidi-non-spacing-mark: New file.
44594         * modules/unictype/property-bidi-boundary-neutral: New file.
44595         * modules/unictype/property-bidi-pdf: New file.
44596         * modules/unictype/property-bidi-embedding-or-override: New file.
44597         * modules/unictype/property-bidi-other-neutral: New file.
44598         * modules/unictype/property-hex-digit: New file.
44599         * modules/unictype/property-ascii-hex-digit: New file.
44600         * modules/unictype/property-ideographic: New file.
44601         * modules/unictype/property-unified-ideograph: New file.
44602         * modules/unictype/property-radical: New file.
44603         * modules/unictype/property-ids-binary-operator: New file.
44604         * modules/unictype/property-ids-trinary-operator: New file.
44605         * modules/unictype/property-zero-width: New file.
44606         * modules/unictype/property-space: New file.
44607         * modules/unictype/property-non-break: New file.
44608         * modules/unictype/property-iso-control: New file.
44609         * modules/unictype/property-format-control: New file.
44610         * modules/unictype/property-dash: New file.
44611         * modules/unictype/property-hyphen: New file.
44612         * modules/unictype/property-punctuation: New file.
44613         * modules/unictype/property-line-separator: New file.
44614         * modules/unictype/property-paragraph-separator: New file.
44615         * modules/unictype/property-quotation-mark: New file.
44616         * modules/unictype/property-sentence-terminal: New file.
44617         * modules/unictype/property-terminal-punctuation: New file.
44618         * modules/unictype/property-currency-symbol: New file.
44619         * modules/unictype/property-math: New file.
44620         * modules/unictype/property-other-math: New file.
44621         * modules/unictype/property-paired-punctuation: New file.
44622         * modules/unictype/property-left-of-pair: New file.
44623         * modules/unictype/property-combining: New file.
44624         * modules/unictype/property-composite: New file.
44625         * modules/unictype/property-decimal-digit: New file.
44626         * modules/unictype/property-numeric: New file.
44627         * modules/unictype/property-diacritic: New file.
44628         * modules/unictype/property-extender: New file.
44629         * modules/unictype/property-ignorable-control: New file.
44630         * modules/unictype/property-test: New file.
44631         * modules/unictype/property-byname: New file.
44632         * modules/unictype/property-all: New file.
44633         * modules/unictype/scripts: New file.
44634         * modules/unictype/scripts-all: New file.
44635         * modules/unictype/block-of: New file.
44636         * modules/unictype/block-test: New file.
44637         * modules/unictype/block-list: New file.
44638         * modules/unictype/block-all: New file.
44639         * modules/unictype/syntax-c-whitespace: New file.
44640         * modules/unictype/syntax-java-whitespace: New file.
44641         * modules/unictype/syntax-c-ident: New file.
44642         * modules/unictype/syntax-java-ident: New file.
44643         * modules/unictype/ctype-alnum: New file.
44644         * modules/unictype/ctype-alpha: New file.
44645         * modules/unictype/ctype-cntrl: New file.
44646         * modules/unictype/ctype-digit: New file.
44647         * modules/unictype/ctype-graph: New file.
44648         * modules/unictype/ctype-lower: New file.
44649         * modules/unictype/ctype-print: New file.
44650         * modules/unictype/ctype-punct: New file.
44651         * modules/unictype/ctype-space: New file.
44652         * modules/unictype/ctype-upper: New file.
44653         * modules/unictype/ctype-xdigit: New file.
44654         * modules/unictype/ctype-blank: New file.
44655         * lib/unictype/bidi_byname.c: New file.
44656         * lib/unictype/bidi_name.c: New file.
44657         * lib/unictype/bidi_of.c: New file.
44658         * lib/unictype/bidi_test.c: New file.
44659         * lib/unictype/bitmap.h: New file.
44660         * lib/unictype/block_test.c: New file.
44661         * lib/unictype/blocks.c: New file.
44662         * lib/unictype/categ_C.c: New file.
44663         * lib/unictype/categ_Cc.c: New file.
44664         * lib/unictype/categ_Cf.c: New file.
44665         * lib/unictype/categ_Cn.c: New file.
44666         * lib/unictype/categ_Co.c: New file.
44667         * lib/unictype/categ_Cs.c: New file.
44668         * lib/unictype/categ_L.c: New file.
44669         * lib/unictype/categ_Ll.c: New file.
44670         * lib/unictype/categ_Lm.c: New file.
44671         * lib/unictype/categ_Lo.c: New file.
44672         * lib/unictype/categ_Lt.c: New file.
44673         * lib/unictype/categ_Lu.c: New file.
44674         * lib/unictype/categ_M.c: New file.
44675         * lib/unictype/categ_Mc.c: New file.
44676         * lib/unictype/categ_Me.c: New file.
44677         * lib/unictype/categ_Mn.c: New file.
44678         * lib/unictype/categ_N.c: New file.
44679         * lib/unictype/categ_Nd.c: New file.
44680         * lib/unictype/categ_Nl.c: New file.
44681         * lib/unictype/categ_No.c: New file.
44682         * lib/unictype/categ_P.c: New file.
44683         * lib/unictype/categ_Pc.c: New file.
44684         * lib/unictype/categ_Pd.c: New file.
44685         * lib/unictype/categ_Pe.c: New file.
44686         * lib/unictype/categ_Pf.c: New file.
44687         * lib/unictype/categ_Pi.c: New file.
44688         * lib/unictype/categ_Po.c: New file.
44689         * lib/unictype/categ_Ps.c: New file.
44690         * lib/unictype/categ_S.c: New file.
44691         * lib/unictype/categ_Sc.c: New file.
44692         * lib/unictype/categ_Sk.c: New file.
44693         * lib/unictype/categ_Sm.c: New file.
44694         * lib/unictype/categ_So.c: New file.
44695         * lib/unictype/categ_Z.c: New file.
44696         * lib/unictype/categ_Zl.c: New file.
44697         * lib/unictype/categ_Zp.c: New file.
44698         * lib/unictype/categ_Zs.c: New file.
44699         * lib/unictype/categ_and.c: New file.
44700         * lib/unictype/categ_and_not.c: New file.
44701         * lib/unictype/categ_byname.c: New file.
44702         * lib/unictype/categ_name.c: New file.
44703         * lib/unictype/categ_none.c: New file.
44704         * lib/unictype/categ_of.c: New file.
44705         * lib/unictype/categ_or.c: New file.
44706         * lib/unictype/categ_test.c: New file.
44707         * lib/unictype/combining.c: New file.
44708         * lib/unictype/ctype_alnum.c: New file.
44709         * lib/unictype/ctype_alpha.c: New file.
44710         * lib/unictype/ctype_blank.c: New file.
44711         * lib/unictype/ctype_cntrl.c: New file.
44712         * lib/unictype/ctype_digit.c: New file.
44713         * lib/unictype/ctype_graph.c: New file.
44714         * lib/unictype/ctype_lower.c: New file.
44715         * lib/unictype/ctype_print.c: New file.
44716         * lib/unictype/ctype_punct.c: New file.
44717         * lib/unictype/ctype_space.c: New file.
44718         * lib/unictype/ctype_upper.c: New file.
44719         * lib/unictype/ctype_xdigit.c: New file.
44720         * lib/unictype/decdigit.c: New file.
44721         * lib/unictype/digit.c: New file.
44722         * lib/unictype/identsyntaxmap.h: New file.
44723         * lib/unictype/mirror.c: New file.
44724         * lib/unictype/numeric.c: New file.
44725         * lib/unictype/pr_alphabetic.c: New file.
44726         * lib/unictype/pr_ascii_hex_digit.c: New file.
44727         * lib/unictype/pr_bidi_arabic_digit.c: New file.
44728         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
44729         * lib/unictype/pr_bidi_block_separator.c: New file.
44730         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
44731         * lib/unictype/pr_bidi_common_separator.c: New file.
44732         * lib/unictype/pr_bidi_control.c: New file.
44733         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
44734         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
44735         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
44736         * lib/unictype/pr_bidi_european_digit.c: New file.
44737         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
44738         * lib/unictype/pr_bidi_left_to_right.c: New file.
44739         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
44740         * lib/unictype/pr_bidi_other_neutral.c: New file.
44741         * lib/unictype/pr_bidi_pdf.c: New file.
44742         * lib/unictype/pr_bidi_segment_separator.c: New file.
44743         * lib/unictype/pr_bidi_whitespace.c: New file.
44744         * lib/unictype/pr_byname.c: New file.
44745         * lib/unictype/pr_byname.gperf: New file.
44746         * lib/unictype/pr_combining.c: New file.
44747         * lib/unictype/pr_composite.c: New file.
44748         * lib/unictype/pr_currency_symbol.c: New file.
44749         * lib/unictype/pr_dash.c: New file.
44750         * lib/unictype/pr_decimal_digit.c: New file.
44751         * lib/unictype/pr_default_ignorable_code_point.c: New file.
44752         * lib/unictype/pr_deprecated.c: New file.
44753         * lib/unictype/pr_diacritic.c: New file.
44754         * lib/unictype/pr_extender.c: New file.
44755         * lib/unictype/pr_format_control.c: New file.
44756         * lib/unictype/pr_grapheme_base.c: New file.
44757         * lib/unictype/pr_grapheme_extend.c: New file.
44758         * lib/unictype/pr_grapheme_link.c: New file.
44759         * lib/unictype/pr_hex_digit.c: New file.
44760         * lib/unictype/pr_hyphen.c: New file.
44761         * lib/unictype/pr_id_continue.c: New file.
44762         * lib/unictype/pr_id_start.c: New file.
44763         * lib/unictype/pr_ideographic.c: New file.
44764         * lib/unictype/pr_ids_binary_operator.c: New file.
44765         * lib/unictype/pr_ids_trinary_operator.c: New file.
44766         * lib/unictype/pr_ignorable_control.c: New file.
44767         * lib/unictype/pr_iso_control.c: New file.
44768         * lib/unictype/pr_join_control.c: New file.
44769         * lib/unictype/pr_left_of_pair.c: New file.
44770         * lib/unictype/pr_line_separator.c: New file.
44771         * lib/unictype/pr_logical_order_exception.c: New file.
44772         * lib/unictype/pr_lowercase.c: New file.
44773         * lib/unictype/pr_math.c: New file.
44774         * lib/unictype/pr_non_break.c: New file.
44775         * lib/unictype/pr_not_a_character.c: New file.
44776         * lib/unictype/pr_numeric.c: New file.
44777         * lib/unictype/pr_other_alphabetic.c: New file.
44778         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
44779         * lib/unictype/pr_other_grapheme_extend.c: New file.
44780         * lib/unictype/pr_other_id_continue.c: New file.
44781         * lib/unictype/pr_other_id_start.c: New file.
44782         * lib/unictype/pr_other_lowercase.c: New file.
44783         * lib/unictype/pr_other_math.c: New file.
44784         * lib/unictype/pr_other_uppercase.c: New file.
44785         * lib/unictype/pr_paired_punctuation.c: New file.
44786         * lib/unictype/pr_paragraph_separator.c: New file.
44787         * lib/unictype/pr_pattern_syntax.c: New file.
44788         * lib/unictype/pr_pattern_white_space.c: New file.
44789         * lib/unictype/pr_private_use.c: New file.
44790         * lib/unictype/pr_punctuation.c: New file.
44791         * lib/unictype/pr_quotation_mark.c: New file.
44792         * lib/unictype/pr_radical.c: New file.
44793         * lib/unictype/pr_sentence_terminal.c: New file.
44794         * lib/unictype/pr_soft_dotted.c: New file.
44795         * lib/unictype/pr_space.c: New file.
44796         * lib/unictype/pr_terminal_punctuation.c: New file.
44797         * lib/unictype/pr_test.c: New file.
44798         * lib/unictype/pr_titlecase.c: New file.
44799         * lib/unictype/pr_unassigned_code_value.c: New file.
44800         * lib/unictype/pr_unified_ideograph.c: New file.
44801         * lib/unictype/pr_uppercase.c: New file.
44802         * lib/unictype/pr_variation_selector.c: New file.
44803         * lib/unictype/pr_white_space.c: New file.
44804         * lib/unictype/pr_xid_continue.c: New file.
44805         * lib/unictype/pr_xid_start.c: New file.
44806         * lib/unictype/pr_zero_width.c: New file.
44807         * lib/unictype/scripts.c: New file.
44808         * lib/unictype/sy_c_ident.c: New file.
44809         * lib/unictype/sy_c_whitespace.c: New file.
44810         * lib/unictype/sy_java_ident.c: New file.
44811         * lib/unictype/sy_java_whitespace.c: New file.
44812
44813         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
44814         Unicode 5.0.0.
44815         * lib/unictype/blocks.h: Likewise.
44816         * lib/unictype/categ_C.h: Likewise.
44817         * lib/unictype/categ_Cc.h: Likewise.
44818         * lib/unictype/categ_Cf.h: Likewise.
44819         * lib/unictype/categ_Cn.h: Likewise.
44820         * lib/unictype/categ_Co.h: Likewise.
44821         * lib/unictype/categ_Cs.h: Likewise.
44822         * lib/unictype/categ_L.h: Likewise.
44823         * lib/unictype/categ_Ll.h: Likewise.
44824         * lib/unictype/categ_Lm.h: Likewise.
44825         * lib/unictype/categ_Lo.h: Likewise.
44826         * lib/unictype/categ_Lt.h: Likewise.
44827         * lib/unictype/categ_Lu.h: Likewise.
44828         * lib/unictype/categ_M.h: Likewise.
44829         * lib/unictype/categ_Mc.h: Likewise.
44830         * lib/unictype/categ_Me.h: Likewise.
44831         * lib/unictype/categ_Mn.h: Likewise.
44832         * lib/unictype/categ_N.h: Likewise.
44833         * lib/unictype/categ_Nd.h: Likewise.
44834         * lib/unictype/categ_Nl.h: Likewise.
44835         * lib/unictype/categ_No.h: Likewise.
44836         * lib/unictype/categ_P.h: Likewise.
44837         * lib/unictype/categ_Pc.h: Likewise.
44838         * lib/unictype/categ_Pd.h: Likewise.
44839         * lib/unictype/categ_Pe.h: Likewise.
44840         * lib/unictype/categ_Pf.h: Likewise.
44841         * lib/unictype/categ_Pi.h: Likewise.
44842         * lib/unictype/categ_Po.h: Likewise.
44843         * lib/unictype/categ_Ps.h: Likewise.
44844         * lib/unictype/categ_S.h: Likewise.
44845         * lib/unictype/categ_Sc.h: Likewise.
44846         * lib/unictype/categ_Sk.h: Likewise.
44847         * lib/unictype/categ_Sm.h: Likewise.
44848         * lib/unictype/categ_So.h: Likewise.
44849         * lib/unictype/categ_Z.h: Likewise.
44850         * lib/unictype/categ_Zl.h: Likewise.
44851         * lib/unictype/categ_Zp.h: Likewise.
44852         * lib/unictype/categ_Zs.h: Likewise.
44853         * lib/unictype/categ_of.h: Likewise.
44854         * lib/unictype/combining.h: Likewise.
44855         * lib/unictype/ctype_alnum.h: Likewise.
44856         * lib/unictype/ctype_alpha.h: Likewise.
44857         * lib/unictype/ctype_blank.h: Likewise.
44858         * lib/unictype/ctype_cntrl.h: Likewise.
44859         * lib/unictype/ctype_digit.h: Likewise.
44860         * lib/unictype/ctype_graph.h: Likewise.
44861         * lib/unictype/ctype_lower.h: Likewise.
44862         * lib/unictype/ctype_print.h: Likewise.
44863         * lib/unictype/ctype_punct.h: Likewise.
44864         * lib/unictype/ctype_space.h: Likewise.
44865         * lib/unictype/ctype_upper.h: Likewise.
44866         * lib/unictype/ctype_xdigit.h: Likewise.
44867         * lib/unictype/decdigit.h: Likewise.
44868         * lib/unictype/digit.h: Likewise.
44869         * lib/unictype/mirror.h: Likewise.
44870         * lib/unictype/numeric.h: Likewise.
44871         * lib/unictype/pr_alphabetic.h: Likewise.
44872         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44873         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44874         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44875         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44876         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44877         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44878         * lib/unictype/pr_bidi_control.h: Likewise.
44879         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44880         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44881         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44882         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44883         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44884         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44885         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44886         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44887         * lib/unictype/pr_bidi_pdf.h: Likewise.
44888         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44889         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44890         * lib/unictype/pr_combining.h: Likewise.
44891         * lib/unictype/pr_composite.h: Likewise.
44892         * lib/unictype/pr_currency_symbol.h: Likewise.
44893         * lib/unictype/pr_dash.h: Likewise.
44894         * lib/unictype/pr_decimal_digit.h: Likewise.
44895         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44896         * lib/unictype/pr_deprecated.h: Likewise.
44897         * lib/unictype/pr_diacritic.h: Likewise.
44898         * lib/unictype/pr_extender.h: Likewise.
44899         * lib/unictype/pr_format_control.h: Likewise.
44900         * lib/unictype/pr_grapheme_base.h: Likewise.
44901         * lib/unictype/pr_grapheme_extend.h: Likewise.
44902         * lib/unictype/pr_grapheme_link.h: Likewise.
44903         * lib/unictype/pr_hex_digit.h: Likewise.
44904         * lib/unictype/pr_hyphen.h: Likewise.
44905         * lib/unictype/pr_id_continue.h: Likewise.
44906         * lib/unictype/pr_id_start.h: Likewise.
44907         * lib/unictype/pr_ideographic.h: Likewise.
44908         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44909         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44910         * lib/unictype/pr_ignorable_control.h: Likewise.
44911         * lib/unictype/pr_iso_control.h: Likewise.
44912         * lib/unictype/pr_join_control.h: Likewise.
44913         * lib/unictype/pr_left_of_pair.h: Likewise.
44914         * lib/unictype/pr_line_separator.h: Likewise.
44915         * lib/unictype/pr_logical_order_exception.h: Likewise.
44916         * lib/unictype/pr_lowercase.h: Likewise.
44917         * lib/unictype/pr_math.h: Likewise.
44918         * lib/unictype/pr_non_break.h: Likewise.
44919         * lib/unictype/pr_not_a_character.h: Likewise.
44920         * lib/unictype/pr_numeric.h: Likewise.
44921         * lib/unictype/pr_other_alphabetic.h: Likewise.
44922         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44923         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44924         * lib/unictype/pr_other_id_continue.h: Likewise.
44925         * lib/unictype/pr_other_id_start.h: Likewise.
44926         * lib/unictype/pr_other_lowercase.h: Likewise.
44927         * lib/unictype/pr_other_math.h: Likewise.
44928         * lib/unictype/pr_other_uppercase.h: Likewise.
44929         * lib/unictype/pr_paired_punctuation.h: Likewise.
44930         * lib/unictype/pr_paragraph_separator.h: Likewise.
44931         * lib/unictype/pr_pattern_syntax.h: Likewise.
44932         * lib/unictype/pr_pattern_white_space.h: Likewise.
44933         * lib/unictype/pr_private_use.h: Likewise.
44934         * lib/unictype/pr_punctuation.h: Likewise.
44935         * lib/unictype/pr_quotation_mark.h: Likewise.
44936         * lib/unictype/pr_radical.h: Likewise.
44937         * lib/unictype/pr_sentence_terminal.h: Likewise.
44938         * lib/unictype/pr_soft_dotted.h: Likewise.
44939         * lib/unictype/pr_space.h: Likewise.
44940         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44941         * lib/unictype/pr_titlecase.h: Likewise.
44942         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44943         * lib/unictype/pr_unified_ideograph.h: Likewise.
44944         * lib/unictype/pr_uppercase.h: Likewise.
44945         * lib/unictype/pr_variation_selector.h: Likewise.
44946         * lib/unictype/pr_white_space.h: Likewise.
44947         * lib/unictype/pr_xid_continue.h: Likewise.
44948         * lib/unictype/pr_xid_start.h: Likewise.
44949         * lib/unictype/pr_zero_width.h: Likewise.
44950         * lib/unictype/scripts.h: Likewise.
44951         * lib/unictype/scripts_byname.gperf: Likewise.
44952         * lib/unictype/sy_c_ident.h: Likewise.
44953         * lib/unictype/sy_c_whitespace.h: Likewise.
44954         * lib/unictype/sy_java_ident.h: Likewise.
44955         * lib/unictype/sy_java_whitespace.h: Likewise.
44956
44957         * lib/unictype/Makefile: New file.
44958         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
44959         glibc.
44960         * lib/unictype/3level.h: New file, copied from glibc.
44961         * lib/unictype/3levelbit.h: New file.
44962
44963 2007-11-11  Bruno Haible  <bruno@clisp.org>
44964
44965         * modules/gperf: New file.
44966         * modules/iconv_open (Depends-on): Add it.
44967         (Makefile.am): Remove the GPERF definition.
44968
44969 2007-11-11  Bruno Haible  <bruno@clisp.org>
44970
44971         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
44972         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
44973
44974 2007-11-11  Bruno Haible  <bruno@clisp.org>
44975
44976         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
44977         (usage): Remove function.
44978
44979 2007-11-11  Bruno Haible  <bruno@clisp.org>
44980
44981         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
44982         gl_FUNC_CEILF_LIBS.
44983         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
44984         gl_FUNC_CEIL_LIBS.
44985         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
44986         gl_FUNC_CEILL_LIBS.
44987         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
44988         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
44989         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
44990
44991 2007-11-11  Bruno Haible  <bruno@clisp.org>
44992
44993         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
44994         roundf were declared but do not exist on functions.
44995         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
44996         roundl were declared but do not exist on functions.
44997         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
44998         HAVE_FLOORL_AND_CEILL, respectively.
44999         Needed for Sun C on Solaris 10.
45000
45001 2007-11-11  Bruno Haible  <bruno@clisp.org>
45002
45003         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
45004         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
45005         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
45006         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
45007         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
45008         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
45009         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
45010         HAVE_DECL_ROUNDF.
45011         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
45012         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
45013         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
45014         of HAVE_DECL_ROUND*.
45015         * modules/math (Makefile.am): Update.
45016
45017 2007-11-10  Bruno Haible  <bruno@clisp.org>
45018
45019         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
45020         ptrdiff_t as m4/intl.m4.
45021
45022 2007-11-10  Jim Meyering  <meyering@redhat.com>
45023
45024         Avoid link failure for the argmatch test.
45025         * tests/test-argmatch.c (usage): Define function to avoid a link
45026         failure: argmatch_die requires a usage function.
45027
45028 2007-11-09  Bruno Haible  <bruno@clisp.org>
45029
45030         * doc/functions/snprintf.texi: Mention BeOS deficiency.
45031         * doc/functions/vsnprintf.texi: Likewise.
45032         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
45033         with a size argument < 2.
45034
45035 2007-11-09  Bruno Haible  <bruno@clisp.org>
45036
45037         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
45038         buffer. Fixes an inefficiency introduced on 2007-11-03.
45039
45040 2007-11-09  Bruno Haible  <bruno@clisp.org>
45041
45042         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
45043         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
45044
45045 2007-11-08  Jim Meyering  <meyering@redhat.com>
45046
45047         Change cache variable name prefix "jm_" to "gl_" everywhere.
45048         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
45049         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
45050         * m4/uptime.m4: s/gl_/jm_/
45051
45052 2007-11-07  Bruno Haible  <bruno@clisp.org>
45053
45054         Update to GNU gettext 0.17.
45055         * m4/intl.m4: Update to GNU gettext 0.17.
45056         * m4/po.m4: Likewise.
45057         * modules/gettext (Files): Remove m4/ulonglong.m4.
45058         (configure.ac): Require gettext infrastructure from version 0.17.
45059
45060 2007-11-06  Bruno Haible  <bruno@clisp.org>
45061
45062         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
45063         symbolic values are not defined in a public header.
45064         * lib/freadable.c (freadable) [QNX]: Likewise.
45065         * lib/freadahead.c (freadahead) [QNX]: Likewise.
45066         * lib/freading.c (freading) [QNX]: Likewise.
45067         * lib/fseterr.c (fseterr) [QNX]: Likewise.
45068         * lib/fwritable.c (fwritable) [QNX]: Likewise.
45069         * lib/fwriting.c (fwriting) [QNX]: Likewise.
45070         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
45071         Reported by Alain Magloire.
45072
45073         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
45074
45075 2007-11-05  Bruno Haible  <bruno@clisp.org>
45076
45077         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
45078         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
45079         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
45080         Reported by Eric Blake.
45081
45082 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45083             Bruno Haible  <bruno@clisp.org>
45084
45085         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
45086         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
45087         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
45088         (malloc): Undefine also before including <stdlib.h>.
45089         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
45090         Needed on OSF/1 4.0.
45091
45092 2007-11-05  Jim Meyering  <meyering@redhat.com>
45093
45094         git-version-gen: sync from coreutils.
45095         * build-aux/git-version-gen: Add comments.
45096         Change the first '-' to '.' in the snapshot version string,
45097         e.g., 6.9-377-08144 -> 6.9.377-08144
45098         Remove first parameter.
45099         Don't declare a version "-dirty" merely because a time
45100         stamp has changed.
45101
45102 2007-11-04  Bruno Haible  <bruno@clisp.org>
45103
45104         * lib/lock.h: Protect all macro definitions containing an 'if'
45105         statement through a "do { ... } while (0)".
45106         * lib/tls.h: Likewise.
45107
45108 2007-11-04  Bruno Haible  <bruno@clisp.org>
45109
45110         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
45111
45112 2007-11-04  Bruno Haible  <bruno@clisp.org>
45113
45114         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
45115         * modules/fprintf-posix (Depends-on): Add nocrash.
45116         * modules/snprintf-posix (Depends-on): Likewise.
45117         * modules/sprintf-posix (Depends-on): Likewise.
45118         * modules/vasnprintf-posix (Depends-on): Likewise.
45119         * modules/vasprintf-posix (Depends-on): Likewise.
45120         * modules/vfprintf-posix (Depends-on): Likewise.
45121         * modules/vsnprintf-posix (Depends-on): Likewise.
45122         * modules/vsprintf-posix (Depends-on): Likewise.
45123         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45124         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45125         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45126         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45127         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45128         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45129         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45130
45131 2007-11-04  Bruno Haible  <bruno@clisp.org>
45132
45133         * modules/nocrash: New file.
45134         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
45135         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
45136
45137 2007-11-04  Bruno Haible  <bruno@clisp.org>
45138
45139         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
45140         precision handling.
45141         * tests/test-vasprintf-posix.c (test_function): Likewise.
45142         * tests/test-snprintf-posix.h (test_function): Likewise.
45143         * tests/test-sprintf-posix.h (test_function): Likewise.
45144
45145         Fix *printf behaviour for large precisions on mingw and BeOS.
45146         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
45147         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
45148         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
45149         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45150         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45151         gl_PRINTF_PRECISION and test its result. Invoke
45152         gl_PREREQ_VASNPRINTF_PRECISION.
45153         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45154         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45155         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45156         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45157         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45158         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45159         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45160         * doc/functions/fprintf.texi: Update.
45161         * doc/functions/printf.texi: Update.
45162         * doc/functions/snprintf.texi: Update.
45163         * doc/functions/sprintf.texi: Update.
45164         * doc/functions/vfprintf.texi: Update.
45165         * doc/functions/vprintf.texi: Update.
45166         * doc/functions/vsnprintf.texi: Update.
45167         * doc/functions/vsprintf.texi: Update.
45168
45169 2007-11-04  Bruno Haible  <bruno@clisp.org>
45170
45171         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
45172
45173 2007-11-04  Bruno Haible  <bruno@clisp.org>
45174
45175         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
45176         Reported by Sylvain Beucler <beuc@gnu.org>.
45177
45178 2007-11-03  Bruno Haible  <bruno@clisp.org>
45179
45180         * tests/test-fprintf-posix2.sh: New file.
45181         * tests/test-fprintf-posix2.c: New file.
45182         * modules/fprintf-posix-tests (Files): Add them.
45183         (TESTS): Add test-fprintf-posix2.sh.
45184         (configure.ac): Check for getrlimit and setrlimit.
45185         (check_PROGRAMS): Add test-fprintf-posix2.
45186
45187         * tests/test-printf-posix2.sh: New file.
45188         * tests/test-printf-posix2.c: New file.
45189         * modules/printf-posix-tests (Files): Add them.
45190         (TESTS): Add test-printf-posix2.sh.
45191         (configure.ac): Check for getrlimit and setrlimit.
45192         (check_PROGRAMS): Add test-printf-posix2.
45193
45194         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
45195         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
45196         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
45197         (decode_double): New function, copied from decode_long_double.
45198         (scale10_round_decimal_decoded): New function, extracted from
45199         scale10_round_decimal_long_double.
45200         (scale10_round_decimal_long_double): Use it.
45201         (scale10_round_decimal_double): New function.
45202         (floorlog10): New function.
45203         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
45204         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
45205         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45206         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45207         gl_PRINTF_ENOMEM and test its result. Invoke
45208         gl_PREREQ_VASNPRINTF_ENOMEM.
45209         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45210         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45211         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45212         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45213         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45214         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45215         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45216         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
45217         * modules/snprintf-posix (Depends-on): Likewise.
45218         * modules/sprintf-posix (Depends-on): Likewise.
45219         * modules/vasnprintf-posix (Depends-on): Likewise.
45220         * modules/vasprintf-posix (Depends-on): Likewise.
45221         * modules/vfprintf-posix (Depends-on): Likewise.
45222         * modules/vsnprintf-posix (Depends-on): Likewise.
45223         * modules/vsprintf-posix (Depends-on): Likewise.
45224         * doc/functions/fprintf.texi: Update.
45225         * doc/functions/printf.texi: Update.
45226         * doc/functions/snprintf.texi: Update.
45227         * doc/functions/sprintf.texi: Update.
45228         * doc/functions/vfprintf.texi: Update.
45229         * doc/functions/vprintf.texi: Update.
45230         * doc/functions/vsnprintf.texi: Update.
45231         * doc/functions/vsprintf.texi: Update.
45232
45233 2007-11-03  Bruno Haible  <bruno@clisp.org>
45234
45235         * modules/frexp-nolibm-tests: New file.
45236
45237         * modules/frexp-nolibm: New file.
45238         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
45239
45240 2007-11-03  Bruno Haible  <bruno@clisp.org>
45241
45242         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
45243         value is C99 compliant.
45244         Needed for OSF/1 5.1.
45245
45246 2007-11-03  Bruno Haible  <bruno@clisp.org>
45247
45248         Fix out-of-memory handling of vasnprintf.
45249         * lib/printf-parse.c: Include <errno.h>.
45250         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
45251         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
45252         is already set.
45253
45254 2007-11-02  Eric Blake  <ebb9@byu.net>
45255
45256         Fix tests on cygwin.
45257         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
45258
45259 2007-11-01  Bruno Haible  <bruno@clisp.org>
45260
45261         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
45262         warning.
45263         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
45264         needed for POSIX compatibility.
45265
45266 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45267
45268         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
45269         for compatibility with GNU.
45270
45271 2007-11-01  Bruno Haible  <bruno@clisp.org>
45272
45273         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
45274         (putenv): Renamed from rpl_putenv. Change argument type from
45275         'const char *' to 'char *'.
45276         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
45277         of defining putenv in config.h, just set REPLACE_PUTENV.
45278         * modules/putenv (Depends-on): Add stdlib.
45279         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45280         (Include): Use <stdlib.h>.
45281         * lib/stdlib.in.h (putenv): New declaration.
45282         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
45283         REPLACE_PUTENV.
45284         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
45285         REPLACE_PUTENV.
45286         Needed for MacOS X 10.5.0.
45287         Reported by Peter O'Gorman <peter@pogma.com>.
45288
45289 2007-11-01  Jim Meyering  <meyering@redhat.com>
45290
45291         Treat an empty date string exactly like "0".
45292         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
45293         if the remaining date string (to be parsed) is empty, use "0".
45294         Reported by Mischa Molhoek and discussed in this thread:
45295         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
45296
45297 2007-10-31  Bruno Haible  <bruno@clisp.org>
45298
45299         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
45300         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
45301         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
45302         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
45303         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
45304         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
45305
45306 2007-10-31  Bruno Haible  <bruno@clisp.org>
45307
45308         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
45309         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
45310         (AC_TYPE_LONG_LONG_INT): Use it.
45311         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
45312         it as well.
45313         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
45314         to m4/longlong.m4.
45315         * modules/stdint (Files): Remove m4/ulonglong.m4.
45316         * modules/strtoull (Files): Use m4/longlong.m4 instead of
45317         m4/ulonglong.m4.
45318         * modules/strtoumax (Files): Likewise.
45319
45320 2007-10-30  Bruno Haible  <bruno@clisp.org>
45321
45322         * modules/xvasprintf-posix: New file.
45323         Suggested by Eric Blake.
45324
45325 2007-10-30  Bruno Haible  <bruno@clisp.org>
45326
45327         * modules/xprintf-posix-tests: New file.
45328         * tests/test-xprintf-posix.sh: New file.
45329         * tests/test-xprintf-posix.c: New file.
45330         * tests/test-xfprintf-posix.c: New file.
45331
45332         * modules/xprintf-posix: New file.
45333
45334 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45335
45336         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
45337         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
45338         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
45339
45340 2007-10-29  Bruno Haible  <bruno@clisp.org>
45341
45342         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
45343         contain the special marker '_cv_'.
45344         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45345         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45346         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45347         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
45348         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45349         Reported by Ralf Wildenhues.
45350
45351 2007-10-29  Bruno Haible  <bruno@clisp.org>
45352
45353         * gnulib-tool (func_import): When --lgpl is not specified, set
45354         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
45355         GPLv3.
45356         Reported by Simon Josefsson.
45357
45358 2007-10-28  Bruno Haible  <bruno@clisp.org>
45359
45360         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
45361         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
45362         HAVE_DECL_ISFINITE.
45363         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45364         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
45365         HAVE_DECL_ISFINITE.
45366
45367 2007-10-28  Bruno Haible  <bruno@clisp.org>
45368
45369         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
45370         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
45371
45372 2007-10-28  Bruno Haible  <bruno@clisp.org>
45373
45374         Fix link errors with Sun C 5.0 on Solaris 10.
45375         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
45376         function is declared but not present in the compiler's libm.
45377         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
45378         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
45379         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
45380         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
45381         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
45382         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
45383         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
45384         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
45385         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
45386         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
45387         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
45388         HAVE_DECL_FLOORL.
45389
45390 2007-10-28  Bruno Haible  <bruno@clisp.org>
45391
45392         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
45393         gl_FUNC_FLOORL. Cache the result.
45394         (gl_FUNC_FLOORL): Use it.
45395         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
45396         gl_FUNC_CEILL. Cache the result.
45397         (gl_FUNC_CEILL): Use it.
45398
45399         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
45400         gl_FUNC_FLOOR. Cache the result.
45401         (gl_FUNC_FLOOR): Use it.
45402         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
45403         gl_FUNC_CEIL. Cache the result.
45404         (gl_FUNC_CEIL): Use it.
45405
45406         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
45407         gl_FUNC_FLOORF. Cache the result.
45408         (gl_FUNC_FLOORF): Use it.
45409         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
45410         gl_FUNC_CEILF. Cache the result.
45411         (gl_FUNC_CEILF): Use it.
45412
45413 2007-10-28  Bruno Haible  <bruno@clisp.org>
45414
45415         * gnulib-tool: Allow specifying the LGPL version number through
45416         --lgpl=2 or --lgpl=3.
45417         (func_usage): Document --lgpl with argument.
45418         Handle --lgpl=... arguments.
45419         (func_import): Recognize also gl_LGPL calls with an argument. When
45420         --lgpl=2 is used and the module's license is just LGPL, report an
45421         error. Set sed_transform_lib_file according to the lgpl variable. In
45422         the generated files, use --lgpl or gl_LGPL invocations with argument,
45423         if necessary.
45424         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
45425         an LGPv2+ license.
45426         * doc/gnulib-tool.texi (Modified imports): Update explanation of
45427         gl_LGPL macro.
45428
45429 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45430             Bruno Haible  <bruno@clisp.org>
45431
45432         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
45433         (u16_uctomb_aux): Likewise.
45434         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
45435         !HAVE_INLINE.
45436         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
45437
45438 2007-10-28  Bruno Haible  <bruno@clisp.org>
45439
45440         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
45441         Invoke AM_GETTEXT_OPTION if it exists.
45442         * modules/vasprintf: Likewise.
45443         * modules/verror: Likewise.
45444         * modules/xprintf: Likewise.
45445         * modules/xvasprintf: Likewise.
45446
45447 2007-10-27  Ben Pfaff  <blp@gnu.org>
45448
45449         * lib/math.in.h: Define isfinite macro and prototypes for
45450         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
45451         implementations.
45452         * m4/math_h.m4: New substitutions for isfinite module.
45453         * lib/isfinite.c: New file.
45454         * m4/isfinite.m4: New file.
45455         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
45456         * modules/isfinite: New file.
45457         * modules/isfinite-tests: New file.
45458         * tests/tests-isfinite.c: New file.
45459         * doc/functions/isfinite.texi: Mention isfinite module.
45460         * MODULES.html.sh: Mention new module.
45461
45462 2007-10-27  Ben Pfaff  <blp@gnu.org>
45463
45464         Ralf Wildenhues reported that Tru64 4.0D declares the round
45465         functions but does not have definitions.
45466         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
45467         cannot be found in any library, set the output variable to
45468         "missing" instead of "".
45469         * m4/round.m4: Also use our substitute if we cannot find round in
45470         any library, even if it is declared.
45471         * m4/roundf.m4: Likewise for roundf.
45472         * m4/roundl.m4: Likewise for roundl.
45473         * lib/math.in.h: Undefine roundf, round, roundl before defining
45474         their replacements, to allow for hypothetical systems where these
45475         may be defined as macros but not available in libraries.
45476
45477 2007-10-27  Bruno Haible  <bruno@clisp.org>
45478
45479         * doc/gnulib.texi: Invoke @firstparagraphindent.
45480         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
45481         changes in gnulib.
45482         (Source changes): New section.
45483
45484 2007-10-26  Bruno Haible  <bruno@clisp.org>
45485
45486         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
45487         borrowed from autoconf.
45488
45489 2007-10-26  Bruno Haible  <bruno@clisp.org>
45490
45491         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
45492         strerror returned the empty string. Needed on HP-UX 11.00.
45493
45494 2007-10-24  Micah Cowan  <micah@cowan.name>
45495
45496         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
45497         * build-aux/bootstrap: Remove support for now-unnecessary option,
45498         --cvs-user, and envvars CVS_USER, CVS_RSH.
45499
45500 2007-10-24  Jim Meyering  <meyering@redhat.com>
45501
45502         Avoid diagnostics from sha1sum when there is no cached checksum.
45503         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
45504         if the po.s1 file hasn't been created yet.
45505
45506         * build-aux/bootstrap: Sync from coreutils:
45507         2007-10-24  Jim Meyering  <meyering@redhat.com>
45508         Get gnulib from the git repository, not from an obsolete cvs one.
45509         * build-aux/bootstrap: Suggestion from Micah Cowan.
45510         2007-10-04  Jim Meyering  <jim@meyering.net>
45511         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
45512         (update_po_files): Work also when there are no .po files in po/.
45513
45514 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45515
45516         * README: Append ".git" to git and cg examples.
45517         Problem reported by Benoit Sigoure.
45518
45519 2007-10-23  Micah Cowan  <micah@cowan.name>
45520
45521         * users.txt: Add wget.
45522
45523 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45524
45525         Fix linking of some unistdio tests on FreeBSD.
45526         * modules/unistdio/u16-vsnprintf-tests
45527         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
45528         * modules/unistdio/u16-vsprintf-tests
45529         (test_u16_vsnprintf1_LDADD): Likewise.
45530         * modules/unistdio/u32-vsnprintf-tests
45531         (test_u32_vsnprintf1_LDADD): Likewise.
45532         * modules/unistdio/u32-vsprintf-tests
45533         (test_u32_vsprintf1_LDADD): Likewise.
45534         * modules/unistdio/u8-vsnprintf-tests
45535         (test_u8_vsnprintf1_LDADD): Likewise.
45536         * modules/unistdio/u8-vsprintf-tests
45537         (test_u8_vsprintf1_LDADD): Likewise.
45538         * modules/unistdio/ulc-vsnprintf-tests
45539         (test_ulc_vsnprintf1_LDADD): Likewise.
45540         * modules/unistdio/ulc-vsprintf-tests
45541         (test_ulc_vsprintf1_LDADD): Likewise.
45542
45543         Fix linking of some uniconv tests on FreeBSD.
45544         * modules/uniconv/u16-conv-from-enc-tests
45545         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
45546         * modules/uniconv/u16-conv-to-enc-tests
45547         (test_u16_conv_to_enc_LDADD): Likewise.
45548         * modules/uniconv/u16-strconv-from-enc-tests
45549         (test_u16_strconv_from_enc_LDADD): Likewise.
45550         * modules/uniconv/u16-strconv-to-enc-tests
45551         (test_u16_strconv_to_enc_LDADD): Likewise.
45552         * modules/uniconv/u32-conv-from-enc-tests
45553         (test_u32_conv_from_enc_LDADD): Likewise.
45554         * modules/uniconv/u32-conv-to-enc-tests
45555         (test_u32_conv_to_enc_LDADD): Likewise.
45556         * modules/uniconv/u32-strconv-from-enc-tests
45557         (test_u32_strconv_from_enc_LDADD): Likewise.
45558         * modules/uniconv/u32-strconv-to-enc-tests
45559         (test_u32_strconv_to_enc_LDADD): Likewise.
45560         * modules/uniconv/u8-conv-from-enc-tests
45561         (test_u8_conv_from_enc_LDADD): Likewise.
45562         * modules/uniconv/u8-conv-to-enc-tests
45563         (test_u8_conv_to_enc_LDADD): Likewise.
45564         * modules/uniconv/u8-strconv-from-enc-tests
45565         (test_u8_strconv_from_enc_LDADD): Likewise.
45566         * modules/uniconv/u8-strconv-to-enc-tests
45567         (test_u8_strconv_to_enc_LDADD): Likewise.
45568
45569 2007-10-22  Bruno Haible  <bruno@clisp.org>
45570
45571         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
45572         size.
45573
45574 2007-10-22  Eric Blake  <ebb9@byu.net>
45575
45576         Tweak x*printf documentation.
45577         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
45578         variable name and comments.
45579         Suggested by Bruno Haible.
45580
45581 2007-10-22  Bruno Haible  <bruno@clisp.org>
45582
45583         * lib/acl.c (copy_acl): Fix file name in comment.
45584
45585 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45586
45587         Fix Tru64 problem with stdbool.h.
45588         * lib/stdbool.in.h (false, true):
45589         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
45590         Don't declare as an enum in this situation; it runs afoul of Tru64.
45591         Problem reported by Steven M. Schweda in
45592         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
45593
45594 2007-10-22  Eric Blake  <ebb9@byu.net>
45595
45596         Also wrap vf?printf.
45597         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
45598         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
45599         (xvprintf, xvfprintf): New functions.
45600
45601 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45602
45603         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
45604         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
45605
45606         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
45607         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
45608
45609 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
45610
45611         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
45612         by Bruno Haible.
45613
45614 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45615
45616         * lib/getloadavg.c
45617         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
45618         Undef `sys' after including sys/table.h, for Tru64 4.0D.
45619
45620         * tests/test-i-ring.c: Work for C89.
45621
45622 2007-10-22  Bruno Haible  <bruno@clisp.org>
45623
45624         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
45625         -1u, in preprocessor expression, so that we don't test for the bug
45626         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
45627         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
45628
45629 2007-10-22  Eric Blake  <ebb9@byu.net>
45630
45631         * tests/test-yesno.sh: Silence stderr during test.
45632
45633 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45634
45635         * modules/crypto/gc-camellia: New file.
45636
45637         * m4/gc-camellia.m4: New file.
45638
45639         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
45640
45641         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
45642
45643 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45644
45645         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
45646         --help to stdout.  Reported by sms@antinode.org (Steven
45647         M. Schweda).
45648
45649 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45650
45651         * users.txt: Fix link to libksba.
45652
45653 2007-10-21  Ben Pfaff  <blp@gnu.org>
45654
45655         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
45656         round.c roundf implementation that depends on floorf and ceilf to
45657         be tested unconditionally.
45658
45659 2007-10-21  Ben Pfaff  <blp@gnu.org>
45660
45661         * m4/check-libm-func.m4: Removed.
45662         * m4/check-math-lib.m4: New file.
45663         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
45664         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
45665         definition and lack of AC_LIBOBJ([roundf]).
45666         * m4/roundl.m4: Ditto, and similarly for roundl.
45667         * modules/round: Reference new m4 file.
45668         * modules/roundf: Ditto.
45669         * modules/roundl: Ditto.
45670         * tests/test-round2.c (main): Use ROUND instead of round.
45671         Bug report from Bruno Haible.
45672
45673 2007-10-21  Bruno Haible  <bruno@clisp.org>
45674
45675         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
45676         context.
45677
45678 2007-10-21  Bruno Haible  <bruno@clisp.org>
45679
45680         * tests/test-wcwidth.c (main): Allow negative result for some control
45681         characters.
45682
45683         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
45684         Needed on OSF/1 5.1.
45685
45686 2007-10-21  Bruno Haible  <bruno@clisp.org>
45687
45688         * tests/test-floorf1.c: Include isnanf.h.
45689         (main): Use isnanf() instead of isnan().
45690         * tests/test-ceilf1.c: Include isnanf.h.
45691         (main): Use isnanf() instead of isnan().
45692         * tests/test-truncf1.c: Include isnanf.h.
45693         (main): Use isnanf() instead of isnan().
45694         * tests/test-roundf1.c: Include isnanf.h.
45695         (main): Use isnanf() instead of isnan().
45696
45697 2007-10-21  Eric Blake  <ebb9@byu.net>
45698
45699         * users.txt: Update URL for m4.
45700
45701 2007-10-21  Bruno Haible  <bruno@clisp.org>
45702
45703         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
45704
45705 2007-10-21  Bruno Haible  <bruno@clisp.org>
45706
45707         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
45708         Git's management files if the CVS files are not present.
45709
45710 2007-10-20  Bruno Haible  <bruno@clisp.org>
45711
45712         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
45713         gcc-3.4.x.
45714
45715 2007-10-20  Ben Pfaff  <blp@gnu.org>
45716
45717         * lib/math.in.h: Declare round, roundf, roundl if we are providing
45718         implementations.
45719         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
45720         * lib/round.c: New file.
45721         * lib/roundf.c: New file.
45722         * lib/roundl.c: New file.
45723         * m4/round.m4: New file.
45724         * m4/roundf.m4: New file.
45725         * m4/roundl.m4: New file.
45726         * m4/check-libm-func-m4: New file.
45727         * modules/math: Replace round, roundf, roundl related @VARS@ in
45728         math.in.h.
45729         * modules/round: New file.
45730         * modules/round-tests: New file.
45731         * modules/roundf: New file.
45732         * modules/roundf-tests: New file.
45733         * modules/roundl: New file.
45734         * modules/roundl-tests: New file.
45735         * tests/test-round1.c: New file.
45736         * tests/test-round2.c: New file.
45737         * tests/test-roundf1.c: New file.
45738         * tests/test-roundf2.c: New file.
45739         * tests/test-roundl.c: New file.
45740         * doc/functions/round.texi: Mention round module.
45741         * doc/functions/roundf.texi: Mention roundf module.
45742         * doc/functions/roundl.texi: Mention roundl module.
45743         * MODULES.html.sh: Mention new modules.
45744         Thanks to Bruno Haible for suggestions.
45745
45746 2007-10-20  Jim Meyering  <meyering@redhat.com>
45747
45748         * lib/xprintf.c: Include <config.h> unconditionally.
45749
45750         Change xprintf's license to GPL.
45751         * modules/xprintf (License): s/LGPL/GPL/, since this module
45752         depends on modules (exit and exitfail) which are GPL.
45753         Suggestion from Bruno Haible.
45754
45755         xprintf fixes.
45756         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
45757         Use a clearer diagnostic.
45758         Patch from Bruno Haible.
45759
45760 2007-10-20  Bruno Haible  <bruno@clisp.org>
45761
45762         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
45763         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
45764         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45765
45766 2007-10-20  Bruno Haible  <bruno@clisp.org>
45767
45768         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
45769         precision in the comparison result > x - 1 or similar.
45770         * tests/test-ceilf2.c (correct_result_p): Likewise.
45771         * tests/test-truncf2.c (correct_result_p): Likewise.
45772         * tests/test-trunc2.c (correct_result_p): Likewise.
45773         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45774
45775 2007-10-20  Bruno Haible  <bruno@clisp.org>
45776
45777         * modules/ceil: New file.
45778         * m4/ceil.m4: New file.
45779         * doc/functions/ceil.texi: Mention the 'ceil' module.
45780
45781 2007-10-20  Bruno Haible  <bruno@clisp.org>
45782
45783         * modules/floor: New file.
45784         * m4/floor.m4: New file.
45785         * doc/functions/floor.texi: Mention the 'floor' module.
45786
45787 2007-10-20  Bruno Haible  <bruno@clisp.org>
45788
45789         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
45790         of %a.
45791         * modules/floorf-tests (Depends-on): Likewise.
45792         * modules/truncf-tests (Depends-on): Likewise.
45793         * modules/trunc-tests (Depends-on): Likewise.
45794         Reported by Ben Pfaff.
45795
45796 2007-10-19  Jim Meyering  <meyering@redhat.com>
45797
45798         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
45799         Don't bother testing specific errno values.  Just test ferror.
45800
45801         New module: xprintf
45802         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
45803
45804 2007-10-19  Bruno Haible  <bruno@clisp.org>
45805
45806         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
45807         syntax.
45808         * modules/javaexec (Makefile.am): Likewise.
45809         * modules/relocatable-prog (Makefile.am): Likewise.
45810         Suggested by Jim Meyering.
45811
45812 2007-10-18  Bruno Haible  <bruno@clisp.org>
45813
45814         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
45815         Reported by Jim Meyering.
45816
45817 2007-10-18  Eric Blake  <ebb9@byu.net>
45818
45819         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
45820
45821 2007-10-18  Bruno Haible  <bruno@clisp.org>
45822
45823         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
45824         the format string into writable memory. Needed in Fortify conditions.
45825
45826 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
45827             Bruno Haible  <bruno@clisp.org>
45828
45829         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
45830         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
45831         * modules/trim (Depends-on): Add mbchar.
45832         (configure.ac): Add gl_FUNC_MBRTOWC.
45833         (Makefile.am): Augment lib_SOURCES.
45834
45835 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45836
45837         Modify glob.c to use fstatat and dirfd, to simplify it.
45838         Suggested by Eric Blake.
45839         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
45840         Don't include <stdbool.h>; not used.
45841         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
45842         (link_exists_p): Simplify implementation, since we can now assume
45843         dirfd and fstatat.
45844         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
45845
45846 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45847
45848         * gnulib-tool (func_get_dependencies): Fix sed script to
45849         match only tests.
45850
45851 2007-10-17  Bruno Haible  <bruno@clisp.org>
45852
45853         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
45854         allow locale names without encoding suffix.
45855         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
45856         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45857
45858 2007-10-16  Bruno Haible  <bruno@clisp.org>
45859
45860         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
45861         * lib/getgroups.c (getgroups): Likewise.
45862         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
45863
45864 2007-10-16  Bruno Haible  <bruno@clisp.org>
45865
45866         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
45867         * modules/malloc-posix (License): Likewise.
45868         * modules/realloc-posix (License): Likewise.
45869         * modules/calloc-posix (License): Likewise.
45870         * modules/intprops (License): Change from GPL to LGPL, with
45871         Paul Eggert's approval.
45872
45873 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45874
45875         Merge glibc changes into lib/glob.c.
45876
45877         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
45878         2007-10-15 04:59:03 UTC.  Here are the changes:
45879
45880         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
45881
45882         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
45883
45884         * lib/glob.c: Add some branch prediction throughout.
45885
45886         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
45887
45888         [BZ #5103]
45889         * lib/glob.c (glob): Recognize patterns starting \/.
45890
45891         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
45892
45893         [BZ #3996]
45894         * lib/glob.c (attribute_hidden): Define if not defined.
45895         (glob): Unescape dirname, filename or username when needed and not
45896         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
45897         is NULL.  Handle unescaped [ in pattern without closing ].
45898         Don't pass GLOB_CHECK down to recursive glob for directories.
45899         (__glob_pattern_type): New function.
45900         (__glob_pattern_p): Implement using __glob_pattern_type.
45901         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
45902         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
45903         Remove unreachable code.
45904
45905         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
45906
45907         * lib/glob.c (glob_in_dir): Add some comments and asserts to
45908         explain why there are no leaks.
45909
45910         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
45911
45912         [BZ #3253]
45913         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
45914         time, rather allocate increasingly bigger arrays of pointers, if
45915         possible with alloca, if too large with malloc.
45916
45917 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45918
45919         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
45920         Problem reported by H.Merijn Brand in
45921         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
45922         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
45923         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
45924
45925 2007-10-15  Bruno Haible  <bruno@clisp.org>
45926
45927         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
45928         with explicit rpl_ prefix.
45929         * lib/fopen.c (fopen): Likewise.
45930         * lib/freopen.c (freopen): Likewise.
45931         * lib/iconv.c (iconv): Likewise.
45932         * lib/iconv_close.c (iconv_close): Likewise.
45933
45934 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45935
45936         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
45937
45938 2007-10-15  Bruno Haible  <bruno@clisp.org>
45939
45940         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
45941         <stddef.h> instead of <stdlib.h> since we only need NULL.
45942         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45943
45944 2007-10-15  Bruno Haible  <bruno@clisp.org>
45945
45946         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
45947         Replace paragraph talking about LIBOBJS.
45948         Reported by Colin Watson <cjwatson@debian.org>.
45949
45950 2007-10-15  Bruno Haible  <bruno@clisp.org>
45951
45952         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
45953         <stdlib.h> before using NULL.
45954
45955 2007-10-15  Simon Josefsson  <simon@josefsson.org>
45956
45957         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
45958         Reported by Albert Chin <china@thewrittenword.com>.
45959
45960 2007-10-14  Bruno Haible  <bruno@clisp.org>
45961
45962         * modules/iconv_open-utf-tests: New file.
45963         * tests/test-iconv-utf.c: New file.
45964
45965         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
45966         * modules/iconv_open-utf: New file.
45967         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
45968         (iconv, iconv_close): New declarations.
45969         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
45970         be defined.
45971         (iconv_open): Add special handling of conversion between UTF-8 and
45972         UTF-{16,32}{BE,LE}.
45973         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
45974         * lib/iconv_close.c: New file.
45975         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
45976         gl_FUNC_ICONV_OPEN.
45977         (gl_FUNC_ICONV_OPEN): Use it.
45978         (gl_FUNC_ICONV_OPEN_UTF): New macro.
45979         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
45980         and REPLACE_ICONV_UTF.
45981         * modules/iconv_open (Depends-on): Add c-strcase.
45982         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
45983         ICONV_CONST.
45984         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
45985
45986 2007-10-13  Albert Chin  <china@thewrittenword.com>
45987             Bruno Haible  <bruno@clisp.org>
45988
45989         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
45990         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
45991
45992 2007-10-13  Bruno Haible  <bruno@clisp.org>
45993
45994         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
45995         defined, use the ISO C99 inline semantics.
45996         * lib/argp.h (ARGP_EI): Likewise.
45997
45998 2007-10-13  Bruno Haible  <bruno@clisp.org>
45999
46000         Handle 'inline' change in gcc 4.3.0.
46001         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
46002         argp_fmtstream_write, argp_fmtstream_set_lmargin,
46003         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
46004         argp_fmtstream_point): Disable 'extern' declaration if the function
46005         definition is going to be provided inline.
46006         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
46007         semantics, not the ISO C99 inline semantics.
46008         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
46009         'extern' declaration if the function definition is going to be provided
46010         inline.
46011         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
46012         the GNU C inline semantics, not the ISO C99 inline semantics. With
46013         GCC 4.2, avoid a warning.
46014
46015 2007-10-13  Bruno Haible  <bruno@clisp.org>
46016
46017         * lib/freading.h (freading): Enable the use of __freading for
46018         glibc >= 2.7.
46019         * lib/freading.c (freading): Likewise.
46020
46021 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46022
46023         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
46024         "warning: C99 inline functions are not supported; using GNU89".
46025
46026 2007-10-12  Bruno Haible  <bruno@clisp.org>
46027
46028         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
46029         of 2.
46030         * tests/test-ceilf2.c: New file.
46031         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
46032
46033         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
46034         * modules/ceilf-tests: Update.
46035
46036 2007-10-12  Bruno Haible  <bruno@clisp.org>
46037
46038         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
46039         of 2.
46040         * tests/test-floorf2.c: New file.
46041         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
46042
46043         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
46044         * modules/floorf-tests: Update.
46045
46046 2007-10-12  Bruno Haible  <bruno@clisp.org>
46047
46048         * tests/test-trunc2.c: New file.
46049         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
46050
46051         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
46052         * modules/trunc-tests: Update.
46053
46054 2007-10-12  Bruno Haible  <bruno@clisp.org>
46055
46056         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
46057         of 2.
46058         * tests/test-truncf2.c: New file.
46059         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
46060
46061         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
46062         * modules/truncf-tests: Update.
46063
46064 2007-10-11  Eric Blake  <ebb9@byu.net>
46065
46066         Don't claim strerror is broken on Interix.
46067         * doc/functions/strerror.texi (strerror): Known broken systems are
46068         now Solaris 8, and not Interix.
46069         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
46070         Interix on cross-compile.
46071         Reported by Martin Koeppe in
46072         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
46073
46074 2007-10-11  Bruno Haible  <bruno@clisp.org>
46075
46076         * modules/i-ring-tests: New file.
46077         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
46078         instead of assert.
46079
46080 2007-10-11  Bruno Haible  <bruno@clisp.org>
46081
46082         * modules/filenamecat-tests: New file.
46083         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
46084         * lib/filenamecat.c: Remove test code.
46085
46086 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46087
46088         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
46089
46090         * lib/strerror.c: Include <string.h> always, to test interface,
46091         and to remove the need for the dummy.
46092         Include intprops.h to compute width instead of doing it ourselves
46093         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
46094         (strerror): Define it to return NULL if there's no system strerror.
46095         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
46096         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
46097         ancient pre-strerror Unix systems well any more.  Saying "unknown
46098         system error" is enough.
46099         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
46100         simpler strerror.c implementation.
46101         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
46102         Simplify the tests to reflect the simpler strerror implementation.
46103         * modules/strerror (Depends-on): Add intprops.
46104
46105 2007-10-09  Eric Blake  <ebb9@byu.net>
46106
46107         Silence test-fpending.
46108         * modules/fpending-tests (Files): Add wrapper script.
46109         * tests/test-fpending.sh: New file.
46110
46111 2007-10-09  Bruno Haible  <bruno@clisp.org>
46112
46113         * MODULES.html.sh (func_module): Don't create a hyperlink for
46114         function names like 'printf_frexp'.
46115         (Misc): Add crc, memxor.
46116         (Characteristics of floating types): New section.
46117         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
46118         isnanf-nolibm, signbit, trunc, truncf, truncl.
46119         (Enhancements for ISO C 99 functions): New subsection Input/output.
46120         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
46121         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
46122         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
46123         (Compatibility checks for POSIX:2001 functions): Add clock-time.
46124         (Enhancements for POSIX:2001 functions): Add chdir-long.
46125         (File system functions): Add areadlink, chdir-safer, read-file.
46126         Remove cycle-check.
46127         (File system as inode set): New section.
46128         (Date and time): Add gethrxtime.
46129         (Multithreading): Add openmp.
46130         (Internationalization functions): Add localename.
46131         (Unicode string functions): Add unistr/u*-mbsnlen.
46132         (Support for maintaining and releasing projects): Add git-version-gen.
46133         (Lone files): Remove directories.
46134
46135 2007-10-08  Ben Pfaff  <blp@gnu.org>
46136
46137         * lib/xmalloca.h: Fix typo in comment.
46138
46139 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46140
46141         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
46142         when avoiding problems with integer overflow.  Use a portable test
46143         instead.
46144
46145 2007-10-08  Simon Josefsson  <simon@josefsson.org>
46146
46147         * modules/dummy (License): Change to LGPLv2+.
46148         * modules/float (License): Likewise
46149         * modules/realloc (License): Likewise
46150         * modules/stdlib (License): Likewise
46151
46152 2007-10-07  Bruno Haible  <bruno@clisp.org>
46153
46154         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
46155         * floor.c (TWO_MANT_DIG): Likewise.
46156         * ceil.c (TWO_MANT_DIG): Likewise.
46157         Reported by Ben Pfaff.
46158
46159 2007-10-07  Bruno Haible  <bruno@clisp.org>
46160
46161         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
46162         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
46163         * lib/frexp.c (FUNC): Likewise.
46164         * lib/printf-frexp.h (printf_frexp): Likewise.
46165         * lib/printf-frexpl.h (printf_frexpl): Likewise.
46166         * lib/printf-frexp.c (FUNC): Likewise.
46167         Suggested by Jim Meyering.
46168
46169 2007-10-07  Jim Meyering  <meyering@redhat.com>
46170
46171         Make xnanosleep's integer overflow test more robust.
46172         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
46173         so that gcc-4.3.0 doesn't optimize away this test for overflow.
46174
46175 2007-10-07  Bruno Haible  <bruno@clisp.org>
46176
46177         * NEWS: Mention the license change.
46178
46179         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
46180         abbreviations in the modules files.
46181
46182         Change copyright notice from GPLv2+ to GPLv3+.
46183         * README: Change copyright notice.
46184         * MODULES.html.sh: Likewise.
46185         * build-aux/bootstrap.conf: Likewise.
46186         * build-aux/config.libpath: Likewise.
46187         * build-aux/csharpcomp.sh.in: Likewise.
46188         * build-aux/csharpexec.sh.in: Likewise.
46189         * build-aux/install-reloc: Likewise.
46190         * build-aux/javacomp.sh.in: Likewise.
46191         * build-aux/javaexec.sh.in: Likewise.
46192         * build-aux/ldd.sh.in: Likewise.
46193         * build-aux/reloc-ldflags: Likewise.
46194         * build-aux/relocatable.sh.in: Likewise.
46195         * build-aux/x-to-1.in: Likewise.
46196         * check-module: Likewise.
46197         * config/srclistvars.sh: Likewise.
46198         * gnulib-tool: Likewise.
46199         * lib/acl-internal.h: Likewise.
46200         * lib/acl.c: Likewise.
46201         * lib/acl.h: Likewise.
46202         * lib/acl_entries.c: Likewise.
46203         * lib/areadlink-with-size.c: Likewise.
46204         * lib/areadlink.c: Likewise.
46205         * lib/areadlink.h: Likewise.
46206         * lib/argmatch.c: Likewise.
46207         * lib/argmatch.h: Likewise.
46208         * lib/argp-ba.c: Likewise.
46209         * lib/argp-eexst.c: Likewise.
46210         * lib/argp-fmtstream.c: Likewise.
46211         * lib/argp-fmtstream.h: Likewise.
46212         * lib/argp-fs-xinl.c: Likewise.
46213         * lib/argp-help.c: Likewise.
46214         * lib/argp-namefrob.h: Likewise.
46215         * lib/argp-parse.c: Likewise.
46216         * lib/argp-pin.c: Likewise.
46217         * lib/argp-pv.c: Likewise.
46218         * lib/argp-pvh.c: Likewise.
46219         * lib/argp-xinl.c: Likewise.
46220         * lib/argp.h: Likewise.
46221         * lib/at-func.c: Likewise.
46222         * lib/atanl.c: Likewise.
46223         * lib/backupfile.c: Likewise.
46224         * lib/backupfile.h: Likewise.
46225         * lib/basename.c: Likewise.
46226         * lib/binary-io.h: Likewise.
46227         * lib/byteswap.in.h: Likewise.
46228         * lib/c-stack.c: Likewise.
46229         * lib/c-stack.h: Likewise.
46230         * lib/c-strcasestr.c: Likewise.
46231         * lib/c-strcasestr.h: Likewise.
46232         * lib/c-strstr.c: Likewise.
46233         * lib/c-strstr.h: Likewise.
46234         * lib/c-strtod.c: Likewise.
46235         * lib/calloc.c: Likewise.
46236         * lib/canon-host.c: Likewise.
46237         * lib/canon-host.h: Likewise.
46238         * lib/canonicalize-lgpl.c: Likewise.
46239         * lib/canonicalize.c: Likewise.
46240         * lib/canonicalize.h: Likewise.
46241         * lib/ceil.c: Likewise.
46242         * lib/ceilf.c: Likewise.
46243         * lib/ceill.c: Likewise.
46244         * lib/chdir-long.c: Likewise.
46245         * lib/chdir-long.h: Likewise.
46246         * lib/chdir-safer.c: Likewise.
46247         * lib/chdir-safer.h: Likewise.
46248         * lib/chown.c: Likewise.
46249         * lib/classpath.c: Likewise.
46250         * lib/classpath.h: Likewise.
46251         * lib/clean-temp.c: Likewise.
46252         * lib/clean-temp.h: Likewise.
46253         * lib/cloexec.c: Likewise.
46254         * lib/close-stream.c: Likewise.
46255         * lib/closein.c: Likewise.
46256         * lib/closein.h: Likewise.
46257         * lib/closeout.c: Likewise.
46258         * lib/closeout.h: Likewise.
46259         * lib/concat-filename.c: Likewise.
46260         * lib/copy-file.c: Likewise.
46261         * lib/copy-file.h: Likewise.
46262         * lib/count-one-bits.h: Likewise.
46263         * lib/crc.c: Likewise.
46264         * lib/crc.h: Likewise.
46265         * lib/creat-safer.c: Likewise.
46266         * lib/csharpcomp.c: Likewise.
46267         * lib/csharpcomp.h: Likewise.
46268         * lib/csharpexec.c: Likewise.
46269         * lib/csharpexec.h: Likewise.
46270         * lib/cycle-check.c: Likewise.
46271         * lib/cycle-check.h: Likewise.
46272         * lib/diacrit.c: Likewise.
46273         * lib/diacrit.h: Likewise.
46274         * lib/diffseq.h: Likewise.
46275         * lib/dirchownmod.c: Likewise.
46276         * lib/dirent.in.h: Likewise.
46277         * lib/dirfd.c: Likewise.
46278         * lib/dirfd.h: Likewise.
46279         * lib/dirname.c: Likewise.
46280         * lib/dirname.h: Likewise.
46281         * lib/dummy.c: Likewise.
46282         * lib/dup-safer.c: Likewise.
46283         * lib/dup2.c: Likewise.
46284         * lib/eealloc.h: Likewise.
46285         * lib/error.c: Likewise.
46286         * lib/error.h: Likewise.
46287         * lib/euidaccess.c: Likewise.
46288         * lib/exclude.c: Likewise.
46289         * lib/exclude.h: Likewise.
46290         * lib/execute.c: Likewise.
46291         * lib/execute.h: Likewise.
46292         * lib/exitfail.c: Likewise.
46293         * lib/exitfail.h: Likewise.
46294         * lib/expl.c: Likewise.
46295         * lib/fatal-signal.c: Likewise.
46296         * lib/fatal-signal.h: Likewise.
46297         * lib/fbufmode.c: Likewise.
46298         * lib/fbufmode.h: Likewise.
46299         * lib/fchdir.c: Likewise.
46300         * lib/fchmodat.c: Likewise.
46301         * lib/fchownat.c: Likewise.
46302         * lib/fcntl--.h: Likewise.
46303         * lib/fcntl-safer.h: Likewise.
46304         * lib/fcntl.in.h: Likewise.
46305         * lib/fd-safer.c: Likewise.
46306         * lib/fflush.c: Likewise.
46307         * lib/file-has-acl.c: Likewise.
46308         * lib/file-set.c: Likewise.
46309         * lib/file-type.c: Likewise.
46310         * lib/file-type.h: Likewise.
46311         * lib/fileblocks.c: Likewise.
46312         * lib/filemode.c: Likewise.
46313         * lib/filemode.h: Likewise.
46314         * lib/filename.h: Likewise.
46315         * lib/filenamecat.c: Likewise.
46316         * lib/filenamecat.h: Likewise.
46317         * lib/findprog.c: Likewise.
46318         * lib/findprog.h: Likewise.
46319         * lib/float.in.h: Likewise.
46320         * lib/floor.c: Likewise.
46321         * lib/floorf.c: Likewise.
46322         * lib/floorl.c: Likewise.
46323         * lib/fopen-safer.c: Likewise.
46324         * lib/fopen.c: Likewise.
46325         * lib/fpending.c: Likewise.
46326         * lib/fpending.h: Likewise.
46327         * lib/fprintf.c: Likewise.
46328         * lib/fprintftime.h: Likewise.
46329         * lib/fpucw.h: Likewise.
46330         * lib/fpurge.c: Likewise.
46331         * lib/fpurge.h: Likewise.
46332         * lib/freadable.c: Likewise.
46333         * lib/freadable.h: Likewise.
46334         * lib/freadahead.c: Likewise.
46335         * lib/freadahead.h: Likewise.
46336         * lib/freading.c: Likewise.
46337         * lib/freading.h: Likewise.
46338         * lib/free.c: Likewise.
46339         * lib/freopen.c: Likewise.
46340         * lib/frexp.c: Likewise.
46341         * lib/frexpl.c: Likewise.
46342         * lib/fseek.c: Likewise.
46343         * lib/fseterr.c: Likewise.
46344         * lib/fseterr.h: Likewise.
46345         * lib/fstatat.c: Likewise.
46346         * lib/fstrcmp.c: Likewise.
46347         * lib/fstrcmp.h: Likewise.
46348         * lib/fsusage.c: Likewise.
46349         * lib/fsusage.h: Likewise.
46350         * lib/ftell.c: Likewise.
46351         * lib/ftello.c: Likewise.
46352         * lib/fts-cycle.c: Likewise.
46353         * lib/fts.c: Likewise.
46354         * lib/fts_.h: Likewise.
46355         * lib/full-read.c: Likewise.
46356         * lib/full-read.h: Likewise.
46357         * lib/full-write.c: Likewise.
46358         * lib/full-write.h: Likewise.
46359         * lib/fwritable.c: Likewise.
46360         * lib/fwritable.h: Likewise.
46361         * lib/fwriteerror.c: Likewise.
46362         * lib/fwriteerror.h: Likewise.
46363         * lib/fwriting.c: Likewise.
46364         * lib/fwriting.h: Likewise.
46365         * lib/gcd.c: Likewise.
46366         * lib/gcd.h: Likewise.
46367         * lib/getcwd.c: Likewise.
46368         * lib/getdate.h: Likewise.
46369         * lib/getdate.y: Likewise.
46370         * lib/getdomainname.c: Likewise.
46371         * lib/getdomainname.h: Likewise.
46372         * lib/getgroups.c: Likewise.
46373         * lib/gethostname.c: Likewise.
46374         * lib/gethrxtime.c: Likewise.
46375         * lib/gethrxtime.h: Likewise.
46376         * lib/getloadavg.c: Likewise.
46377         * lib/getndelim2.c: Likewise.
46378         * lib/getndelim2.h: Likewise.
46379         * lib/getnline.c: Likewise.
46380         * lib/getnline.h: Likewise.
46381         * lib/getopt.c: Likewise.
46382         * lib/getopt.in.h: Likewise.
46383         * lib/getopt1.c: Likewise.
46384         * lib/getopt_int.h: Likewise.
46385         * lib/getpagesize.h: Likewise.
46386         * lib/getsubopt.c: Likewise.
46387         * lib/gettime.c: Likewise.
46388         * lib/getugroups.c: Likewise.
46389         * lib/getugroups.h: Likewise.
46390         * lib/getusershell.c: Likewise.
46391         * lib/gl_anyavltree_list1.h: Likewise.
46392         * lib/gl_anyavltree_list2.h: Likewise.
46393         * lib/gl_anyhash_list1.h: Likewise.
46394         * lib/gl_anyhash_list2.h: Likewise.
46395         * lib/gl_anylinked_list1.h: Likewise.
46396         * lib/gl_anylinked_list2.h: Likewise.
46397         * lib/gl_anyrbtree_list1.h: Likewise.
46398         * lib/gl_anyrbtree_list2.h: Likewise.
46399         * lib/gl_anytree_list1.h: Likewise.
46400         * lib/gl_anytree_list2.h: Likewise.
46401         * lib/gl_anytree_oset.h: Likewise.
46402         * lib/gl_anytreehash_list1.h: Likewise.
46403         * lib/gl_anytreehash_list2.h: Likewise.
46404         * lib/gl_array_list.c: Likewise.
46405         * lib/gl_array_list.h: Likewise.
46406         * lib/gl_array_oset.c: Likewise.
46407         * lib/gl_array_oset.h: Likewise.
46408         * lib/gl_avltree_list.c: Likewise.
46409         * lib/gl_avltree_list.h: Likewise.
46410         * lib/gl_avltree_oset.c: Likewise.
46411         * lib/gl_avltree_oset.h: Likewise.
46412         * lib/gl_avltreehash_list.c: Likewise.
46413         * lib/gl_avltreehash_list.h: Likewise.
46414         * lib/gl_carray_list.c: Likewise.
46415         * lib/gl_carray_list.h: Likewise.
46416         * lib/gl_linked_list.c: Likewise.
46417         * lib/gl_linked_list.h: Likewise.
46418         * lib/gl_linkedhash_list.c: Likewise.
46419         * lib/gl_linkedhash_list.h: Likewise.
46420         * lib/gl_list.c: Likewise.
46421         * lib/gl_list.h: Likewise.
46422         * lib/gl_oset.c: Likewise.
46423         * lib/gl_oset.h: Likewise.
46424         * lib/gl_rbtree_list.c: Likewise.
46425         * lib/gl_rbtree_list.h: Likewise.
46426         * lib/gl_rbtree_oset.c: Likewise.
46427         * lib/gl_rbtree_oset.h: Likewise.
46428         * lib/gl_rbtreehash_list.c: Likewise.
46429         * lib/gl_rbtreehash_list.h: Likewise.
46430         * lib/gl_sublist.c: Likewise.
46431         * lib/gl_sublist.h: Likewise.
46432         * lib/group-member.c: Likewise.
46433         * lib/group-member.h: Likewise.
46434         * lib/hard-locale.c: Likewise.
46435         * lib/hard-locale.h: Likewise.
46436         * lib/hash-pjw.c: Likewise.
46437         * lib/hash-pjw.h: Likewise.
46438         * lib/hash-triple.c: Likewise.
46439         * lib/hash.c: Likewise.
46440         * lib/hash.h: Likewise.
46441         * lib/human.c: Likewise.
46442         * lib/human.h: Likewise.
46443         * lib/i-ring.c: Likewise.
46444         * lib/i-ring.h: Likewise.
46445         * lib/idcache.c: Likewise.
46446         * lib/imaxabs.c: Likewise.
46447         * lib/imaxdiv.c: Likewise.
46448         * lib/inet_pton.c: Likewise.
46449         * lib/inet_pton.h: Likewise.
46450         * lib/intprops.h: Likewise.
46451         * lib/inttostr.c: Likewise.
46452         * lib/inttostr.h: Likewise.
46453         * lib/inttypes.in.h: Likewise.
46454         * lib/isapipe.c: Likewise.
46455         * lib/isdir.c: Likewise.
46456         * lib/isnan.c: Likewise.
46457         * lib/isnan.h: Likewise.
46458         * lib/isnanf.c: Likewise.
46459         * lib/isnanf.h: Likewise.
46460         * lib/isnanl-nolibm.h: Likewise.
46461         * lib/isnanl.c: Likewise.
46462         * lib/isnanl.h: Likewise.
46463         * lib/javacomp.c: Likewise.
46464         * lib/javacomp.h: Likewise.
46465         * lib/javaexec.c: Likewise.
46466         * lib/javaexec.h: Likewise.
46467         * lib/javaversion.c: Likewise.
46468         * lib/javaversion.h: Likewise.
46469         * lib/javaversion.java: Likewise.
46470         * lib/lbrkprop.h: Likewise.
46471         * lib/lchmod.h: Likewise.
46472         * lib/lchown.c: Likewise.
46473         * lib/ldexpl.c: Likewise.
46474         * lib/linebreak.c: Likewise.
46475         * lib/linebreak.h: Likewise.
46476         * lib/linebuffer.c: Likewise.
46477         * lib/linebuffer.h: Likewise.
46478         * lib/locale.in.h: Likewise.
46479         * lib/logl.c: Likewise.
46480         * lib/long-options.c: Likewise.
46481         * lib/long-options.h: Likewise.
46482         * lib/lstat.c: Likewise.
46483         * lib/lstat.h: Likewise.
46484         * lib/math.in.h: Likewise.
46485         * lib/mbchar.c: Likewise.
46486         * lib/mbchar.h: Likewise.
46487         * lib/mbfile.h: Likewise.
46488         * lib/mbiter.h: Likewise.
46489         * lib/mbscasecmp.c: Likewise.
46490         * lib/mbscasestr.c: Likewise.
46491         * lib/mbschr.c: Likewise.
46492         * lib/mbscspn.c: Likewise.
46493         * lib/mbslen.c: Likewise.
46494         * lib/mbsncasecmp.c: Likewise.
46495         * lib/mbsnlen.c: Likewise.
46496         * lib/mbspbrk.c: Likewise.
46497         * lib/mbspcasecmp.c: Likewise.
46498         * lib/mbsrchr.c: Likewise.
46499         * lib/mbssep.c: Likewise.
46500         * lib/mbsspn.c: Likewise.
46501         * lib/mbsstr.c: Likewise.
46502         * lib/mbstok_r.c: Likewise.
46503         * lib/mbswidth.c: Likewise.
46504         * lib/mbswidth.h: Likewise.
46505         * lib/mbuiter.h: Likewise.
46506         * lib/memcasecmp.c: Likewise.
46507         * lib/memcasecmp.h: Likewise.
46508         * lib/memchr.c: Likewise.
46509         * lib/memcmp.c: Likewise.
46510         * lib/memcoll.c: Likewise.
46511         * lib/memcoll.h: Likewise.
46512         * lib/memcpy.c: Likewise.
46513         * lib/memrchr.c: Likewise.
46514         * lib/mkancesdirs.c: Likewise.
46515         * lib/mkdir-p.c: Likewise.
46516         * lib/mkdir-p.h: Likewise.
46517         * lib/mkdir.c: Likewise.
46518         * lib/mkdirat.c: Likewise.
46519         * lib/mkdtemp.c: Likewise.
46520         * lib/mkstemp-safer.c: Likewise.
46521         * lib/mkstemp.c: Likewise.
46522         * lib/modechange.c: Likewise.
46523         * lib/modechange.h: Likewise.
46524         * lib/mountlist.c: Likewise.
46525         * lib/mountlist.h: Likewise.
46526         * lib/mpsort.c: Likewise.
46527         * lib/nanosleep.c: Likewise.
46528         * lib/obstack.c: Likewise.
46529         * lib/obstack.h: Likewise.
46530         * lib/open-safer.c: Likewise.
46531         * lib/open.c: Likewise.
46532         * lib/openat-die.c: Likewise.
46533         * lib/openat-priv.h: Likewise.
46534         * lib/openat-proc.c: Likewise.
46535         * lib/openat.c: Likewise.
46536         * lib/openat.h: Likewise.
46537         * lib/pagealign_alloc.c: Likewise.
46538         * lib/pagealign_alloc.h: Likewise.
46539         * lib/physmem.c: Likewise.
46540         * lib/physmem.h: Likewise.
46541         * lib/pipe-safer.c: Likewise.
46542         * lib/pipe.c: Likewise.
46543         * lib/pipe.h: Likewise.
46544         * lib/posixtm.c: Likewise.
46545         * lib/posixtm.h: Likewise.
46546         * lib/posixver.c: Likewise.
46547         * lib/printf-frexp.c: Likewise.
46548         * lib/printf-frexp.h: Likewise.
46549         * lib/printf-frexpl.c: Likewise.
46550         * lib/printf-frexpl.h: Likewise.
46551         * lib/printf.c: Likewise.
46552         * lib/progname.c: Likewise.
46553         * lib/progname.h: Likewise.
46554         * lib/progreloc.c: Likewise.
46555         * lib/putenv.c: Likewise.
46556         * lib/quote.c: Likewise.
46557         * lib/quote.h: Likewise.
46558         * lib/quotearg.c: Likewise.
46559         * lib/quotearg.h: Likewise.
46560         * lib/raise.c: Likewise.
46561         * lib/readline.c: Likewise.
46562         * lib/readline.h: Likewise.
46563         * lib/readlink.c: Likewise.
46564         * lib/readtokens.c: Likewise.
46565         * lib/readtokens.h: Likewise.
46566         * lib/readtokens0.c: Likewise.
46567         * lib/readtokens0.h: Likewise.
46568         * lib/readutmp.c: Likewise.
46569         * lib/readutmp.h: Likewise.
46570         * lib/realloc.c: Likewise.
46571         * lib/relocwrapper.c: Likewise.
46572         * lib/rename-dest-slash.c: Likewise.
46573         * lib/rename.c: Likewise.
46574         * lib/rmdir.c: Likewise.
46575         * lib/rpmatch.c: Likewise.
46576         * lib/safe-read.c: Likewise.
46577         * lib/safe-read.h: Likewise.
46578         * lib/safe-write.c: Likewise.
46579         * lib/safe-write.h: Likewise.
46580         * lib/same-inode.h: Likewise.
46581         * lib/same.c: Likewise.
46582         * lib/same.h: Likewise.
46583         * lib/save-cwd.c: Likewise.
46584         * lib/save-cwd.h: Likewise.
46585         * lib/savedir.c: Likewise.
46586         * lib/savedir.h: Likewise.
46587         * lib/savewd.c: Likewise.
46588         * lib/savewd.h: Likewise.
46589         * lib/search.in.h: Likewise.
46590         * lib/setenv.c: Likewise.
46591         * lib/setenv.h: Likewise.
46592         * lib/settime.c: Likewise.
46593         * lib/sh-quote.c: Likewise.
46594         * lib/sh-quote.h: Likewise.
46595         * lib/sig2str.c: Likewise.
46596         * lib/sig2str.h: Likewise.
46597         * lib/signal.in.h: Likewise.
46598         * lib/signbitd.c: Likewise.
46599         * lib/signbitf.c: Likewise.
46600         * lib/signbitl.c: Likewise.
46601         * lib/sigprocmask.c: Likewise.
46602         * lib/sincosl.c: Likewise.
46603         * lib/sleep.c: Likewise.
46604         * lib/sprintf.c: Likewise.
46605         * lib/sqrtl.c: Likewise.
46606         * lib/stat-time.h: Likewise.
46607         * lib/stdio--.h: Likewise.
46608         * lib/stdio-safer.h: Likewise.
46609         * lib/stdlib--.h: Likewise.
46610         * lib/stdlib-safer.h: Likewise.
46611         * lib/stdlib.in.h: Likewise.
46612         * lib/stpcpy.c: Likewise.
46613         * lib/stpncpy.c: Likewise.
46614         * lib/strchrnul.c: Likewise.
46615         * lib/strcspn.c: Likewise.
46616         * lib/strerror.c: Likewise.
46617         * lib/strftime.c: Likewise.
46618         * lib/strftime.h: Likewise.
46619         * lib/striconveh.c: Likewise.
46620         * lib/striconveh.h: Likewise.
46621         * lib/striconveha.c: Likewise.
46622         * lib/striconveha.h: Likewise.
46623         * lib/stripslash.c: Likewise.
46624         * lib/strnlen1.c: Likewise.
46625         * lib/strnlen1.h: Likewise.
46626         * lib/strtod.c: Likewise.
46627         * lib/strtoimax.c: Likewise.
46628         * lib/strtok_r.c: Likewise.
46629         * lib/strtol.c: Likewise.
46630         * lib/strtoll.c: Likewise.
46631         * lib/strtoul.c: Likewise.
46632         * lib/strtoull.c: Likewise.
46633         * lib/sysexits.in.h: Likewise.
46634         * lib/tempname.c: Likewise.
46635         * lib/tempname.h: Likewise.
46636         * lib/timespec.h: Likewise.
46637         * lib/tls.c: Likewise.
46638         * lib/tls.h: Likewise.
46639         * lib/tmpdir.c: Likewise.
46640         * lib/tmpdir.h: Likewise.
46641         * lib/tmpfile-safer.c: Likewise.
46642         * lib/tmpfile.c: Likewise.
46643         * lib/trigl.c: Likewise.
46644         * lib/trigl.h: Likewise.
46645         * lib/trim.c: Likewise.
46646         * lib/trim.h: Likewise.
46647         * lib/trunc.c: Likewise.
46648         * lib/truncf.c: Likewise.
46649         * lib/truncl.c: Likewise.
46650         * lib/tsearch.c: Likewise.
46651         * lib/unicodeio.c: Likewise.
46652         * lib/unicodeio.h: Likewise.
46653         * lib/unistd--.h: Likewise.
46654         * lib/unistd-safer.h: Likewise.
46655         * lib/unistdio/ulc-fprintf.c: Likewise.
46656         * lib/unistdio/ulc-vfprintf.c: Likewise.
46657         * lib/unlinkdir.c: Likewise.
46658         * lib/unlinkdir.h: Likewise.
46659         * lib/unlocked-io.h: Likewise.
46660         * lib/unsetenv.c: Likewise.
46661         * lib/userspec.c: Likewise.
46662         * lib/utime.c: Likewise.
46663         * lib/utimecmp.c: Likewise.
46664         * lib/utimecmp.h: Likewise.
46665         * lib/utimens.c: Likewise.
46666         * lib/verify.h: Likewise.
46667         * lib/verror.c: Likewise.
46668         * lib/verror.h: Likewise.
46669         * lib/version-etc-fsf.c: Likewise.
46670         * lib/version-etc.c: Likewise.
46671         * lib/version-etc.h: Likewise.
46672         * lib/vfprintf.c: Likewise.
46673         * lib/vprintf.c: Likewise.
46674         * lib/vsprintf.c: Likewise.
46675         * lib/w32spawn.h: Likewise.
46676         * lib/wait-process.c: Likewise.
46677         * lib/wait-process.h: Likewise.
46678         * lib/wcwidth.c: Likewise.
46679         * lib/write-any-file.c: Likewise.
46680         * lib/xalloc-die.c: Likewise.
46681         * lib/xalloc.h: Likewise.
46682         * lib/xasprintf.c: Likewise.
46683         * lib/xgetcwd.c: Likewise.
46684         * lib/xgetcwd.h: Likewise.
46685         * lib/xgetdomainname.c: Likewise.
46686         * lib/xgetdomainname.h: Likewise.
46687         * lib/xgethostname.c: Likewise.
46688         * lib/xmalloc.c: Likewise.
46689         * lib/xmalloca.c: Likewise.
46690         * lib/xmalloca.h: Likewise.
46691         * lib/xmemcoll.c: Likewise.
46692         * lib/xnanosleep.c: Likewise.
46693         * lib/xreadlink.c: Likewise.
46694         * lib/xreadlink.h: Likewise.
46695         * lib/xsetenv.c: Likewise.
46696         * lib/xsetenv.h: Likewise.
46697         * lib/xstriconv.c: Likewise.
46698         * lib/xstriconv.h: Likewise.
46699         * lib/xstrndup.c: Likewise.
46700         * lib/xstrndup.h: Likewise.
46701         * lib/xstrtod.c: Likewise.
46702         * lib/xstrtod.h: Likewise.
46703         * lib/xstrtol-error.c: Likewise.
46704         * lib/xstrtol.c: Likewise.
46705         * lib/xstrtol.h: Likewise.
46706         * lib/xtime.h: Likewise.
46707         * lib/xvasprintf.c: Likewise.
46708         * lib/xvasprintf.h: Likewise.
46709         * lib/yesno.c: Likewise.
46710         * lib/yesno.h: Likewise.
46711         * posix-modules: Likewise.
46712         * tests/test-alloca-opt.c: Likewise.
46713         * tests/test-arcfour.c: Likewise.
46714         * tests/test-arctwo.c: Likewise.
46715         * tests/test-argmatch.c: Likewise.
46716         * tests/test-argp-2.sh: Likewise.
46717         * tests/test-argp.c: Likewise.
46718         * tests/test-arpa_inet.c: Likewise.
46719         * tests/test-array_list.c: Likewise.
46720         * tests/test-array_oset.c: Likewise.
46721         * tests/test-atexit.c: Likewise.
46722         * tests/test-avltree_list.c: Likewise.
46723         * tests/test-avltree_oset.c: Likewise.
46724         * tests/test-avltreehash_list.c: Likewise.
46725         * tests/test-base64.c: Likewise.
46726         * tests/test-binary-io.c: Likewise.
46727         * tests/test-byteswap.c: Likewise.
46728         * tests/test-c-ctype.c: Likewise.
46729         * tests/test-c-strcasecmp.c: Likewise.
46730         * tests/test-c-strcasestr.c: Likewise.
46731         * tests/test-c-strncasecmp.c: Likewise.
46732         * tests/test-c-strstr.c: Likewise.
46733         * tests/test-canonicalize-lgpl.c: Likewise.
46734         * tests/test-canonicalize.c: Likewise.
46735         * tests/test-carray_list.c: Likewise.
46736         * tests/test-ceilf.c: Likewise.
46737         * tests/test-ceill.c: Likewise.
46738         * tests/test-count-one-bits.c: Likewise.
46739         * tests/test-crc.c: Likewise.
46740         * tests/test-dirname.c: Likewise.
46741         * tests/test-fbufmode.c: Likewise.
46742         * tests/test-fcntl.c: Likewise.
46743         * tests/test-fflush.c: Likewise.
46744         * tests/test-floorf.c: Likewise.
46745         * tests/test-floorl.c: Likewise.
46746         * tests/test-fopen.c: Likewise.
46747         * tests/test-fprintf-posix.c: Likewise.
46748         * tests/test-fprintf-posix.h: Likewise.
46749         * tests/test-fpurge.c: Likewise.
46750         * tests/test-freadable.c: Likewise.
46751         * tests/test-freadahead.c: Likewise.
46752         * tests/test-freading.c: Likewise.
46753         * tests/test-freopen.c: Likewise.
46754         * tests/test-frexp.c: Likewise.
46755         * tests/test-frexpl.c: Likewise.
46756         * tests/test-fseek.c: Likewise.
46757         * tests/test-fseeko.c: Likewise.
46758         * tests/test-fseterr.c: Likewise.
46759         * tests/test-fstrcmp.c: Likewise.
46760         * tests/test-ftell.c: Likewise.
46761         * tests/test-ftello.c: Likewise.
46762         * tests/test-fwritable.c: Likewise.
46763         * tests/test-fwriting.c: Likewise.
46764         * tests/test-getaddrinfo.c: Likewise.
46765         * tests/test-getpass.c: Likewise.
46766         * tests/test-gettimeofday.c: Likewise.
46767         * tests/test-hmac-md5.c: Likewise.
46768         * tests/test-hmac-sha1.c: Likewise.
46769         * tests/test-iconv.c: Likewise.
46770         * tests/test-iconvme.c: Likewise.
46771         * tests/test-inttypes.c: Likewise.
46772         * tests/test-isnan.c: Likewise.
46773         * tests/test-isnanf.c: Likewise.
46774         * tests/test-isnanl-nolibm.c: Likewise.
46775         * tests/test-isnanl.c: Likewise.
46776         * tests/test-isnanl.h: Likewise.
46777         * tests/test-ldexpl.c: Likewise.
46778         * tests/test-linked_list.c: Likewise.
46779         * tests/test-linkedhash_list.c: Likewise.
46780         * tests/test-locale.c: Likewise.
46781         * tests/test-localename.c: Likewise.
46782         * tests/test-lock.c: Likewise.
46783         * tests/test-lseek.c: Likewise.
46784         * tests/test-malloca.c: Likewise.
46785         * tests/test-math.c: Likewise.
46786         * tests/test-mbscasecmp.c: Likewise.
46787         * tests/test-mbscasestr1.c: Likewise.
46788         * tests/test-mbscasestr2.c: Likewise.
46789         * tests/test-mbscasestr3.c: Likewise.
46790         * tests/test-mbscasestr4.c: Likewise.
46791         * tests/test-mbschr.c: Likewise.
46792         * tests/test-mbscspn.c: Likewise.
46793         * tests/test-mbsncasecmp.c: Likewise.
46794         * tests/test-mbspbrk.c: Likewise.
46795         * tests/test-mbspcasecmp.c: Likewise.
46796         * tests/test-mbsrchr.c: Likewise.
46797         * tests/test-mbsspn.c: Likewise.
46798         * tests/test-mbsstr1.c: Likewise.
46799         * tests/test-mbsstr2.c: Likewise.
46800         * tests/test-mbsstr3.c: Likewise.
46801         * tests/test-md5.c: Likewise.
46802         * tests/test-memmem.c: Likewise.
46803         * tests/test-netinet_in.c: Likewise.
46804         * tests/test-open.c: Likewise.
46805         * tests/test-printf-frexp.c: Likewise.
46806         * tests/test-printf-frexpl.c: Likewise.
46807         * tests/test-printf-posix.c: Likewise.
46808         * tests/test-printf-posix.h: Likewise.
46809         * tests/test-rbtree_list.c: Likewise.
46810         * tests/test-rbtree_oset.c: Likewise.
46811         * tests/test-rbtreehash_list.c: Likewise.
46812         * tests/test-read-file.c: Likewise.
46813         * tests/test-rijndael.c: Likewise.
46814         * tests/test-search.c: Likewise.
46815         * tests/test-signbit.c: Likewise.
46816         * tests/test-sleep.c: Likewise.
46817         * tests/test-snprintf-posix.c: Likewise.
46818         * tests/test-snprintf-posix.h: Likewise.
46819         * tests/test-snprintf.c: Likewise.
46820         * tests/test-sprintf-posix.c: Likewise.
46821         * tests/test-sprintf-posix.h: Likewise.
46822         * tests/test-stat-time.c: Likewise.
46823         * tests/test-stdbool.c: Likewise.
46824         * tests/test-stdint.c: Likewise.
46825         * tests/test-stdio.c: Likewise.
46826         * tests/test-stdlib.c: Likewise.
46827         * tests/test-stpncpy.c: Likewise.
46828         * tests/test-strcasestr.c: Likewise.
46829         * tests/test-striconv.c: Likewise.
46830         * tests/test-striconveh.c: Likewise.
46831         * tests/test-striconveha.c: Likewise.
46832         * tests/test-string.c: Likewise.
46833         * tests/test-sys_select.c: Likewise.
46834         * tests/test-sys_socket.c: Likewise.
46835         * tests/test-sys_stat.c: Likewise.
46836         * tests/test-sys_time.c: Likewise.
46837         * tests/test-sysexits.c: Likewise.
46838         * tests/test-time.c: Likewise.
46839         * tests/test-tls.c: Likewise.
46840         * tests/test-trunc.c: Likewise.
46841         * tests/test-truncf.c: Likewise.
46842         * tests/test-truncl.c: Likewise.
46843         * tests/test-unistd.c: Likewise.
46844         * tests/test-vasnprintf-posix.c: Likewise.
46845         * tests/test-vasnprintf-posix2.c: Likewise.
46846         * tests/test-vasnprintf.c: Likewise.
46847         * tests/test-vasprintf-posix.c: Likewise.
46848         * tests/test-vasprintf.c: Likewise.
46849         * tests/test-verify.c: Likewise.
46850         * tests/test-vfprintf-posix.c: Likewise.
46851         * tests/test-vprintf-posix.c: Likewise.
46852         * tests/test-vsnprintf-posix.c: Likewise.
46853         * tests/test-vsnprintf.c: Likewise.
46854         * tests/test-vsprintf-posix.c: Likewise.
46855         * tests/test-wchar.c: Likewise.
46856         * tests/test-wctype.c: Likewise.
46857         * tests/test-wcwidth.c: Likewise.
46858         * tests/test-xstrtol.c: Likewise.
46859         * tests/test-xvasprintf.c: Likewise.
46860         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
46861         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
46862         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46863         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46864         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46865         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
46866         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46867         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46868         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46869         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
46870         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46871         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46872         * tests/uniname/test-uninames.c: Likewise.
46873         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
46874         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
46875         * tests/unistdio/test-u16-printf1.h: Likewise.
46876         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
46877         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
46878         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
46879         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
46880         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
46881         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
46882         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
46883         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
46884         * tests/unistdio/test-u32-printf1.h: Likewise.
46885         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
46886         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
46887         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
46888         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
46889         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
46890         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
46891         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
46892         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
46893         * tests/unistdio/test-u8-printf1.h: Likewise.
46894         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
46895         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
46896         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
46897         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
46898         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
46899         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
46900         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
46901         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
46902         * tests/unistdio/test-ulc-printf1.h: Likewise.
46903         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
46904         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
46905         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
46906         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
46907         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
46908         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
46909         * tests/uniwidth/test-u16-strwidth.c: Likewise.
46910         * tests/uniwidth/test-u16-width.c: Likewise.
46911         * tests/uniwidth/test-u32-strwidth.c: Likewise.
46912         * tests/uniwidth/test-u32-width.c: Likewise.
46913         * tests/uniwidth/test-u8-strwidth.c: Likewise.
46914         * tests/uniwidth/test-u8-width.c: Likewise.
46915         * tests/uniwidth/test-uc_width.c: Likewise.
46916         * config/srclist-update: Likewise.
46917         (fixlicense): Update to GPLv3+.
46918
46919         Change copyright notice from LGPLv2.1+ to LGPLv3+.
46920         * tests/test-tsearch.c: Change copyright notice.
46921
46922         Change copyright notice from LGPLv2.0+ to LGPLv3+.
46923         * lib/c-strcaseeq.h: Change copyright notice.
46924         * lib/streq.h: Likewise.
46925         * lib/uniconv.h: Likewise.
46926         * lib/uniconv/u-conv-from-enc.h: Likewise.
46927         * lib/uniconv/u-conv-to-enc.h: Likewise.
46928         * lib/uniconv/u-strconv-from-enc.h: Likewise.
46929         * lib/uniconv/u-strconv-to-enc.h: Likewise.
46930         * lib/uniconv/u16-conv-from-enc.c: Likewise.
46931         * lib/uniconv/u16-conv-to-enc.c: Likewise.
46932         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
46933         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
46934         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
46935         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
46936         * lib/uniconv/u32-conv-from-enc.c: Likewise.
46937         * lib/uniconv/u32-conv-to-enc.c: Likewise.
46938         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
46939         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
46940         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
46941         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
46942         * lib/uniconv/u8-conv-from-enc.c: Likewise.
46943         * lib/uniconv/u8-conv-to-enc.c: Likewise.
46944         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
46945         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
46946         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
46947         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
46948         * lib/uniname.h: Likewise.
46949         * lib/uniname/uniname.c: Likewise.
46950         * lib/unistdio.h: Likewise.
46951         * lib/unistdio/u-asnprintf.h: Likewise.
46952         * lib/unistdio/u-asprintf.h: Likewise.
46953         * lib/unistdio/u-printf-args.c: Likewise.
46954         * lib/unistdio/u-printf-args.h: Likewise.
46955         * lib/unistdio/u-printf-parse.h: Likewise.
46956         * lib/unistdio/u-snprintf.h: Likewise.
46957         * lib/unistdio/u-sprintf.h: Likewise.
46958         * lib/unistdio/u-vasprintf.h: Likewise.
46959         * lib/unistdio/u-vsnprintf.h: Likewise.
46960         * lib/unistdio/u-vsprintf.h: Likewise.
46961         * lib/unistdio/u16-asnprintf.c: Likewise.
46962         * lib/unistdio/u16-asprintf.c: Likewise.
46963         * lib/unistdio/u16-printf-parse.c: Likewise.
46964         * lib/unistdio/u16-snprintf.c: Likewise.
46965         * lib/unistdio/u16-sprintf.c: Likewise.
46966         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
46967         * lib/unistdio/u16-u16-asprintf.c: Likewise.
46968         * lib/unistdio/u16-u16-snprintf.c: Likewise.
46969         * lib/unistdio/u16-u16-sprintf.c: Likewise.
46970         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
46971         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
46972         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
46973         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
46974         * lib/unistdio/u16-vasnprintf.c: Likewise.
46975         * lib/unistdio/u16-vasprintf.c: Likewise.
46976         * lib/unistdio/u16-vsnprintf.c: Likewise.
46977         * lib/unistdio/u16-vsprintf.c: Likewise.
46978         * lib/unistdio/u32-asnprintf.c: Likewise.
46979         * lib/unistdio/u32-asprintf.c: Likewise.
46980         * lib/unistdio/u32-printf-parse.c: Likewise.
46981         * lib/unistdio/u32-snprintf.c: Likewise.
46982         * lib/unistdio/u32-sprintf.c: Likewise.
46983         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
46984         * lib/unistdio/u32-u32-asprintf.c: Likewise.
46985         * lib/unistdio/u32-u32-snprintf.c: Likewise.
46986         * lib/unistdio/u32-u32-sprintf.c: Likewise.
46987         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
46988         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
46989         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
46990         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
46991         * lib/unistdio/u32-vasnprintf.c: Likewise.
46992         * lib/unistdio/u32-vasprintf.c: Likewise.
46993         * lib/unistdio/u32-vsnprintf.c: Likewise.
46994         * lib/unistdio/u32-vsprintf.c: Likewise.
46995         * lib/unistdio/u8-asnprintf.c: Likewise.
46996         * lib/unistdio/u8-asprintf.c: Likewise.
46997         * lib/unistdio/u8-printf-parse.c: Likewise.
46998         * lib/unistdio/u8-snprintf.c: Likewise.
46999         * lib/unistdio/u8-sprintf.c: Likewise.
47000         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
47001         * lib/unistdio/u8-u8-asprintf.c: Likewise.
47002         * lib/unistdio/u8-u8-snprintf.c: Likewise.
47003         * lib/unistdio/u8-u8-sprintf.c: Likewise.
47004         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
47005         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
47006         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
47007         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
47008         * lib/unistdio/u8-vasnprintf.c: Likewise.
47009         * lib/unistdio/u8-vasprintf.c: Likewise.
47010         * lib/unistdio/u8-vsnprintf.c: Likewise.
47011         * lib/unistdio/u8-vsprintf.c: Likewise.
47012         * lib/unistdio/ulc-asnprintf.c: Likewise.
47013         * lib/unistdio/ulc-asprintf.c: Likewise.
47014         * lib/unistdio/ulc-printf-parse.c: Likewise.
47015         * lib/unistdio/ulc-snprintf.c: Likewise.
47016         * lib/unistdio/ulc-sprintf.c: Likewise.
47017         * lib/unistdio/ulc-vasnprintf.c: Likewise.
47018         * lib/unistdio/ulc-vasprintf.c: Likewise.
47019         * lib/unistdio/ulc-vsnprintf.c: Likewise.
47020         * lib/unistdio/ulc-vsprintf.c: Likewise.
47021         * lib/unistr.h: Likewise.
47022         * lib/unistr/u-cpy-alloc.h: Likewise.
47023         * lib/unistr/u-cpy.h: Likewise.
47024         * lib/unistr/u-endswith.h: Likewise.
47025         * lib/unistr/u-move.h: Likewise.
47026         * lib/unistr/u-set.h: Likewise.
47027         * lib/unistr/u-startswith.h: Likewise.
47028         * lib/unistr/u-stpcpy.h: Likewise.
47029         * lib/unistr/u-stpncpy.h: Likewise.
47030         * lib/unistr/u-strcat.h: Likewise.
47031         * lib/unistr/u-strcpy.h: Likewise.
47032         * lib/unistr/u-strcspn.h: Likewise.
47033         * lib/unistr/u-strdup.h: Likewise.
47034         * lib/unistr/u-strlen.h: Likewise.
47035         * lib/unistr/u-strncat.h: Likewise.
47036         * lib/unistr/u-strncpy.h: Likewise.
47037         * lib/unistr/u-strnlen.h: Likewise.
47038         * lib/unistr/u-strpbrk.h: Likewise.
47039         * lib/unistr/u-strspn.h: Likewise.
47040         * lib/unistr/u-strstr.h: Likewise.
47041         * lib/unistr/u-strtok.h: Likewise.
47042         * lib/unistr/u16-check.c: Likewise.
47043         * lib/unistr/u16-chr.c: Likewise.
47044         * lib/unistr/u16-cmp.c: Likewise.
47045         * lib/unistr/u16-cpy-alloc.c: Likewise.
47046         * lib/unistr/u16-cpy.c: Likewise.
47047         * lib/unistr/u16-endswith.c: Likewise.
47048         * lib/unistr/u16-mblen.c: Likewise.
47049         * lib/unistr/u16-mbsnlen.c: Likewise.
47050         * lib/unistr/u16-mbtouc-aux.c: Likewise.
47051         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
47052         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
47053         * lib/unistr/u16-mbtouc.c: Likewise.
47054         * lib/unistr/u16-mbtoucr.c: Likewise.
47055         * lib/unistr/u16-move.c: Likewise.
47056         * lib/unistr/u16-next.c: Likewise.
47057         * lib/unistr/u16-prev.c: Likewise.
47058         * lib/unistr/u16-set.c: Likewise.
47059         * lib/unistr/u16-startswith.c: Likewise.
47060         * lib/unistr/u16-stpcpy.c: Likewise.
47061         * lib/unistr/u16-stpncpy.c: Likewise.
47062         * lib/unistr/u16-strcat.c: Likewise.
47063         * lib/unistr/u16-strchr.c: Likewise.
47064         * lib/unistr/u16-strcmp.c: Likewise.
47065         * lib/unistr/u16-strcpy.c: Likewise.
47066         * lib/unistr/u16-strcspn.c: Likewise.
47067         * lib/unistr/u16-strdup.c: Likewise.
47068         * lib/unistr/u16-strlen.c: Likewise.
47069         * lib/unistr/u16-strmblen.c: Likewise.
47070         * lib/unistr/u16-strmbtouc.c: Likewise.
47071         * lib/unistr/u16-strncat.c: Likewise.
47072         * lib/unistr/u16-strncmp.c: Likewise.
47073         * lib/unistr/u16-strncpy.c: Likewise.
47074         * lib/unistr/u16-strnlen.c: Likewise.
47075         * lib/unistr/u16-strpbrk.c: Likewise.
47076         * lib/unistr/u16-strrchr.c: Likewise.
47077         * lib/unistr/u16-strspn.c: Likewise.
47078         * lib/unistr/u16-strstr.c: Likewise.
47079         * lib/unistr/u16-strtok.c: Likewise.
47080         * lib/unistr/u16-to-u32.c: Likewise.
47081         * lib/unistr/u16-to-u8.c: Likewise.
47082         * lib/unistr/u16-uctomb-aux.c: Likewise.
47083         * lib/unistr/u16-uctomb.c: Likewise.
47084         * lib/unistr/u32-check.c: Likewise.
47085         * lib/unistr/u32-chr.c: Likewise.
47086         * lib/unistr/u32-cmp.c: Likewise.
47087         * lib/unistr/u32-cpy-alloc.c: Likewise.
47088         * lib/unistr/u32-cpy.c: Likewise.
47089         * lib/unistr/u32-endswith.c: Likewise.
47090         * lib/unistr/u32-mblen.c: Likewise.
47091         * lib/unistr/u32-mbsnlen.c: Likewise.
47092         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
47093         * lib/unistr/u32-mbtouc.c: Likewise.
47094         * lib/unistr/u32-mbtoucr.c: Likewise.
47095         * lib/unistr/u32-move.c: Likewise.
47096         * lib/unistr/u32-next.c: Likewise.
47097         * lib/unistr/u32-prev.c: Likewise.
47098         * lib/unistr/u32-set.c: Likewise.
47099         * lib/unistr/u32-startswith.c: Likewise.
47100         * lib/unistr/u32-stpcpy.c: Likewise.
47101         * lib/unistr/u32-stpncpy.c: Likewise.
47102         * lib/unistr/u32-strcat.c: Likewise.
47103         * lib/unistr/u32-strchr.c: Likewise.
47104         * lib/unistr/u32-strcmp.c: Likewise.
47105         * lib/unistr/u32-strcpy.c: Likewise.
47106         * lib/unistr/u32-strcspn.c: Likewise.
47107         * lib/unistr/u32-strdup.c: Likewise.
47108         * lib/unistr/u32-strlen.c: Likewise.
47109         * lib/unistr/u32-strmblen.c: Likewise.
47110         * lib/unistr/u32-strmbtouc.c: Likewise.
47111         * lib/unistr/u32-strncat.c: Likewise.
47112         * lib/unistr/u32-strncmp.c: Likewise.
47113         * lib/unistr/u32-strncpy.c: Likewise.
47114         * lib/unistr/u32-strnlen.c: Likewise.
47115         * lib/unistr/u32-strpbrk.c: Likewise.
47116         * lib/unistr/u32-strrchr.c: Likewise.
47117         * lib/unistr/u32-strspn.c: Likewise.
47118         * lib/unistr/u32-strstr.c: Likewise.
47119         * lib/unistr/u32-strtok.c: Likewise.
47120         * lib/unistr/u32-to-u16.c: Likewise.
47121         * lib/unistr/u32-to-u8.c: Likewise.
47122         * lib/unistr/u32-uctomb.c: Likewise.
47123         * lib/unistr/u8-check.c: Likewise.
47124         * lib/unistr/u8-chr.c: Likewise.
47125         * lib/unistr/u8-cmp.c: Likewise.
47126         * lib/unistr/u8-cpy-alloc.c: Likewise.
47127         * lib/unistr/u8-cpy.c: Likewise.
47128         * lib/unistr/u8-endswith.c: Likewise.
47129         * lib/unistr/u8-mblen.c: Likewise.
47130         * lib/unistr/u8-mbsnlen.c: Likewise.
47131         * lib/unistr/u8-mbtouc-aux.c: Likewise.
47132         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
47133         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
47134         * lib/unistr/u8-mbtouc.c: Likewise.
47135         * lib/unistr/u8-mbtoucr.c: Likewise.
47136         * lib/unistr/u8-move.c: Likewise.
47137         * lib/unistr/u8-next.c: Likewise.
47138         * lib/unistr/u8-prev.c: Likewise.
47139         * lib/unistr/u8-set.c: Likewise.
47140         * lib/unistr/u8-startswith.c: Likewise.
47141         * lib/unistr/u8-stpcpy.c: Likewise.
47142         * lib/unistr/u8-stpncpy.c: Likewise.
47143         * lib/unistr/u8-strcat.c: Likewise.
47144         * lib/unistr/u8-strchr.c: Likewise.
47145         * lib/unistr/u8-strcmp.c: Likewise.
47146         * lib/unistr/u8-strcpy.c: Likewise.
47147         * lib/unistr/u8-strcspn.c: Likewise.
47148         * lib/unistr/u8-strdup.c: Likewise.
47149         * lib/unistr/u8-strlen.c: Likewise.
47150         * lib/unistr/u8-strmblen.c: Likewise.
47151         * lib/unistr/u8-strmbtouc.c: Likewise.
47152         * lib/unistr/u8-strncat.c: Likewise.
47153         * lib/unistr/u8-strncmp.c: Likewise.
47154         * lib/unistr/u8-strncpy.c: Likewise.
47155         * lib/unistr/u8-strnlen.c: Likewise.
47156         * lib/unistr/u8-strpbrk.c: Likewise.
47157         * lib/unistr/u8-strrchr.c: Likewise.
47158         * lib/unistr/u8-strspn.c: Likewise.
47159         * lib/unistr/u8-strstr.c: Likewise.
47160         * lib/unistr/u8-strtok.c: Likewise.
47161         * lib/unistr/u8-to-u16.c: Likewise.
47162         * lib/unistr/u8-to-u32.c: Likewise.
47163         * lib/unistr/u8-uctomb-aux.c: Likewise.
47164         * lib/unistr/u8-uctomb.c: Likewise.
47165         * lib/unitypes.h: Likewise.
47166         * lib/uniwidth.h: Likewise.
47167         * lib/uniwidth/cjk.h: Likewise.
47168         * lib/uniwidth/u16-strwidth.c: Likewise.
47169         * lib/uniwidth/u16-width.c: Likewise.
47170         * lib/uniwidth/u32-strwidth.c: Likewise.
47171         * lib/uniwidth/u32-width.c: Likewise.
47172         * lib/uniwidth/u8-strwidth.c: Likewise.
47173         * lib/uniwidth/u8-width.c: Likewise.
47174         * lib/uniwidth/width.c: Likewise.
47175
47176 2007-10-07  Bruno Haible  <bruno@clisp.org>
47177
47178         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
47179         The file is still under LGPL (see modules/inttypes).
47180
47181 2007-10-06  Bruno Haible  <bruno@clisp.org>
47182
47183         * modules/trunc (Dependencies): Add 'extensions'.
47184         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
47185         Reported by Ben Pfaff <blp@gnu.org>.
47186
47187 2007-10-06  Bruno Haible  <bruno@clisp.org>
47188
47189         * modules/freopen-tests: New file.
47190         * tests/test-freopen.c: New file.
47191
47192         * modules/fopen-tests: New file.
47193         * tests/test-fopen.c: New file.
47194
47195         * modules/fopen: New file.
47196         * lib/fopen.c: New file.
47197         * m4/fopen.m4: New file.
47198         * modules/freopen: New file.
47199         * lib/freopen.c: New file.
47200         * m4/freopen.m4: New file.
47201         * lib/stdio.in.h (fopen, freopen): New declarations.
47202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
47203         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47204         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
47205         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
47206         * doc/functions/fopen.texi: Mention the 'fopen' module.
47207         * doc/functions/freopen.texi: Mention the 'freopen' module.
47208
47209 2007-10-06  Bruno Haible  <bruno@clisp.org>
47210
47211         * modules/open-tests: New file.
47212         * tests/test-open.c: New file.
47213
47214         * modules/open: New file.
47215         * lib/open.c: New file.
47216         * m4/open.m4: New file.
47217         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
47218         lib/open.c does.
47219         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
47220         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
47221         macros.
47222         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
47223         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
47224         REPLACE_OPEN.
47225         * doc/functions/open.texi: Mention the 'open' module.
47226
47227 2007-10-04  Bruno Haible  <bruno@clisp.org>
47228
47229         * modules/ceill-tests: New file.
47230         * tests/test-ceill.c: New file.
47231
47232         * modules/ceill: New file.
47233         * lib/ceill.c: Replace entire file.
47234         * m4/ceill.m4: New file.
47235         * lib/math.in.h (ceill): Replace declaration.
47236         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
47237         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
47238         * doc/functions/ceill.texi: Mention the 'ceill' module.
47239         * modules/mathl (Files): Remove lib/ceill.c.
47240         (Depends-on): Add ceill.
47241
47242 2007-10-04  Bruno Haible  <bruno@clisp.org>
47243
47244         * modules/ceilf-tests: New file.
47245         * tests/test-ceilf.c: New file.
47246
47247         * modules/ceilf: New file.
47248         * lib/ceil.c: New file.
47249         * lib/ceilf.c: New file.
47250         * m4/ceilf.m4: New file.
47251         * lib/math.in.h (ceilf): New declaration.
47252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
47253         HAVE_DECL_CEILF.
47254         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
47255         HAVE_DECL_CEILF.
47256         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
47257
47258 2007-10-04  Bruno Haible  <bruno@clisp.org>
47259
47260         * modules/floorl-tests: New file.
47261         * tests/test-floorl.c: New file.
47262
47263         * modules/floorl: New file.
47264         * lib/floorl.c: Replace entire file.
47265         * m4/floorl.m4: New file.
47266         * lib/math.in.h (floorl): Replace declaration.
47267         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
47268         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
47269         * doc/functions/floorl.texi: Mention the 'floorl' module.
47270         * modules/mathl (Files): Remove lib/floorl.c.
47271         (Depends-on): Add floorl.
47272
47273 2007-10-04  Bruno Haible  <bruno@clisp.org>
47274
47275         * modules/floorf-tests: New file.
47276         * tests/test-floorf.c: New file.
47277
47278         * modules/floorf: New file.
47279         * lib/floor.c: New file.
47280         * lib/floorf.c: New file.
47281         * m4/floorf.m4: New file.
47282         * lib/math.in.h (floorf): New declaration.
47283         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
47284         HAVE_DECL_FLOORF.
47285         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
47286         HAVE_DECL_FLOORF.
47287         * doc/functions/floorf.texi: Mention the 'floorf' module.
47288
47289 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
47290             Bruno Haible  <bruno@clisp.org>
47291
47292         Advertise for the Git server instead of the CVS server.
47293         * doc/gnulib-intro.texi (Steady Development): Mention the Git
47294         repository instead of the CVS one.
47295         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
47296         about all VCS systems generically.
47297         * doc/gnulib.texi (Introduction): Capitalize `Git'.
47298
47299 2007-10-04  Bruno Haible  <bruno@clisp.org>
47300
47301         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
47302         means.
47303         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
47304
47305 2007-10-04  Bruno Haible  <bruno@clisp.org>
47306
47307         * modules/truncl-tests: New file.
47308         * tests/test-truncl.c: New file.
47309
47310         * modules/truncl: New file.
47311         * lib/truncl.c: New file.
47312         * m4/truncl.m4: New file.
47313         * lib/math.in.h (truncl): New declaration.
47314         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
47315         HAVE_DECL_TRUNCL.
47316         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
47317         HAVE_DECL_TRUNCL.
47318         * doc/functions/truncl.texi: Mention the 'truncl' module.
47319
47320 2007-10-04  Bruno Haible  <bruno@clisp.org>
47321
47322         * modules/truncf-tests: New file.
47323         * tests/test-truncf.c: New file.
47324
47325         * modules/truncf: New file.
47326         * lib/trunc.c: Make paramerizable through USE_* macros.
47327         * lib/truncf.c: New file.
47328         * m4/truncf.m4: New file.
47329         * lib/math.in.h (truncf): New declaration.
47330         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
47331         HAVE_DECL_TRUNCF.
47332         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
47333         HAVE_DECL_TRUNCF.
47334         * doc/functions/truncf.texi: Mention the 'truncf' module.
47335
47336 2007-10-03  Bruno Haible  <bruno@clisp.org>
47337
47338         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
47339         augmentation also for tests modules.
47340         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
47341         * modules/atexit-tests (Makefile.am): Likewise.
47342         * modules/binary-io-tests (Makefile.am): Likewise.
47343         * modules/c-strcase-tests (Makefile.am): Likewise.
47344         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
47345         * modules/canonicalize-tests (Makefile.am): Likewise.
47346         * modules/closein-tests (Makefile.am): Likewise.
47347         * modules/fprintf-posix-tests (Makefile.am): Likewise.
47348         * modules/freadahead-tests (Makefile.am): Likewise.
47349         * modules/fseek-tests (Makefile.am): Likewise.
47350         * modules/fseeko-tests (Makefile.am): Likewise.
47351         * modules/ftell-tests (Makefile.am): Likewise.
47352         * modules/ftello-tests (Makefile.am): Likewise.
47353         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
47354         * modules/isnanl-tests (Makefile.am): Likewise.
47355         * modules/lseek-tests (Makefile.am): Likewise.
47356         * modules/mbscasecmp-tests (Makefile.am): Likewise.
47357         * modules/mbscasestr-tests (Makefile.am): Likewise.
47358         * modules/mbschr-tests (Makefile.am): Likewise.
47359         * modules/mbscspn-tests (Makefile.am): Likewise.
47360         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
47361         * modules/mbspbrk-tests (Makefile.am): Likewise.
47362         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
47363         * modules/mbsrchr-tests (Makefile.am): Likewise.
47364         * modules/mbsspn-tests (Makefile.am): Likewise.
47365         * modules/mbsstr-tests (Makefile.am): Likewise.
47366         * modules/printf-posix-tests (Makefile.am): Likewise.
47367         * modules/snprintf-posix-tests (Makefile.am): Likewise.
47368         * modules/sprintf-posix-tests (Makefile.am): Likewise.
47369         * modules/tsearch-tests (Makefile.am): Likewise.
47370         * modules/uniname/uniname-tests (Makefile.am): Likewise.
47371         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
47372         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
47373         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
47374         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
47375         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
47376         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
47377         * modules/vprintf-posix-tests (Makefile.am): Likewise.
47378         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
47379         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
47380         * modules/xstrtoimax-tests (Makefile.am): Likewise.
47381         * modules/xstrtol-tests (Makefile.am): Likewise.
47382         * modules/xstrtoumax-tests (Makefile.am): Likewise.
47383         * modules/yesno-tests (Makefile.am): Likewise.
47384
47385 2007-10-03  Bruno Haible  <bruno@clisp.org>
47386
47387         * modules/trunc-tests: New file.
47388         * tests/test-trunc.c: New file.
47389
47390         * modules/trunc: New file.
47391         * lib/trunc.c: New file.
47392         * m4/trunc.m4: New file.
47393         * lib/math.in.h (trunc): New declaration.
47394         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
47395         HAVE_DECL_TRUNC.
47396         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
47397         HAVE_DECL_TRUNC.
47398         * doc/functions/trunc.texi: Mention the 'trunc' module.
47399
47400 2007-10-03  Bruno Haible  <bruno@clisp.org>
47401
47402         * tests/test-fpending.c: New file, mostly copied
47403         from coreutils/lib/t-fpending.c.
47404         * modules/fpending-tests: New file.
47405
47406 2007-10-03  Bruno Haible  <bruno@clisp.org>
47407
47408         Port the stdio extensions to QNX (untested).
47409         * lib/fseterr.c (fseterr): Add support for QNX.
47410         * lib/fbufmode.c (fbufmode): Likewise.
47411         * lib/freadable.c (freadable): Likewise.
47412         * lib/fwritable.c (fwritable): Likewise.
47413         * lib/freading.c (freading): Likewise.
47414         * lib/fwriting.c (fwriting): Likewise.
47415         * lib/freadahead.c (freadahed): Likewise.
47416         * lib/fpurge.c (fpurge): Likewise.
47417         * lib/fseeko.c (rpl_fseeko): Likewise.
47418
47419 2007-10-03  Bruno Haible  <bruno@clisp.org>
47420             Jim Meyering  <jim@meyering.net>
47421             Eric Blake  <ebb9@byu.net>
47422
47423         * doc/relocatable.texi: Use @command instead of @program.
47424
47425 2007-10-02  Jim Meyering  <jim@meyering.net>
47426
47427         Perform one more "_.h" -> ".in.h" substitution.
47428         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
47429         instead of unistd_.h here, too.
47430
47431 2007-10-01  Bruno Haible  <bruno@clisp.org>
47432
47433         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
47434         Needed for the alloca-opt module.
47435
47436 2007-09-30  Bruno Haible  <bruno@clisp.org>
47437
47438         * lib/alloca.in.h: Renamed from lib/alloca_.h.
47439         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
47440         alloca_.h.
47441         * lib/argz.in.h: Renamed from lib/argz_.h.
47442         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
47443         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
47444         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
47445         byteswap_.h.
47446         * lib/dirent.in.h: Renamed from lib/dirent_.h.
47447         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
47448         dirent_.h.
47449         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
47450         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
47451         fcntl_.h.
47452         * lib/float.in.h: Renamed from lib/float_.h.
47453         * modules/float (Files, Makefile.am): Use float.in.h instead of
47454         float_.h.
47455         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
47456         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
47457         fnmatch_.h.
47458         * lib/getopt.in.h: Renamed from lib/getopt_.h.
47459         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
47460         getopt_.h.
47461         * lib/glob.in.h: Renamed from lib/glob_.h.
47462         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
47463         * lib/iconv.in.h: Renamed from lib/iconv_.h.
47464         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
47465         iconv_.h.
47466         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
47467         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
47468         inttypes_.h.
47469         * lib/locale.in.h: Renamed from lib/locale_.h.
47470         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
47471         locale_.h.
47472         * lib/math.in.h: Renamed from lib/math_.h.
47473         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
47474         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
47475         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
47476         of netinet_in_.h. Add dependency.
47477         * lib/poll.in.h: Renamed from lib/poll_.h.
47478         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
47479         * lib/search.in.h: Renamed from lib/search_.h.
47480         * modules/search (Files, Makefile.am): Use search.in.h instead of
47481         search_.h.
47482         * lib/signal.in.h: Renamed from lib/signal_.h.
47483         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
47484         _signal.h.
47485         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
47486         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
47487         stdbool_.h.
47488         * lib/stdint.in.h: Renamed from lib/stdint_.h.
47489         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
47490         stdint_.h.
47491         * lib/stdio.in.h: Renamed from lib/stdio_.h.
47492         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
47493         stdio_.h.
47494         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
47495         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
47496         stdlib_.h.
47497         * lib/string.in.h: Renamed from lib/string_.h.
47498         * modules/string (Files, Makefile.am): Use string.in.h instead of
47499         string_.h.
47500         * doc/gnulib-tool.texi (Initial import): Update.
47501         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
47502         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
47503         of sys_select_.h. Add dependency.
47504         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
47505         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
47506         of sys_socket_.h.
47507         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
47508         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
47509         sys_stat_.h.
47510         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
47511         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
47512         sys_time_.h.
47513         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
47514         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
47515         sysexits_.h.
47516         * lib/time.in.h: Renamed from lib/time_.h.
47517         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
47518         * lib/unistd.in.h: Renamed from lib/unistd_.h.
47519         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
47520         unistd_.h.
47521         * lib/wchar.in.h: Renamed from lib/wchar_.h.
47522         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
47523         wchar_.h.
47524         * lib/wctype.in.h: Renamed from lib/wctype_.h.
47525         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
47526         wctype_.h.
47527         * build-aux/bootstrap (slurp): Update.
47528         * lib/.cppi-disable: Update.
47529
47530 2007-09-30  Bruno Haible  <bruno@clisp.org>
47531
47532         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
47533         Needed on BeOS.
47534
47535 2007-09-30  Bruno Haible  <bruno@clisp.org>
47536
47537         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
47538
47539 2007-09-29  Bruno Haible  <bruno@clisp.org>
47540
47541         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
47542
47543 2007-09-29  Bruno Haible  <bruno@clisp.org>
47544
47545         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
47546         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
47547         * build-aux/install-reloc: Compile also areadlink.c.
47548         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
47549
47550 2007-09-29  Bruno Haible  <bruno@clisp.org>
47551
47552         * gnulib-tool (func_emit_initmacro_done): Indentation.
47553
47554 2007-09-29  Bruno Haible  <bruno@clisp.org>
47555
47556         * README: Add CVS checkout update instructions.
47557         Info from Bob Proulx <bob@proulx.com>.
47558
47559 2007-09-28  Eric Blake  <ebb9@byu.net>
47560
47561         Provide move-if-change.
47562         * build-aux/move-if-change: New file, based on best practice
47563         rather than any canonical upstream location.
47564
47565 2007-09-28  Jim Meyering  <jim@meyering.net>
47566
47567         Fix canonicalize loop-detection corner case.
47568         Do not attempt to stat the symlink values stored via seen_triple.
47569         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
47570         on linux-2.6.18, (but not 2.6.22).
47571         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
47572         triple_compare.  The former compares dev,ino,filename, while the latter
47573         would actually stat dirname(filename) when dev and ino were equal.
47574         * lib/hash-triple.c: Install <string.h>.
47575         (STREQ): Define.
47576         (triple_compare_ino_str): New function.
47577         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
47578
47579 2007-09-28  Eric Blake  <ebb9@byu.net>
47580
47581         Enforce that AC_REPLACE_FUNCS files exist.
47582         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
47583         override check for typos.
47584
47585         Fix test-closein on Solaris 10.
47586         * tests/test-closein.c (main): Don't assume stdin can be inherited
47587         closed on all systems.
47588         * tests/test-closein.sh: Likewise.
47589         Reported by Piotr Tarnowski.
47590
47591 2007-09-28  Jim Meyering  <jim@meyering.net>
47592
47593         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
47594
47595 2007-09-27  Jim Meyering  <jim@meyering.net>
47596
47597         canonicalize: Avoid a false-positive cycle failure.
47598         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
47599         Sort.  Remove cycle-check.
47600         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
47601         not cycle-check.h.
47602         (seen_triple): New function.
47603         (canonicalize_filename_mode): Use it instead of cycle-check.
47604         * tests/test-canonicalize.c: Add a test for this bug.
47605         * tests/test-canonicalize.sh: Set up and run the test.
47606
47607         New module, file-set, from coreutils.
47608         * modules/file-set: Define it.
47609         * lib/file-set.c, lib/file-set.h: Implement.
47610
47611         New module, hash-triple, from coreutils.
47612         * modules/hash-triple: Define it.
47613         * lib/hash-triple.c, lib/hash-triple.h: Implement.
47614
47615 2007-09-25  Eric Blake  <ebb9@byu.net>
47616
47617         Fix strerror on Interix.
47618         * lib/string_.h (strerror): Declare replacement.
47619         * doc/functions/strerror.texi (strerror): Document the Interix
47620         shortcoming.
47621         * modules/string (Makefile.am): Support new hooks.
47622         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
47623         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
47624         gl_FUNC_STRERROR_SEPARATE.
47625         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
47626         * lib/strerror.c (rpl_strerror): Provide replacement.
47627         * modules/strerror (Depends-on): Add string.
47628         (configure.ac): Detect use of module.
47629         * tests/test-strerror.c: New file.
47630         * modules/strerror-tests: New test module.
47631         * modules/argp (Depends-on): Add strerror.
47632         * modules/error (Depends-on): Likewise.
47633         Reported by Martin Koeppe.
47634
47635 2007-09-24  Bruno Haible  <bruno@clisp.org>
47636
47637         * README: Update git instructions.
47638
47639 2007-09-24  Eric Blake  <ebb9@byu.net>
47640
47641         Revert fpending breakage from 2007-09-08.
47642         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
47643         __fpending.c.
47644
47645 2007-09-24  Jim Meyering  <jim@meyering.net>
47646
47647         filenamecat.c: Add a test.
47648         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
47649         showing how the function works when DIR is the empty string.
47650
47651 2007-09-21  Simon Josefsson  <simon@josefsson.org>
47652
47653         * tests/test-canonicalize.sh: Turn on executable bit.
47654
47655 2007-09-19  Eric Blake  <ebb9@byu.net>
47656
47657         * README: Update CVS instructions.
47658
47659 2007-09-18  Bruno Haible  <bruno@clisp.org>
47660
47661         * modules/areadlink: New file.
47662         * lib/areadlink.h (areadlink): New declaration.
47663         * lib/areadlink.c: New file, based on lib/xreadlink.c.
47664
47665 2007-09-17  Jim Meyering  <jim@meyering.net>
47666
47667         * lib/savewd.c (ESTALE) [!defined]: Define.
47668         Reported to be required on Interix by Martin Koeppe.
47669
47670 2007-09-17  Bruno Haible  <bruno@clisp.org>
47671
47672         * gnulib-tool (func_version): Use $version.
47673
47674 2007-09-16  Bruno Haible  <bruno@clisp.org>
47675
47676         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
47677         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
47678         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
47679         Reported by Greg Schafer <gschafer@zip.com.au>.
47680
47681 2007-09-15  Bruno Haible  <bruno@clisp.org>
47682
47683         * gnulib-tool (sed): Try a little harder to make bash understand the
47684         alias.
47685         Reported by Bruce Korb <bruce.korb@gmail.com>.
47686
47687 2007-09-13  Eric Blake  <ebb9@byu.net>
47688
47689         * ChangeLog: Remove conflict markers.
47690
47691 2007-09-13  Simon Josefsson  <simon@josefsson.org>
47692
47693         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
47694         Reported by Bruno Haible <bruno@clisp.org>.
47695
47696 2007-09-12  Bruno Haible  <bruno@clisp.org>
47697
47698         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
47699         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
47700         is not defined.
47701
47702 2007-09-12  Eric Blake  <ebb9@byu.net>
47703
47704         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
47705         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
47706         Autoconf definition.
47707         * modules/euidaccess (Depends-on): Add extensions, for
47708         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
47709         * modules/fnmatch (Depends-on): Likewise.
47710         * modules/getaddrinfo (Depends-on): Likewise.
47711         * modules/getdelim (Depends-on): Likewise.
47712         * modules/getline (Depends-on): Likewise.
47713         * modules/getsubopt (Depends-on): Likewise.
47714         * modules/gettext (Depends-on): Likewise.
47715         * modules/group-member (Depends-on): Likewise.
47716         * modules/mbchar (Depends-on): Likewise.
47717         * modules/memmem (Depends-on): Likewise.
47718         * modules/mempcpy (Depends-on): Likewise.
47719         * modules/memrchr (Depends-on): Likewise.
47720         * modules/pagealign_alloc (Depends-on): Likewise.
47721         * modules/readutmp (Depends-on): Likewise.
47722         * modules/stpcpy (Depends-on): Likewise.
47723         * modules/stpncpy (Depends-on): Likewise.
47724         * modules/strchrnul (Depends-on): Likewise.
47725         * modules/strndup (Depends-on): Likewise.
47726         * modules/strsep (Depends-on): Likewise.
47727         * modules/strverscmp (Depends-on): Likewise.
47728         * modules/vasprintf (Depends-on): Likewise.
47729         * modules/wcwidth (Depends-on): Likewise.
47730         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
47731         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
47732         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
47733         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
47734         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
47735         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47736         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
47737         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47738         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
47739         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
47740         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47741         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
47742         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
47743         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
47744         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
47745         * m4/readutmp.m4 (gl_READUTMP): Likewise.
47746         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47747         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
47748         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47749         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
47750         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47751         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
47752         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
47753         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
47754         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
47755         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47756         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
47757         so that lock.m4 can be used in gettext without extensions module.
47758
47759 2007-09-11  Bruno Haible  <bruno@clisp.org>
47760
47761         * m4/isc-posix.m4: Remove file.
47762         Suggested by Eric Blake.
47763
47764 2007-09-11  Eric Blake  <ebb9@byu.net>
47765
47766         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
47767
47768 2007-09-10  Bruno Haible  <bruno@clisp.org>
47769
47770         * posix-modules: Fix typo in error message.
47771         Reported by Matt <mkraai@beckman.com>.
47772
47773 2007-09-09  Bruno Haible  <bruno@clisp.org>
47774
47775         * doc/functions/getdelim.texi: Update list of platforms lacking the
47776         function.
47777         * doc/functions/getline.texi: Likewise.
47778
47779 2007-09-09  Jim Meyering  <jim@meyering.net>
47780
47781         * lib/hash.c (hash_initialize): Detect calloc failure.
47782         Reported by Bruno Haible.
47783
47784 2007-09-09  Bruno Haible  <bruno@clisp.org>
47785
47786         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
47787         malloc or realloc fails.
47788
47789 2007-09-09  Bruno Haible  <bruno@clisp.org>
47790
47791         * modules/getcwd (Depends-on): Add malloc-posix.
47792         * modules/glob (Depends-on): Likewise.
47793         * modules/putenv (Depends-on): Likewise.
47794         * modules/strdup (Depends-on): Likewise.
47795         * modules/getdelim (Depends-on): Add realloc-posix.
47796         * modules/read-file (Depends-on): Likewise.
47797
47798 2007-09-09  Bruno Haible  <bruno@clisp.org>
47799
47800         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
47801         (gl_FUNC_MALLOC_POSIX): Require it.
47802         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
47803         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
47804         * modules/realloc (Files): Add m4/malloc.m4.
47805         * modules/calloc (Files): Likewise.
47806
47807 2007-09-09  Bruno Haible  <bruno@clisp.org>
47808
47809         * modules/malloc-posix: New file.
47810         * modules/malloc (Depends-on): Add malloc-posix.
47811         * lib/malloc.c: Include errno.h.
47812         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
47813         and a POSIX-compatible malloc into a single function. Set ENOMEM
47814         when returning NULL.
47815         * m4/malloc.m4: New file.
47816         * doc/functions/malloc.texi: Mention the malloc-posix module.
47817         * lib/stdlib_.h (malloc): New declaration.
47818         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47819         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
47820         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
47821         and HAVE_MALLOC_POSIX.
47822
47823 2007-09-09  Bruno Haible  <bruno@clisp.org>
47824
47825         * modules/realloc-posix: New file.
47826         * modules/realloc (Depends-on): Add realloc-posix.
47827         * lib/realloc.c: Include errno.h.
47828         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
47829         and a POSIX-compatible realloc into a single function. Set ENOMEM
47830         when returning NULL.
47831         * m4/realloc.m4: New file.
47832         * doc/functions/realloc.texi: Mention the realloc-posix module.
47833         * lib/stdlib_.h (realloc): New declaration.
47834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47835         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
47836         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
47837         and HAVE_REALLOC_POSIX.
47838
47839 2007-09-09  Bruno Haible  <bruno@clisp.org>
47840
47841         * modules/calloc-posix: New file.
47842         * modules/calloc (Depends-on): Add calloc-posix.
47843         * lib/calloc.c: Include errno.h.
47844         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
47845         and a POSIX-compatible calloc into a single function. Set ENOMEM
47846         when returning NULL.
47847         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
47848         * doc/functions/calloc.texi: Mention the calloc-posix module.
47849         * lib/stdlib_.h (calloc): New declaration.
47850         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47851         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
47852         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
47853         and HAVE_CALLOC_POSIX.
47854
47855 2007-09-09  Bruno Haible  <bruno@clisp.org>
47856
47857         Allow for modules to show an arbitrary notice.
47858         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
47859         * gnulib-tool: New option --extract-notice.
47860         (func_usage): Document it.
47861         (sed_extract_prog): Update.
47862         (func_get_notice): New function.
47863         (func_modules_notice): New function.
47864         (func_import, func_create_testdir): Invoke it.
47865         Suggested by Jim Meyering.
47866
47867 2007-09-09  Bruno Haible  <bruno@clisp.org>
47868
47869         * gnulib-tool: New options --verbose, --quiet.
47870         (func_usage): Document them.
47871         (verbose): New variable.
47872         (func_execute_command): New function.
47873         (func_import): Don't show the module list and the file list if
47874         $verbose < 0.
47875         (func_create_testdir): Likewise. Use func_execute_command.
47876         (func_create_megatestdir): Use func_execute_command.
47877
47878 2007-09-08  Bruno Haible  <bruno@clisp.org>
47879
47880         * gnulib-tool (func_import): Prefer rsync over wget when available,
47881         for fetching the PO files.
47882
47883 2007-09-08  Bruno Haible  <bruno@clisp.org>
47884
47885         * posix-modules: New file. Portions copied from gnulib-tool.
47886         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
47887
47888 2007-09-08  Jim Meyering  <jim@meyering.net>
47889
47890         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
47891         * lib/fpending.h: Rename from __fpending.h.
47892         * lib/fpending.c: Rename from __fpending.c.
47893         Include "fpending.h", not "__fpending.h".
47894         * lib/__fpending.h, lib/__fpending.c: Remove files.
47895         * modules/fpending (Files): Reflect new file names.
47896         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
47897
47898 2007-09-08  Bruno Haible  <bruno@clisp.org>
47899
47900         * m4/inttypes-h.m4: Remove stub file.
47901
47902 2007-09-07  Simon Josefsson  <simon@josefsson.org>
47903
47904         * doc/headers/stdint.texi: Discuss #include_next issue.
47905
47906 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47907
47908         * build-aux/bootstrap: Remove obsolete comment about wget --help.
47909
47910 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47911
47912         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
47913         in variable name.
47914
47915 2007-09-03  Jim Meyering  <jim@meyering.net>
47916
47917         New module: git-version-gen.
47918         * modules/git-version-gen: New file.
47919
47920         Import changes from coreutils for bootstrap script.
47921
47922         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
47923
47924         bootstrap: uses rsync to download the .po files
47925         * build-aux/bootstrap (po_download_command_format): New global.
47926         (download_po_files): Use rsync.
47927         (update_po_files): Don't remove .po files after download,
47928         so future rsync runs can take advantage of the copies.
47929
47930         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
47931
47932         Solve the unnecessary-.po-file-regeneration problem once and for all.
47933         * build-aux/bootstrap (download_po_files): New function, renamed from
47934         get_translations.  Now, downloads, but doesn't update LINGUAS.
47935         (update_po_files): New function.
47936
47937         bootstrap: Ignore more.
47938         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
47939         uniwidth to e.g., lib/.gitignore.
47940         (slurp): Handle the sys_stat_.h -> sys mapping, too.
47941
47942         * build-aux/bootstrap: New setting: vc_ignore.
47943         (insert_sorted_if_absent): Create $file if absent.
47944         Adapt to new, possibly empty, list: $vc_ignore.
47945
47946         bootstrap: generate more ignorable names
47947         * build-aux/bootstrap (slurp): When generating ignorable names,
47948         also map .sin to .sed, .gperf to .c, and .y to .c.
47949
47950 2007-09-03  Jim Meyering  <jim@meyering.net>
47951
47952         * build-aux/git-version-gen: New file, from coreutils.  For details, see
47953         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
47954
47955 2007-09-02  Bruno Haible  <bruno@clisp.org>
47956
47957         Fix mis-recognition of 'mcs' on QNX 6.
47958         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
47959         output contains the string "Mono".
47960         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
47961         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
47962
47963 2007-09-01  Bruno Haible  <bruno@clisp.org>
47964
47965         Fix collision between uniwidth/* and linebreak modules.
47966         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
47967         u32_width): Remove declarations.
47968         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
47969         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
47970         streq3, streq2, streq1, streq0): Remove functions.
47971         (STREQ): Remove macro.
47972         (is_cjk_encoding): Remove function.
47973         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
47974         (uc_width, u8_width, u16_width, u32_width): Remove functions.
47975         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
47976         * NEWS: Document the change.
47977
47978 2007-09-01  Bruno Haible  <bruno@clisp.org>
47979
47980         * lib/streq.h: Add double-inclusion guard.
47981
47982 2007-09-01  Karl Berry  <karl@gnu.org>
47983
47984         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
47985
47986 2007-08-28  Jim Meyering  <jim@meyering.net>
47987
47988         Rename mreadlink_with_size to areadlink_with_size.
47989         * NEWS: Document the change.
47990         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
47991         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
47992         * lib/mreadlink.h: Rename this to...
47993         * lib/areadlink.h: ...this.
47994         * modules/mreadlink-with-size: Rename this to...
47995         * modules/areadlink-with-size: ...this.
47996         * lib/canonicalize.c: Reflect the renaming.
47997         * modules/canonicalize: Likewise.
47998
47999 2007-08-26  Bruno Haible  <bruno@clisp.org>
48000
48001         * gnulib-tool (func_import): When deciding which files to remove,
48002         consider also dangling symbolic links.
48003         Reported by Eric Blake.
48004
48005 2007-08-26  Bruno Haible  <bruno@clisp.org>
48006
48007         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
48008
48009 2007-08-23  Simon Josefsson  <simon@josefsson.org>
48010
48011         * lib/readline.c: Don't include getline.h, the prototype is now
48012         found in stdio.h.
48013
48014 2007-08-23  Jim Meyering  <jim@meyering.net>
48015
48016         Getdelim touchup.
48017         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
48018         around the funlockfile call, since funlockfile never sets errno.
48019         Don't set errno upon failed realloc.
48020
48021 2007-08-22  Eric Blake  <ebb9@byu.net>
48022
48023         Getline touchups.
48024         * lib/getdelim.c (getdelim): Revert regression that required *n to
48025         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
48026         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
48027         getdelim, rather than whether implementation is missing.
48028         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
48029         * lib/stdio_.h (getline): Also declare if replacement is
48030         required.
48031         * doc/functions/getdelim.texi: New file.
48032         * doc/functions/getline.texi: Likewise.
48033         * doc/gnulib.texi (Function Substitutes): Add new files.
48034         Reported by Bruno Haible.
48035
48036 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
48037
48038         * users.txt: Add Guile.
48039
48040 2007-08-22  Eric Blake  <ebb9@byu.net>
48041
48042         * tests/test-getdelim.c (main): Use remove, not unlink.
48043         * tests/test-getline.c (main): Likewise.
48044
48045         Move getline and getdelim into stdio.h, per POSIX 200x.
48046         * modules/getline (Files): Remove getline.h.
48047         (Depends-on): Add stdio.
48048         (configure.ac): Add module indicator.
48049         * modules/getdelim (Files): Remove getdelim.h.
48050         (Depends-on): Add stdio.
48051         (configure.ac): Add module indicator.
48052         * modules/stdio (Makefile.am): Work with new indicators.
48053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
48054         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
48055         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
48056         * lib/getdelim.h: Delete.
48057         * lib/getline.h: Delete.
48058         * lib/stdio_.h (getdelim, getline): Declare.
48059         * modules/getdelim-tests: New module.
48060         * modules/getline-tests: Likewise.
48061         * tests/test-getdelim.c: New file.
48062         * tests/test-getline.c: Likewise.
48063         * NEWS: Document the change.
48064         * lib/getline.c: Update choice of header.
48065         * lib/csharpcomp.c: Likewise.
48066         * lib/getpass.c: Likewise.
48067         * lib/javacomp.c: Likewise.
48068         * lib/javaversion.c: Likewise.
48069         * lib/yesno.c: Likewise.
48070         * lib/getdelim.c: Likewise.
48071         (getdelim): Set errno on failure, and avoid memory leak.
48072
48073 2007-08-19  Bruno Haible  <bruno@clisp.org>
48074
48075         * modules/closein (Depends-on): Add freadahead.
48076         * lib/closein.c: Include freadahead.h.
48077         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
48078         is zero.
48079
48080 2007-08-19  Bruno Haible  <bruno@clisp.org>
48081
48082         * modules/freadahead-tests: New file.
48083         * tests/test-freadahead.sh: New file.
48084         * tests/test-freadahead.c: New file.
48085
48086         * modules/freadahead: New file.
48087         * lib/freadahead.h: New file.
48088         * lib/freadahead.c: New file.
48089         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
48090         fbufmode, fpurge, freadable, fwritable.
48091
48092 2007-08-19  Eric Blake  <ebb9@byu.net>
48093
48094         Test yesno in combination with closein.
48095         * lib/yesno.c (yesno): Document use of stdin.
48096         * modules/yesno-tests (Files): New module.
48097         * tests/test-yesno.c (main): New file.
48098         * tests/test-yesno.sh: Likewise.
48099
48100 2007-08-19  Bruno Haible  <bruno@clisp.org>
48101
48102         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
48103         * lib/fseeko.c (rpl_fseeko): Likewise.
48104         * lib/fseterr.c (fseterr): Likewise.
48105
48106 2007-08-19  Bruno Haible  <bruno@clisp.org>
48107
48108         * tests/test-lseek.c (main): Disable a test for BeOS.
48109         * doc/functions/lseek.texi: Document the BeOS bug.
48110
48111 2007-08-19  Bruno Haible  <bruno@clisp.org>
48112             Eric Blake  <ebb9@byu.net>
48113
48114         * lib/lseek.c: Include <sys/stat.h>.
48115         (rpl_lseek): Add workaround code also for Unix platforms.
48116         Needed for BeOS.
48117         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
48118         * doc/functions/lseek.texi: Document BeOS definiency.
48119
48120 2007-08-18  Bruno Haible  <bruno@clisp.org>
48121
48122         * modules/fstrcmp-tests: New file.
48123         * tests/test-fstrcmp.c: New file.
48124
48125 2007-08-18  Bruno Haible  <bruno@clisp.org>
48126
48127         * modules/fstrcmp: New file, from GNU gettext with modifications.
48128         * lib/fstrcmp.h: New file, from GNU gettext.
48129         * lib/fstrcmp.c: New file, from GNU gettext.
48130         * MODULES.html.sh (String handling): Add fstrcmp.
48131
48132 2007-08-18  Bruno Haible  <bruno@clisp.org>
48133
48134         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
48135         'bool'.
48136         (diag, compareseq): Remove const from the ctxt argument.
48137         (USE_HEURISTIC): Undefine at the end.
48138
48139 2007-08-18  Jim Meyering  <jim@meyering.net>
48140
48141         New file: lib/idcache.h
48142         * NEWS: Mention the addition.
48143         * modules/idcache (Files): Add lib/idcache.h
48144         * lib/idcache.c: Include "idcache.h".
48145         Don't include <sys/types.h>.
48146         Add a FIXME comment.
48147         Move file-scoped "static" declarations to the top.
48148         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
48149
48150 2007-08-17  Bruno Haible  <bruno@clisp.org>
48151         and Paul Eggert  <eggert@cs.ucla.edu>
48152
48153         * MODULES.html.sh: Add diffseq.
48154         * modules/diffseq: New file.
48155         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
48156         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
48157
48158 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48159
48160         Import changes from coreutils for bootstrap script.
48161
48162         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
48163
48164         * build-aux/bootstrap (slurp): Work even in environments where
48165         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
48166         current code does not slurp files whose names start with ".", and
48167         this looks like it might be a troublesome area.
48168
48169         2007-07-11  Jim Meyering  <jim@meyering.net>
48170
48171         If there's a GPL vN copyright comment, require that N == 3.
48172
48173         2007-07-08  Jim Meyering  <jim@meyering.net>
48174
48175         Run the coreutils-specific code only if tests/Makefile.am.in exists.
48176         * build-aux/bootstrap (mam_template): Move definition out of loop.
48177
48178         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
48179
48180         * build-aux/bootstrap (symlink_to_dir): Rename function from
48181         symlink_to_gnulib.  Add a directory parameter.  Update all
48182         callers.
48183         (cp_mark_as_generated): Also check for -- and link to -- files in
48184         gl/.
48185
48186         2007-07-08  Jim Meyering  <jim@meyering.net>
48187
48188         Adapt to deeper hierarchy in gnulib.
48189         * build-aux/bootstrap (symlink_to_dir): If the destination
48190         directory doesn't exist, create it. This is required at least for
48191         "lib/uniwidth/cjk.h".
48192
48193         2007-05-15  Jim Meyering  <jim@meyering.net>
48194
48195         * build-aux/bootstrap: Now that generated Makefile.am files
48196         are no longer under version control, they must be created at
48197         bootstrap time.
48198
48199 2007-08-14  Ben Pfaff  <blp@gnu.org>
48200
48201         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
48202
48203 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48204
48205         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
48206         given the changes below.
48207         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
48208         even on hosts that have padding bits beyond the supported 64.
48209
48210 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48211
48212         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
48213         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
48214         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
48215         depends on it.
48216         (xstrtol_error): Remove.
48217         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
48218         but with a different signature.
48219         (ATTRIBUTE_NORETURN, __attribute__): New macros.
48220         * lib/xstrtol-error.c: Include exitfail.h.
48221         (xstrtol_fatal): New function, with a different signature from the
48222         old xstrtol_error, so that the caller need not worry about passing
48223         in an exit status, or about storage management of the option argument.
48224         (xstrtol_error): Now a static function.  Redo signature to
48225         implement xstrtol_fatal.  Output the correct number of hyphens in
48226         front of the option so that the caller need not worry about
48227         storage management.
48228         (N_): New macro.
48229         (_): Remove; not used now.
48230         * modules/xstrtol: Depend on getopt.
48231         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
48232         of old STRTOL_FATAL_ERROR macro.
48233         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
48234         of test program.
48235         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
48236         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
48237
48238 2007-08-08  Eric Blake  <ebb9@byu.net>
48239
48240         * lib/xstrtol-error.c: Add missing include.
48241
48242         Move xstrtol messages into gnulib domain, when --pobase is used.
48243         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
48244         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
48245         * modules/xstrtol (Files): Distribute new file.
48246         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
48247         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
48248         * tests/test-xstrtol.c: ...into new file.
48249         * tests/test-xstrtoul.c: Also test xstrtoul.
48250         * tests/test-xstrtoimax.c: Also test xstrtoimax.
48251         * tests/test-xstrtoumax.c: Also test xstrtoumax.
48252         * tests/test-xstrtol.sh: Drive the tests.
48253         * tests/test-xstrtoimax.sh: Likewise.
48254         * tests/test-xstrtoumax.sh: Likewise.
48255         * modules/xstrtol-tests: New module.
48256         * modules/xstrtoimax-tests: Likewise.
48257         * modules/xstrtoumax-tests: Likewise.
48258
48259 2007-08-08  Jim Meyering  <jim@meyering.net>
48260
48261         New function: mfile_name_concat.
48262         * lib/filenamecat.c (mfile_name_concat): New function, just like
48263         file_name_concat, but return NULL upon failure rather than exiting
48264         with a diagnostic.
48265         * lib/filenamecat.h: Declare it.
48266
48267 2007-08-07  Bruno Haible  <bruno@clisp.org>
48268
48269         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
48270         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
48271         warning from gcc.
48272         Reported by Eric Blake.
48273
48274 2007-08-07  Simon Josefsson  <simon@josefsson.org>
48275
48276         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
48277         * modules/crypto/arcfour (License): Likewise.
48278         * modules/crypto/des-tests (License): Likewise.
48279         * modules/crypto/gc-arctwo-tests (License): Likewise.
48280         * modules/crypto/gc-des-tests (License): Likewise.
48281         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
48282         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
48283         * modules/crypto/gc-md2-tests (License): Likewise.
48284         * modules/crypto/gc-md4-tests (License): Likewise.
48285         * modules/crypto/gc-md5-tests (License): Likewise.
48286         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
48287         * modules/crypto/gc-rijndael-tests (License): Likewise.
48288         * modules/crypto/gc-sha1-tests (License): Likewise.
48289         * modules/crypto/gc-tests (License): Likewise.
48290         * modules/crypto/hmac-md5 (License): Likewise.
48291         * modules/crypto/hmac-sha1 (License): Likewise.
48292         * modules/crypto/md2-tests (License): Likewise.
48293         * modules/crypto/md4-tests (License): Likewise.
48294         * modules/crypto/md5 (License): Likewise.
48295         * modules/crypto/rijndael (License): Likewise.
48296         * modules/crypto/sha1 (License): Likewise.
48297         * modules/memxor (License): Likewise.
48298
48299 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
48300         and Bruno Haible  <bruno@clisp.org>
48301
48302         * NEWS: Describe interface changes to human, xstrtol.
48303         * lib/human.h: Include <xstrtol.h>.
48304         (human_options): Return enum strtol_error, not int.  Remove
48305         bool arg; take int * instead.
48306         * lib/human.c: Don't include "gettext.h".
48307         (_): Remove; no longer used.
48308         Don't include <xstrtol.h>, since human.h does it.
48309         (human_options): Adjust to abovementioned interface changes.
48310         Do not report error to stderr; that's now the caller's
48311         responsibility.
48312         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
48313         interface change.
48314         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
48315         Str, Argument_type_string.  All uses changed.  Put " argument"
48316         in diagnostics to make them clearer.  Change wording of suffix
48317         message for clarity.
48318         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
48319         Argument_type_string.
48320         (STRTOL_FATAL_WARN): Remove; no longer used.
48321         * modules/human (Depends-on): Remove gettext-h.
48322
48323 2007-08-06  Simon Josefsson  <simon@josefsson.org>
48324
48325         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
48326
48327 2007-07-31  Bruno Haible  <bruno@clisp.org>
48328
48329         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
48330         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
48331         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
48332
48333 2007-07-31  Bruno Haible  <bruno@clisp.org>
48334
48335         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
48336         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
48337
48338 2007-07-30  Bruno Haible  <bruno@clisp.org>
48339
48340         * modules/base64 (License): Use the synonymous term "LGPLv2+".
48341         * modules/c-ctype (License): Likewise.
48342         * modules/c-strcase (License): Likewise.
48343         * modules/check-version (License): Likewise.
48344         * modules/iconv (License): Likewise.
48345         * modules/iconv_open (License): Likewise.
48346         * modules/read-file (License): Likewise.
48347         * modules/striconv (License): Likewise.
48348         * modules/strverscmp (License): Likewise.
48349         * modules/vasprintf (License): Likewise.
48350         * modules/crypto/des (License): Likewise.
48351         * modules/crypto/gc (License): Likewise.
48352         * modules/crypto/gc-arcfour (License): Likewise.
48353         * modules/crypto/gc-arctwo (License): Likewise.
48354         * modules/crypto/gc-des (License): Likewise.
48355         * modules/crypto/gc-hmac-md5 (License): Likewise.
48356         * modules/crypto/gc-hmac-sha1 (License): Likewise.
48357         * modules/crypto/gc-md2 (License): Likewise.
48358         * modules/crypto/gc-md4 (License): Likewise.
48359         * modules/crypto/gc-md5 (License): Likewise.
48360         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
48361         * modules/crypto/gc-random (License): Likewise.
48362         * modules/crypto/gc-rijndael (License): Likewise.
48363         * modules/crypto/gc-sha1 (License): Likewise.
48364         * modules/crypto/md2 (License): Likewise.
48365         * modules/crypto/md4 (License): Likewise.
48366
48367 2007-07-30  Jim Meyering  <jim@meyering.net>
48368
48369         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
48370         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
48371         it has valid stat data.  This bug would cause du not to count the
48372         sizes of inaccessible directories.
48373         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
48374         in <http://bugzilla.redhat.com/250077>.
48375
48376 2007-07-25  Peter O'Gorman  <peter@pogma.com>
48377             Bruno Haible  <bruno@clisp.org>
48378
48379         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
48380         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
48381         #include_next, gives a diagnostic about it, but reports no error in
48382         the exit code.
48383         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48384
48385 2007-07-24  Ben Pfaff  <blp@gnu.org>
48386
48387         Improve name: "count-one-bits" is better than "popcount".
48388         * MODULES.html.sh: Update name.
48389         * lib/popcount.h: Renamed lib/count-one-bits.h.
48390         (popcount): Renamed count_one_bits.
48391         (popcountl): Renamed count_one_bits_l.
48392         (popcountll): Renamed count_one_bits_ll.
48393         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
48394         * modules/popcount: Renamed module/count-one-bits.
48395         * modules/popcount-tests: Renamed module/count-one-bits-tests.
48396         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
48397
48398 2007-07-23  Ben Pfaff  <blp@gnu.org>
48399
48400         * lib/popcount.h (popcount32): Reduce size of constants, to allow
48401         better code generation, and add U to large constants to avoid
48402         warnings, in non-GCC case.
48403         Suggested by Bruno Haible.
48404
48405 2007-07-23  Ben Pfaff  <blp@gnu.org>
48406
48407         * lib/popcount.h: Use verify_true instead of if...abort.
48408         * modules/popcount: Depend on verify module.
48409         Suggested by Jim Meyering.
48410
48411 2007-07-23  Bruno Haible  <bruno@clisp.org>
48412
48413         * gnulib-tool (func_import): Create a .cvsignore file also when the
48414         directory is not yet in CVS but the toplevel directory is. When
48415         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
48416         Reported by Karl Berry.
48417
48418 2007-07-22  Ben Pfaff  <blp@gnu.org>
48419
48420         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
48421         case.
48422         Suggested by Eric Blake.
48423
48424 2007-07-22  Ben Pfaff  <blp@gnu.org>
48425
48426         New module: popcount.
48427         * MODULES.html.sh: Add popcount.
48428         * modules/popcount: New file.
48429         * modules/popcount-tests: New file.
48430         * tests/test-popcount.c: New file.
48431         * lib/popcount.h: New file.
48432         * m4/popcount.m4: New file.
48433
48434 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48435
48436         * build-aux/announce-gen: Update to GPLv3.
48437
48438         * build-aux/config.guess: Update from config.
48439
48440 2007-07-21  Bruno Haible  <bruno@clisp.org>
48441
48442         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
48443         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
48444
48445 2007-07-20  Jim Meyering  <jim@meyering.net>
48446
48447         * check-module: Diagnose a self-dependency.
48448
48449 2007-07-19  Bruno Haible  <bruno@clisp.org>
48450
48451         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
48452         empty.
48453         Reported by Eric Blake.
48454
48455 2007-07-18  Bruno Haible  <bruno@clisp.org>
48456
48457         * gnulib-tool: New options --po-base, --po-domain.
48458         (func_usage): Document them.
48459         (pobase, po_domain): New variables.
48460         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
48461         DEFAULT_TEXT_DOMAIN.
48462         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
48463         (func_import): Consider pobase and po_domain. Create a po/ directory.
48464         (func_create_testdir): Set pobase and po_domain to empty.
48465         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
48466         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
48467
48468 2007-07-18  Bruno Haible  <bruno@clisp.org>
48469
48470         * gnulib-tool (func_get_automake_snippet): Synthesize also an
48471         EXTRA_DIST augmentation for files in build-aux/.
48472
48473 2007-07-16  Bruno Haible  <bruno@clisp.org>
48474
48475         * modules/lseek (License): Use the synonymous term "LGPLv2+".
48476         * modules/getdelim (License): Likewise.
48477
48478 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48479
48480         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
48481         * modules/d-type (License): Likewise.
48482         * modules/extensions (License): Likewise.
48483         * modules/fnmatch (License): Likewise.
48484         * modules/fseeko (License): Likewise.
48485         * modules/getaddrinfo (License): Likewise.
48486         * modules/getline (License): Likewise.
48487         * modules/getlogin_r (License): Likewise.
48488         * modules/getpass (License): Likewise.
48489         * modules/gettimeofday (License): Likewise.
48490         * modules/glob (License): Likewise.
48491         * modules/inet_ntop (License): Likewise.
48492         * modules/malloc (License): Likewise.
48493         * modules/malloca (License): Likewise.
48494         * modules/memmem (License): Likewise.
48495         * modules/mempcpy (License): Likewise.
48496         * modules/memset (License): Likewise.
48497         * modules/minmax (License): Likewise.
48498         * modules/mktime (License): Likewise.
48499         * modules/netinet_in (License): Likewise.
48500         * modules/pathmax (License): Likewise.
48501         * modules/poll (License): Likewise.
48502         * modules/regex (License): Likewise.
48503         * modules/snprintf (License): Likewise.
48504         * modules/stdbool (License): Likewise.
48505         * modules/stdint (License): Likewise.
48506         * modules/stdio (License): Likewise.
48507         * modules/strcase (License): Likewise.
48508         * modules/strcasestr (License): Likewise.
48509         * modules/strdup (License): Likewise.
48510         * modules/string (License): Likewise.
48511         * modules/strndup (License): Likewise.
48512         * modules/strnlen (License): Likewise.
48513         * modules/strpbrk (License): Likewise.
48514         * modules/strptime (License): Likewise.
48515         * modules/strsep (License): Likewise.
48516         * modules/sys_select (License): Likewise.
48517         * modules/sys_socket (License): Likewise.
48518         * modules/sys_stat (License): Likewise.
48519         * modules/sys_time (License): Likewise.
48520         * modules/time (License): Likewise.
48521         * modules/time_r (License): Likewise.
48522         * modules/timegm (License): Likewise.
48523         * modules/unistd (License): Likewise.
48524         * modules/vsnprintf (License): Likewise.
48525         * modules/wctype (License): Likewise.
48526
48527 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48528
48529         * modules/argz (License): LGPLv2+.
48530
48531 2007-07-15  Karl Berry  <karl@gnu.org>
48532
48533         * doc/gnulib.texi: revise node structure per new fdl.texi.
48534
48535 2007-07-14  Bruno Haible  <bruno@clisp.org>
48536
48537         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
48538         the output file.
48539         * lib/uniname/uninames.h: Regenerated.
48540
48541 2007-07-14  Karl Berry  <karl@gnu.org>
48542
48543         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
48544         omitting sectioning and index commands.
48545
48546 2007-07-13  Bruno Haible  <bruno@clisp.org>
48547
48548         New gnulib-tool option --more-symlinks.
48549         * gnulib-tool (func_usage): Document --more-symlinks.
48550         (do_copyrights): New variable.
48551         Recognize option --more-symlinks.
48552         (func_import): Don't add a copyright notice transform to
48553         sed_transform_lib_file if do_copyrights is empty.
48554
48555 2007-07-13  Bruno Haible  <bruno@clisp.org>
48556
48557         * lib/vasnprintf.c (decimal_point_char): Define also if
48558         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
48559         && !NEED_PRINTF_DIRECTIVE_A.
48560         Reported by Clemens Koller <clemens.koller@anagramm.de> via
48561         Gary V. Vaughan <gary@gnu.org>.
48562
48563 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
48564
48565         * lib/inttypes_.h: Undo previous change, since it was fixed
48566         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
48567
48568 2007-07-13  Bruno Haible  <bruno@clisp.org>
48569
48570         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
48571         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
48572
48573 2007-07-13  Jim Meyering  <jim@meyering.net>
48574
48575         df: Don't fail for Tru64's "file-on-file mount".
48576         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
48577         so we fall through and use statfs instead.  Details here:
48578         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
48579         Reported by Albert Chin.
48580
48581 2007-07-13  Bruno Haible  <bruno@clisp.org>
48582
48583         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
48584         * modules/configmake (License): Likewise.
48585         * modules/gettext (License): Likewise.
48586         * modules/gettext-h (License): Likewise.
48587         * modules/include_next (License): Likewise.
48588         * modules/link-warning (License): Likewise.
48589         * modules/localcharset (License): Likewise.
48590         * modules/localename (License): Likewise.
48591         * modules/lock (License): Likewise.
48592         * modules/relocatable-lib-lgpl (License): Likewise.
48593         * modules/size_max (License): Likewise.
48594         * modules/vasnprintf (License): Likewise.
48595         * modules/wchar (License): Likewise.
48596         * modules/xsize (License): Likewise.
48597
48598 2007-07-13  Bruno Haible  <bruno@clisp.org>
48599
48600         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
48601         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
48602
48603 2007-07-12  Bruno Haible  <bruno@clisp.org>
48604
48605         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
48606         in the modules files.
48607
48608 2007-07-11  Karl Berry  <karl@gnu.org>
48609
48610         * MODULES.html.sh (func_module): use
48611          sed -e '\|^'"${includefile}"'$|d'
48612          instead of /.../d, to avoid errors on $includefile's containing /.
48613
48614 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
48615
48616         * gnulib-tool (func_import): Avoid duplication of --avoid
48617         statements
48618         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
48619         names to `_' in variable names.
48620
48621 2007-07-10  Eric Blake  <ebb9@byu.net>
48622
48623         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
48624         * NEWS: Document this change.
48625
48626 2007-07-08  Bruno Haible  <bruno@clisp.org>
48627
48628         Update to Unicode 5.0.
48629         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
48630         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
48631         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
48632         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
48633         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
48634         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
48635         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
48636         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
48637         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
48638         U+10A3F, U+1D242..U+1D244.
48639         (nonspacing_table_ind): Update.
48640         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
48641         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
48642
48643 2007-07-08  Bruno Haible  <bruno@clisp.org>
48644
48645         Update to Unicode 5.0.
48646         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
48647         code transform. Extend the name index field of unicode_name_to_code and
48648         unicode_code_to_name from 16 to 24 bits.
48649         * lib/uniname/uniname.c (unicode_character_name,
48650         unicode_name_character): Add the range 0x12xxx to the code transform.
48651         * lib/uniname/uninames.h: Regenerated.
48652         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
48653
48654 2007-07-07  Bruno Haible  <bruno@clisp.org>
48655
48656         * modules/wcwidth-tests: New file.
48657         * tests/test-wcwidth.c: New file.
48658
48659         Work around MacOS X wcwidth() bug.
48660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
48661         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
48662         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
48663         original wcwidth in non-UTF-8 locales.
48664         * modules/wcwidth (Depends-on): Add localcharset, streq,
48665         uniwidth/width.
48666         * doc/functions/wcwidth.texi: Update.
48667
48668 2007-07-07  Bruno Haible  <bruno@clisp.org>
48669
48670         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
48671         (wcwidth): New declaration.
48672         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
48673         macros.
48674         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
48675         here. Prepare for creating <wchar.h> unconditionally.
48676         * modules/wchar (Depends-on): Add link-warning.
48677         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
48678         REPLACE_WCWIDTH, and GL_LINK_WARNING.
48679         * lib/wcwidth.h: Remove file.
48680         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
48681         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
48682         * modules/wcwidth (Files): Remove lib/wcwidth.h.
48683         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
48684         (Include): Replace wcwidth.h with <wchar.h>.
48685         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
48686         * lib/mbchar.h: Don't include wcwidth.h.
48687         * lib/mbswidth.c: Likewise.
48688         * NEWS: Mention the change.
48689
48690 2007-07-07  Bruno Haible  <bruno@clisp.org>
48691
48692         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
48693         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
48694         definition with an external declaration.
48695         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
48696         defined as a function. Remove AC_C_INLINE requirement.
48697         * modules/wcwidth (Files): Add lib/wcwidth.c.
48698         (Makefile.am): Remove redundant statement.
48699
48700 2007-07-07  Bruno Haible  <bruno@clisp.org>
48701
48702         * MODULES.html.sh (Unicode string functions): Add the new modules.
48703
48704         * tests/uniwidth/test-u32-strwidth.c: New file.
48705         * modules/uniwidth/u32-strwidth-tests: New file.
48706
48707         * lib/uniwidth/u32-strwidth.c: New file.
48708         * modules/uniwidth/u32-strwidth: New file.
48709
48710         * tests/uniwidth/test-u16-strwidth.c: New file.
48711         * modules/uniwidth/u16-strwidth-tests: New file.
48712
48713         * lib/uniwidth/u16-strwidth.c: New file.
48714         * modules/uniwidth/u16-strwidth: New file.
48715
48716         * tests/uniwidth/test-u8-strwidth.c: New file.
48717         * modules/uniwidth/u8-strwidth-tests: New file.
48718
48719         * lib/uniwidth/u8-strwidth.c: New file.
48720         * modules/uniwidth/u8-strwidth: New file.
48721
48722         * tests/uniwidth/test-u32-width.c: New file.
48723         * modules/uniwidth/u32-width-tests: New file.
48724
48725         * lib/uniwidth/u32-width.c: New file.
48726         * modules/uniwidth/u32-width: New file.
48727
48728         * tests/uniwidth/test-u16-width.c: New file.
48729         * modules/uniwidth/u16-width-tests: New file.
48730
48731         * lib/uniwidth/u16-width.c: New file.
48732         * modules/uniwidth/u16-width: New file.
48733
48734         * tests/uniwidth/test-u8-width.c: New file.
48735         * modules/uniwidth/u8-width-tests: New file.
48736
48737         * lib/uniwidth/u8-width.c: New file.
48738         * modules/uniwidth/u8-width: New file.
48739
48740         * tests/uniwidth/test-uc_width.c: New file.
48741         * modules/uniwidth/width-tests: New file.
48742
48743         * lib/uniwidth/width.c: New file, from GNU libiconv.
48744         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
48745         * modules/uniwidth/width: New file.
48746
48747         * lib/uniwidth.h: New file, from GNU libiconv.
48748         * modules/uniwidth/base: New file.
48749
48750 2007-07-07  Bruno Haible  <bruno@clisp.org>
48751
48752         * lib/uniname.h: New file, from GNU gettext.
48753         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
48754         * lib/uniname/uninames.h: New file, from GNU gettext.
48755         * lib/uniname/uniname.c: New file, from GNU gettext.
48756         * tests/uniname/test-uninames.sh: New file.
48757         * tests/uniname/test-uninames.c: New file, from GNU gettext.
48758         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
48759         * modules/uniname/base: New file.
48760         * modules/uniname/uniname: New file.
48761         * modules/uniname/uniname-tests: New file.
48762         * MODULES.html.sh (Unicode string functions): Add the new modules.
48763
48764 2007-07-06  Bruno Haible  <bruno@clisp.org>
48765
48766         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
48767
48768 2007-07-06  Bruno Haible  <bruno@clisp.org>
48769
48770         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
48771         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
48772         includes <cygwin/sys_time.h> which includes <sys/select.h> which
48773         include <sys/time.h>.
48774         Reported by Eric Blake.
48775
48776 2007-07-06  Eric Blake  <ebb9@byu.net>
48777
48778         Fix testing canonicalize on cygwin.
48779         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48780         Revert patch from 2007-06-19.
48781         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
48782         canonicalize module is also in use.
48783         * tests/test-canonicalize.c: New file.
48784         * tests/test-canonicalize.sh: Likewise.
48785         * modules/canonicalize-tests: Likewise.
48786
48787 2007-07-06  Jim Meyering  <jim@meyering.net>
48788
48789         * lib/getugroups.c (getugroups): Detect getgrent failure.
48790         Adjust comment to reflect reality: this function may return -1.
48791
48792 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
48793
48794         * build-aux/bootstrap (TP_URL,get_translations): Update to use
48795         the new TP address.
48796         (usage): Fix typo
48797         (gnulib_mk): New variable.
48798
48799 2007-07-05  Jim Meyering  <jim@meyering.net>
48800
48801         Don't let endgrent clobber errno, no matter how improbable.
48802         * lib/getugroups.c (getugroups): Save and restore errno around
48803         endgrent call.
48804
48805         Close the group DB even when failing with 2^31 or more members.
48806         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
48807
48808 2007-07-04  Jim Meyering  <jim@meyering.net>
48809
48810         * lib/getugroups.h: New file.
48811         * lib/getugroups.c: Include "getugroups.h".
48812         Remove uses of "register" keyword.
48813         Move local variable, "cp", down into scope where used.
48814         Give "username" parameter the "const" attribute.
48815         * modules/getugroups (Files): Add lib/getugroups.h
48816
48817 2007-07-04  Karl Berry  <karl@gnu.org>
48818
48819         * MODULES.html.sh (func_all_modules): Complete rename of
48820         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
48821
48822 2007-07-02  Bruno Haible  <bruno@clisp.org>
48823
48824         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
48825         mode, when inttypes.h comes from gnulib.
48826         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
48827
48828 2007-07-02  Simon Josefsson  <simon@josefsson.org>
48829
48830         * NEWS: Mention lgpl module name change.
48831
48832         * modules/lgpl-2.1: Renamed from lgpl.
48833
48834         * NEWS: Mention gpl module name change.
48835
48836         * modules/gpl-3.0: New file, based on gpl-2.0.
48837
48838         * modules/gpl-2.0: Renamed from gpl.
48839
48840         * modules/gpl: Fix filename, doc/gpl.texi is now found at
48841         doc/gpl-2.0.texi.
48842
48843 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
48844
48845         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
48846         #define __STDC_LIMIT_MACROS temporarily while including
48847         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
48848         Problem reported by Joel E. Denny in
48849         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
48850
48851 2007-07-01  Bruno Haible  <bruno@clisp.org>
48852
48853         * lib/unistdio.h: New file.
48854         * lib/unistdio/u-asnprintf.h: New file.
48855         * lib/unistdio/u-asprintf.h: New file.
48856         * lib/unistdio/u-printf-args.c: New file.
48857         * lib/unistdio/u-printf-args.h: New file.
48858         * lib/unistdio/u-printf-parse.h: New file.
48859         * lib/unistdio/u-snprintf.h: New file.
48860         * lib/unistdio/u-sprintf.h: New file.
48861         * lib/unistdio/u-vasprintf.h: New file.
48862         * lib/unistdio/u-vsnprintf.h: New file.
48863         * lib/unistdio/u-vsprintf.h: New file.
48864         * lib/unistdio/ulc-asnprintf.c: New file.
48865         * lib/unistdio/ulc-asprintf.c: New file.
48866         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
48867         * lib/unistdio/ulc-printf-parse.c: New file.
48868         * lib/unistdio/ulc-snprintf.c: New file.
48869         * lib/unistdio/ulc-sprintf.c: New file.
48870         * lib/unistdio/ulc-vasnprintf.c: New file.
48871         * lib/unistdio/ulc-vasprintf.c: New file.
48872         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
48873         * lib/unistdio/ulc-vsnprintf.c: New file.
48874         * lib/unistdio/ulc-vsprintf.c: New file.
48875         * lib/unistdio/u8-asnprintf.c: New file.
48876         * lib/unistdio/u8-asprintf.c: New file.
48877         * lib/unistdio/u8-printf-parse.c: New file.
48878         * lib/unistdio/u8-snprintf.c: New file.
48879         * lib/unistdio/u8-sprintf.c: New file.
48880         * lib/unistdio/u8-vasnprintf.c: New file.
48881         * lib/unistdio/u8-vasprintf.c: New file.
48882         * lib/unistdio/u8-vsnprintf.c: New file.
48883         * lib/unistdio/u8-vsprintf.c: New file.
48884         * lib/unistdio/u8-u8-asnprintf.c: New file.
48885         * lib/unistdio/u8-u8-asprintf.c: New file.
48886         * lib/unistdio/u8-u8-snprintf.c: New file.
48887         * lib/unistdio/u8-u8-sprintf.c: New file.
48888         * lib/unistdio/u8-u8-vasnprintf.c: New file.
48889         * lib/unistdio/u8-u8-vasprintf.c: New file.
48890         * lib/unistdio/u8-u8-vsnprintf.c: New file.
48891         * lib/unistdio/u8-u8-vsprintf.c: New file.
48892         * lib/unistdio/u16-asnprintf.c: New file.
48893         * lib/unistdio/u16-asprintf.c: New file.
48894         * lib/unistdio/u16-printf-parse.c: New file.
48895         * lib/unistdio/u16-snprintf.c: New file.
48896         * lib/unistdio/u16-sprintf.c: New file.
48897         * lib/unistdio/u16-vasnprintf.c: New file.
48898         * lib/unistdio/u16-vasprintf.c: New file.
48899         * lib/unistdio/u16-vsnprintf.c: New file.
48900         * lib/unistdio/u16-vsprintf.c: New file.
48901         * lib/unistdio/u16-u16-asnprintf.c: New file.
48902         * lib/unistdio/u16-u16-asprintf.c: New file.
48903         * lib/unistdio/u16-u16-snprintf.c: New file.
48904         * lib/unistdio/u16-u16-sprintf.c: New file.
48905         * lib/unistdio/u16-u16-vasnprintf.c: New file.
48906         * lib/unistdio/u16-u16-vasprintf.c: New file.
48907         * lib/unistdio/u16-u16-vsnprintf.c: New file.
48908         * lib/unistdio/u16-u16-vsprintf.c: New file.
48909         * lib/unistdio/u32-asnprintf.c: New file.
48910         * lib/unistdio/u32-asprintf.c: New file.
48911         * lib/unistdio/u32-printf-parse.c: New file.
48912         * lib/unistdio/u32-snprintf.c: New file.
48913         * lib/unistdio/u32-sprintf.c: New file.
48914         * lib/unistdio/u32-vasnprintf.c: New file.
48915         * lib/unistdio/u32-vasprintf.c: New file.
48916         * lib/unistdio/u32-vsnprintf.c: New file.
48917         * lib/unistdio/u32-vsprintf.c: New file.
48918         * lib/unistdio/u32-u32-asnprintf.c: New file.
48919         * lib/unistdio/u32-u32-asprintf.c: New file.
48920         * lib/unistdio/u32-u32-snprintf.c: New file.
48921         * lib/unistdio/u32-u32-sprintf.c: New file.
48922         * lib/unistdio/u32-u32-vasnprintf.c: New file.
48923         * lib/unistdio/u32-u32-vasprintf.c: New file.
48924         * lib/unistdio/u32-u32-vsnprintf.c: New file.
48925         * lib/unistdio/u32-u32-vsprintf.c: New file.
48926         * tests/unistdio/test-ulc-asnprintf1.c: New file.
48927         * tests/unistdio/test-ulc-asnprintf1.h: New file.
48928         * tests/unistdio/test-ulc-printf1.h: New file.
48929         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
48930         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
48931         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
48932         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
48933         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
48934         * tests/unistdio/test-ulc-vasprintf1.c: New file.
48935         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
48936         * tests/unistdio/test-ulc-vsprintf1.c: New file.
48937         * tests/unistdio/test-u8-asnprintf1.c: New file.
48938         * tests/unistdio/test-u8-asnprintf1.h: New file.
48939         * tests/unistdio/test-u8-printf1.h: New file.
48940         * tests/unistdio/test-u8-vasnprintf1.c: New file.
48941         * tests/unistdio/test-u8-vasnprintf2.c: New file.
48942         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
48943         * tests/unistdio/test-u8-vasnprintf3.c: New file.
48944         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
48945         * tests/unistdio/test-u8-vasprintf1.c: New file.
48946         * tests/unistdio/test-u8-vsnprintf1.c: New file.
48947         * tests/unistdio/test-u8-vsprintf1.c: New file.
48948         * tests/unistdio/test-u16-asnprintf1.c: New file.
48949         * tests/unistdio/test-u16-asnprintf1.h: New file.
48950         * tests/unistdio/test-u16-printf1.h: New file.
48951         * tests/unistdio/test-u16-vasnprintf1.c: New file.
48952         * tests/unistdio/test-u16-vasnprintf2.c: New file.
48953         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
48954         * tests/unistdio/test-u16-vasnprintf3.c: New file.
48955         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
48956         * tests/unistdio/test-u16-vasprintf1.c: New file.
48957         * tests/unistdio/test-u16-vsnprintf1.c: New file.
48958         * tests/unistdio/test-u16-vsprintf1.c: New file.
48959         * tests/unistdio/test-u32-asnprintf1.c: New file.
48960         * tests/unistdio/test-u32-asnprintf1.h: New file.
48961         * tests/unistdio/test-u32-printf1.h: New file.
48962         * tests/unistdio/test-u32-vasnprintf1.c: New file.
48963         * tests/unistdio/test-u32-vasnprintf2.c: New file.
48964         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
48965         * tests/unistdio/test-u32-vasnprintf3.c: New file.
48966         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
48967         * tests/unistdio/test-u32-vasprintf1.c: New file.
48968         * tests/unistdio/test-u32-vsnprintf1.c: New file.
48969         * tests/unistdio/test-u32-vsprintf1.c: New file.
48970         * modules/unistdio/base: New file.
48971         * modules/unistdio/u-printf-args: New file.
48972         * modules/unistdio/ulc-asnprintf: New file.
48973         * modules/unistdio/ulc-asprintf: New file.
48974         * modules/unistdio/ulc-fprintf: New file.
48975         * modules/unistdio/ulc-printf-parse: New file.
48976         * modules/unistdio/ulc-snprintf: New file.
48977         * modules/unistdio/ulc-sprintf: New file.
48978         * modules/unistdio/ulc-vasnprintf: New file.
48979         * modules/unistdio/ulc-vasprintf: New file.
48980         * modules/unistdio/ulc-vfprintf: New file.
48981         * modules/unistdio/ulc-vsnprintf: New file.
48982         * modules/unistdio/ulc-vsprintf: New file.
48983         * modules/unistdio/u8-asnprintf: New file.
48984         * modules/unistdio/u8-asprintf: New file.
48985         * modules/unistdio/u8-printf-parse: New file.
48986         * modules/unistdio/u8-snprintf: New file.
48987         * modules/unistdio/u8-sprintf: New file.
48988         * modules/unistdio/u8-vasnprintf: New file.
48989         * modules/unistdio/u8-vasprintf: New file.
48990         * modules/unistdio/u8-vsnprintf: New file.
48991         * modules/unistdio/u8-vsprintf: New file.
48992         * modules/unistdio/u8-u8-asnprintf: New file.
48993         * modules/unistdio/u8-u8-asprintf: New file.
48994         * modules/unistdio/u8-u8-snprintf: New file.
48995         * modules/unistdio/u8-u8-sprintf: New file.
48996         * modules/unistdio/u8-u8-vasnprintf: New file.
48997         * modules/unistdio/u8-u8-vasprintf: New file.
48998         * modules/unistdio/u8-u8-vsnprintf: New file.
48999         * modules/unistdio/u8-u8-vsprintf: New file.
49000         * modules/unistdio/u16-asnprintf: New file.
49001         * modules/unistdio/u16-asprintf: New file.
49002         * modules/unistdio/u16-printf-parse: New file.
49003         * modules/unistdio/u16-snprintf: New file.
49004         * modules/unistdio/u16-sprintf: New file.
49005         * modules/unistdio/u16-vasnprintf: New file.
49006         * modules/unistdio/u16-vasprintf: New file.
49007         * modules/unistdio/u16-vsnprintf: New file.
49008         * modules/unistdio/u16-vsprintf: New file.
49009         * modules/unistdio/u16-u16-asnprintf: New file.
49010         * modules/unistdio/u16-u16-asprintf: New file.
49011         * modules/unistdio/u16-u16-snprintf: New file.
49012         * modules/unistdio/u16-u16-sprintf: New file.
49013         * modules/unistdio/u16-u16-vasnprintf: New file.
49014         * modules/unistdio/u16-u16-vasprintf: New file.
49015         * modules/unistdio/u16-u16-vsnprintf: New file.
49016         * modules/unistdio/u16-u16-vsprintf: New file.
49017         * modules/unistdio/u32-asnprintf: New file.
49018         * modules/unistdio/u32-asprintf: New file.
49019         * modules/unistdio/u32-printf-parse: New file.
49020         * modules/unistdio/u32-snprintf: New file.
49021         * modules/unistdio/u32-sprintf: New file.
49022         * modules/unistdio/u32-vasnprintf: New file.
49023         * modules/unistdio/u32-vasprintf: New file.
49024         * modules/unistdio/u32-vsnprintf: New file.
49025         * modules/unistdio/u32-vsprintf: New file.
49026         * modules/unistdio/u32-u32-asnprintf: New file.
49027         * modules/unistdio/u32-u32-asprintf: New file.
49028         * modules/unistdio/u32-u32-snprintf: New file.
49029         * modules/unistdio/u32-u32-sprintf: New file.
49030         * modules/unistdio/u32-u32-vasnprintf: New file.
49031         * modules/unistdio/u32-u32-vasprintf: New file.
49032         * modules/unistdio/u32-u32-vsnprintf: New file.
49033         * modules/unistdio/u32-u32-vsprintf: New file.
49034         * modules/unistdio/ulc-asnprintf-tests: New file.
49035         * modules/unistdio/ulc-vasnprintf-tests: New file.
49036         * modules/unistdio/ulc-vasprintf-tests: New file.
49037         * modules/unistdio/ulc-vsnprintf-tests: New file.
49038         * modules/unistdio/ulc-vsprintf-tests: New file.
49039         * modules/unistdio/u8-asnprintf-tests: New file.
49040         * modules/unistdio/u8-vasnprintf-tests: New file.
49041         * modules/unistdio/u8-vasprintf-tests: New file.
49042         * modules/unistdio/u8-vsnprintf-tests: New file.
49043         * modules/unistdio/u8-vsprintf-tests: New file.
49044         * modules/unistdio/u16-asnprintf-tests: New file.
49045         * modules/unistdio/u16-vasnprintf-tests: New file.
49046         * modules/unistdio/u16-vasprintf-tests: New file.
49047         * modules/unistdio/u16-vsnprintf-tests: New file.
49048         * modules/unistdio/u16-vsprintf-tests: New file.
49049         * modules/unistdio/u32-asnprintf-tests: New file.
49050         * modules/unistdio/u32-vasnprintf-tests: New file.
49051         * modules/unistdio/u32-vasprintf-tests: New file.
49052         * modules/unistdio/u32-vsnprintf-tests: New file.
49053         * modules/unistdio/u32-vsprintf-tests: New file.
49054         * MODULES.html.sh (Unicode string functions): Add the new modules.
49055
49056 2007-07-01  Bruno Haible  <bruno@clisp.org>
49057
49058         * lib/sprintf.c (sprintf): Limit the available length estimation,
49059         to avoid address wraparound.
49060         * lib/vsprintf.c (vsprintf): Likewise.
49061         * modules/sprintf-posix (Dependencies): Add stdint.
49062         * modules/vsprintf-posix (Dependencies): Likewise.
49063
49064 2007-07-01  Bruno Haible  <bruno@clisp.org>
49065
49066         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
49067         Windows PATH as well. Conservative double-quoting. Comments.
49068
49069 2007-07-01  Bruno Haible  <bruno@clisp.org>
49070             Eric Blake  <ebb9@byu.net>
49071             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49072
49073         * gnulib-tool (self_abspathname): Fix algorithm to cope with
49074         empty components in $PATH, denoting '.'.
49075
49076 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49077
49078         * gnulib-tool: Fix indentation.
49079         (func_create_megatestdir): Likewise.
49080         Report by Bruno Haible.
49081
49082 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49083
49084         Sync from Automake.
49085         * build-aux/gnupload: Fix shell portability issues with for loops.
49086         Report by Karl Berry.
49087
49088 2007-06-29  Simon Josefsson  <simon@josefsson.org>
49089
49090         * build-aux/maint.mk (POURL): Use translationproject.org.
49091
49092 2007-06-27  Simon Josefsson  <simon@josefsson.org>
49093             Bruno Haible  <bruno@clisp.org>
49094
49095         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
49096         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
49097         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
49098         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
49099         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
49100
49101 2007-06-27  Bruno Haible  <bruno@clisp.org>
49102
49103         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
49104         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
49105
49106 2007-06-26  Karl Berry  <karl@gnu.org>
49107
49108         * MODULES.html.sh: remove xreadlink-with-size.
49109
49110 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49111
49112         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
49113         method that I hope also handles the double-include problem noted
49114         by Bruno Haible in
49115         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
49116
49117 2007-06-23  Bruno Haible  <bruno@clisp.org>
49118
49119         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49120         Don't let the 'mostlyclean' target fail if the last subdirectory could
49121         not be removed.
49122         Reported by Karl Berry.
49123
49124 2007-06-23  Bruno Haible  <bruno@clisp.org>
49125
49126         * gnulib-tool (echo): Add a speedier workaround for ksh.
49127         * tests/test-echo.sh: Likewise.
49128
49129 2007-06-23  Bruno Haible  <bruno@clisp.org>
49130
49131         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
49132         * tests/test-echo.sh: Likewise.
49133
49134 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49135
49136         * gnulib-tool (IFS): Initialize early, so we don't set it to
49137         empty later.
49138         (self_abspathname): Rewrite algorithm to set it, reindent.
49139         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
49140         (func_create_megatestdir): Merge some sed scripts.
49141
49142 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
49143
49144         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
49145         exposed by Sun Studio 11 cc on Solaris 8.
49146
49147 2007-06-22  Bruno Haible  <bruno@clisp.org>
49148
49149         * gnulib-tool (echo): Ensure the echo primitive does not interpret
49150         backslashes.
49151         * tests/test-echo.sh: New file.
49152
49153 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49154
49155         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
49156         simplify `sed_replace_build_aux' scripts, they are portable but
49157         echoing them with `echo' is not.
49158         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
49159
49160 2007-06-21  Karl Berry  <karl@gnu.org>
49161
49162         * config/srclist.txt: guess we can't handle the licenses via
49163         srclist at the moment.
49164
49165 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
49166
49167         * MODULES.html.sh: Add include_next.
49168         * modules/include_next: New file.
49169
49170 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
49171
49172         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
49173         INCLUDE_NEXT.
49174         (gl_CHECK_NEXT_HEADERS): New macro.
49175         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
49176         the obsolescent gl_ABSOLUTE_HEADER.
49177         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
49178         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
49179         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
49180         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
49181         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49182         * m4/math_h.m4 (gl_MATH_H): Likewise.
49183         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
49184         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
49185         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49186         * m4/stdint.m4 (gl_STDINT_H): Likewise.
49187         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
49188         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
49189         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
49190         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49191         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
49192         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49193         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
49194         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
49195         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49196         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49197         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
49198         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
49199         * m4/inttypes.m4 (gl_INTTYPES_H): Define
49200         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
49201         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
49202         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
49203         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
49204         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
49205         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
49206         * lib/float_.h: Likewise.
49207         * lib/inttypes_.h: Likewise.
49208         * lib/math_.h: Likewise.
49209         * lib/search_.h: Likewise.
49210         * lib/signal_.h: Likewise.
49211         * lib/stdint_.h: Likewise.
49212         * lib/stdio_.h: Likewise.
49213         * lib/stdlib_.h: Likewise.
49214         * lib/string_.h: Likewise.
49215         * lib/sys_stat_.h: Likewise.
49216         * lib/sys_time_.h: Likewise.
49217         * lib/time_.h: Likewise.
49218         * lib/unistd_.h: Likewise.
49219         * lib/wchar_.h: Likewise.
49220         * lib/wctype_.h: Likewise.
49221         * lib/dirent_.h: Likewise.
49222         * lib/iconv_.h: Likewise.
49223         * lib/locale_.h: Likewise.
49224         * lib/netinet_in_.h: Likewise.
49225         * lib/sys_select_.h: Likewise.
49226         * lib/sys_socket_.h: Likewise.
49227         * lib/sysexits_.h: Likewise.
49228         * modules/fcntl (Depends-on): Depend on include_next, not
49229         absolute_header.
49230         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
49231         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
49232         * modules/fchdir: Likewise.
49233         * modules/float: Likewise.
49234         * modules/iconv_open: Likewise.
49235         * modules/inttypes: Likewise.
49236         * modules/locale: Likewise.
49237         * modules/math: Likewise.
49238         * modules/netinet_in: Likewise.
49239         * modules/search: Likewise.
49240         * modules/signal: Likewise.
49241         * modules/stdint: Likewise.
49242         * modules/stdio: Likewise.
49243         * modules/stdlib: Likewise.
49244         * modules/string: Likewise.
49245         * modules/sys_select: Likewise.
49246         * modules/sys_socket: Likewise.
49247         * modules/sys_stat: Likewise.
49248         * modules/sys_time: Likewise.
49249         * modules/sysexits: Likewise.
49250         * modules/time: Likewise.
49251         * modules/unistd: Likewise.
49252         * modules/wchar: Likewise.
49253         * modules/wctype: Likewise.
49254         * modules/sys_stat: Change maintainer to "all".
49255         * modules/unistd: Likewise.
49256
49257 2007-06-20  Karl Berry  <karl@gnu.org>
49258
49259         * config/srclist.txt: track www changes in license files.
49260
49261 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
49262
49263         * build-aux/bootstrap: Remove stray dot.
49264         Make sure build_aux settings are honored when linking
49265         gnulib_extra_files.
49266
49267 2007-06-19  Eric Blake  <ebb9@byu.net>
49268
49269         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
49270         Allow compilation on cygwin.
49271
49272 2007-06-19  Jim Meyering  <jim@meyering.net>
49273
49274         xreadlink-with-size: Remove module.  No longer used.
49275         Ex-callers now use xreadlink or mreadlink-with-size.
49276         * modules/xreadlink-with-size: Remove module.
49277         * lib/xreadlink-with-size.c: Remove file.
49278         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
49279         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
49280         just before the function definition *is* accurate.
49281
49282         Eliminate one way canonicalize_filename_mode could exit.
49283         * lib/canonicalize.c (canonicalize_filename_mode):
49284         Use mreadlink_with_size, not xreadlink_with_size.
49285
49286 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
49287
49288         Detect porting problems to FreeBSD/arm, which has time_t wider than
49289         long int.  Original problem reported for GNU diff by Xin Li in
49290         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
49291         * modules/getdate (Depends-on): Add intprops, verify.
49292         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
49293         is an integer type no wider than long int.
49294
49295 2007-06-18  Jim Meyering  <jim@meyering.net>
49296
49297         New module: mreadlink-with-size.
49298         * MODULES.html.sh: Add mreadlink-with-size.
49299         * modules/mreadlink-with-size: New module
49300         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
49301         not xreadlink-with-size.
49302         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
49303
49304 2007-06-16  Bruno Haible  <bruno@clisp.org>
49305
49306         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
49307         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
49308         Reported by Gary V. Vaughan <gary@gnu.org>.
49309
49310 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
49311
49312         Revamp lchown so that it lives in unistd.h where it belongs.
49313         * lib/lchown.h: Remove.
49314         * lib/dirchownmod.c: Don't include lib/lchown.h.
49315         * lib/fchownat.c: Likewise.
49316         * lib/openat.c: Likewise.
49317         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
49318         does not follow symlinks.
49319         (EOPNOTSUPP): Define if not defined.
49320         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
49321         is defined to 0.
49322         (lchown): New decl.
49323         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
49324         Do not check for lchown decl.
49325         Set REPLACE_LCHOWN.
49326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
49327         REPLACE_LCHOWN.
49328         * modules/chown: Make it clear it follows symlinks.
49329         * modules/lchown: Make it clear it doesn't follow symlinks.
49330         (Files): Remove lib/lchown.h
49331         (Depends-on): Add unistd.
49332         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
49333         (Include): Include <unistd.h>, not "lchown.h".
49334         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
49335         REPLACE_LCHOWN.
49336
49337 2007-06-15  Jim Meyering  <jim@meyering.net>
49338
49339         Change license (GPL to LGPL) of fsusage and dependents.
49340         * modules/fsusage (License): Change to LGPL.
49341         * modules/full-read (License): Likewise.
49342         * modules/full-write (License): Likewise.
49343         * modules/safe-read (License): Likewise.
49344         * modules/safe-write (License): Likewise.
49345
49346 2007-06-14  Ben Pfaff  <blp@gnu.org>
49347
49348         Missing part of allocsa -> malloca transition.
49349         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
49350         gl_MALLOCA.
49351
49352 2007-06-12  Bruno Haible  <bruno@clisp.org>
49353
49354         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
49355         to ia64, x86_64, i386.
49356         Reported by Eric Blake.
49357
49358 2007-06-12  Bruno Haible  <bruno@clisp.org>
49359
49360         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
49361         cross-compiling to x86_64.
49362
49363 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
49364
49365         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
49366         glitch reported by Ralf Wildenhues in
49367         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
49368
49369         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
49370         Vin Shelton.
49371
49372 2007-06-11  Bruno Haible  <bruno@clisp.org>
49373
49374         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
49375         replacement string.
49376         Reported by Eric Blake.
49377
49378 2007-06-10  Bruno Haible  <bruno@clisp.org>
49379
49380         Prepare vasnprintf code for use with Unicode strings.
49381         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
49382         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
49383         TYPE_U32_STRING.
49384         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
49385         a_u32_string variants.
49386         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49387         * lib/printf-args.c: Don't include config.h and the specification
49388         header if PRINTF_FETCHARGS is already defined.
49389         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
49390         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
49391         TYPE_U16_STRING, TYPE_U32_STRING.
49392         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
49393         u16_directive, u16_directives, u32_directive, u32_directives): New
49394         types.
49395         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
49396         New declarations.
49397         * lib/printf-parse.c: Don't include config.h and the specification
49398         header if PRINTF_PARSE is already defined. Eliminate the set of
49399         parameters for WIDE_CHAR_VERSION; the user of this file must provide
49400         them now. Include c-ctype.h.
49401         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
49402         directive and CHAR_T_ONLY_ASCII.
49403         * lib/vasnprintf.c: Don't include config.h and the specification header
49404         if VASNPRINTF is already defined.
49405         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
49406         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
49407         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
49408         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
49409         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
49410         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
49411         code accordingly.
49412         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
49413         pad_ourselves also in this case, with the 'c' and 's' directives, and
49414         with a different notion of "width".
49415         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
49416
49417 2007-06-10  Bruno Haible  <bruno@clisp.org>
49418
49419         * modules/unistr/u32-mbsnlen: New file.
49420         * lib/unistr/u32-mbsnlen.c: New file.
49421
49422         * modules/unistr/u16-mbsnlen: New file.
49423         * lib/unistr/u16-mbsnlen.c: New file.
49424
49425         * modules/unistr/u8-mbsnlen: New file.
49426         * lib/unistr/u8-mbsnlen.c: New file.
49427
49428         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
49429         declarations.
49430
49431 2007-06-10  Bruno Haible  <bruno@clisp.org>
49432
49433         * lib/string_.h (mbsnlen): New declaration.
49434         * lib/mbsnlen.c: New file.
49435         * m4/mbsnlen.m4: New file.
49436         * modules/mbsnlen: New file.
49437         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
49438         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
49439         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
49440
49441 2007-06-10  Bruno Haible  <bruno@clisp.org>
49442
49443         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
49444
49445 2007-06-10  Bruno Haible  <bruno@clisp.org>
49446
49447         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
49448         * lib/mbuiter.h: Likewise.
49449
49450 2007-06-10  Bruno Haible  <bruno@clisp.org>
49451
49452         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
49453         declaration.
49454
49455 2007-06-10  Karl Berry  <karl@gnu.org>
49456
49457         * config/srclist.txt: remove gettext entries, Bruno prefers
49458         to update individually.
49459
49460 2007-06-10  Bruno Haible  <bruno@clisp.org>
49461
49462         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
49463         'maxlen'. Ensure only length + width bytes are allocated, not
49464         length + 1 + width.
49465
49466 2007-06-09  Bruno Haible  <bruno@clisp.org>
49467
49468         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
49469         (CHAR_T): Remove macro.
49470         (VASNPRINTF): Update.
49471
49472 2007-06-09  Bruno Haible  <bruno@clisp.org>
49473
49474         * MODULES.html.sh (Unicode string functions): Add the new modules.
49475
49476         * modules/uniconv/u32-conv-to-enc: New file.
49477         * lib/uniconv/u32-conv-to-enc.c: New file.
49478         * modules/uniconv/u32-conv-to-enc-tests: New file.
49479         * tests/uniconv/test-u32-conv-to-enc.c: New file.
49480
49481         * modules/uniconv/u16-conv-to-enc: New file.
49482         * lib/uniconv/u16-conv-to-enc.c: New file.
49483         * lib/uniconv/u-conv-to-enc.h: New file.
49484         * modules/uniconv/u16-conv-to-enc-tests: New file.
49485         * tests/uniconv/test-u16-conv-to-enc.c: New file.
49486
49487         * modules/uniconv/u8-conv-to-enc: New file.
49488         * lib/uniconv/u8-conv-to-enc.c: New file.
49489         * modules/uniconv/u8-conv-to-enc-tests: New file.
49490         * tests/uniconv/test-u8-conv-to-enc.c: New file.
49491
49492         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49493         u32_conv_to_encoding): New declarations.
49494
49495 2007-06-09  Bruno Haible  <bruno@clisp.org>
49496
49497         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
49498
49499 2007-06-09  Bruno Haible  <bruno@clisp.org>
49500
49501         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
49502         * modules/malloca: Renamed from modules/allocsa, updated.
49503         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
49504         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
49505         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
49506         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
49507         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
49508         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
49509         * modules/xmalloca: Renamed from modules/xallocsa, updated.
49510         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
49511         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
49512         * modules/c-strcasestr (Depends-on): Update.
49513         * lib/c-strcasestr.c: Update.
49514         * modules/c-strstr (Depends-on): Update.
49515         * lib/c-strstr.c: Update.
49516         * modules/canonicalize-lgpl (Depends-on): Update.
49517         * lib/canonicalize-lgpl.c: Update.
49518         * modules/clean-temp (Depends-on): Update.
49519         * lib/clean-temp.c: Update.
49520         * modules/csharpcomp (Depends-on): Update.
49521         * lib/csharpcomp.c: Update.
49522         * modules/csharpexec (Depends-on): Update.
49523         * lib/csharpexec.c: Update.
49524         * modules/javacomp (Depends-on): Update.
49525         * lib/javacomp.c: Update.
49526         * modules/javaexec (Depends-on): Update.
49527         * lib/javaexec.c: Update.
49528         * modules/mbscasestr (Depends-on): Update.
49529         * lib/mbscasestr.c: Update.
49530         * modules/mbsstr (Depends-on): Update.
49531         * lib/mbsstr.c: Update.
49532         * modules/setenv (Depends-on): Update.
49533         * lib/setenv.c: Update.
49534         * modules/strcasestr (Depends-on): Update.
49535         * lib/strcasestr.c: Update.
49536         * modules/striconveha (Depends-on): Update.
49537         * lib/striconveha.c: Update.
49538         * modules/relocatable-prog-wrapper (Files): Update.
49539         * lib/relocwrapper.c: Update.
49540         * build-aux/install-reloc: Update.
49541         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
49542
49543 2007-06-08  Bruno Haible  <bruno@clisp.org>
49544
49545         Port to uClibc.
49546         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
49547         * lib/fpurge.c (fpurge): Likewise.
49548         * lib/freading.c (freading): Likewise.
49549         * lib/fseeko.c (rpl_fseeko): Likewise.
49550         * lib/fseterr.c (fseterr): Likewise.
49551         * lib/fwriting.c (fwriting): Likewise.
49552         * tests/test-fflush.c (main): Avoid a failure on uClibc.
49553
49554 2007-06-08  Bruno Haible  <bruno@clisp.org>
49555
49556         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
49557         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
49558         * modules/gettext (Files): Add m4/intlmacosx.m4.
49559
49560 2007-06-07  Bruno Haible  <bruno@clisp.org>
49561
49562         * modules/localename-tests: New file.
49563         * tests/test-localename.c: New file.
49564
49565         New module 'localename'.
49566         * lib/localename.h: New file.
49567         * lib/localename.c: New file, from GNU gettext.
49568         * m4/localename.m4: New file.
49569         * modules/localename: New file.
49570
49571 2007-06-07  Bruno Haible  <bruno@clisp.org>
49572
49573         Work around the lack of <wchar.h> on some builds of uClibc.
49574         * doc/headers/wchar.texi: Update.
49575         * lib/wchar_.h: Include <wchar.h> only if it exists.
49576         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
49577         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
49578         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
49579         doesn't exist.
49580         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
49581         * modules/mbfile (Depends-on): Add wchar.
49582         * modules/mbiter (Depends-on): Likewise.
49583         * modules/mbuiter (Depends-on): Likewise.
49584         Reported by Simon Josefsson.
49585
49586 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
49587
49588         Work around problem reported by Steven M. Schweda in
49589         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
49590         Tru64 5.1B with the Compaq compiler environment installed declares
49591         an 'isblank' function but does not define it in the C library.
49592         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
49593         * lib/regex_internal.h (isblank): Likewise.
49594         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
49595         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49596
49597 2007-06-05  Bruno Haible  <bruno@clisp.org>
49598
49599         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
49600         ia64.
49601         * modules/printf-safe: New file.
49602         * modules/fprintf-posix (Depends-on): Add printf-safe.
49603         * modules/printf-posix (Depends-on): Likewise.
49604         * modules/snprintf-posix (Depends-on): Likewise.
49605         * modules/sprintf-posix (Depends-on): Likewise.
49606         * modules/vasnprintf-posix (Depends-on): Likewise.
49607         * modules/vasprintf-posix (Depends-on): Likewise.
49608         * modules/vfprintf-posix (Depends-on): Likewise.
49609         * modules/vprintf-posix (Depends-on): Likewise.
49610         * modules/vsnprintf-posix (Depends-on): Likewise.
49611         * modules/vsprintf-posix (Depends-on): Likewise.
49612         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
49613         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
49614         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
49615         "no" on i386, x86_64, ia64.
49616         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
49617         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49618         on i386, x86_64, ia64.
49619         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
49620         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49621         on i386, x86_64, ia64.
49622         * tests/test-vasnprintf-posix.c: Include float.h.
49623         (LDBL80_WORDS): New macro.
49624         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49625         on i386, x86_64, ia64.
49626         * tests/test-vasprintf-posix.c: Include float.h.
49627         (LDBL80_WORDS): New macro.
49628         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49629         on i386, x86_64, ia64.
49630         * tests/test-snprintf-posix.c: Include float.h.
49631         * tests/test-sprintf-posix.c: Likewise.
49632         * tests/test-vsnprintf-posix.c: Likewise.
49633         * tests/test-vsprintf-posix.c: Likewise.
49634
49635 2007-06-05  Bruno Haible  <bruno@clisp.org>
49636
49637         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
49638         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
49639         non-IEEE numbers on i386, x86_64, ia64.
49640         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
49641         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
49642         * tests/test-isnanl.h: Include float.h.
49643         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
49644
49645 2007-06-05  Bruno Haible  <bruno@clisp.org>
49646
49647         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
49648         also the %a / %A. Handle the %a / %A code before this extra handling.
49649
49650 2007-06-05  Bruno Haible  <bruno@clisp.org>
49651
49652         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
49653         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
49654
49655 2007-06-05  Bruno Haible  <bruno@clisp.org>
49656
49657         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
49658         typo in variable name.
49659
49660 2007-06-05  Eric Blake  <ebb9@byu.net>
49661
49662         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
49663         Reported by Simon Josefsson.
49664
49665 2007-06-04  Bruno Haible  <bruno@clisp.org>
49666
49667         Avoid test failures on some PowerPC platforms.
49668         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
49669         Define differently for PowerPC.
49670         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
49671         Reported by Gary V. Vaughan <gary@gnu.org>.
49672
49673 2007-06-02  Bruno Haible  <bruno@clisp.org>
49674
49675         Fix test-stdint failure on FreeBSD/ia64.
49676         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
49677         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
49678         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
49679         * doc/headers/stdint.texi: Update.
49680
49681 2007-06-01  Bruno Haible  <bruno@clisp.org>
49682
49683         * tests/test-binary-io.c (main): Pass a third argument to open().
49684         Reported by Gary V. Vaughan <gary@gnu.org>.
49685
49686 2007-06-01  Bruno Haible  <bruno@clisp.org>
49687
49688         * doc/functions/frexpl.texi: Update for mingw.
49689
49690 2007-06-01  Bruno Haible  <bruno@clisp.org>
49691
49692         * tests/test-lseek.c (main): Disable test of errno for invalid third
49693         argument.
49694         * doc/functions/lseek.texi: Update.
49695         Reported by Gary V. Vaughan <gary@gnu.org>.
49696
49697 2007-05-28  Bruno Haible  <bruno@clisp.org>
49698
49699         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
49700
49701 2007-05-31  Eric Blake  <ebb9@byu.net>
49702
49703         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
49704         cross compiling.
49705
49706 2007-05-30  Eric Blake  <ebb9@byu.net>
49707         and Bruno Haible  <bruno@clisp.org>
49708
49709         Work around mingw test failures exposed by m4-1.4.9b.
49710         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
49711         * tests/test-unistd.c: Disable uid_t and git_t tests for the
49712         moment.
49713
49714 2007-05-30  Bruno Haible  <bruno@clisp.org>
49715
49716         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
49717         assuming that they are closed. Needed on HP-UX 11.
49718
49719 2007-05-29  Bruno Haible  <bruno@clisp.org>
49720
49721         Fix a problem with #include_next.
49722         * lib/dirent_.h: Split the double-inclusion guard.
49723         * lib/fcntl_.h: Likewise.
49724         * lib/float_.h: Likewise.
49725         * lib/iconv_.h: Likewise.
49726         * lib/inttypes_.h: Likewise.
49727         * lib/locale_.h: Likewise.
49728         * lib/math_.h: Likewise.
49729         * lib/netinet_in_.h: Likewise.
49730         * lib/search_.h: Likewise.
49731         * lib/signal_.h: Likewise.
49732         * lib/stdint_.h: Likewise.
49733         * lib/stdio_.h: Likewise.
49734         * lib/stdlib_.h: Likewise.
49735         * lib/string_.h: Likewise.
49736         * lib/sys_select_.h: Likewise.
49737         * lib/sys_socket_.h: Likewise.
49738         * lib/sys_stat_.h: Likewise.
49739         * lib/sys_time_.h: Likewise.
49740         * lib/sysexits_.h: Likewise.
49741         * lib/time_.h: Likewise.
49742         * lib/unistd_.h: Likewise.
49743         * lib/wchar_.h: Likewise.
49744         * lib/wctype_.h: Likewise.
49745
49746 2007-05-29  Bruno Haible  <bruno@clisp.org>
49747
49748         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
49749         for the moment.
49750
49751 2007-05-29  Bruno Haible  <bruno@clisp.org>
49752
49753         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
49754         invocation.
49755         Reported by Eric Blake.
49756
49757 2007-05-29  Bruno Haible  <bruno@clisp.org>
49758
49759         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
49760         compiling case.
49761
49762 2007-05-29  Eric Blake  <ebb9@byu.net>
49763             Bruno Haible  <bruno@clisp.org>
49764
49765         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
49766         cross compiles.
49767
49768 2007-05-28  Eric Blake  <ebb9@byu.net>
49769
49770         * modules/closein-tests (test_closein_LDADD): Support test on
49771         cygwin with libtool.
49772
49773 2007-05-28  Bruno Haible  <bruno@clisp.org>
49774
49775         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
49776         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
49777         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
49778         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
49779         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
49780         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
49781         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
49782         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
49783         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
49784
49785 2007-05-28  Eric Blake  <ebb9@byu.net>
49786
49787         Unconditionally include <config.h> in unit tests.
49788         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
49789         * tests/test-allocsa.c, tests/test-arcfour.c,
49790         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
49791         tests/test-array_list.c, tests/test-array_oset.c,
49792         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
49793         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
49794         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
49795         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
49796         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
49797         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
49798         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
49799         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
49800         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
49801         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
49802         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
49803         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
49804         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
49805         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
49806         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
49807         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
49808         test-md5.c, test-memmem.c, test-printf-posix.c,
49809         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
49810         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
49811         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
49812         test-strcasestr.c, test-striconv.c, test-striconveh.c,
49813         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
49814         test-vasnprintf-posix2.c, test-vasnprintf.c,
49815         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
49816         test-vfprintf-posix.c, test-vprintf-posix.c,
49817         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
49818         test-xvasprintf.c: Likewise.
49819
49820 2007-05-28  Bruno Haible  <bruno@clisp.org>
49821
49822         * gnulib-tool (func_import): Remember the --with-tests command-line
49823         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
49824         Reported by Eric Blake.
49825
49826 2007-05-28  Bruno Haible  <bruno@clisp.org>
49827
49828         * modules/ftell-tests: New file.
49829         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
49830         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
49831
49832         * lib/ftell.c: New file.
49833         * modules/ftell: New file.
49834         * m4/ftell.m4: New file.
49835         * doc/functions/ftell.texi: Update.
49836         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
49837         REPLACE_FTELL.
49838         * lib/stdio_.h (rpl_ftell): New declaration.
49839         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
49840         REPLACE_FTELL.
49841
49842 2007-05-28  Eric Blake  <ebb9@byu.net>
49843
49844         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
49845
49846 2007-05-28  Bruno Haible  <bruno@clisp.org>
49847
49848         * modules/fseek-tests: New file.
49849         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
49850         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
49851
49852         * lib/fseek.c: New file.
49853         * modules/fseek: New file.
49854         * m4/fseek.m4: New file.
49855         * doc/functions/fseek.texi: Update.
49856         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
49857         REPLACE_FSEEK.
49858         * lib/stdio_.h (rpl_fseek): New declaration.
49859         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
49860         REPLACE_FSEEK.
49861
49862 2007-05-28  Bruno Haible  <bruno@clisp.org>
49863
49864         * lib/stdio_.h (fflush): More comments.
49865
49866 2007-05-28  Bruno Haible  <bruno@clisp.org>
49867
49868         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
49869         runtime test.
49870
49871 2007-05-28  Eric Blake  <ebb9@byu.net>
49872
49873         Improve lseek module.
49874         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
49875         * lib/unistd_.h (lseek): Scale back link warning message.
49876         * tests/test-lseek.c: Beef up test.
49877         * tests/test-lseek.sh: Exercise more facets of lseek.
49878         Reported by Bruno Haible.
49879
49880 2007-05-28  Bruno Haible  <bruno@clisp.org>
49881
49882         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
49883         to define.
49884
49885 2007-05-27  Bruno Haible  <bruno@clisp.org>
49886
49887         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
49888
49889 2007-05-27  Bruno Haible  <bruno@clisp.org>
49890
49891         * modules/openmp: New file.
49892         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
49893         Noah Misch.
49894
49895 2007-05-26  Bruno Haible  <bruno@clisp.org>
49896
49897         * modules/chdir-long (Depends-on): Add fchdir.
49898         * modules/chdir-safer (Depends-on): Likewise.
49899         * modules/fts (Depends-on): Likewise.
49900         * modules/fts-lgpl (Depends-on): Likewise.
49901         * modules/openat (Depends-on): Likewise.
49902         * modules/savewd (Depends-on): Likewise.
49903
49904 2007-05-24  Eric Blake  <ebb9@byu.net>
49905
49906         Fix lseek on mingw.
49907         * modules/lseek: New module.
49908         * m4/lseek.m4: New file.
49909         * lib/lseek.c: New file.
49910         * modules/lseek-tests: New file.
49911         * tests/test-lseek.c: New file.
49912         * tests/test-lseek.sh: New file.
49913         * MODULES.html.sh: Document lseek module.
49914         * modules/fflush (Depends-on): Add lseek, fseeko.
49915         * modules/fseeko (Depends-on): Likewise.
49916         * modules/ftello (Depends-on): Likewise.
49917         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
49918         broken.
49919         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
49920         broken.
49921         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
49922         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
49923         * lib/ftello.c (rpl_ftello): Likewise.
49924         * tests/test-fseeko.c (main): Test this.
49925         * tests/test-fseeko.sh: Likewise.
49926         * tests/test-ftello.c (main): Likewise.
49927         * tests/test-ftello.sh: Likewise.
49928         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
49929         implies replacing fseek.
49930         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
49931         HAVE_FTELLO.
49932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
49933         * modules/unistd (Makefile.am): Likewise.
49934         * lib/unistd_.h (lseek): Declare a replacement.
49935         * doc/functions/lseek.texi (lseek): Document this fix.
49936         * doc/functions/fseek.texi (fseek): Likewise.
49937         * doc/functions/ftell.texi (ftell): Likewise.
49938
49939 2007-05-24  Bruno Haible  <bruno@clisp.org>
49940
49941         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
49942         in the printed representation of a NaN.
49943         * tests/test-vasprintf-posix.c (test_function): Likewise.
49944         * tests/test-snprintf-posix.h (test_function): Likewise.
49945         * tests/test-sprintf-posix.h (test_function): Likewise.
49946         Reported by Eric Blake.
49947
49948 2007-05-23  Eric Blake  <ebb9@byu.net>
49949
49950         Fix fseeko/ftello on cygwin 1.5.24.
49951         * doc/functions/fseeko.texi (fseeko): Document the fix.
49952         * doc/functions/ftello.texi (ftello): Document the fix.
49953         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
49954         * doc/functions/stdout.text (stdout): New file.
49955         * doc/functions/stderr.text (stderr): New file.
49956         * doc/gnulib.texi (Function Substitutes): Use new files.
49957         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
49958         prior to 1.7.0.
49959         * tests/test-ftello.c (main): Likewise for ftello.
49960         * tests/test-fseeko.sh: New file.
49961         * tests/test-ftello.sh: New file.
49962         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
49963         with seekable stdin.
49964         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
49965         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
49966         (gl_REPLACE_FSEEKO): New macro.
49967         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
49968         * modules/fseeko (Files): Distribute fseeko.c.
49969         * modules/ftello (Files): Distribute ftello.c.
49970         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
49971         mode.
49972         * lib/ftello.c (rpl_ftello): New file.
49973         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
49974         fseeko, ftello.
49975         (gl_STDIN_LARGE_OFFSET): New macro.
49976         * modules/stdio (Makefile.am): Perform the replacement.
49977         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
49978
49979 2007-05-23  Bruno Haible  <bruno@clisp.org>
49980
49981         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
49982         GNULIB_POSIXCHECK is defined.
49983
49984 2007-05-21  Bruno Haible  <bruno@clisp.org>
49985
49986         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
49987         Check also the output for NaN arguments. When cross-compiling, guess
49988         no on IRIX.
49989         * lib/vasnprintf.c: Update comments.
49990         * tests/test-vasnprintf-posix.c (strisnan): New function.
49991         (test_function): Use it.
49992         * tests/test-vasprintf-posix.c (strisnan): New function.
49993         (test_function): Use it.
49994         * tests/test-snprintf-posix.h (strisnan): New function.
49995         (test_function): Use it.
49996         * tests/test-sprintf-posix.h (strisnan): New function.
49997         (test_function): Use it.
49998         Reported by Eric Blake.
49999
50000 2007-05-20  Bruno Haible  <bruno@clisp.org>
50001
50002         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
50003         numbers that fails on BeOS.
50004         * doc/functions/frexpl.texi: Update.
50005
50006 2007-05-20  Jim Meyering  <jim@meyering.net>
50007
50008         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
50009         forced upon us by glibc-2.6.
50010
50011 2007-05-20  Bruno Haible  <bruno@clisp.org>
50012
50013         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
50014         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
50015         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
50016         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
50017         NEED_PRINTF_INFINITE.
50018         (is_infinitel): New function.
50019         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
50020         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
50021         gl_PREREQ_VASNPRINTF_INFINITE.
50022         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
50023         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50024         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
50025         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
50026         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
50027         gl_PREREQ_VASNPRINTF_INFINITE.
50028         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50029         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50030         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50031         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50032         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50033         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50034         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50035         * doc/functions/fprintf.texi: Update.
50036         * doc/functions/printf.texi: Update.
50037         * doc/functions/snprintf.texi: Update.
50038         * doc/functions/sprintf.texi: Update.
50039         * doc/functions/vfprintf.texi: Update.
50040         * doc/functions/vprintf.texi: Update.
50041         * doc/functions/vsnprintf.texi: Update.
50042         * doc/functions/vsprintf.texi: Update.
50043
50044 2007-05-20  Bruno Haible  <bruno@clisp.org>
50045
50046         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
50047         was not found in libc.
50048         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
50049
50050 2007-05-20  Bruno Haible  <bruno@clisp.org>
50051
50052         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50053         printed as "-nan" instead of "nan".
50054         * tests/test-vasprintf-posix.c (test_function): Likewise.
50055         * tests/test-snprintf-posix.h (test_function): Likewise.
50056         * tests/test-sprintf-posix.h (test_function): Likewise.
50057         Needed for HP-UX 11.
50058
50059 2007-05-20  Jim Meyering  <jim@meyering.net>
50060
50061         Fix buggy test for the fchownat-deref bug.
50062         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
50063         symlink required for the run-test.  Without it, this test would
50064         always declare that fchownat doesn't work, and client code would
50065         unnecessarily use the replacement function with fixed libc.
50066         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
50067         Reported by Greg Schafer.
50068
50069 2007-05-19  Bruno Haible  <bruno@clisp.org>
50070
50071         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
50072         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
50073         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
50074         Needed for IRIX 6.5 and Solaris 2.5.1.
50075
50076 2007-05-19  Bruno Haible  <bruno@clisp.org>
50077
50078         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
50079         (test_function): Skip tests involving -0.0 on platforms where
50080         -0.0 = 0.0.
50081         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
50082         (test_function): Skip tests involving -0.0 on platforms where
50083         -0.0 = 0.0.
50084         * tests/test-snprintf-posix.h (have_minus_zero): New function.
50085         (test_function): Skip tests involving -0.0 on platforms where
50086         -0.0 = 0.0.
50087         * tests/test-sprintf-posix.h (have_minus_zero): New function.
50088         (test_function): Skip tests involving -0.0 on platforms where
50089         -0.0 = 0.0.
50090         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
50091         tests.
50092         * tests/test-printf-posix.h (test_function): Likewise.
50093         * tests/test-printf-posix.output: Remove all -0.0 related results.
50094         Needed for IRIX 6.5.
50095
50096 2007-05-19  Bruno Haible  <bruno@clisp.org>
50097
50098         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
50099         printed as "nan0x7fffffff" instead of "nan".
50100         * tests/test-vasprintf-posix.c (test_function): Likewise.
50101         * tests/test-snprintf-posix.h (test_function): Likewise.
50102         * tests/test-sprintf-posix.h (test_function): Likewise.
50103         * tests/test-fprintf-posix.h (NaN): Remove macro.
50104         (test_function): Remove all NaN related tests.
50105         * tests/test-printf-posix.h (NaN): Remove macro.
50106         (test_function): Remove all NaN related tests.
50107         * tests/test-printf-posix.output: Remove all NaN related results.
50108         Needed for IRIX 6.5.
50109
50110 2007-05-19  Bruno Haible  <bruno@clisp.org>
50111
50112         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
50113         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
50114
50115 2007-05-19  Bruno Haible  <bruno@clisp.org>
50116
50117         * lib/float_.h: New file.
50118         * m4/float_h.m4: New file.
50119         * modules/float: New file.
50120         * modules/isnanl (Dependencies): Add float.
50121         * modules/isnanl-nolibm (Dependencies): Likewise.
50122         * modules/mathl (Dependencies): Likewise.
50123         * modules/printf-frexpl (Dependencies): Likewise.
50124         * modules/signbit (Dependencies): Likewise.
50125         * modules/vasnprintf (Dependencies): Likewise.
50126         * doc/headers/float.texi: Update.
50127
50128 2007-05-19  Jim Meyering  <jim@meyering.net>
50129
50130         * lib/utimens.c (gl_futimens): Rename from futimens,
50131         now that glibc-2.6 declares futimens.
50132         * lib/utimens.h: Likewise.
50133
50134 2007-05-19  Bruno Haible  <bruno@clisp.org>
50135
50136         Avoid test failures on mingw.
50137         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
50138         * tests/test-printf-posix.sh: Likewise.
50139         * tests/test-vfprintf-posix.sh: Likewise.
50140         * tests/test-vprintf-posix.sh: Likewise.
50141
50142 2007-05-19  Bruno Haible  <bruno@clisp.org>
50143
50144         Fix *printf result for NaN, Inf, -0.0 on mingw.
50145         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
50146         * lib/vasnprintf.c: Include math.h and isnan.h.
50147         (is_infinite_or_zero): New function.
50148         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
50149         values in the %f, %F, %e, %E, %g, %G directives.
50150         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
50151         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50152         gl_PRINTF_INFINITE and test its result. Invoke
50153         gl_PREREQ_VASNPRINTF_INFINITE.
50154         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50155         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50156         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50157         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50158         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50159         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50160         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50161         * doc/functions/fprintf.texi: Update.
50162         * doc/functions/printf.texi: Update.
50163         * doc/functions/snprintf.texi: Update.
50164         * doc/functions/sprintf.texi: Update.
50165         * doc/functions/vfprintf.texi: Update.
50166         * doc/functions/vprintf.texi: Update.
50167         * doc/functions/vsnprintf.texi: Update.
50168         * doc/functions/vsprintf.texi: Update.
50169
50170 2007-05-19  Bruno Haible  <bruno@clisp.org>
50171
50172         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
50173         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
50174         Instead of multiplying with 10^k, set extra_zeroes to k.
50175         (scale10_round_long_double): Remove function.
50176
50177 2007-05-18  Bruno Haible  <bruno@clisp.org>
50178
50179         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
50180         introduced on 2007-05-06.
50181
50182 2007-05-18  Bruno Haible  <bruno@clisp.org>
50183
50184         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
50185         %g directives.
50186         * tests/test-vasprintf-posix.c (test_function): Likewise.
50187         * tests/test-snprintf-posix.h (test_function): Likewise.
50188         * tests/test-sprintf-posix.h (test_function): Likewise.
50189
50190 2007-05-18  Bruno Haible  <bruno@clisp.org>
50191
50192         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
50193         (strmatch): New function.
50194         (test_function): Test the %f directive on numbers of various exponents.
50195         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
50196         (strmatch): New function.
50197         (test_function): Test the %f directive on numbers of various exponents.
50198         * tests/test-snprintf-posix.h (strmatch): New function.
50199         (test_function): Test the %f directive on numbers of various exponents.
50200         * tests/test-sprintf-posix.h (strmatch): New function.
50201         (test_function): Test the %f directive on numbers of various exponents.
50202         * tests/test-snprintf-posix.c (SIZEOF): New macro.
50203         * tests/test-sprintf-posix.c (SIZEOF): New macro.
50204         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
50205         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
50206
50207 2007-05-18  Bruno Haible  <bruno@clisp.org>
50208
50209         Add support for 'long double' number output.
50210         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
50211         * lib/vasnprintf.c: Include math.h and float+.h.
50212         (mp_limb_t): New type.
50213         (GMP_LIMB_BITS): New macro.
50214         (mp_twolimb_t): New type.
50215         (GMP_TWOLIMB_BITS): New macro.
50216         (mpn_t): New type.
50217         (multiply, divide, convert_to_decimal, decode_long_double,
50218         scale10_round_long_double, scale10_round_decimal_long_double,
50219         floorlog10l): New functions.
50220         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
50221         for the %f, %F, %e, %E, %g, %G directives.
50222         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
50223         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50224         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
50225         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
50226         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50227         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50228         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50229         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50230         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50231         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50232         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50233         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
50234         * modules/snprintf-posix (Depends-on): Likewise.
50235         * modules/sprintf-posix (Depends-on): Likewise.
50236         * modules/vasnprintf-posix (Depends-on): Likewise.
50237         * modules/vasprintf-posix (Depends-on): Likewise.
50238         * modules/vfprintf-posix (Depends-on): Likewise.
50239         * modules/vsnprintf-posix (Depends-on): Likewise.
50240         * modules/vsprintf-posix (Depends-on): Likewise.
50241         * modules/vasnprintf (Files): Add lib/float+.h.
50242         * doc/functions/fprintf.texi: Update.
50243         * doc/functions/printf.texi: Update.
50244         * doc/functions/snprintf.texi: Update.
50245         * doc/functions/sprintf.texi: Update.
50246         * doc/functions/vfprintf.texi: Update.
50247         * doc/functions/vprintf.texi: Update.
50248         * doc/functions/vsnprintf.texi: Update.
50249         * doc/functions/vsprintf.texi: Update.
50250
50251 2007-05-18  Bruno Haible  <bruno@clisp.org>
50252
50253         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
50254
50255 2007-05-18  Bruno Haible  <bruno@clisp.org>
50256
50257         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
50258         for printing 64-bit integers. Needed for mingw.
50259
50260 2007-05-18  Bruno Haible  <bruno@clisp.org>
50261
50262         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50263         gl_FUNC_FREXPL_WORKS.
50264         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
50265
50266 2007-05-18  Bruno Haible  <bruno@clisp.org>
50267
50268         * modules/frexpl-nolibm-tests: New file.
50269
50270         * modules/frexpl-nolibm: New file.
50271         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
50272
50273 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
50274
50275         * lib/dirent_.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/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
50279         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
50280         Likewise.
50281         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
50282         * modules/iconv_open (iconv.h): Likewise.
50283         * modules/locale (locale.h): Likewise.
50284         * modules/netinet_in (netinet/in.h): Likewise.
50285         * modules/sys_select (sys_select.h): Likewise.
50286         * modules/sys_socket (sys/socket.h): Likewise.
50287         * modules/sys_stat (sys/stat.h): Likewise.
50288         * modules/sysexits (sysexits.h): Likewise.
50289         * modules/unistd (unistd.h): Likewise.
50290
50291 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50292
50293         * modules/closein-tests (Makefile.am): Distribute
50294         `test-closein.sh'.
50295
50296 2007-05-17  Bruno Haible  <bruno@clisp.org>
50297
50298         * tests/test-printf-posix.output: Renamed from
50299         tests/test-fprintf-posix.out.
50300         * modules/fprintf-posix-tests: Update.
50301         * modules/printf-posix-tests: Update.
50302         * modules/vfprintf-posix-tests: Update.
50303         * modules/vprintf-posix-tests: Update.
50304         * tests/test-fprintf-posix.sh: Update.
50305         * tests/test-printf-posix.sh: Update.
50306         * tests/test-vfprintf-posix.sh: Update.
50307         * tests/test-vprintf-posix.sh: Update.
50308         Reported by Ralf Wildenhues.
50309
50310 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
50311
50312         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
50313         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
50314         GCC 4.2, which otherwise issues a lot of warnings.
50315         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
50316         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
50317         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
50318         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
50319         it should no longer be needed.
50320         * lib/string_.h: Likewise.
50321         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
50322         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
50323         * modules/inttypes (inttypes.h): Likewise.
50324         * modules/math (math.h): Likewise.
50325         * modules/search (search.h): Likewise.
50326         * modules/signal (signal.h): Likewise.
50327         * modules/stdint (stdint.h): Likewise.
50328         * modules/stdio (stdio.h): Likewise.
50329         * modules/stdlib (stdlib.h): Likewise.
50330         * modules/string (string.h): Likewise.
50331         * modules/sys_time (sys/time.h): Likewise.
50332         * modules/time (time.h): Likewise.
50333         * modules/wchar (wchar.h): Likewise.
50334         * modules/wctype (wtype.h): Likewise.
50335
50336 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50337
50338         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
50339
50340 2007-05-13  Bruno Haible  <bruno@clisp.org>
50341
50342         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
50343         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
50344         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
50345         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
50346         (gl_PREREQ_STRTOK_R): Don't require it here.
50347
50348 2007-05-13  Bruno Haible  <bruno@clisp.org>
50349
50350         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
50351         when used in C++ mode.
50352
50353 2007-05-12  Bruno Haible  <bruno@clisp.org>
50354
50355         * lib/linebuffer.h: Tweak doc.
50356         * lib/linebuffer.c: Likewise.
50357
50358 2007-05-12  James Youngman  <jay@gnu.org>
50359
50360         * lib/linebuffer.c (readlinebuffer_delim): New function,
50361         like readlinebuffer, but use a caller-specified delimiter.
50362         (readlinebuffer): Just call readlinebuffer_delim with '\n'
50363         as the delimiter.
50364         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
50365
50366 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
50367
50368         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
50369         * modules/openat (Files): Remove openat-die.c.
50370         (Depends-on): Add openat-die.
50371         * modules/openat-die: New module.
50372
50373 2007-05-06  Bruno Haible  <bruno@clisp.org>
50374
50375         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
50376         Update with info about Cygwin.
50377         * doc/functions/fprintf.texi: Update.
50378         * doc/functions/printf.texi: Update.
50379         * doc/functions/snprintf.texi: Update.
50380         * doc/functions/sprintf.texi: Update.
50381         * doc/functions/vfprintf.texi: Update.
50382         * doc/functions/vprintf.texi: Update.
50383         * doc/functions/vsnprintf.texi: Update.
50384         * doc/functions/vsprintf.texi: Update.
50385         Reported by Eric Blake.
50386
50387 2007-05-06  Bruno Haible  <bruno@clisp.org>
50388
50389         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
50390         padding ourselves for the floating-point directives.
50391         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
50392         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
50393         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50394         gl_PRINTF_FLAG_ZERO and test its result. Invoke
50395         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
50396         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50397         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50398         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50399         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50400         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50401         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50402         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50403         * tests/test-snprintf-posix.h (test_function): Also check the width
50404         and some flags in the %f directive.
50405         * tests/test-sprintf-posix.h (test_function): Likewise.
50406         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50407         * tests/test-vasprintf-posix.c (test_function): Likewise.
50408         * doc/functions/fprintf.texi: Update.
50409         * doc/functions/printf.texi: Update.
50410         * doc/functions/snprintf.texi: Update.
50411         * doc/functions/sprintf.texi: Update.
50412         * doc/functions/vfprintf.texi: Update.
50413         * doc/functions/vprintf.texi: Update.
50414         * doc/functions/vsnprintf.texi: Update.
50415         * doc/functions/vsprintf.texi: Update.
50416
50417 2007-05-06  Bruno Haible  <bruno@clisp.org>
50418
50419         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
50420         pass the ' flag character to sprintf or snprintf.
50421         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
50422         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
50423         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50424         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
50425         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
50426         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50427         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
50428         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50429         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50430         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50431         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50432         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50433         * tests/test-snprintf-posix.h (test_function): Also check the grouping
50434         flag.
50435         * tests/test-sprintf-posix.h (test_function): Likewise.
50436         * tests/test-vasnprintf-posix.c (test_function): Likewise.
50437         * tests/test-vasprintf-posix.c (test_function): Likewise.
50438         * doc/functions/fprintf.texi: Update.
50439         * doc/functions/printf.texi: Update.
50440         * doc/functions/snprintf.texi: Update.
50441         * doc/functions/sprintf.texi: Update.
50442         * doc/functions/vfprintf.texi: Update.
50443         * doc/functions/vprintf.texi: Update.
50444         * doc/functions/vsnprintf.texi: Update.
50445         * doc/functions/vsprintf.texi: Update.
50446
50447 2007-05-01  Bruno Haible  <bruno@clisp.org>
50448
50449         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
50450
50451 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
50452
50453         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
50454         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
50455
50456 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50457
50458         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
50459         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
50460         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
50461
50462 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
50463
50464         * lib/argp-help.c (struct hol_entry): New member `ord'.
50465         (HOL_ENTRY_PTRCMP): Use ord for comparison
50466         (hol_sort): Initialize ord.
50467
50468 2007-05-01  Bruno Haible  <bruno@clisp.org>
50469
50470         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
50471         Reported by Eric Blake.
50472         * doc/gnulib.texi (Function Substitutes): Update.
50473
50474 2007-05-01  Bruno Haible  <bruno@clisp.org>
50475
50476         * doc/functions.texi: Remove file, now redundant through
50477         doc/functions/*.texi.
50478
50479 2007-05-01  Bruno Haible  <bruno@clisp.org>
50480
50481         * modules/argp (Depends-on): Add sleep.
50482
50483 2007-05-01  Bruno Haible  <bruno@clisp.org>
50484
50485         * modules/sleep-tests: New file.
50486         * tests/test-sleep.c: New file.
50487
50488         * modules/sleep: New file.
50489         * lib/sleep.c: New file.
50490         * m4/sleep.m4: New file.
50491         * lib/unistd_.h (sleep): New declaration.
50492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
50493         HAVE_SLEEP.
50494         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
50495         * doc/functions/sleep.texi: Document the sleep module.
50496
50497 2007-05-01  Bruno Haible  <bruno@clisp.org>
50498
50499         * lib/sigprocmask.h: Remove file.
50500         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
50501         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
50502         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
50503         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
50504         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50505         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
50506         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
50507         HAVE_SIGSET_T as a shell variable.
50508         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
50509         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
50510         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
50511         (Depends-on): Add signal. Remove verify.
50512         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
50513         (Include): Mention <signal.h> instead of sigprocmask.h.
50514         * NEWS: Mention the change.
50515         * lib/fatal-signal.c: Don't include sigprocmask.h.
50516
50517 2007-05-01  Bruno Haible  <bruno@clisp.org>
50518
50519         * modules/signal: New file.
50520         * lib/signal_.h: New file.
50521         * m4/signal_h.m4: New file.
50522
50523 2007-05-01  Bruno Haible  <bruno@clisp.org>
50524
50525         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
50526         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
50527         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
50528         HAVE_WCTYPE_CTMP_BUG into wctype.h.
50529
50530 2007-05-01  Bruno Haible  <bruno@clisp.org>
50531
50532         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
50533         configure time.
50534         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
50535         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
50536         * modules/sys_stat (Makefile.am): Substitute their values into
50537         sys/stat.h.
50538
50539 2007-05-01  Bruno Haible  <bruno@clisp.org>
50540
50541         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
50542         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
50543         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
50544
50545 2007-05-01  Bruno Haible  <bruno@clisp.org>
50546
50547         * doc/header/assert.texi: Undo last change: don't mention the gnulib
50548         'assert' module here.
50549
50550 2007-05-01  Bruno Haible  <bruno@clisp.org>
50551
50552         * doc/functions/*.texi: New files.
50553         * doc/functions/google-ranking.txt: New file.
50554         * doc/gnulib.texi (Function Substitutes): New chapter.
50555         (ctime, inet_ntoa): Remove sections.
50556         * doc/ctime.texi: Remove file.
50557         * doc/inet_ntoa.texi: Remove file.
50558         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
50559         dependencies.
50560         (%.info): New rule, specifying a --reference-limit.
50561
50562 2007-05-01  Bruno Haible  <bruno@clisp.org>
50563
50564         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
50565
50566 2007-05-01  Bruno Haible  <bruno@clisp.org>
50567
50568         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
50569         the portability of 'mkdir' to mingw systems.
50570
50571 2007-05-01  Bruno Haible  <bruno@clisp.org>
50572
50573         * doc/headers/google-ranking.txt: New file.
50574
50575 2007-04-30  Eric Blake  <ebb9@byu.net>
50576
50577         Prefer fseeko to fseek.
50578         * modules/getpass (Depends-on): Add fseeko.
50579         * lib/getpass.c (getpass): Use fseeko, not fseek.
50580
50581 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
50582
50583         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
50584         assumes the sorting is stable, while most qsort implementations
50585         are not.  Use argument addresses to ensure they never compare as
50586         equal.
50587
50588         * tests/test-argp-2.sh (usage-indent test): Fix output
50589         (func_compare): Restore diff options
50590         * tests/test-argp.c: Restore #include "progname.h"
50591
50592 2007-04-29  Bruno Haible  <bruno@clisp.org>
50593
50594         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
50595         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50596         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
50597         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50598         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
50599         (configure.ac): Define CHECK_SNPRINTF_POSIX.
50600         (TESTS, check_PROGRAMS): Add test-snprintf.
50601         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
50602         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
50603         (TESTS, check_PROGRAMS): Add test-vsnprintf.
50604         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
50605         assertions that fail on HP-UX, OSF/1, or IRIX.
50606         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
50607
50608 2007-04-29  Bruno Haible  <bruno@clisp.org>
50609
50610         * MODULES.html.sh (posix_functions): Remove 'contents'.
50611
50612 2007-04-29  Karl Berry  <karl@gnu.org>
50613
50614         * config/srclist.txt (gendocs_template_min): new entry.
50615
50616 2007-04-29  Bruno Haible  <bruno@clisp.org>
50617
50618         Work around fpurge bug on BSD systems.
50619         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
50620         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
50621         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
50622         fpurge to rpl_fpurge if the system already has this function.
50623         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
50624         the case where the system already has this function. Correct invariants
50625         on BSD systems.
50626         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
50627         BSD systems.
50628
50629 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50630
50631         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
50632         proposed by Sven Verdoolaege.
50633
50634         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
50635         options.
50636         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
50637         (usage and help tests): Update
50638
50639 2007-04-29  Bruno Haible  <bruno@clisp.org>
50640
50641         * tests/test-fflush.c (main): Use a file of size 17, not 10.
50642         Print more information in case of failure. Disable a test on BeOS.
50643
50644 2007-04-29  Bruno Haible  <bruno@clisp.org>
50645
50646         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
50647         This helps debugging on systems on which no gdb is available.
50648
50649 2007-04-29  Bruno Haible  <bruno@clisp.org>
50650
50651         * lib/freading.h: Improve comments.
50652         * lib/fwriting.h: Likewise.
50653         * tests/test-freading.c (main): Don't check freading immediately after
50654         repositioning. Needed for glibc.
50655
50656 2007-04-29  Bruno Haible  <bruno@clisp.org>
50657
50658         * lib/freading.c (freading): Trivial simplification.
50659
50660 2007-04-28  Bruno Haible  <bruno@clisp.org>
50661
50662         * tests/test-fwriting.c (main): Also test the interaction between
50663         fflush and fwriting.
50664         * modules/fwriting-tests (Depends-on): Add fflush.
50665
50666         * tests/test-freading.c (main): Also test the interaction between
50667         fflush and freading.
50668         * modules/freading-tests (Depends-on): Add fflush.
50669
50670 2007-04-28  Bruno Haible  <bruno@clisp.org>
50671
50672         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
50673         fseeko and ftello.
50674         Suggested by Eric Blake.
50675
50676 2007-04-28  Jim Meyering  <jim@meyering.net>
50677
50678         Avoid false-negative in gl_STDINT_H's C99 conformance test.
50679         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
50680         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
50681
50682 2007-04-27  Eric Blake  <ebb9@byu.net>
50683
50684         * doc/headers/assert.texi (assert.h): Document assert module use.
50685
50686 2007-04-27  Bruno Haible  <bruno@clisp.org>
50687
50688         * doc/headers/*.texi: New files.
50689         * doc/gnulib.texi (Header File Substitutes): New chapter.
50690         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
50691         dependencies.
50692         (standards.info ,standards.html, standards.dvi): Update dependencies.
50693         (mostlyclean, clean): New targets.
50694
50695 2007-04-27  Bruno Haible  <bruno@clisp.org>
50696
50697         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
50698         * modules/sysexits (Files, Makefile.am): Update.
50699
50700         * lib/sys_socket_.h: Renamed from lib/socket_.h.
50701         * modules/sys_socket (Files, Makefile.am): Update.
50702
50703         * lib/sys_stat_.h: Renamed from lib/stat_.h.
50704         * modules/sys_stat (Files, Makefile.am): Update.
50705
50706 2007-04-27  Eric Blake  <ebb9@byu.net>
50707
50708         * lib/freading.h: Improve comments.
50709         * lib/fwriting.h: Likewise.
50710         * lib/fflush.c: Likewise.
50711
50712         Fix closein for mingw.
50713         * modules/closein-tests: Add tests for closein.
50714         * tests/test-closein.c: New file.
50715         * tests/test-closein.sh: Likewise.
50716         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
50717         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
50718
50719 2007-04-27  Bruno Haible  <bruno@clisp.org>
50720
50721         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
50722         version is < 6.
50723         * lib/math_.h [__DECC]: Likewise.
50724         * lib/stdio_.h [__DECC]: Likewise.
50725         * lib/stdlib_.h [__DECC]: Likewise.
50726         * lib/string_.h [__DECC]: Likewise.
50727         * lib/time_.h [__DECC]: Likewise.
50728         * lib/wchar_.h [__DECC]: Likewise.
50729         * lib/wctype_.h [__DECC]: Likewise.
50730
50731 2007-04-27  Bruno Haible  <bruno@clisp.org>
50732
50733         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
50734
50735 2007-04-27  Bruno Haible  <bruno@clisp.org>
50736
50737         * lib/fflush.c: Add comments.
50738         * modules/fpurge-tests (Depends-on): Add fflush.
50739         * modules/freadable-tests (Depends-on): Likewise.
50740         * modules/fwritable-tests (Depends-on): Likewise.
50741
50742 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
50743
50744         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
50745         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
50746         Report by Bruno Haible <bruno@clisp.org>.
50747
50748 2007-04-26  Eric Blake  <ebb9@byu.net>
50749
50750         Fix fflush on mingw.
50751         * modules/fflush (Depends-on): Add freading.
50752         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
50753         but unread data.
50754
50755 2007-04-26  Eric Blake  <ebb9@byu.net>
50756         and Bruno Haible  <bruno@clisp.org>
50757
50758         Implement freading and fwriting.
50759         * lib/freading.c: New file.
50760         * lib/freading.h: Likewise.
50761         * m4/freading.m4: Likewise.
50762         * modules/freading: Likewise.
50763         * modules/freading-tests: Likewise.
50764         * tests/test-freading.c: Likewise.
50765         * lib/fwriting.c: New file.
50766         * lib/fwriting.h: Likewise.
50767         * m4/fwriting.m4: Likewise.
50768         * modules/fwriting: Likewise.
50769         * modules/fwriting-tests: Likewise.
50770         * tests/test-fwriting.c: Likewise.
50771         * MODULES.html.sh (File stream based Input/Output): Mention them.
50772
50773 2007-04-26  Bruno Haible  <bruno@clisp.org>
50774
50775         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
50776         'long' when we assume it.
50777         Suggested by Eric Blake.
50778
50779 2007-04-26  Bruno Haible  <bruno@clisp.org>
50780
50781         Ensure fseeko, ftello are declared on glibc systems.
50782         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
50783         * modules/fseeko (configure.ac-early): Likewise.
50784         * modules/ftello (configure.ac-early): Likewise.
50785         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
50786         AC_FUNC_FSEEKO for this.
50787         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
50788         (gl_CHECK_FSEEKO): Remove macro.
50789
50790 2007-04-26  Bruno Haible  <bruno@clisp.org>
50791
50792         * tests/test-fflush.c (main): Also check the ftell result after
50793         fflush and fseek/fseeko.
50794         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
50795         file descriptor position cache in the stream.
50796         * lib/fseeko.c (rpl_fseeko): Likewise.
50797
50798 2007-04-26  Bruno Haible  <bruno@clisp.org>
50799
50800         * modules/fflush-tests (Depends-on): Add fseeko.
50801
50802 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
50803             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50804
50805         * lib/argz_.h: ensure error_t definition is obtained in same
50806         mechanism system argz.h would have.
50807         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
50808         argz facilities are known bad.  Err on the side of caution if
50809         cross-compiling.
50810
50811 2007-04-25  Eric Blake  <ebb9@byu.net>
50812
50813         * lib/fpurge.c (includes): Use stdlib.h for free.
50814         * tests/test-fflush.c (main): Also test fflush-fseeko.
50815
50816 2007-04-25  Bruno Haible  <bruno@clisp.org>
50817
50818         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
50819         * lib/fseeko.c: New file.
50820         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
50821         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
50822         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
50823         gl_FUNC_FSEEKO.
50824         (gl_FUNC_FSEEKO): Invoke it.
50825         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
50826         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
50827         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
50828
50829 2007-04-25  Bruno Haible  <bruno@clisp.org>
50830
50831         * modules/fflush (Depends-on): Add ftello.
50832
50833 2007-04-25  Bruno Haible  <bruno@clisp.org>
50834
50835         * modules/ftello-tests: New file.
50836         * tests/test-ftello.c: New file.
50837
50838         * modules/ftello: New file.
50839         * m4/ftello.m4: New file.
50840         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
50841         HAVE_FTELLO.
50842         * lib/stdio_.h (ftello): New declaration.
50843         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
50844         HAVE_FTELLO.
50845
50846 2007-04-25  Bruno Haible  <bruno@clisp.org>
50847
50848         * modules/fseeko-tests: New file.
50849         * tests/test-fseeko.c: New file.
50850
50851         * modules/fseeko: New file.
50852         * m4/fseeko.m4: New file.
50853         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
50854         HAVE_FSEEKO.
50855         * lib/stdio_.h (fseeko): New declaration.
50856         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
50857         HAVE_FSEEKO.
50858
50859 2007-04-25  Bruno Haible  <bruno@clisp.org>
50860
50861         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
50862
50863 2007-04-25  Bruno Haible  <bruno@clisp.org>
50864
50865         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
50866         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
50867         * tests/test-unistd.c: Likewise.
50868         * tests/test-fcntl.c: Likewise.
50869
50870 2007-04-23  Eric Blake  <ebb9@byu.net>
50871
50872         * lib/fflush.c: Fix missing include.
50873         Reported by Bruno Haible.
50874
50875 2007-04-23  Bruno Haible  <bruno@clisp.org>
50876
50877         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
50878         Reported by Eric Blake.
50879
50880 2007-04-23  Bruno Haible  <bruno@clisp.org>
50881
50882         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
50883
50884 2007-04-23  Bruno Haible  <bruno@clisp.org>
50885
50886         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
50887
50888 2007-04-23  Bruno Haible  <bruno@clisp.org>
50889
50890         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
50891         Needed on HP-UX 11.
50892
50893 2007-04-16  Eric Blake  <ebb9@byu.net>
50894
50895         Make fflush rely on fpurge.
50896         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
50897         open coding all variants.
50898         * modules/fflush (Depends-on): Add fpurge and unistd.
50899         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
50900         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
50901
50902         Fix --with-tests compilation on cygwin.
50903         * modules/argmatch-tests (Makefile.am): List gnulib library first
50904         in LDADD.
50905         * modules/argp-tests (Makefile.am): Likewise.
50906         * modules/array-list-tests (Makefile.am): Likewise.
50907         * modules/array-oset-tests (Makefile.am): Likewise.
50908         * modules/avltree-list-tests (Makefile.am): Likewise.
50909         * modules/avltree-oset-tests (Makefile.am): Likewise.
50910         * modules/avltreehash-list-tests (Makefile.am): Likewise.
50911         * modules/carray-list-tests (Makefile.am): Likewise.
50912         * modules/dirname-tests (Makefile.am): Likewise.
50913         * modules/frexp-tests (Makefile.am): Likewise.
50914         * modules/isnanl-tests (Makefile.am): Likewise.
50915         * modules/linked-list-tests (Makefile.am): Likewise.
50916         * modules/linkedhash-list-tests (Makefile.am): Likewise.
50917         * modules/lock-tests (Makefile.am): Likewise.
50918         * modules/rbtree-list-tests (Makefile.am): Likewise.
50919         * modules/rbtree-oset-tests (Makefile.am): Likewise.
50920         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
50921         * modules/tls-tests (Makefile.am): Likewise.
50922         * modules/tsearch-tests (Makefile.am): Likewise.
50923         * modules/xvasprintf-tests (Makefile.am): Likewise.
50924
50925         Fix fpurge for cygwin.
50926         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
50927         value.
50928         * modules/fpurge-tests (Depends-on): Clean up trash.
50929
50930 2007-04-16  Simon Josefsson  <simon@josefsson.org>
50931
50932         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
50933
50934         * m4/autobuild.m4: Re-indent.
50935
50936 2007-04-13  Bruno Haible  <bruno@clisp.org>
50937
50938         * modules/fpurge-tests: New file.
50939         * tests/test-fpurge.c: New file.
50940
50941         * modules/fpurge: New file.
50942         * lib/fpurge.h: New file.
50943         * lib/fpurge.c: New file.
50944         * m4/fpurge.m4: New file.
50945
50946 2007-04-13  Bruno Haible  <bruno@clisp.org>
50947
50948         * modules/fbufmode-tests: New file.
50949         * tests/test-fbufmode.c: New file.
50950
50951         * modules/fbufmode: New file.
50952         * lib/fbufmode.h: New file.
50953         * lib/fbufmode.c: New file.
50954         * m4/fbufmode.m4: New file.
50955
50956 2007-04-13  Bruno Haible  <bruno@clisp.org>
50957
50958         * modules/fwritable-tests: New file.
50959         * tests/test-fwritable.c: New file.
50960
50961         * modules/fwritable: New file.
50962         * lib/fwritable.h: New file.
50963         * lib/fwritable.c: New file.
50964         * m4/fwritable.m4: New file.
50965
50966 2007-04-13  Bruno Haible  <bruno@clisp.org>
50967
50968         * modules/freadable-tests: New file.
50969         * tests/test-freadable.c: New file.
50970
50971         * modules/freadable: New file.
50972         * lib/freadable.h: New file.
50973         * lib/freadable.c: New file.
50974         * m4/freadable.m4: New file.
50975
50976 2007-04-13  Bruno Haible  <bruno@clisp.org>
50977
50978         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
50979         MOSTLYCLEANFILES.
50980
50981 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50982
50983         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
50984         gzip bootstrap.conf to avoid dragging in i18n machinery.
50985         (gnulib_tool_option): Use it.
50986
50987 2007-04-13  Bruno Haible  <bruno@clisp.org>
50988
50989         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
50990         %F directives.
50991         * tests/test-vasprintf-posix.c (test_function): Likewise.
50992         * tests/test-snprintf-posix.h (test_function): Likewise.
50993         * tests/test-sprintf-posix.h (test_function): Likewise.
50994         * tests/test-fprintf-posix.h (test_function): Likewise.
50995         * tests/test-printf-posix.h (test_function): Likewise.
50996         * tests/test-fprintf-posix.out: Likewise.
50997
50998 2007-04-13  Bruno Haible  <bruno@clisp.org>
50999
51000         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
51001         * modules/tls-tests (configure.ac): Likewise.
51002         Reported by Arto C. Nirkko <anirkko@insel.ch>.
51003
51004 2007-04-13  Bruno Haible  <bruno@clisp.org>
51005
51006         * lib/tls.c (glthread_tls_get): Fix return type.
51007         Patch by Arto C. Nirkko <anirkko@insel.ch>.
51008
51009 2007-04-12  Eric Blake  <ebb9@byu.net>
51010
51011         * modules/gettime (Depends-on): Remove gettime.
51012         Reported by Dmitry V. Levin.
51013
51014 2007-04-12  Bruno Haible  <bruno@clisp.org>
51015
51016         * modules/fflush (Include): Mention <stdio.h>.
51017         * modules/strtoimax (Include): Mention <inttypes.h>.
51018         * modules/strtoumax (Include): Likewise.
51019
51020 2007-04-12  Eric Blake  <ebb9@byu.net>
51021
51022         * .cvsignore: New file.
51023         * .gitignore: Likewise.
51024
51025 2007-04-12  Bruno Haible  <bruno@clisp.org>
51026
51027         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
51028         not before, since $(LDADD) often contains libgnu.a.
51029         * modules/striconv-tests (test_striconv_LDADD): Likewise.
51030         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
51031         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
51032         Needed on Cygwin.
51033
51034 2007-04-12  Eric Blake  <ebb9@byu.net>
51035
51036         Work around glibc's failure to flush stdin on fclose.
51037         * lib/closein.c (close_stdin): Flush stdin before closing.
51038
51039         Work around glibc's failure to reset seekable stdin on exit.
51040         * modules/closein: New module.
51041         * lib/closein.c: New file.
51042         * lib/closein.h: Likewise.
51043         * m4/closein.m4: Likewise.
51044         * MODULES.html.sh (File stream based Input/Output): Document it.
51045
51046 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51047
51048         * gnulib-tool: Rename generated 'autobuild' script to
51049         'do-autobuild' in --create-megatestdir output.
51050
51051         * doc/gnulib.texi (Build robot for gnulib): Fix.
51052
51053 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51054
51055         * modules/sysexits (Depends-on): Add absolute-header.
51056
51057 2007-04-12  Eric Blake  <ebb9@byu.net>
51058
51059         No need to preserve errno on success.
51060         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
51061         Reported by Bruno Haible.
51062
51063 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51064
51065         * MODULES.html.sh (Support for maintaining and releasing
51066         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
51067
51068 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51069
51070         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
51071
51072 2007-04-12  Simon Josefsson  <simon@josefsson.org>
51073
51074         * modules/autobuild: New module.
51075
51076         * m4/autobuild.m4: New file.
51077
51078 2007-04-11  Bruno Haible  <bruno@clisp.org>
51079
51080         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
51081         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
51082         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
51083         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
51084         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51085         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51086         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51087         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51088         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51089         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51090         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
51091         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51092         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51093         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
51094         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51095         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51096         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
51097         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51098         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51099         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
51100         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51101         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51102         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
51103         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51104         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51105         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
51106         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
51107         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
51108         Reported by Eric Blake.
51109
51110 2007-04-11  Bruno Haible  <bruno@clisp.org>
51111
51112         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
51113
51114 2007-04-10  Bruno Haible  <bruno@clisp.org>
51115
51116         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
51117         for NaN and Infinity. Needed on FreeBSD 6.1.
51118         * tests/test-vasnprintf-posix.c (test_function): Undo last change
51119         regarding results for "%010a" of Infinity and NaN.
51120         * tests/test-vasprintf-posix.c (test_function): Likewise.
51121         * tests/test-snprintf-posix.h (test_function): Likewise.
51122         * tests/test-sprintf-posix.h (test_function): Likewise.
51123         * tests/test-fprintf-posix.h (test_function): Likewise.
51124         * tests/test-printf-posix.h (test_function): Likewise.
51125         * tests/test-fprintf-posix.out: Likewise.
51126
51127 2007-04-10  Bruno Haible  <bruno@clisp.org>
51128
51129         * modules/locale-tests: New file.
51130         * tests/test-locale.c: New file.
51131
51132         * modules/locale: New file.
51133         * lib/locale_.h: New file.
51134         * m4/locale_h.m4: New file.
51135
51136 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
51137             Bruno Haible  <bruno@clisp.org>
51138
51139         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
51140         be determined, test for availability of the copysignf, copysign,
51141         copysignl functions.
51142         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
51143         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
51144         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
51145
51146 2007-04-09  Eric Blake  <ebb9@byu.net>
51147
51148         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
51149         * modules/stdio (Makefile.am): Support fflush.
51150         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51151         * modules/fflush: New file.
51152         * lib/fflush.c: Likewise.
51153         * m4/fflush.m4: Likewise.
51154         * modules/fflush-tests: New test.
51155         * tests/test-fflush.c: Likewise.
51156         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
51157
51158 2007-04-06  Bruno Haible  <bruno@clisp.org>
51159
51160         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
51161         (VASNPRINTF): Use signbit for faster determination whether to print a
51162         minus sign.
51163         * modules/vasnprintf (Files): Remove lib/float+.h.
51164         * modules/fprintf-posix (Depends-on): Add signbit.
51165         * modules/snprintf-posix (Depends-on): Likewise.
51166         * modules/sprintf-posix (Depends-on): Likewise.
51167         * modules/vasnprintf-posix (Depends-on): Likewise.
51168         * modules/vasprintf-posix (Depends-on): Likewise.
51169         * modules/vfprintf-posix (Depends-on): Likewise.
51170         * modules/vsnprintf-posix (Depends-on): Likewise.
51171         * modules/vsprintf-posix (Depends-on): Likewise.
51172
51173 2007-04-06  Bruno Haible  <bruno@clisp.org>
51174
51175         * tests/test-frexp.c (main): Test also the sign bit of zero results.
51176         * tests/test-frexpl.c (main): Likewise.
51177         * tests/test-ldexpl.c (main): Likewise.
51178         * modules/frexp-tests (Depends-on): Add signbit.
51179         * modules/frexpl-tests (Depdends-on): Likewise.
51180         * modules/ldexpl-tests (Depdends-on): Likewise.
51181
51182 2007-04-06  Bruno Haible  <bruno@clisp.org>
51183
51184         * modules/signbit-tests: New file.
51185         * tests/test-signbit.c: New file.
51186
51187         * modules/signbit: New file.
51188         * lib/signbitf.c: New file.
51189         * lib/signbitd.c: New file.
51190         * lib/signbitl.c: New file.
51191         * m4/signbit.m4: New file.
51192         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
51193         (signbit): New macro.
51194         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
51195         REPLACE_SIGNBIT.
51196         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
51197         REPLACE_FREXPL into math.h.
51198
51199 2007-04-06  Bruno Haible  <bruno@clisp.org>
51200
51201         * modules/isnanf-nolibm-tests: New file.
51202         * tests/test-isnanf.c: New file.
51203
51204         * modules/isnanf-nolibm: New file.
51205         * lib/isnanf.h: New file.
51206         * lib/isnanf.c: New file.
51207         * lib/isnan.c: Consider the USE_FLOAT macro.
51208         * m4/isnanf.m4: New file.
51209
51210 2007-04-06  Bruno Haible  <bruno@clisp.org>
51211
51212         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
51213         (Link): New section.
51214
51215         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
51216
51217 2007-04-06  Bruno Haible  <bruno@clisp.org>
51218
51219         Assume the 'long double' type.
51220         * m4/longdouble.m4: Remove file.
51221         * config/srclist.txt: Don't mention longdouble.m4.
51222         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
51223         * lib/float+.h: Likewise.
51224         * lib/frexp.c: Likewise.
51225         * lib/printf-args.h: Likewise.
51226         * lib/printf-args.c: Likewise.
51227         * lib/printf-frexp.c: Likewise.
51228         * lib/printf-parse.c: Likewise.
51229         * lib/vasnprintf.c: Likewise.
51230         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
51231         * m4/intl.m4: Likewise.
51232         * m4/isnanl.m4: Likewise.
51233         * m4/printf.m4: Likewise.
51234         * m4/printf-frexpl.m4: Likewise.
51235         * m4/vasnprintf.m4: Likewise.
51236         * modules/allocsa (Files): Remove m4/longdouble.m4.
51237         * modules/gettext (Files): Likewise.
51238         * modules/relocatable-prog-wrapper (Files): Likewise.
51239         * modules/vasnprintf (Files): Likewise.
51240         * modules/isnanl (Files): Likewise.
51241         (Include): Simplify.
51242         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
51243         (Include): Simplify.
51244         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
51245         (Include): Simplify.
51246         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
51247         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51248         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
51249         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51250         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51251         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51252         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
51253         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51254         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
51255         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51256         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
51257         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
51258         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
51259         * tests/test-isnanl.c: Likewise.
51260         * tests/test-snprintf-posix.h: Likewise.
51261         * tests/test-sprintf-posix.h: Likewise.
51262         * tests/test-vasnprintf-posix.c: Likewise.
51263         * tests/test-vasnprintf-posix2.c: Likewise.
51264         * tests/test-vasprintf-posix.c: Likewise.
51265
51266 2007-04-06  Bruno Haible  <bruno@clisp.org>
51267
51268         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
51269         * lib/math_.h [__DECC]: Include the overridden include file through
51270         #include_next, outside the double-inclusion guard.
51271         * lib/stdio_.h [__DECC]: Likewise.
51272         * lib/stdlib_.h [__DECC]: Likewise.
51273         * lib/string_.h [__DECC]: Likewise.
51274         * lib/time_.h [__DECC]: Likewise.
51275         * lib/wchar_.h [__DECC]: Likewise.
51276         * lib/wctype_.h [__DECC]: Likewise.
51277         * lib/inttypes_.h [__DECC]: Likewise.
51278         Reported by Albert Chin <china@thewrittenword.com> in
51279         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
51280
51281 2007-04-04  Eric Blake  <ebb9@byu.net>
51282
51283         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
51284         1.5.x.
51285
51286 2007-04-04  Bruno Haible  <bruno@clisp.org>
51287
51288         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
51289         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
51290
51291 2007-04-04  Bruno Haible  <bruno@clisp.org>
51292
51293         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
51294         results for "%010a" of Infinity and NaN.
51295         * tests/test-vasprintf-posix.c (test_function): Likewise.
51296         * tests/test-snprintf-posix.h (test_function): Likewise.
51297         * tests/test-sprintf-posix.h (test_function): Likewise.
51298         * tests/test-fprintf-posix.h (test_function): Remove these tests.
51299         * tests/test-printf-posix.h (test_function): Likewise.
51300         * tests/test-fprintf-posix.out: Update.
51301         Needed for FreeBSD 6.1.
51302
51303 2007-04-04  Bruno Haible  <bruno@clisp.org>
51304
51305         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
51306         directly used by the gnulib modules nor by gnulib-tool.
51307
51308 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
51309
51310         * DEPENDENCIES: Give overall description of version dependency
51311         desirability.  Use more-typical names for apps.
51312         Add shell, coreutils, diffutils, grep, tar, gzip.
51313
51314 2007-04-04  Simon Josefsson  <simon@josefsson.org>
51315
51316         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
51317
51318 2007-04-04  Karl Berry  <karl@gnu.org>
51319
51320         * MODULES.html.sh (func_module): missing '.
51321
51322 2007-04-03  Bruno Haible  <bruno@clisp.org>
51323
51324         * modules/argmatch-tests (Makefile.am): New variable
51325         test_argmatch_LDADD.
51326         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
51327         * modules/array-list-tests (Makefile.am): New variable
51328         test_array_list_LDADD.
51329         * modules/array-oset-tests (Makefile.am): New variable
51330         test_array_oset_LDADD.
51331         * modules/avltree-list-tests (Makefile.am): New variable
51332         test_avltree_list_LDADD.
51333         * modules/avltree-oset-tests (Makefile.am): New variable
51334         test_avltree_oset_LDADD.
51335         * modules/avltreehash-list-tests (Makefile.am): New variable
51336         test_avltreehash_list_LDADD.
51337         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
51338         test_canonicalize_lgpl_LDADD.
51339         * modules/carray-list-tests (Makefile.am): New variable
51340         test_carray_list_LDADD.
51341         * modules/dirname-tests (Makefile.am): New variable
51342         test_dirname_LDADD.
51343         * modules/linked-list-tests (Makefile.am): New variable
51344         test_linked_list_LDADD.
51345         * modules/linkedhash-list-tests (Makefile.am): New variable
51346         test_linkedhash_list_LDADD.
51347         * modules/rbtree-list-tests (Makefile.am): New variable
51348         test_rbtree_list_LDADD.
51349         * modules/rbtree-oset-tests (Makefile.am): New variable
51350         test_rbtree_oset_LDADD.
51351         * modules/rbtreehash-list-tests (Makefile.am): New variable
51352         test_rbtreehash_list_LDADD.
51353         * modules/xvasprintf-tests (Makefile.am): New variable
51354         test_xvasprintf_LDADD.
51355         Reported by Eric Blake.
51356
51357 2007-04-03  Eric Blake  <ebb9@byu.net>
51358
51359         * DEPENDENCIES: Weaken m4 requirements.
51360
51361 2007-04-03  Bruno Haible  <bruno@clisp.org>
51362
51363         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
51364         * modules/isnanl-tests (configure.ac): Likewise.
51365
51366 2007-04-03  Ben Pfaff  <blp@gnu.org>
51367
51368         * modules/iconv_open: Add $(srcdir)/ to source directory
51369         references in Makefile fragments that call gperf, to fix VPATH
51370         builds.
51371
51372 2007-04-03  Bruno Haible  <bruno@clisp.org>
51373
51374         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
51375         * lib/ldexpl.c: Undo last change.
51376
51377 2007-04-03  Bruno Haible  <bruno@clisp.org>
51378
51379         * modules/printf-frexpl (Depends-on): Undo last change.
51380         (Files): Add m4/ldexpl.m4.
51381
51382 2007-04-03  Bruno Haible  <bruno@clisp.org>
51383
51384         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
51385         * modules/isnanl (Link): New section.
51386
51387         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
51388         * modules/frexp (Link): New section.
51389
51390         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
51391         * modules/frexpl (Link): New section.
51392
51393         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
51394         * modules/ldexpl (Link): New section.
51395
51396 2007-04-03  Bruno Haible  <bruno@clisp.org>
51397
51398         * modules/TEMPLATE-EXTENDED: New file.
51399         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
51400
51401 2007-04-03  Bruno Haible  <bruno@clisp.org>
51402
51403         * DEPENDENCIES: New file.
51404         Suggested by Simon Josefsson.
51405
51406 2007-04-03  Bruno Haible  <bruno@clisp.org>
51407
51408         * doc/gnulib.texi: Escape @.
51409
51410 2007-04-03  James Youngman  <jay@gnu.org>
51411         and Paul Eggert  <eggert@cs.ucla.edu>
51412
51413         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
51414         birthtime on all systems that have birthtime, not just those which
51415         use st_birthtimensec rather than st_birthtim.  Putting zero in
51416         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
51417         that the birth time is not available for files on an NFS mount.
51418
51419 2007-04-03  Simon Josefsson  <simon@josefsson.org>
51420
51421         * modules/memxor: Move back from crypto/, suggested by Bruno.
51422         * modules/crypto/hmac-sha1: Fix memxor dependency.
51423
51424         * modules/crypto/gc: Moved from ../.
51425
51426 2007-04-02  Eric Blake  <ebb9@byu.net>
51427
51428         * lib/ldexpl.c (includes): Avoid libm.
51429
51430         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
51431
51432 2007-04-02  Bruno Haible  <bruno@clisp.org>
51433
51434         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
51435         on IRIX.
51436
51437 2007-04-02  Bruno Haible  <bruno@clisp.org>
51438
51439         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
51440         x86 or x86_64 platforms running MacOS X.
51441         Reported by Ryan Schmidt <@ryandesign.com>.
51442
51443 2007-04-02  Bruno Haible  <bruno@clisp.org>
51444
51445         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
51446         i386.
51447
51448 2007-04-01  Simon Josefsson  <simon@josefsson.org>
51449
51450         * modules/crypto/arcfour: Moved from ../.
51451         * modules/crypto/arcfour-tests: Moved from ../.
51452         * modules/crypto/arctwo: Moved from ../.
51453         * modules/crypto/arctwo-tests: Moved from ../.
51454         * modules/crypto/des: Moved from ../.
51455         * modules/crypto/des-tests: Moved from ../.
51456         * modules/crypto/gc-arcfour: Moved from ../.
51457         * modules/crypto/gc-arcfour-tests: Moved from ../.
51458         * modules/crypto/gc-arctwo: Moved from ../.
51459         * modules/crypto/gc-arctwo-tests: Moved from ../.
51460         * modules/crypto/gc-des: Moved from ../.
51461         * modules/crypto/gc-des-tests: Moved from ../.
51462         * modules/crypto/gc-hmac-md5: Moved from ../.
51463         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
51464         * modules/crypto/gc-hmac-sha1: Moved from ../.
51465         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
51466         * modules/crypto/gc-md2: Moved from ../.
51467         * modules/crypto/gc-md2-tests: Moved from ../.
51468         * modules/crypto/gc-md4: Moved from ../.
51469         * modules/crypto/gc-md4-tests: Moved from ../.
51470         * modules/crypto/gc-md5: Moved from ../.
51471         * modules/crypto/gc-md5-tests: Moved from ../.
51472         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
51473         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
51474         * modules/crypto/gc-random: Moved from ../.
51475         * modules/crypto/gc-rijndael: Moved from ../.
51476         * modules/crypto/gc-rijndael-tests: Moved from ../.
51477         * modules/crypto/gc-sha1: Moved from ../.
51478         * modules/crypto/gc-sha1-tests: Moved from ../.
51479         * modules/crypto/gc-tests: Moved from ../.
51480         * modules/crypto/hmac-md5: Moved from ../.
51481         * modules/crypto/hmac-md5-tests: Moved from ../.
51482         * modules/crypto/hmac-sha1: Moved from ../.
51483         * modules/crypto/hmac-sha1-tests: Moved from ../.
51484         * modules/crypto/md2: Moved from ../.
51485         * modules/crypto/md2-tests: Moved from ../.
51486         * modules/crypto/md4: Moved from ../.
51487         * modules/crypto/md4-tests: Moved from ../.
51488         * modules/crypto/md5: Moved from ../.
51489         * modules/crypto/md5-tests: Moved from ../.
51490         * modules/crypto/memxor: Moved from ../.
51491         * modules/crypto/rijndael: Moved from ../.
51492         * modules/crypto/rijndael-tests: Moved from ../.
51493         * modules/crypto/sha1: Moved from ../.
51494
51495 2007-03-30  James Youngman  <jay@gnu.org>
51496
51497         * tests/test-stat-time.c (prepare_test): use chmod() rather than
51498         rename() to change the ctime of a file (because ctime is unaffected
51499         by rename on jfs2 on AIX 5.1).
51500         (main): Start by doing cleanup, in case a previous run failed leaving
51501         test files behind.
51502
51503 2007-03-31  Bruno Haible  <bruno@clisp.org>
51504
51505         Support old proprietary implementations of iconv.
51506         * modules/iconv_open: New file.
51507         * lib/iconv_.h: New file.
51508         * m4/iconv_h.m4: New file.
51509         * lib/iconv_open.c: New file.
51510         * lib/iconv_open-aix.gperf: New file.
51511         * lib/iconv_open-hpux.gperf: New file.
51512         * lib/iconv_open-irix.gperf: New file.
51513         * lib/iconv_open-osf.gperf: New file.
51514         * m4/iconv_open.m4: New file.
51515         * modules/linebreak (Depends-on): Add iconv_open.
51516         * modules/striconv (Depends-on): Likewise.
51517         * modules/striconveh (Depends-on): Likewise.
51518         * modules/unicodeio (Depends-on): Likewise.
51519         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
51520         (iconv_t)(-1).
51521         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
51522         conversion if cd is (iconv_t)(-1).
51523         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
51524         is not possible.
51525
51526 2007-03-31  Bruno Haible  <bruno@clisp.org>
51527
51528         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51529         work on Solaris either. Protect also second use of "autodetect_jp".
51530
51531 2007-03-31  Bruno Haible  <bruno@clisp.org>
51532
51533         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
51534         the function is not present.
51535
51536 2007-03-31  Bruno Haible  <bruno@clisp.org>
51537
51538         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
51539         the function is not present.
51540
51541 2007-03-31  Bruno Haible  <bruno@clisp.org>
51542
51543         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
51544         a bug in HP-UX iconv_open().
51545
51546 2007-03-31  Bruno Haible  <bruno@clisp.org>
51547
51548         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
51549         (Mathematics <math.h>): New section, add fpieee.
51550         (Input/output <stdio.h>): Add fseterr.
51551         (Mathematics <math.h>): New section, add printf-frexp.
51552         (Container data structures): Add sublist.
51553         (Core language properties): Add fpucw, inline.
51554         (Functions for greatest-width integer types <inttypes.h>): Add
51555         imaxabs, imaxdiv, inttypes.
51556         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
51557         isnanl-nolibm, ldexp.
51558         (Mathematics <math.h>): New section, add printf-frexpl.
51559         (Support for systems lacking POSIX:2001): Add fprintf-posix,
51560         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
51561         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
51562         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
51563         (Unicode string functions): Add unistr/u*-mbtoucr.
51564         (Java): Add javacomp-script, javaexec-script.
51565         (C#): Add csharpcomp-script, csharpexec-script.
51566         (Support for building libraries and executables): Add havelib,
51567         relocatable-*.
51568         (Support for maintaining and releasing projects): Renamed from
51569         'Support for maintaining and release projects'. Add announce-gen.
51570
51571 2007-03-31  Bruno Haible  <bruno@clisp.org>
51572
51573         * README: Talk primarily about git.
51574         (git and CVS): Renamed from CVS.
51575         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
51576         gnulib is available through git.
51577         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
51578
51579 2007-03-30  Bruno Haible  <bruno@clisp.org>
51580
51581         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
51582         * lib/poll_.h: Likewise.
51583         * lib/stat_.h: Likewise.
51584         * lib/sys_time_.h: Likewise.
51585         * lib/sysexit_.h: Likewise.
51586         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
51587         * lib/stdbool_.h: Likewise.
51588         * lib/byteswap_.h: Add double-inclusion guard.
51589
51590 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
51591
51592         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
51593
51594 2007-03-30  Karl Berry  <karl@gnu.org>
51595
51596         * config/srclist-update: double space after USA in the license
51597         substitution, since that's how it's usually (?) written.
51598
51599 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
51600
51601         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
51602         reported by Bruno Haible.
51603
51604 2007-03-29  Bruno Haible  <bruno@clisp.org>
51605
51606         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
51607         a bug in AIX iconv().
51608
51609 2007-03-29  Bruno Haible  <bruno@clisp.org>
51610
51611         * modules/ldexpl-tests: New file.
51612         * tests/test-ldexpl.c: New file.
51613
51614 2007-03-29  Bruno Haible  <bruno@clisp.org>
51615
51616         * lib/ldexpl.c: Include fpucw.h.
51617         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
51618         multiplication.
51619         * modules/ldexpl (Depends-on): Add fpucw.
51620
51621 2007-03-29  Bruno Haible  <bruno@clisp.org>
51622
51623         * modules/ldexpl: New file.
51624         * m4/ldexpl.m4: New file.
51625         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
51626         set.
51627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
51628         REPLACE_LDEXPL.
51629         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
51630         REPLACE_LDEXPL.
51631         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51632         gl_FUNC_LDEXPL_WORKS.
51633         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
51634         * modules/mathl (Files): Remove lib/ldexpl.c.
51635         (Depends-on): Add ldexpl.
51636
51637 2007-03-29  Bruno Haible  <bruno@clisp.org>
51638
51639         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
51640
51641 2007-03-29  Bruno Haible  <bruno@clisp.org>
51642
51643         * tests/test-striconveh.c (main): Don't assume that a direct conversion
51644         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
51645         and possibly also HP-UX.
51646         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51647         work on AIX, IRIX, HP-UX, OSF/1.
51648         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
51649         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
51650         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
51651         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
51652         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
51653         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
51654
51655 2007-03-29  Bruno Haible  <bruno@clisp.org>
51656
51657         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
51658
51659 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51660
51661         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
51662         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
51663
51664 2007-03-29  Eric Blake  <ebb9@byu.net>
51665
51666         * lib/acl-internal.h: Remove redundant include.
51667         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
51668         Cygwin when a file is locked.
51669
51670 2007-03-29  Bruno Haible  <bruno@clisp.org>
51671
51672         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
51673         file.
51674         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
51675
51676 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51677
51678         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
51679         try to remove a parent directory if the child couldn't be removed
51680         (except for the first rmdir, which could fail because the child
51681         doesn't exist).  Problem reported by Jeff Blaine in
51682         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
51683
51684 2007-03-28  Bruno Haible  <bruno@clisp.org>
51685
51686         * lib/striconveh.c (utf8conv_carefully): New function.
51687         (mem_cd_iconveh_internal): Invoke it.
51688
51689 2007-03-28  Bruno Haible  <bruno@clisp.org>
51690
51691         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
51692         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
51693         input.
51694         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
51695         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
51696         unistr/u8-uctomb.
51697
51698 2007-03-28  Bruno Haible  <bruno@clisp.org>
51699
51700         * modules/unistr/u8-mbtoucr: New file.
51701         * lib/unistr/u8-mbtoucr.c: New file.
51702         * modules/unistr/u16-mbtoucr: New file.
51703         * lib/unistr/u16-mbtoucr.c: New file.
51704         * modules/unistr/u16-mbtoucr: New file.
51705         * lib/unistr/u16-mbtoucr.c: New file.
51706         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
51707
51708 2007-03-27  Simon Josefsson  <simon@josefsson.org>
51709             Bruno Haible  <bruno@clisp.org>
51710
51711         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
51712         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
51713         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
51714
51715         * m4/stdio_h.m4: Add stubs for vasprintf too.
51716
51717         * modules/stdio: Support vasprintf in sed command.
51718
51719         * modules/vasprintf: Depend on stdio for prototypes.  Remove
51720         vasprintf.h.  Add stdio module indicator.
51721
51722         * lib/stdio_.h: Declare asprintf and vasprintf, based on
51723         vasprintf.h.
51724
51725         * lib/vasprintf.h: File removed.
51726
51727         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
51728         * lib/vasprintf.c: Ditto.
51729         * lib/xvasprintf.c: Ditto.
51730         * tests/test-vasprintf-posix.c: Ditto.
51731         * tests/test-vasprintf.c: Ditto.
51732
51733 2007-03-27  Bruno Haible  <bruno@clisp.org>
51734
51735         Make vasnprintf multithread-safe.
51736         * lib/vasnprintf.c (decimal_point_char): New function.
51737         (VASNPRINTF): Use it.
51738         Suggested by Simon Josefsson.
51739
51740 2007-03-27  Eric Blake  <ebb9@byu.net>
51741
51742         Support sub-second birthtime on cygwin.
51743         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
51744         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
51745         (get_stat_birthtime): Also work with st_birthtim.
51746
51747 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
51748
51749         * lib/stat-time.h (USE_BIRTHTIME): Remove.
51750         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
51751         (get_stat_birthtime_ns): Do not try to use "spare" fields.
51752         (get_stat_birthtime_ns): Simplify compile-time tests.
51753         (get_stat_birthtime): Change the API to look like
51754         get_stat_mtime etc., except return a negative tv_nsec on error.
51755         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
51756         Don't check for "spare" fields.
51757         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
51758         or for struct stat.st_birthtime, as these tests aren't used.
51759         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
51760
51761 2007-03-27  Bruno Haible  <bruno@clisp.org>
51762
51763         * lib/stat-time.h: Include <sys/stat.h>.
51764
51765 2007-03-27  James Youngman  <jay@gnu.org>
51766
51767         * lib/stat-time.h (get_stat_birthtime): New function for
51768           retrieving st_birthtime as provided by UFS2 (hence *BSD).
51769         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
51770           and its variants.
51771         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
51772         * modules/stat-time-test: New file.
51773         * tests/test-stat-time.c: New test, devised by Bruno Haible.
51774
51775 2007-03-26  Bruno Haible  <bruno@clisp.org>
51776
51777         Better support of signalling NaNs.
51778         * lib/atanl.c: Include isnanl.h.
51779         (atanl): Perform test for NaN at the beginning of the function and
51780         through a call to isnanl.
51781         * lib/cosl.c: Include isnanl.h.
51782         (cosl): Perform test for NaN at the beginning of the function and
51783         through a call to isnanl.
51784         * lib/ldexpl.c: Include isnanl.h.
51785         (ldexpl): Perform test for NaN through a call to isnanl.
51786         * lib/logl.c: Include isnanl.h.
51787         (logl): Perform test for NaN at the beginning of the function and
51788         through a call to isnanl.
51789         * lib/sinl.c: Include isnanl.h.
51790         (sinl): Perform test for NaN at the beginning of the function and
51791         through a call to isnanl.
51792         * lib/sqrtl.c: Include isnanl.h.
51793         (sqrtl): Perform test for NaN at the beginning of the function and
51794         through a call to isnanl.
51795         * lib/tanl.c: Include isnanl.h.
51796         (tanl): Perform test for NaN at the beginning of the function and
51797         through a call to isnanl.
51798         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
51799         * modules/mathl (Depends-on): Add isnanl.
51800
51801 2007-03-26  Eric Blake  <ebb9@byu.net>
51802
51803         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
51804         regression in logic sense of previous patch.
51805
51806 2007-03-26  Bruno Haible  <bruno@clisp.org>
51807
51808         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
51809         unportable shell command "if ! ...".
51810         Reported by Ralf Wildenhues.
51811
51812 2007-03-25  Bruno Haible  <bruno@clisp.org>
51813
51814         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
51815         <sysexits.h> file, and only add EX_CONFIG.
51816         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
51817         absolute file name and whether it is sufficient. Substitute also
51818         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
51819         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
51820         ABSOLUTE_SYSEXITS_H into sysexits.h.
51821
51822 2007-03-25  Bruno Haible  <bruno@clisp.org>
51823
51824         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
51825         hints is NULL.
51826
51827 2007-03-25  Bruno Haible  <bruno@clisp.org>
51828
51829         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
51830         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
51831
51832 2007-03-25  Bruno Haible  <bruno@clisp.org>
51833
51834         * lib/vasnprintf.c: Include langinfo.h.
51835         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
51836         multithread-safe.
51837         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
51838         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
51839         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51840         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51841         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51842         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51843         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51844         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
51845         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51846         Reported by Simon Josefsson.
51847
51848 2007-03-25  Bruno Haible  <bruno@clisp.org>
51849
51850         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
51851         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
51852         * modules/vasnprintf (Depends-on): Add stdint.
51853
51854 2007-03-25  Bruno Haible  <bruno@clisp.org>
51855
51856         * modules/fpieee: New file.
51857         * m4/fpieee.m4: New file.
51858         * modules/isnan-nolibm (Depends-on): Add fpieee.
51859         * modules/isnanl-nolibm (Depends-on): Add fpieee.
51860         * modules/isnanl (Depends-on): Add fpieee.
51861
51862 2007-03-25  Bruno Haible  <bruno@clisp.org>
51863
51864         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
51865
51866 2007-03-25  Bruno Haible  <bruno@clisp.org>
51867
51868         Avoid test failures on IRIX 6.5.
51869         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
51870         (main): Use it.
51871         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
51872         macros.
51873         (main): Use them.
51874
51875 2007-03-25  Bruno Haible  <bruno@clisp.org>
51876
51877         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
51878         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
51879         exists but doesn't work.
51880         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
51881         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
51882         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
51883         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
51884         math.h.
51885
51886 2007-03-25  Bruno Haible  <bruno@clisp.org>
51887
51888         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
51889         returns inf. Needed on IRIX 6.5.
51890
51891 2007-03-25  Bruno Haible  <bruno@clisp.org>
51892
51893         * tests/test-frexpl.c: Include isnanl-nolibm.h.
51894         (main): Use isnanl instead of x != x idiom.
51895         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
51896
51897         * tests/test-frexp.c: Include isnan.h.
51898         (main): Use isnan instead of x != x idiom.
51899         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
51900
51901 2007-03-25  Bruno Haible  <bruno@clisp.org>
51902
51903         * tests/test-frexp.c (NaN): New function/macro.
51904         (main): Use it instead of 0.0 / 0.0.
51905         * tests/test-isnan.c (NaN): New function/macro.
51906         (main): Use it instead of 0.0 / 0.0.
51907         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
51908         (test_function): Use it instead of 0.0 / 0.0.
51909         * tests/test-vasprintf-posix.c (NaN): New function/macro.
51910         (test_function): Use it instead of 0.0 / 0.0.
51911         * tests/test-snprintf-posix.h (NaN): New function/macro.
51912         (test_function): Use it instead of 0.0 / 0.0.
51913         * tests/test-sprintf-posix.h (NaN): New function/macro.
51914         (test_function): Use it instead of 0.0 / 0.0.
51915         * tests/test-fprintf-posix.h (NaN): New function/macro.
51916         (test_function): Use it instead of 0.0 / 0.0.
51917         * tests/test-printf-posix.h (NaN): New function/macro.
51918         (test_function): Use it instead of 0.0 / 0.0.
51919
51920         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
51921
51922 2007-03-25  Bruno Haible  <bruno@clisp.org>
51923
51924         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
51925
51926 2007-03-25  Bruno Haible  <bruno@clisp.org>
51927
51928         * lib/regexec.c (merge_state_with_log): Make static.
51929
51930 2007-03-25  Bruno Haible  <bruno@clisp.org>
51931
51932         * lib/trigl.c (kernel_rem_pio2): Make static.
51933
51934 2007-03-25  Bruno Haible  <bruno@clisp.org>
51935
51936         * lib/sincosl.c (sincosl_table): Make static.
51937
51938 2007-03-25  Bruno Haible  <bruno@clisp.org>
51939
51940         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
51941         if the compiler does not support C99.
51942
51943 2007-03-25  Bruno Haible  <bruno@clisp.org>
51944
51945         * modules/time (Makefile.am): Ensure all rule action lines start with a
51946         tab.
51947
51948 2007-03-24  Bruno Haible  <bruno@clisp.org>
51949
51950         * modules/tsearch-tests: New file.
51951         * tests/test-tsearch.sh: New file.
51952         * tests/test-tsearch.c: New file, mostly copied from glibc.
51953
51954         * modules/search-tests: New file.
51955         * tests/test-search.c: New file.
51956
51957         * modules/search: New file.
51958         * lib/search_.h: New file, incorporating lib/tsearch.h.
51959         * m4/search_h.m4: New file.
51960         * lib/tsearch.h: Remove file.
51961         * lib/tsearch.c: Include search.h instead of tsearch.h.
51962         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
51963         HAVE_TSEARCH.
51964         * modules/tsearch (Files): Remove lib/tsearch.h.
51965         (Depends-on): Add search.
51966         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
51967         (Include): Change tsearch.h into search.h.
51968
51969 2007-03-24  Bruno Haible  <bruno@clisp.org>
51970
51971         * modules/fpucw: New file.
51972         * lib/fpucw.h: New file.
51973         * lib/frexp.c: Include fpucw.h.
51974         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51975         (FUNC): Use them.
51976         * lib/printf-frexp.c: Include fpucw.h.
51977         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51978         (FUNC): Use them.
51979         * lib/vasnprintf.c: Include fpucw.h.
51980         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
51981         'long double' calculations.
51982         * tests/test-frexpl.c: Include fpucw.h.
51983         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51984         * tests/test-printf-frexpl.c: Include fpucw.h.
51985         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51986         * modules/frexpl (Depends-on): Add fpucw.
51987         * modules/printf-frexpl (Depends-on): Likewise.
51988         * modules/fprintf-posix (Depends-on): Likewise.
51989         * modules/snprintf-posix (Depends-on): Likewise.
51990         * modules/sprintf-posix (Depends-on): Likewise.
51991         * modules/vasnprintf-posix (Depends-on): Likewise.
51992         * modules/vasprintf-posix (Depends-on): Likewise.
51993         * modules/vfprintf-posix (Depends-on): Likewise.
51994         * modules/vsnprintf-posix (Depends-on): Likewise.
51995         * modules/vsprintf-posix (Depends-on): Likewise.
51996         * modules/frexpl-tests (Depends-on): Likewise.
51997         * modules/printf-frexpl-tests (Depends-on): Likewise.
51998
51999 2007-03-24  Bruno Haible  <bruno@clisp.org>
52000
52001         * lib/float+.h: New file.
52002         * lib/isnan.c: Include float+.h.
52003         (SIZE): New macro.
52004         (FUNC): Compare only SIZE bytes of the value.
52005         * lib/vasnprintf.c: Include float+.h.
52006         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
52007         SIZEOF_LDBL or SIZEOF_DBL bytes.
52008         * modules/isnan-nolibm (Files): Add lib/float+.h.
52009         * modules/isnanl-nolibm (Files): Add lib/float+.h.
52010         * modules/isnanl (Files): Add lib/float+.h.
52011         * modules/vasnprintf (Files): Add lib/float+.h.
52012
52013 2007-03-24  Bruno Haible  <bruno@clisp.org>
52014
52015         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
52016         include isnanl-nolibm.h.
52017
52018 2007-03-24  Bruno Haible  <bruno@clisp.org>
52019
52020         * tests/test-read-file.c (main): Don't produce spurious output for
52021         expected situations. Make the test fail if it encountered unexpected
52022         results.
52023
52024 2007-03-24  Bruno Haible  <bruno@clisp.org>
52025
52026         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
52027         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
52028
52029 2007-03-24  Bruno Haible  <bruno@clisp.org>
52030
52031         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
52032
52033 2007-03-24  Bruno Haible  <bruno@clisp.org>
52034
52035         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
52036         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
52037
52038         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
52039         * modules/utf8-ucs4: Turn into a symbolic link to module
52040         unistr/u8-mbtouc.
52041
52042         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
52043         utf8-ucs4-unsafe.
52044         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
52045         unistr/u8-mbtouc-unsafe.
52046
52047         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
52048         * modules/utf16-ucs4: Turn into a symbolic link to module
52049         unistr/u16-mbtouc.
52050
52051         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
52052         utf16-ucs4-unsafe.
52053         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
52054         unistr/u16-mbtouc-unsafe.
52055
52056         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
52057         * modules/ucs4-utf8: Turn into a symbolic link to module
52058         unistr/u8-ubtomb.
52059
52060         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
52061         * modules/ucs4-utf16: Turn into a symbolic link to module
52062         unistr/u16-ubtomb.
52063
52064 2007-03-24  Bruno Haible  <bruno@clisp.org>
52065
52066         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
52067         Enable the function only if HAVE_INLINE.
52068         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
52069         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
52070         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
52071         Enable the function only if HAVE_INLINE.
52072         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
52073         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
52074         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
52075         Enable the function only if HAVE_INLINE.
52076         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
52077         Enable the function only if HAVE_INLINE.
52078         * modules/utf8-ucs4: Update.
52079         * modules/utf8-ucs4-unsafe: Update.
52080         * modules/utf16-ucs4: Update.
52081         * modules/utf16-ucs4-unsafe: Update.
52082         * modules/ucs4-utf8: Update.
52083         * modules/ucs4-utf16: Update.
52084
52085 2007-03-24  Bruno Haible  <bruno@clisp.org>
52086
52087         * lib/utf8-ucs4.h: Remove file.
52088         * lib/utf8-ucs4-unsafe.h: Remove file.
52089         * lib/utf16-ucs4.h: Remove file.
52090         * lib/utf16-ucs4-unsafe.h: Remove file.
52091         * lib/ucs4-utf8.h: Remove file.
52092         * lib/ucs4-utf16.h: Remove file.
52093         * lib/unistr.h: Include their previous contents.
52094         * m4/utf-ucs4.m4: Remove file.
52095         * m4/ucs4-utf.m4: Remove file.
52096         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
52097         (Depends-on): Add unistr/base.
52098         (configure.ac): Remove gl_UTF_UCS4.
52099         (Makefile.am): Update.
52100         (Include): Change to unistr.h.
52101         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
52102         (Depends-on): Add unistr/base.
52103         (configure.ac): Remove gl_UTF_UCS4.
52104         (Makefile.am): Update.
52105         (Include): Change to unistr.h.
52106         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
52107         (Depends-on): Add unistr/base.
52108         (configure.ac): Remove gl_UTF_UCS4.
52109         (Makefile.am): Update.
52110         (Include): Change to unistr.h.
52111         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
52112         (Depends-on): Add unistr/base.
52113         (configure.ac): Remove gl_UTF_UCS4.
52114         (Makefile.am): Update.
52115         (Include): Change to unistr.h.
52116         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
52117         (Depends-on): Add unistr/base.
52118         (configure.ac): Remove gl_UCS4_UTF.
52119         (Makefile.am): Update.
52120         (Include): Change to unistr.h.
52121         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
52122         (Depends-on): Add unistr/base.
52123         (configure.ac): Remove gl_UCS4_UTF.
52124         (Makefile.am): Update.
52125         (Include): Change to unistr.h.
52126         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
52127         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
52128         utf8-ucs4-unsafe.h.
52129         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
52130         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
52131         utf16-ucs4-unsafe.h.
52132         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
52133         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
52134         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
52135         * lib/unistr/u8-strchr.c: Likewise.
52136         * lib/unistr/u8-strrchr.c: Likewise.
52137         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
52138         * lib/unistr/u16-strchr.c: Likewise.
52139         * lib/unistr/u16-strrchr.c: Likewise.
52140         * lib/striconveh.c: Update.
52141         * lib/linebreak.c: Update.
52142
52143 2007-03-24  Bruno Haible  <bruno@clisp.org>
52144
52145         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
52146         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
52147
52148 2007-03-22  Bruno Haible  <bruno@clisp.org>
52149
52150         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
52151
52152 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
52153
52154         * MODULES.html.sh (File system functions): New module write-any-file.
52155         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
52156         * m4/write-any-file.m4: New files.
52157
52158 2007-03-23  Eric Blake  <ebb9@byu.net>
52159
52160         * gnulib-tool: Rearrange space-tab sequences, since some editors
52161         like to eat them.
52162
52163 2007-03-23  Eric Blake  <ebb9@byu.net>
52164
52165         * lib/version-etc.c (version_etc_va): Update license wording to
52166         be more concise.  Recommended by Richard Stallman.
52167
52168 2007-03-22  Bruno Haible  <bruno@clisp.org>
52169
52170         * lib/poll.c (MSG_PEEK): New fallback definition.
52171
52172 2007-03-22  Bruno Haible  <bruno@clisp.org>
52173
52174         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
52175         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
52176         (main): Update.
52177         Fixes a compilation error on BeOS.
52178
52179 2007-03-22  Bruno Haible  <bruno@clisp.org>
52180
52181         * modules/frexpl-tests: New file.
52182         * tests/test-frexpl.c: New file.
52183
52184         * modules/frexpl: New file.
52185         * m4/frexpl.m4: New file.
52186         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
52187         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
52188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
52189         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
52190         (Depends-on): Add frexpl. Remove isnanl-nolibm.
52191         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
52192
52193 2007-03-22  Bruno Haible  <bruno@clisp.org>
52194
52195         * lib/frexpl.c: Share code with lib/frexp.c.
52196         * modules/mathl (Files): Add lib/frexp.c.
52197         (Depends-on): Add isnanl-nolibm.
52198
52199 2007-03-22  Bruno Haible  <bruno@clisp.org>
52200
52201         * modules/printf-frexp (Files): Add m4/frexp.m4.
52202         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
52203         only if the found frexp function actually works.
52204
52205 2007-03-22  Bruno Haible  <bruno@clisp.org>
52206
52207         * lib/frexp.c: Remove older implementation that uses divisions.
52208
52209 2007-03-21  Bruno Haible  <bruno@clisp.org>
52210
52211         * modules/frexp-tests: New file.
52212         * tests/test-frexp.c: New file.
52213
52214         * modules/frexp: New file.
52215         * lib/frexp.c: New file.
52216         * m4/frexp.m4: New file.
52217         * lib/math_.h (frexp): New declaration.
52218         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
52219         REPLACE_FREXP.
52220         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
52221
52222 2007-03-21  Bruno Haible  <bruno@clisp.org>
52223
52224         * modules/isnanl-tests: New file.
52225         * tests/test-isnanl.c: New file.
52226
52227         * modules/isnanl: New file.
52228         * lib/isnanl.h: New file.
52229         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
52230         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
52231         gl_FUNC_ISNANL_WORKS.
52232         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
52233         New macros.
52234
52235 2007-03-21  Bruno Haible  <bruno@clisp.org>
52236
52237         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
52238         lib/isnanl.h.
52239         (Include): Update.
52240         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
52241         * lib/vasnprintf.c: Update.
52242         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
52243         tests/test-isnanl.h, remove tests/test-isnanl.c.
52244         (Makefile.am): Update.
52245         * tests/test-isnanl-nolibm.c: New file.
52246         * tests/test-isnanl.h: New file.
52247         * tests/test-isnanl.c: Remove file.
52248
52249 2007-03-21  Jim Meyering  <jim@meyering.net>
52250
52251         When trying to open ".", treat ESTALE like EACCES.
52252         * lib/savewd.c (savewd_save): Resort to forking not just upon
52253         failure with EACCES, but also when errno is ESTALE.
52254
52255 2007-03-20  Bruno Haible  <bruno@clisp.org>
52256
52257         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
52258         Needed on AIX 5.1. Reported by Matthew Woehlke.
52259
52260 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52261
52262         Suggestions by Bruno Haible:
52263         * lib/acl-internal.h: Include "gettext.h" rather than rolling
52264         our own.
52265         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
52266         * modules/acl (Depends-on): Add gettext.
52267
52268 2007-03-19  Bruno Haible  <bruno@clisp.org>
52269
52270         * modules/iconvme: Remove file.
52271         * lib/iconvme.h: Remove file.
52272         * lib/iconvme.c: Remove file.
52273         * m4/iconvme.m4: Remove file.
52274
52275 2007-03-19  Bruno Haible  <bruno@clisp.org>
52276
52277         * doc/relocatable-maint.texi: Break long shell script line.
52278         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52279
52280 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52281
52282         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
52283         handle file_has_acl.
52284         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
52285         * lib/acl.c: Move header inclusions and related macro defns into
52286         lib/acl-internal.h.
52287         (S_ISLNK): Remove defn, since that's now done for us.
52288         (file_has_acl): Move to lib/file-has-acl.c.
52289         Call acl_trivial if available.  This is the crucial part of the fix.
52290         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
52291         shared within the library.  Rewrite a bit, partly to make it compatible
52292         with the GNU coding style.
52293         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
52294         Remove unnecessary double-quotes.
52295         Don't test for acl_to_text; the build will catch that.
52296         Replace acl_entries if it doesn't exist and it is needed.
52297         Check for -lsec and acl_trivial (as used on Solaris 10).
52298         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
52299         lib/file-has-acl.c.
52300         (Depends-on): Add sys_stat, for S_ISLNK.
52301
52302 2007-03-19  Ben Pfaff  <blp@gnu.org>
52303
52304         * doc/gnulib.texi: Fix typos.
52305         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
52306
52307 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
52308
52309         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
52310         If size is zero here, buf must be zero.
52311
52312 2007-03-19  Simon Josefsson  <simon@josefsson.org>
52313
52314         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
52315         <bruno@clisp.org>.
52316
52317 2007-03-18  Bruno Haible  <bruno@clisp.org>
52318
52319         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
52320         Suggested by Eric Blake.
52321
52322 2007-03-18  Ben Pfaff  <blp@gnu.org>
52323
52324         * doc/relocatable.texi: Recommend using as prefix a directory
52325         that does not exist and will never be created.  Based on
52326         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
52327         and others.
52328
52329 2007-03-17  Bruno Haible  <bruno@clisp.org>
52330
52331         * lib/fchownat.c: Include lchown.h.
52332
52333 2007-03-17  Bruno Haible  <bruno@clisp.org>
52334
52335         Fix endless loop when the given allocated size was > INT_MAX.
52336         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
52337         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
52338         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
52339         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
52340         * lib/sprintf.c (sprintf): Likewise.
52341
52342 2007-03-17  Bruno Haible  <bruno@clisp.org>
52343
52344         * tests/test-argp-2.sh (func_compare): Output a context diff.
52345
52346 2007-03-17  Bruno Haible  <bruno@clisp.org>
52347
52348         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
52349         locale's decimal-point character.
52350
52351 2007-03-17  Bruno Haible  <bruno@clisp.org>
52352
52353         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
52354         before comparing it. Needed because on some platforms (e.g. x86) a
52355         'long double' occupies less bytes than sizeof (long double).
52356
52357 2007-03-17  Bruno Haible  <bruno@clisp.org>
52358
52359         * tests/test-crc.c (main): Make printf statements 64-bit clean.
52360         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
52361         * tests/test-getaddrinfo.c (simple): Likewise.
52362         * tests/test-read-file.c (main): Likewise.
52363
52364 2007-03-17  Bruno Haible  <bruno@clisp.org>
52365
52366         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
52367
52368 2007-03-17  Bruno Haible  <bruno@clisp.org>
52369
52370         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
52371         unused variable.
52372
52373 2007-03-17  Bruno Haible  <bruno@clisp.org>
52374
52375         * tests/test-c-strcasecmp.c: Include c-strcase.h.
52376         * tests/test-c-strncasecmp.c: Likewise.
52377
52378 2007-03-17  Bruno Haible  <bruno@clisp.org>
52379
52380         * modules/stdlib (Depends-on): Add unistd.
52381         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
52382         Needed for MacOS X 10.3.
52383
52384 2007-03-17  Bruno Haible  <bruno@clisp.org>
52385
52386         * lib/unistr/u-strdup.h: Include <stdlib.h>.
52387
52388 2007-03-17  Bruno Haible  <bruno@clisp.org>
52389
52390         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
52391
52392 2007-03-17  Bruno Haible  <bruno@clisp.org>
52393
52394         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
52395         to reflect files copied from gnulib (with or without modifications).
52396         Suggested by Jim Meyering.
52397
52398 2007-03-17  Eric Blake  <ebb9@byu.net>
52399
52400         * NEWS: Document stdlib change from 2007-02-18.
52401
52402 2007-03-17  Jim Meyering  <jim@meyering.net>
52403
52404         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
52405         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
52406         someone uses a name containing shell meta-characters.
52407         Reported by Alfred M. Szmidt.
52408
52409         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
52410
52411 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52412
52413         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
52414         and copy gettext configuration files only if configure.ac contains
52415         a use of AM_GNU_GETTEXT_VERSION.
52416
52417 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
52418
52419         * build-aux/bootstrap (gnulib_name): New variable.
52420         (gnulib_tool_options): Use it.
52421
52422 2007-03-13  Simon Josefsson  <simon@josefsson.org>
52423
52424         * tests/test-des.c: Use new namespace.
52425
52426 2007-03-15  Bruno Haible  <bruno@clisp.org>
52427
52428         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
52429         Reported by James Youngman <jay@gnu.org>.
52430
52431 2007-03-15  Bruno Haible  <bruno@clisp.org>
52432
52433         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
52434         declared prototype. Needed with cc on OSF/1 5.1.
52435
52436 2007-03-15  Bruno Haible  <bruno@clisp.org>
52437
52438         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
52439         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
52440         (struct gl_list_implementation): Add dispose_fn argument to the
52441         'create_empty', 'create' methods.
52442         (struct gl_list_impl_base): Add field 'dispose_fn'.
52443         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
52444         argument.
52445         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
52446         dispose_fn argument.
52447         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
52448         dispose_fn on the dropped values.
52449         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
52450         dispose_fn argument.
52451         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
52452         dropped values.
52453         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
52454         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52455         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
52456         (gl_tree_remove_node): Call dispose_fn on the dropped value.
52457         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
52458         argument.
52459         (gl_tree_list_free): Call dispose_fn on the dropped values.
52460         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
52461         the dropped values.
52462         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
52463         Add dispose_fn argument.
52464         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
52465         Call dispose_fn on the dropped values.
52466         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
52467         Add dispose_fn argument.
52468         (gl_sublist_create): Initialize the 'dispose_fn' field.
52469         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
52470         * tests/test-array_list.c (main): Update.
52471         * tests/test-carray_list.c (main): Update.
52472         * tests/test-avltree_list.c (main): Update.
52473         * tests/test-rbtree_list.c (main): Update.
52474         * tests/test-avltreehash_list.c (main): Update.
52475         * tests/test-rbtreehash_list.c (main): Update.
52476         * tests/test-linked_list.c (main): Update.
52477         * tests/test-linkedhash_list.c (main): Update.
52478         * tests/test-array_oset.c (main): Update.
52479
52480 2007-03-15  Bruno Haible  <bruno@clisp.org>
52481
52482         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
52483         (gl_oset_create_empty): Add dispose_fn argument.
52484         (struct gl_oset_implementation): Add dispose_fn argument to
52485         'create_empty' method.
52486         (struct gl_oset_impl_base): Add dispose_fn field.
52487         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
52488         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
52489         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
52490         values.
52491         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
52492         (gl_tree_oset_free): Call dispose_fn on the dropped values.
52493         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52494         dropped value.
52495         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
52496         dropped value.
52497         * tests/test-array_oset.c (main): Update.
52498         * tests/test-avltree_oset.c (main): Update.
52499         * tests/test-rbtree_oset.c (main): Update.
52500         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
52501
52502 2007-03-13  Bruno Haible  <bruno@clisp.org>
52503
52504         * tests/test-stdbool.c (i): Update after last patch.
52505
52506 2007-03-12  Bruno Haible  <bruno@clisp.org>
52507
52508         * lib/quotearg.c: Include <wctype.h> early, before the definition of
52509         the iswprint macro. Needed on Solaris 2.5.1.
52510
52511 2007-03-12  Bruno Haible  <bruno@clisp.org>
52512
52513         * tests/test-printf-frexp.c (main): Declare x as volatile.
52514
52515 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52516
52517         * doc/gnulib.texi (Build robot for gnulib): New section.
52518
52519 2007-03-12  Jim Meyering  <jim@meyering.net>
52520
52521         * build-aux/bootstrap: New file.
52522         * build-aux/bootstrap.conf: New file, from coreutils.
52523
52524 2007-03-11  Bruno Haible  <bruno@clisp.org>
52525
52526         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
52527
52528 2007-03-12  Simon Josefsson  <simon@josefsson.org>
52529
52530         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
52531         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
52532         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
52533
52534 2007-03-11  Bruno Haible  <bruno@clisp.org>
52535
52536         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
52537         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
52538
52539 2007-03-11  Bruno Haible  <bruno@clisp.org>
52540
52541         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
52542         formula. Needed for SunPRO C 5.0.
52543
52544 2007-03-11  Bruno Haible  <bruno@clisp.org>
52545
52546         * modules/long-options (Depends-on): Add getopt.
52547
52548 2007-03-11  Bruno Haible  <bruno@clisp.org>
52549
52550         * modules/modechange (Depends-on): Add stdbool.
52551
52552 2007-03-11  Bruno Haible  <bruno@clisp.org>
52553
52554         * modules/i-ring (Depends-on): Add stdbool.
52555
52556 2007-03-11  Bruno Haible  <bruno@clisp.org>
52557
52558         * modules/gc-des (Depends-on): Add stdbool.
52559
52560 2007-03-11  Bruno Haible  <bruno@clisp.org>
52561
52562         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
52563
52564 2007-03-11  Bruno Haible  <bruno@clisp.org>
52565
52566         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
52567
52568 2007-03-11  Bruno Haible  <bruno@clisp.org>
52569
52570         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
52571
52572 2007-03-11  Bruno Haible  <bruno@clisp.org>
52573
52574         * lib/vasnprintf.c (sprintf): Undefine.
52575
52576 2007-03-11  Bruno Haible  <bruno@clisp.org>
52577
52578         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
52579         initializers in SunPRO C and Compaq C compilers.
52580
52581 2007-03-11  Bruno Haible  <bruno@clisp.org>
52582
52583         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
52584         decrementing code ANSI C compliant.
52585
52586 2007-03-11  Bruno Haible  <bruno@clisp.org>
52587
52588         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
52589         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
52590
52591 2007-03-11  Bruno Haible  <bruno@clisp.org>
52592
52593         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
52594         <stdbool.h> substitute doesn't pass.
52595
52596 2007-03-11  Bruno Haible  <bruno@clisp.org>
52597
52598         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
52599
52600 2007-03-11  Bruno Haible  <bruno@clisp.org>
52601
52602         * gnulib-tool (func_create_megatestdir): Create also an autobuild
52603         script, for submission to autobuild.josefsson.org.
52604
52605 2007-03-10  Bruno Haible  <bruno@clisp.org>
52606
52607         * modules/canonicalize-lgpl-tests: New file.
52608         * tests/test-canonicalize-lgpl.sh: New file.
52609         * tests/test-canonicalize-lgpl.c: New file.
52610
52611         * modules/c-strcase-tests: New file.
52612         * tests/test-c-strcase.sh: New file.
52613         * tests/test-c-strcasecmp.c: New file.
52614         * tests/test-c-strncasecmp.c: New file.
52615
52616         * modules/atexit-tests: New file.
52617         * tests/test-atexit.sh: New file.
52618         * tests/test-atexit.c: New file.
52619
52620 2007-03-10  Bruno Haible  <bruno@clisp.org>
52621
52622         * tests/test-binary-io.sh: Use temporary filenames that are not so
52623         likely to clash with those of other tests (in a parallel make).
52624         * tests/test-binary-io.c: Likewise.
52625
52626 2007-03-10  Bruno Haible  <bruno@clisp.org>
52627
52628         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
52629         fallback; use #error instead.
52630         Suggested by Simon Josefsson.
52631
52632 2007-03-10  Bruno Haible  <bruno@clisp.org>
52633
52634         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
52635         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
52636         first and the last.
52637
52638 2007-03-10  Bruno Haible  <bruno@clisp.org>
52639
52640         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
52641
52642 2007-03-10  Bruno Haible  <bruno@clisp.org>
52643
52644         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
52645         "make distcheck".
52646         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
52647         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
52648         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
52649
52650 2007-03-10  Bruno Haible  <bruno@clisp.org>
52651
52652         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
52653         variable.
52654         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
52655         variable.
52656
52657 2007-03-09  Eric Blake  <ebb9@byu.net>
52658         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
52659
52660         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
52661         types are not being provided by gnulib.
52662         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
52663         types are supported.
52664
52665 2007-03-10  Bruno Haible  <bruno@clisp.org>
52666
52667         * lib/stdio_.h (__attribute__): New macro.
52668         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
52669         vsprintf): Specify __attribute__ __format__ for GCC.
52670         Suggested by Eric Blake.
52671
52672 2007-03-09  Bruno Haible  <bruno@clisp.org>
52673
52674         * modules/printf-posix-tests: New file.
52675         * tests/test-printf-posix.sh: New file.
52676         * tests/test-printf-posix.c: New file.
52677
52678         * modules/printf-posix: New file.
52679         * lib/printf.c: New file.
52680         * m4/printf-posix-rpl.m4: New file.
52681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
52682         REPLACE_PRINTF.
52683         * lib/stdio_.h (printf): New declaration.
52684         (format, __format__, ____printf____, ____scanf____, ____strftime____,
52685         ____strfmon____): New macros.
52686         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
52687         REPLACE_PRINTF.
52688
52689 2007-03-09  Bruno Haible  <bruno@clisp.org>
52690
52691         * tests/test-vasnprintf-posix2.sh: New file.
52692         * tests/test-vasnprintf-posix2.c: New file.
52693         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
52694         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
52695         (Makefile.am): Activate test-vasnprintf-posix2.sh.
52696
52697         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
52698         a locale dependent decimal point, rather than always '.'.
52699
52700 2007-03-09  Eric Blake  <ebb9@byu.net>
52701
52702         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
52703         spite of platforms like Tandem/NSK that define it to -1.
52704
52705 2007-03-08  Bruno Haible  <bruno@clisp.org>
52706
52707         * modules/vprintf-posix-tests: New file.
52708         * tests/test-vprintf-posix.sh: New file.
52709         * tests/test-vprintf-posix.c: New file.
52710         * tests/test-printf-posix.h: New file.
52711
52712         * modules/vprintf-posix: New file.
52713         * lib/vprintf.c: New file.
52714         * m4/vprintf-posix.m4: New file.
52715         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
52716         REPLACE_VPRINTF.
52717         * lib/stdio_.h (vprintf): New declaration.
52718         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
52719         REPLACE_VPRINTF.
52720
52721 2007-03-08  Bruno Haible  <bruno@clisp.org>
52722
52723         * modules/fprintf-posix-tests: New file.
52724         * tests/test-fprintf-posix.sh: New file.
52725         * tests/test-fprintf-posix.c: New file.
52726
52727         * modules/fprintf-posix: New file.
52728         * lib/fprintf.c: New file.
52729         * m4/fprintf-posix.m4: New file.
52730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
52731         REPLACE_FPRINTF.
52732         * lib/stdio_.h (fprintf): New declaration.
52733         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
52734         REPLACE_FPRINTF.
52735
52736 2007-03-08  Bruno Haible  <bruno@clisp.org>
52737
52738         * modules/vfprintf-posix-tests: New file.
52739         * tests/test-vfprintf-posix.sh: New file.
52740         * tests/test-vfprintf-posix.c: New file.
52741         * tests/test-fprintf-posix.h: New file.
52742         * tests/test-fprintf-posix.out: New file.
52743
52744         * modules/vfprintf-posix: New file.
52745         * lib/vfprintf.c: New file.
52746         * m4/vfprintf-posix.m4: New file.
52747         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
52748         REPLACE_VFPRINTF.
52749         * lib/stdio_.h (vfprintf): New declaration.
52750         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
52751         REPLACE_VFPRINTF.
52752
52753 2007-03-08  Bruno Haible  <bruno@clisp.org>
52754
52755         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
52756
52757 2007-03-08  Bruno Haible  <bruno@clisp.org>
52758
52759         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
52760         instead of 'expr' invocations.
52761         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52762         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52763         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52764         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52765         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52766         Suggested by Paul Eggert.
52767
52768 2007-03-08  Bruno Haible  <bruno@clisp.org>
52769
52770         * modules/fseterr-tests: New file.
52771         * tests/test-fseterr.c: New file.
52772
52773         * modules/fseterr: New file.
52774         * lib/fseterr.h: New file.
52775         * lib/fseterr.c: New file.
52776
52777 2007-03-08  Bruno Haible  <bruno@clisp.org>
52778
52779         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
52780         * lib/getopt_.h: Likewise.
52781         * lib/mbswidth.h: Likewise.
52782         * lib/setenv.h: Likewise.
52783         * lib/vasnprintf.h: Likewise.
52784         * lib/vasprintf.h: Likewise.
52785         * lib/verror.h: Likewise.
52786         * lib/xsetenv.h: Likewise.
52787         * lib/xvasprintf.h: Likewise.
52788
52789 2007-03-08  Jim Meyering  <jim@meyering.net>
52790
52791         * users.txt: Add parted.
52792
52793         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
52794
52795 2007-03-07  Bruno Haible  <bruno@clisp.org>
52796
52797         * m4/printf.m4: Make the shell script snippets copy&pastable.
52798
52799 2007-03-02  Bruno Haible  <bruno@clisp.org>
52800
52801         * lib/netinet_in_.h: New file.
52802         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
52803         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
52804         * modules/netinet_in (Files): Add lib/netinet_in_.h.
52805         (Depends-on): Add absolute-header.
52806         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
52807         into netinet/in.h.
52808
52809 2007-03-03  Bruno Haible  <bruno@clisp.org>
52810
52811         * lib/sys_select_.h: New file.
52812         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
52813         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
52814         * modules/sys_select (Files): Add lib/sys_select_.h.
52815         (Depends-on): Add absolute-header.
52816         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
52817         into sys/select.h.
52818
52819 2007-03-02  Bruno Haible  <bruno@clisp.org>
52820
52821         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
52822         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
52823         values.
52824         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
52825         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
52826         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
52827         * modules/sys_socket (Depends-on): Add absolute-header.
52828         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
52829         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
52830         (Include): Remove requirement of inclusion of <sys/types.h>.
52831
52832 2007-03-02  Bruno Haible  <bruno@clisp.org>
52833
52834         * lib/byteswap_.h (bswap_32): Fix formula.
52835
52836 2007-03-06  Bruno Haible  <bruno@clisp.org>
52837
52838         * modules/sprintf-posix-tests: New file.
52839         * tests/test-sprintf-posix.c: New file.
52840
52841         * modules/sprintf-posix: New file.
52842         * lib/sprintf.c: New file.
52843         * m4/sprintf-posix.m4: New file.
52844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
52845         REPLACE_SPRINTF.
52846         * lib/stdio_.h (sprintf): New declaration.
52847         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
52848         REPLACE_SPRINTF.
52849
52850 2007-03-06  Bruno Haible  <bruno@clisp.org>
52851
52852         * modules/vsprintf-posix-tests: New file.
52853         * tests/test-vsprintf-posix.c: New file.
52854         * tests/test-sprintf-posix.h: New file.
52855
52856         * modules/vsprintf-posix: New file.
52857         * lib/vsprintf.c: New file.
52858         * m4/vsprintf-posix.m4: New file.
52859         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
52860         REPLACE_VSPRINTF.
52861         * lib/stdio_.h (vsprintf): New declaration.
52862         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
52863         REPLACE_VSPRINTF.
52864
52865 2007-03-06  Bruno Haible  <bruno@clisp.org>
52866
52867         * modules/vsnprintf (Depend-on): Remove minmax.
52868
52869 2007-03-06  Bruno Haible  <bruno@clisp.org>
52870
52871         * modules/snprintf-posix-tests: New file.
52872         * tests/test-snprintf-posix.c: New file.
52873
52874         * modules/snprintf-posix: New file.
52875         * m4/snprintf-posix.m4: New file.
52876         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
52877         gl_FUNC_SNPRINTF.
52878         (gl_FUNC_SNPRINTF): Invoke it.
52879         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
52880         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
52881         is set.
52882         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
52883
52884 2007-03-06  Bruno Haible  <bruno@clisp.org>
52885
52886         * modules/vsnprintf-posix-tests: New file.
52887         * tests/test-vsnprintf-posix.c: New file.
52888         * tests/test-snprintf-posix.h: New file.
52889
52890         * modules/vsnprintf-posix: New file.
52891         * m4/vsnprintf-posix.m4: New file.
52892         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
52893         gl_FUNC_VSNPRINTF.
52894         (gl_FUNC_VSNPRINTF): Invoke it.
52895         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
52896         * lib/stdio_.h (vsnprintf): Define as a replacement if
52897         REPLACE_VSNPRINTF is set.
52898         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
52899
52900 2007-03-06  Bruno Haible  <bruno@clisp.org>
52901
52902         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
52903         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
52904
52905 2007-03-06  Bruno Haible  <bruno@clisp.org>
52906
52907         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
52908         (asinl): Declare also if HAVE_DECL_ASINL is set.
52909         (atanl): Declare also if HAVE_DECL_ATANL is set.
52910         (ceill): Declare also if HAVE_DECL_CEILL is set.
52911         (cosl): Declare also if HAVE_DECL_COSL is set.
52912         (expl): Declare also if HAVE_DECL_EXPL is set.
52913         (floorl): Declare also if HAVE_DECL_FLOORL is set.
52914         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
52915         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
52916         (logl): Declare also if HAVE_DECL_LOGL is set.
52917         (sinl): Declare also if HAVE_DECL_SINL is set.
52918         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
52919         (tanl): Declare also if HAVE_DECL_TANL is set.
52920         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
52921         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
52922         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
52923         declaration of frexpl, ldexpl.
52924         * modules/printf-frexpl (Depends-on): Add math.
52925         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
52926
52927 2007-03-05  Bruno Haible  <bruno@clisp.org>
52928
52929         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
52930         frexpl and ldexpl are declared.
52931         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
52932
52933 2007-03-05  Bruno Haible  <bruno@clisp.org>
52934
52935         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
52936         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
52937
52938 2007-03-05  Bruno Haible  <bruno@clisp.org>
52939
52940         * lib/stdio_.h: Include <stddef.h>.
52941
52942 2007-03-05  Bruno Haible  <bruno@clisp.org>
52943
52944         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
52945
52946 2007-03-05  Bruno Haible  <bruno@clisp.org>
52947
52948         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
52949         NetBSD 4, from Ralf Wildenhues.
52950
52951 2007-03-04  Bruno Haible  <bruno@clisp.org>
52952
52953         * lib/vasprintf.h: Update #if logic for the case when the functions
52954         exist but are overridden.
52955
52956 2007-03-04  Bruno Haible  <bruno@clisp.org>
52957
52958         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
52959         implementations: glibc-2.4 and MacOS X 10.3.
52960         * tests/test-vasnprintf-posix.c (test_function): Test also the case
52961         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
52962         * tests/test-vasprintf-posix.c (test_function): Likewise.
52963
52964 2007-03-04  Bruno Haible  <bruno@clisp.org>
52965
52966         * modules/vasprintf-posix-tests: New file.
52967         * tests/test-vasprintf-posix.c: New file.
52968
52969         * modules/vasprintf-posix: New file.
52970         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
52971         defined.
52972         * m4/vasprintf-posix.m4: New file.
52973         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
52974         gl_FUNC_VASPRINTF.
52975         (gl_FUNC_VASPRINTF): Invoke it.
52976         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
52977         here.
52978         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
52979
52980 2007-03-04  Bruno Haible  <bruno@clisp.org>
52981
52982         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
52983         REPLACE_GETTIMEOFDAY.
52984         * modules/sys_time (Makefile.am): Likewise.
52985         * m4/sys_time_h.m4: Likewise.
52986         * m4/gettimeofday.m4: Likewise.
52987
52988 2007-03-04  Bruno Haible  <bruno@clisp.org>
52989
52990         * modules/vasnprintf-posix-tests: New file.
52991         * tests/test-vasnprintf-posix.c: New file.
52992
52993         * modules/vasnprintf-posix: New file.
52994         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
52995         printf-frexpl.h.
52996         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
52997         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
52998         REPLACE_VASNPRINTF is defined.
52999         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
53000         gl_FUNC_VASNPRINTF.
53001         (gl_FUNC_VASNPRINTF): Invoke it.
53002         * m4/vasnprintf-posix.m4: New file.
53003         * m4/printf.m4: New file.
53004
53005 2007-03-04  Bruno Haible  <bruno@clisp.org>
53006
53007         Compile progreloc.c only if --enable-relocatable is specified.
53008         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
53009         if --enable-relocatable was specified.
53010         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
53011         lib_SOURCES.
53012
53013 2007-03-04  Jim Meyering  <jim@meyering.net>
53014
53015         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
53016         Use it consistently, rather than enumerating errno constants.
53017
53018 2007-03-04  Bruno Haible  <bruno@clisp.org>
53019
53020         * modules/xvasprintf-tests: New file.
53021         * tests/test-xvasprintf.c: New file.
53022
53023         * modules/vasprintf-tests: New file.
53024         * tests/test-vasprintf.c: New file.
53025
53026         * modules/vasnprintf-tests: New file.
53027         * tests/test-vasnprintf.c: New file.
53028
53029         * modules/vsnprintf-tests: New file.
53030         * tests/test-vsnprintf.c: New file.
53031
53032         * modules/snprintf-tests: New file.
53033         * tests/test-snprintf.c: New file.
53034
53035 2007-03-04  Bruno Haible  <bruno@clisp.org>
53036
53037         Compile relocatable.c only if --enable-relocatable is specified.
53038         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
53039         gl_RELOCATABLE_LIBRARY.
53040         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
53041         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
53042         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
53043         gl_RELOCATABLE_LIBRARY.
53044         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
53045         (Makefile.am): Remove lib_SOURCES.
53046         * modules/relocatable-lib-lgpl (configure.ac): Invoke
53047         gl_RELOCATABLE_LIBRARY.
53048         (Makefile.am): Remove lib_SOURCES.
53049         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
53050         always.
53051         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53052         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
53053
53054 2007-03-04  Bruno Haible  <bruno@clisp.org>
53055
53056         * modules/argmatch-tests: New file.
53057         * tests/test-argmatch.c: New file.
53058
53059         * tests/test-allocsa.c (main): Halve the number of loop runs.
53060
53061         * modules/alloca-opt-tests: New file.
53062         * tests/test-alloca-opt.c: New file.
53063
53064 2007-03-04  Jim Meyering  <jim@meyering.net>
53065
53066         Work around difference between Linux ACLs and Solaris 10 ZFS.
53067         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
53068         for EINVAL.
53069
53070 2007-03-03  Bruno Haible  <bruno@clisp.org>
53071
53072         * modules/relocatable-prog (Depends-on): Add back progreloc's
53073         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
53074
53075 2007-03-03  Bruno Haible  <bruno@clisp.org>
53076
53077         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
53078         * modules/relocatable-lib: New file.
53079
53080 2007-03-03  Bruno Haible  <bruno@clisp.org>
53081
53082         * modules/relocatable-prog: Renamed from modules/relocatable.
53083         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
53084
53085 2007-03-03  Bruno Haible  <bruno@clisp.org>
53086
53087         * modules/relocatable-script (Files): Add doc/relocatable.texi,
53088         m4/relocatable-lib.m4.
53089         (Depends-on): Remove 'relocatable'.
53090         (configure.ac): Add gl_RELOCATABLE_NOP.
53091
53092 2007-03-03  Bruno Haible  <bruno@clisp.org>
53093
53094         * modules/relocatable-prog-wrapper: New file.
53095         * modules/relocatable (Depends-on): Add it. Remove all other
53096         dependencies except progname.
53097         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
53098
53099         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
53100         (gl_FUNC_STRERROR): Nop.
53101         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
53102
53103         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
53104         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
53105
53106         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
53107         (gl_FUNC_READLINK): Update.
53108
53109         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
53110
53111 2007-03-03  Bruno Haible  <bruno@clisp.org>
53112
53113         * lib/xreadlink.c: Include <unistd.h> unconditionally.
53114         * modules/xreadlink (Depends-on): Add unistd.
53115         * modules/xreadlink-with-size (Depends-on): Likewise.
53116
53117 2007-03-03  Bruno Haible  <bruno@clisp.org>
53118
53119         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
53120         extracted from gt_FUNC_SETENV.
53121         (gt_FUNC_SETENV): Remove macro.
53122         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
53123         remove gt_FUNC_SETENV.
53124
53125 2007-03-03  Bruno Haible  <bruno@clisp.org>
53126
53127         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
53128         ENABLE_RELOCATABLE here.
53129         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
53130
53131 2007-03-03  Bruno Haible  <bruno@clisp.org>
53132
53133         * modules/rbtreehash-list-tests (Depends-on): Add progname.
53134         * tests/test-rbtreehash_list.c: Include progname.h.
53135         (main): Call set_program_name.
53136
53137         * modules/rbtree-oset-tests (Depends-on): Add progname.
53138         * tests/test-rbtree_oset.c: Include progname.h.
53139         (main): Call set_program_name.
53140
53141         * modules/rbtree-list-tests (Depends-on): Add progname.
53142         * tests/test-rbtree_list.c: Include progname.h.
53143         (main): Call set_program_name.
53144
53145         * modules/linked-list-tests (Depends-on): Add progname.
53146         * tests/test-linked_list.c: Include progname.h.
53147         (main): Call set_program_name.
53148
53149 2007-03-03  Bruno Haible  <bruno@clisp.org>
53150
53151         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
53152         All uses of __restrict changed to _Restrict_.
53153         * lib/glob_.h (__restrict): Remove macro.
53154
53155 2007-03-02  Bruno Haible  <bruno@clisp.org>
53156
53157         * modules/gettext (configure.ac): Require gettext infrastructure
53158         from version 0.16.1.
53159
53160 2007-03-02  Bruno Haible  <bruno@clisp.org>
53161
53162         * modules/linkedhash-list-tests (Depends-on): Add progname.
53163         * tests/test-linkedhash_list.c: Include progname.h.
53164         (main): Call set_program_name.
53165
53166         * modules/carray-list-tests (Depends-on): Add progname.
53167         * tests/test-carray_list.c: Include progname.h.
53168         (main): Call set_program_name.
53169
53170         * modules/avltreehash-list-tests (Depends-on): Add progname.
53171         * tests/test-avltreehash_list.c: Include progname.h.
53172         (main): Call set_program_name.
53173
53174         * modules/avltree-oset-tests (Depends-on): Add progname.
53175         * tests/test-avltree_oset.c: Include progname.h.
53176         (main): Call set_program_name.
53177
53178         * modules/avltree-list-tests (Depends-on): Add progname.
53179         * tests/test-avltree_list.c: Include progname.h.
53180         (main): Call set_program_name.
53181
53182         * modules/array-oset-tests (Depends-on): Add progname.
53183         * tests/test-array_oset.c: Include progname.h.
53184         (main): Call set_program_name.
53185
53186         * modules/array-list-tests (Depends-on): Add progname.
53187         * tests/test-array_list.c: Include progname.h.
53188         (main): Call set_program_name.
53189
53190         * modules/argp-tests (Depends-on): Add progname.
53191         * tests/test-argp.c: Include argp.h first. Include progname.h.
53192         (main): Call set_program_name.
53193
53194 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
53195
53196         * doc/gnulib-tool.texi (Initial import): Reword description of
53197         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
53198         limited effect even if defined after the first system include.
53199
53200 2007-03-01  Bruno Haible  <bruno@clisp.org>
53201
53202         * build-aux/config.libpath: Update to libtool-1.5.22.
53203         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53204
53205 2007-03-01  Bruno Haible  <bruno@clisp.org>
53206
53207         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
53208         foo_CFLAGS.
53209         Reported by Ralf Wildenhues.
53210
53211 2007-03-01  Bruno Haible  <bruno@clisp.org>
53212
53213         * build-aux/install-reloc: Remove object files left over by some
53214         compilers.
53215         Reported by Ralf Wildenhues.
53216
53217 2007-03-01  Bruno Haible  <bruno@clisp.org>
53218
53219         * build-aux/install-reloc: Break long lines.
53220
53221 2007-03-01  Bruno Haible  <bruno@clisp.org>
53222
53223         * doc/relocatable.texi: Document that it may not work on OpenBSD.
53224         Reported by Ralf Wildenhues.
53225
53226 2007-03-01  Bruno Haible  <bruno@clisp.org>
53227
53228         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
53229         include ordering constraints.
53230
53231 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53232
53233         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
53234         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
53235         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
53236         as another example.
53237         * lib/time_.h: Fix misspelling.
53238         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53239         Require gl_HEADER_TIME_H_DEFAULTS.
53240         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
53241         * m4/time_r.m4 (gl_TIME_R): Likewise.
53242         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
53243
53244 2007-03-01  Bruno Haible  <bruno@clisp.org>
53245
53246         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
53247         * m4/utimens.m4 (gl_UTIMENS): Likewise.
53248
53249 2007-03-01  Jim Meyering  <jim@meyering.net>
53250
53251         * modules/xreadlink (Maintainer): Add my name.
53252         * modules/xreadlink-with-size (Depends-on): Alphabetize.
53253
53254 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
53255             Bruno Haible  <bruno@clisp.org>
53256
53257         * build-aux/install-reloc: Compile also c-ctype.c.
53258         * build-aux/relocatable.sh.in: New file.
53259         * doc/relocatable.texi: New file.
53260         * doc/relocatable-maint.texi: New file.
53261         * doc/gnulib.texi: Include relocatable-maint.texi.
53262         * lib/progreloc.c: Include unistd.h unconditionally.
53263         * lib/relocwrapper.c: Include unistd.h unconditionally.
53264         Include c-ctype.h.
53265         (add_dotbin): Use c_tolower.
53266         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
53267         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
53268         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
53269         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
53270         to m4/relocatable-lib.m4.
53271         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
53272         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
53273         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
53274         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
53275         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
53276         * modules/relocatable: New file.
53277         * modules/relocatable-lib: New file.
53278         * modules/relocatable-script: New file.
53279
53280 2007-02-28  Bruno Haible  <bruno@clisp.org>
53281
53282         Import --enable-relocatable infrastructure.
53283         * build-aux/config.libpath: New file, from GNU gettext.
53284         * build-aux/install-reloc: New file, from GNU gettext.
53285         * build-aux/reloc-ldflags: New file, from GNU gettext.
53286         * lib/relocatable.h: New file, from GNU gettext.
53287         * lib/relocatable.c: New file, from GNU gettext.
53288         * lib/relocwrapper.c: New file, from GNU gettext.
53289         * m4/relocatable.m4: New file, from GNU gettext.
53290
53291 2007-02-28  Bruno Haible  <bruno@clisp.org>
53292
53293         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
53294
53295         * modules/xreadlink: New file, from GNU gettext with modifications.
53296         * lib/xreadlink.c: New file, from GNU gettext.
53297         * lib/xreadlink.h: Add comments.
53298         (xreadlink): New declaration.
53299
53300         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
53301         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
53302         lib/xreadlink-with-size.c.
53303         (configure.ac): Remove gl_XREADLINK invocation.
53304         (Makefile.am): Augment lib_SOURCES.
53305         * m4/xreadlink.m4: Remove file.
53306         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
53307         (xreadlink_with_size): Renamed from xreadink.
53308         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
53309         * modules/canonicalize (Depends-on): Replace xreadlink with
53310         xreadlink-with-size.
53311         * lib/canonicalize.c (canonicalize_filename_mode): Update.
53312
53313 2007-02-25  Jim Meyering  <jim@meyering.net>
53314
53315         * build-aux/announce-gen: When complaining about excess arguments,
53316         list them.
53317
53318 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53319
53320         * README: Document signed integer overflow situation more
53321         accurately.
53322
53323 2007-02-25  Bruno Haible  <bruno@clisp.org>
53324
53325         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
53326         'a' or 'A' conversion.
53327
53328 2007-02-25  Bruno Haible  <bruno@clisp.org>
53329
53330         * modules/filename: Renamed from modules/pathname.
53331         (Files): Replace lib/pathname.h with lib/filename.h. Replace
53332         lib/concatpath.c with lib/concat-filename.c.
53333         (Makefile.am): Update.
53334         (Include): Replace pathname.h with filename.h.
53335         * lib/filename.h: Renamed from lib/pathname.h.
53336         (concatenated_filename): Renamed from concatenated_pathname.
53337         * lib/concat-filename.c: Renamed from lib/concatpath.c.
53338         (concatenated_filename): Renamed from concatenated_pathname.
53339         * lib/findprog.c: Include filename.h instead of pathname.h.
53340         (find_in_path): Update.
53341         * lib/javacomp.c: Include filename.h instead of pathname.h.
53342         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53343         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53344         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53345         is_oldgcj_14_13_usable, is_javac_usable): Update.
53346         * lib/javaexec.c: Include filename.h instead of pathname.h.
53347         (execute_java_class): Update.
53348         * modules/findprog: Update.
53349         * modules/javacomp: Update.
53350         * modules/javaexec: Update.
53351         * MODULES.html.sh (File system functions): Add 'filename', remove
53352         'pathname'.
53353
53354 2007-02-25  Bruno Haible  <bruno@clisp.org>
53355
53356         * modules/printf-frexpl-tests: New file.
53357         * tests/test-printf-frexpl.c: New file.
53358
53359         * modules/printf-frexpl: New file.
53360         * lib/printf-frexpl.h: New file.
53361         * lib/printf-frexpl.c: New file.
53362         * m4/printf-frexpl.m4: New file.
53363
53364 2007-02-25  Bruno Haible  <bruno@clisp.org>
53365
53366         * modules/printf-frexp-tests: New file.
53367         * tests/test-printf-frexp.c: New file.
53368
53369         * modules/printf-frexp: New file.
53370         * lib/printf-frexp.h: New file.
53371         * lib/printf-frexp.c: New file.
53372         * m4/printf-frexp.m4: New file.
53373
53374 2007-02-25  Bruno Haible  <bruno@clisp.org>
53375
53376         Assume automake >= 1.10 for the tests.
53377         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
53378         * modules/arctwo-tests: Likewise.
53379         * modules/argp-tests: Likewise.
53380         * modules/avltree-list-tests: Likewise.
53381         * modules/avltree-oset-tests: Likewise.
53382         * modules/avltreehash-list-tests: Likewise.
53383         * modules/carray-list-tests: Likewise.
53384         * modules/crc-tests: Likewise.
53385         * modules/des-tests: Likewise.
53386         * modules/gc-arcfour-tests: Likewise.
53387         * modules/gc-arctwo-tests: Likewise.
53388         * modules/gc-des-tests: Likewise.
53389         * modules/gc-hmac-md5-tests: Likewise.
53390         * modules/gc-hmac-sha1-tests: Likewise.
53391         * modules/gc-md2-tests: Likewise.
53392         * modules/gc-md4-tests: Likewise.
53393         * modules/gc-md5-tests: Likewise.
53394         * modules/gc-pbkdf2-sha1-tests: Likewise.
53395         * modules/gc-rijndael-tests: Likewise.
53396         * modules/gc-sha1-tests: Likewise.
53397         * modules/gc-tests: Likewise.
53398         * modules/getaddrinfo-tests: Likewise.
53399         * modules/hmac-md5-tests: Likewise.
53400         * modules/hmac-sha1-tests: Likewise.
53401         * modules/linked-list-tests: Likewise.
53402         * modules/linkedhash-list-tests: Likewise.
53403         * modules/lock-tests: Likewise.
53404         * modules/md2-tests: Likewise.
53405         * modules/md4-tests: Likewise.
53406         * modules/md5-tests: Likewise.
53407         * modules/rbtree-list-tests: Likewise.
53408         * modules/rbtree-oset-tests: Likewise.
53409         * modules/rbtreehash-list-tests: Likewise.
53410         * modules/read-file-tests: Likewise.
53411         * modules/rijndael-tests: Likewise.
53412         * modules/stdint-tests: Likewise.
53413         * modules/tls-tests: Likewise.
53414
53415 2007-02-24  Bruno Haible  <bruno@clisp.org>
53416
53417         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
53418         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
53419         function; instead check whether isnan with a double argument links.
53420         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
53421         function; instead check whether isnan with a 'long double' argument
53422         links.
53423         Reported by Eric Blake <ebb9@byu.net>.
53424
53425 2007-02-24  Bruno Haible  <bruno@clisp.org>
53426
53427         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
53428         defined.
53429         * lib/isnanl.c: Remove all code. Just include isnan.c.
53430         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
53431
53432 2007-02-25  Jim Meyering  <jim@meyering.net>
53433
53434         Avoid conflicting types for 'unsetenv' on FreeBSD.
53435         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
53436         conflicting with FreeBSD's (5.0 and 6.1) function declaration
53437         in stdlib.h.
53438
53439 2007-02-24  Bruno Haible  <bruno@clisp.org>
53440
53441         * modules/isnanl-nolibm-tests: New file.
53442         * tests/test-isnanl.c: New file.
53443
53444         * modules/isnanl-nolibm: New file.
53445         * lib/isnanl.h: New file.
53446         * lib/isnanl.c: New file.
53447         * m4/isnanl.m4: New file.
53448
53449 2007-02-24  Bruno Haible  <bruno@clisp.org>
53450
53451         * modules/isnan-nolibm-tests: New file.
53452         * tests/test-isnan.c: New file.
53453
53454         * modules/isnan-nolibm: New file.
53455         * lib/isnan.h: New file.
53456         * lib/isnan.c: New file.
53457         * m4/isnan.m4: New file.
53458
53459 2007-02-24  Bruno Haible  <bruno@clisp.org>
53460
53461         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
53462         assume that an exponent fits in 20 bits.
53463
53464 2007-02-24  Jim Meyering  <jim@meyering.net>
53465
53466         * m4/regex.m4: Update the description of the configure-time option,
53467         --without-included-regex, to state accurately what the defaults are,
53468         and perhaps to give people an idea why using this option is risky.
53469
53470 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
53471
53472         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
53473         loops on small arguments.  This attempts to avoid the problem
53474         Bruno Haible reported for AIX 4.3.2 in
53475         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
53476
53477 2007-02-23  Bruno Haible  <bruno@clisp.org>
53478
53479         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
53480         Needed for help2man.
53481
53482 2007-02-23  Karl Berry  <karl@gnu.org>
53483
53484         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
53485         exists, foo.h should be cvs-ignored, not committed.
53486
53487 2007-02-23  Eric Blake  <ebb9@byu.net>
53488
53489         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
53490         * lib/stat-time.h (includes): Likewise.
53491         * lib/utimecmp.c (includes): Likewise.
53492         * lib/utimens.h (includes): Likewise.
53493         * lib/getdate.y (includes): Also include "timespec.h" for use
53494         internal to the module.
53495         * modules/utimens (Depends-on): Revert yesterday's patch.
53496         * modules/nanosleep (Depends-on): Add missing dependency.
53497
53498 2007-02-22  Bruno Haible  <bruno@clisp.org>
53499
53500         * lib/glob.c: Don't include getlogin_r.h.
53501
53502 2007-02-22  Jim Meyering  <jim@meyering.net>
53503
53504         * modules/utimens (Depends-on): Add timespec, required for
53505         utimens.h's inclusion of timespec.h.
53506
53507 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
53508
53509         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
53510         long unreadable paths in GNU/Linux.  Problem reported by Andreas
53511         Schwab in
53512         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
53513         I'll try to think of a better way to fix the Solaris problem.
53514
53515         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
53516         like glibc; on Solaris 10, it fails with errno == EINVAL.
53517         POSIX says the behavior is unspecified if the first argument is NULL,
53518         so play it safe and never pass NULL to the system getcwd.
53519
53520 2007-02-21  Jim Meyering  <jim@meyering.net>
53521
53522         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
53523         of gettimeofday.  It would conflict with the one now always
53524         provided via sys_time_.h.  Reported by Matthew Woehlke, as
53525         an IRIX 6.5 build failure.
53526
53527 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
53528
53529         Minor fixups to port to Solaris 10 with Sun C 5.8.
53530         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
53531         * modules/getcwd (Depends-on): Add dirfd.
53532         * lib/putenv.c (putenv): #undef it.
53533         (rpl_putenv): New decl.
53534         (malloc, free): Include <stdlib.h> rather than prototyping separately.
53535
53536 2007-02-20  Bruno Haible  <bruno@clisp.org>
53537
53538         * modules/stdio-tests: New file.
53539         * tests/test-stdio.c: New file.
53540
53541         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
53542         (Depends-on): Add stdio.
53543         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53544         (Include): Use <stdio.h> instead of vsnprintf.h.
53545         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53546         HAVE_DECL_VSNPRINTF.
53547         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
53548
53549         * modules/snprintf (Files): Remove lib/snprintf.h.
53550         (Depends-on): Add stdio.
53551         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53552         (Include): Use <stdio.h> instead of snprintf.h.
53553         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
53554         HAVE_DECL_SNPRINTF.
53555         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
53556         * lib/getaddrinfo.c: Likewise.
53557
53558         * modules/stdio: New file.
53559         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
53560         * lib/snprintf.h: Remove file.
53561         * lib/vsnprintf.h: Remove file.
53562         * lib/.cppi-disable: Remove snprintf.h.
53563         * m4/stdio_h.m4: New file.
53564         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
53565
53566 2007-02-20  Jim Meyering  <jim@meyering.net>
53567
53568         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
53569         used by e.g., mingw.  From Bruno Haible.
53570
53571 2007-02-19  Bruno Haible  <bruno@clisp.org>
53572
53573         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
53574         warnings.
53575         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53576
53577 2007-02-19  Bruno Haible  <bruno@clisp.org>
53578
53579         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
53580         from mingw users.
53581
53582 2007-02-19  Bruno Haible  <bruno@clisp.org>
53583
53584         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
53585         warnings.
53586         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
53587
53588 2007-02-19  Jim Meyering  <jim@meyering.net>
53589
53590         Don't use FD after a successful "fdopendir (fd)".
53591         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
53592         Reset it by calling dirfd on the just-obtained DIR*.
53593
53594         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
53595         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
53596
53597 2007-02-18  Bruno Haible  <bruno@clisp.org>
53598
53599         * lib/readlink.c: Include <unistd.h>.
53600         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
53601         HAVE_READLINK.
53602         * modules/readlink (Depends-on): Add unistd.
53603         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53604         (Include): Add <unistd.h>.
53605
53606         * lib/getlogin_r.h: Remove file.
53607         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
53608         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
53609         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
53610         HAVE_DECL_GETLOGIN_R.
53611         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
53612         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53613         (Include): Use <unistd.h> instead of getlogin_r.h.
53614
53615         * lib/getcwd.h: Remove file.
53616         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
53617         * lib/xgetcwd.c: Likewise.
53618         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
53619         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
53620         * modules/getcwd (Files): Remove lib/getcwd.h.
53621         (Depends-on): Add unistd.
53622         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53623         (Include): Use <unistd.h> instad of getcwd.h.
53624
53625         * lib/ftruncate.c: Include <unistd.h> first.
53626         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
53627         Set HAVE_FTRUNCATE.
53628         * modules/ftruncate (Depends-on): Add unistd.
53629         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53630
53631         * lib/fchdir.c: Include <unistd.h> first.
53632         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
53633         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
53634         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
53635         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53636         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
53637
53638         * lib/dup2.c: Include <unistd.h> first.
53639         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
53640         HAVE_DUP2.
53641         * modules/dup2 (Depends-on): Add unistd.
53642         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53643
53644         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
53645         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
53646         REPLACE_CHOWN. Don't define chown as a macro here.
53647         * modules/chown (Depends-on): Add unistd.
53648         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53649
53650         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
53651         Add definition for GL_LINK_WARNING.
53652         (chown, dup2): New declarations.
53653         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
53654         link warning.
53655         (ftruncate): New declaration.
53656         (getcwd): New declaration, taken from old getcwd.h.
53657         (getlogin_r): New declaration, taken from old getlogin_r.h.
53658         (readlink): New declaration.
53659         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
53660         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
53661         (gl_PREREQ_UNISTD): Remove macro.
53662         (gl_UNISTD_MODULE_INDICATOR): New macro.
53663         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
53664         many new variables. Don't set UNISTD_H.
53665         * modules/unistd (Description): Change.
53666         (Depends-on): Add link-warning.
53667         (configure.ac): Update.
53668         (Makefile.am): Create unistd.h always. Substitute many new variables
53669         into it.
53670
53671 2007-02-18  Bruno Haible  <bruno@clisp.org>
53672
53673         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
53674         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
53675         HAVE_GETSUBOPT.
53676         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
53677         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
53678         * lib/getsubopt.h: Remove file.
53679         * modules/getsubopt (Files): Remove lib/getsubopt.h.
53680         (Depends-on): Add stdlib.
53681         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53682         (Includes): Use <stdlib.h> instead of getsubopt.h.
53683         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
53684         Set HAVE_GETSUBOPT.
53685         * lib/getsubopt.c: Don't include getsubopt.h.
53686
53687 2007-02-18  Bruno Haible  <bruno@clisp.org>
53688
53689         * modules/fchdir (Depends-on): Add dup2.
53690
53691 2007-02-18  Bruno Haible  <bruno@clisp.org>
53692
53693         * lib/stdlib_.h: Handle glibc's special invocation convention
53694         specially.
53695
53696 2007-02-18  Bruno Haible  <bruno@clisp.org>
53697
53698         * modules/stdlib-tests: New file.
53699         * tests/test-stdlib.c: New file.
53700
53701         * modules/mkstemp (Files): Remove lib/mkstemp.h.
53702         (Depends-on): Add stdlib.
53703         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53704         (Includes): Use <stdlib.h> instead of mkstemp.h.
53705         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53706         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
53707         * lib/mkstemp.c: Don't include mkstemp.h.
53708         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
53709         * lib/stdlib--.h: Don't include mkstemp.h.
53710
53711         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
53712         (Depends-on): Add stdlib.
53713         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53714         (Includes): Use <stdlib.h> instead of mkdtemp.h.
53715         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53716         HAVE_MKDTEMP.
53717         * lib/mkdtemp.c: Don't include mkdtemp.h.
53718         * lib/clean-temp.c: Don't include mkdtemp.h.
53719
53720         * modules/exit (Files): Remove lib/exit.h.
53721         (Depends-on): Add stdlib.
53722         (Makefile.am): Remove lib_SOURCES.
53723         (Include): Use <stdlib.h> instead of exit.h.
53724         * lib/argmatch.c: Don't include exit.h.
53725         * lib/execute.c: Likewise.
53726         * lib/pagealign_alloc.c: Likewise.
53727         * lib/pipe.c: Likewise.
53728         * lib/wait-process.c: Likewise.
53729         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
53730         * lib/exitfail.c: Likewise.
53731         * lib/savewd.c: Likewise.
53732         * lib/xsetenv.c: Likewise.
53733
53734         * modules/stdlib: New file.
53735         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
53736         and extra comments about mkstemp().
53737         * lib/exit.h: Remove file.
53738         * lib/mkdtemp.h: Remove file.
53739         * lib/mkstemp.h: Remove file.
53740         * m4/stdlib_h.m4: New file.
53741         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
53742
53743 2007-02-18  Bruno Haible  <bruno@clisp.org>
53744
53745         * modules/math-tests: New file.
53746         * tests/test-math.c: New file.
53747
53748         * modules/math: New file.
53749         * modules/mathl (Files): Remove lib/mathl.h.
53750         (Depends-on): Add math.
53751         (Makefile.am): Don't mention mathl.h.
53752         (Include): Use <math.h> instead of mathl.h.
53753         * lib/math_.h: New file.
53754         * lib/mathl.h: Remove file.
53755         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
53756         mathl.h.
53757         * lib/asinl.c: Likewise.
53758         * lib/atanl.c: Likewise.
53759         * lib/ceill.c: Likewise.
53760         * lib/cosl.c: Likewise.
53761         * lib/expl.c: Likewise.
53762         * lib/floorl.c: Likewise.
53763         * lib/frexpl.c: Likewise.
53764         * lib/ldexpl.c: Likewise.
53765         * lib/logl.c: Likewise.
53766         * lib/sincosl.c: Likewise.
53767         * lib/sinl.c: Likewise.
53768         * lib/sqrtl.c: Likewise.
53769         * lib/tanl.c: Likewise.
53770         * lib/trigl.c: Likewise.
53771         * m4/math_h.m4: New file.
53772         * MODULES.html.sh (Mathematics): Add math.
53773
53774 2007-02-17  Bruno Haible  <bruno@clisp.org>
53775
53776         * modules/wctype-tests: New file.
53777         * tests/test-wctype.c: New file.
53778
53779         * modules/wchar-tests: New file.
53780         * tests/test-wchar.c: New file.
53781
53782         * modules/unistd-tests: New file.
53783         * tests/test-unistd.c: New file.
53784
53785         * modules/time-tests: New file.
53786         * tests/test-time.c: New file.
53787
53788         * modules/sysexits-tests: New file.
53789         * tests/test-sysexits.c: New file.
53790
53791         * modules/sys_time-tests: New file.
53792         * tests/test-sys_time.c: New file.
53793
53794         * modules/sys_stat-tests: New file.
53795         * tests/test-sys_stat.c: New file.
53796
53797         * modules/sys_socket-tests: New file.
53798         * tests/test-sys_socket.c: New file.
53799
53800         * modules/sys_select-tests: New file.
53801         * tests/test-sys_select.c: New file.
53802
53803         * modules/string-tests: New file.
53804         * tests/test-string.c: New file.
53805
53806         * modules/stdbool-tests: New file.
53807         * tests/test-stdbool.c: New file.
53808
53809         * modules/netinet_in-tests: New file.
53810         * tests/test-netinet_in.c: New file.
53811
53812         * modules/inttypes-tests: New file.
53813         * tests/test-inttypes.c: New file.
53814
53815         * modules/fcntl-tests: New file.
53816         * tests/test-fcntl.c: New file.
53817
53818         * modules/byteswap-tests: New file.
53819         * tests/test-byteswap.c: New file.
53820
53821         * modules/arpa_inet-tests: New file.
53822         * tests/test-arpa_inet.c: New file.
53823
53824 2007-02-17  Bruno Haible  <bruno@clisp.org>
53825
53826         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
53827         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
53828         if the corresponding module is not enabled. Emit link warnings if
53829         the function is used nevertheless.
53830         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
53831         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
53832         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
53833         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
53834         * modules/inttypes (Depends-on): Add link-warning.
53835         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53836         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
53837         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
53838         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
53839         * modules/imaxdiv (configure.ac): Likewise.
53840         * modules/strtoimax (configure.ac): Likewise.
53841         * modules/strtoumax (configure.ac): Likewise.
53842
53843 2007-02-17  Bruno Haible  <bruno@clisp.org>
53844
53845         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
53846         gl_STRING_MODULE_INDICATOR_DEFAULTS.
53847         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
53848         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
53849
53850 2007-02-17  Bruno Haible  <bruno@clisp.org>
53851
53852         * modules/link-warning: New file.
53853         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
53854         * lib/string_.h (GL_LINK_WARNING): Remove definition.
53855         * modules/string (Depends-on): Add link-warning.
53856         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53857         string.h.
53858         * MODULES.html.sh (Support for building libraries and executables): Add
53859         link-warning.
53860
53861 2007-02-17  Bruno Haible  <bruno@clisp.org>
53862
53863         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
53864         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
53865         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
53866         long lines.
53867
53868 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
53869             Bruno Haible  <bruno@clisp.org>
53870
53871         * modules/tmpfile: New file.
53872         * lib/tmpfile.c: New file.
53873         * m4/tmpfile.m4: New file.
53874         * MODULES.html.sh (func_all_modules): New section "Input/output".
53875
53876 2007-02-15  Bruno Haible  <bruno@clisp.org>
53877
53878         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
53879         (supports_delete_on_close): New function.
53880         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
53881
53882 2007-02-14  Bruno Haible  <bruno@clisp.org>
53883
53884         * modules/mbspcasecmp-tests: New file.
53885         * tests/test-mbspcasecmp.sh: New file.
53886         * tests/test-mbspcasecmp.c: New file.
53887
53888         New module mbspcasecmp.
53889         * modules/mbspcasecmp: New file.
53890         * lib/mbspcasecmp.c: New file.
53891         * lib/string_.h (strncasecmp): Change warning message.
53892         (mbspcasecmp): New declaration.
53893         * m4/mbspcasecmp.m4: New file.
53894         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53895         GNULIB_MBSPCASECMP.
53896         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
53897         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
53898
53899 2007-02-14  Bruno Haible  <bruno@clisp.org>
53900
53901         * modules/mbsncasecmp-tests: New file.
53902         * tests/test-mbsncasecmp.sh: New file.
53903         * tests/test-mbsncasecmp.c: New file.
53904
53905         New module mbsncasecmp.
53906         * modules/mbsncasecmp: New file.
53907         * lib/mbsncasecmp.c: New file.
53908         * lib/string_.h (mbsncasecmp): New declaration.
53909         * m4/mbsncasecmp.m4: New file.
53910         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53911         GNULIB_MBSNCASECMP.
53912         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
53913         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
53914
53915 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
53916
53917         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
53918         Verify that it doesn't overlap with our flags.
53919         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
53920         do not have the desired effect in multibyte locales; instead, use
53921         mbscasecmp.
53922         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
53923         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
53924         we don't require GNU fnmatch ourselves (if our users require it, they
53925         should do so explicitly).
53926
53927         Fix regex code so it doesn't rely on strcasecmp.
53928         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
53929         Otherwise, include gnulib's langinfo.h.
53930         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
53931         undesirable behavior in non-C locales.  Instead, rely on localecharset.
53932         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
53933         * modules/regex (FILES): Remove m4/codeset.m4.
53934         (Depends-on): Add localcharset.  Remove strcase.
53935
53936 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53937
53938         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
53939         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
53940
53941 2007-02-13  Bruno Haible  <bruno@clisp.org>
53942
53943         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
53944         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53945
53946 2007-02-12  Bruno Haible  <bruno@clisp.org>
53947
53948         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53949         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
53950         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
53951         time warning rather than a link error.
53952
53953 2007-02-12  Bruno Haible  <bruno@clisp.org>
53954
53955         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
53956         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
53957         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53958
53959 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53960
53961         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
53962         args, not 2.
53963
53964 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53965
53966         New module 'time', so that apps can include <time.h> as per
53967         POSIX and GNU instead of separate include files like time_r.h
53968         and timegm.h.  This implementation tries out a simpler approach
53969         for replacing decls in standard include files (as compared to
53970         the string module), somewhat as an experiment.
53971
53972         * config/srclist.txt: Comment out mktime.c for now.
53973         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
53974         since it doesn't apply any more.  Use generic wording instead.
53975         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
53976         'time'.
53977         * lib/time_.h, m4/time_h.m4, modules/time: New files.
53978         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
53979         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
53980         Don't include <sys/types.h>; no longer needed since we assume C89.
53981         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
53982         * lib/strftime.c: Likewise.
53983         * lib/time_r.c: Likewise.
53984         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
53985         * lib/nanosleep.c: Include <time.h> first, to check interface.
53986         * lib/strptime.c: Likewise.
53987         * lib/time_r.c: Likewise.
53988         * lib/timegm.c: Likewise.
53989         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
53990         needed.
53991         * lib/timegm.c: Don't include timegm.h; no longer needed.
53992         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
53993         time.h now handles any problems in that area.
53994         (struct timespec, nanosleep): Remove; time.h now arranges for these.
53995         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
53996         that time.h defines struct timespec.
53997         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
53998         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
53999         handles that.
54000         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
54001         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
54002         needed.  Set REPLACE_LOCALTIME.
54003         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
54004         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
54005         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
54006         nanosleep; time_h.m4 now does that.  Don't require
54007         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
54008         module handles this now.
54009         * modules/getdate (Depends-on): Remove timespec.  Add time.
54010         * modules/nanosleep (Depends-on): Likewise.
54011         * modules/stat-time (Depends-on): Likewise.
54012         * modules/nanosleep (Include): Include time.h, not timespec.h.
54013         * modules/strptime (Files): Remove lib/strptime.h.
54014         (Depends-on): Add extensions, time.
54015         (Include): Include time.h, not strptime.h.
54016         * modules/time_r (Files): Remove lib/time_r.h.
54017         (Depends-on): Add time.
54018         (Include): Include time.h, not time_r.h.
54019         * modules/timegm: Likewise.
54020         * modules/timespec (Description): Now does timespec-related decls
54021         of our own, instead of struct timespec itself.
54022         (Depends-on): Add time; remove extensions.
54023         (Maintainer): Add self.
54024         * modules/utimecmp (Depends-on): Add time; remove timespec.
54025         * modules/utimens (Depends-on): Likewise.
54026         * modules/xnanosleep (Depends-on): Likewise.
54027
54028 2007-02-11  Bruno Haible  <bruno@clisp.org>
54029
54030         * lib/c-strstr.c: Include allocsa.h.
54031         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54032         * lib/c-strcasestr.c: Include allocsa.h.
54033         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54034         * lib/strcasestr.c: Include allocsa.h.
54035         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
54036         * lib/mbsstr.c: Include allocsa.h.
54037         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54038         allocsa/freesa instead of malloc/free.
54039         * lib/mbscasestr.c: Include allocsa.h.
54040         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
54041         allocsa/freesa instead of malloc/free.
54042         * modules/c-strstr (Depends-on): Add allocsa.
54043         * modules/c-strcasestr (Depends-on): Likewise.
54044         * modules/strcasestr (Depends-on): Likewise.
54045         * modules/mbsstr (Depends-on): Likewise.
54046         * modules/mbscasestr (Depends-on): Likewise.
54047
54048 2007-02-11  Bruno Haible  <bruno@clisp.org>
54049
54050         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
54051
54052         * modules/mbsspn-tests: New file.
54053         * tests/test-mbsspn.sh: New file.
54054         * tests/test-mbsspn.c: New file.
54055
54056 2007-02-11  Bruno Haible  <bruno@clisp.org>
54057
54058         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
54059
54060         * modules/mbspbrk-tests: New file.
54061         * tests/test-mbspbrk.sh: New file.
54062         * tests/test-mbspbrk.c: New file.
54063
54064 2007-02-11  Bruno Haible  <bruno@clisp.org>
54065
54066         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
54067         unneeded cast.
54068
54069         * modules/mbscspn-tests: New file.
54070         * tests/test-mbscspn.sh: New file.
54071         * tests/test-mbscspn.c: New file.
54072
54073 2007-02-11  Bruno Haible  <bruno@clisp.org>
54074
54075         * modules/mbscasecmp-tests: New file.
54076         * tests/test-mbscasecmp.sh: New file.
54077         * tests/test-mbscasecmp.c: New file.
54078
54079 2007-02-11  Bruno Haible  <bruno@clisp.org>
54080
54081         Ensure O(n) worst-case complexity of mbscasestr.
54082         * lib/mbscasestr.c: Include stdbool.h.
54083         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
54084         functions.
54085         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
54086         the bookkeeping indicates that it's worth it.
54087         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
54088
54089         * modules/mbscasestr-tests: New file.
54090         * tests/test-mbscasestr1.c: New file.
54091         * tests/test-mbscasestr2.sh: New file.
54092         * tests/test-mbscasestr2.c: New file.
54093         * tests/test-mbscasestr3.sh: New file.
54094         * tests/test-mbscasestr3.c: New file.
54095         * tests/test-mbscasestr4.sh: New file.
54096         * tests/test-mbscasestr4.c: New file.
54097         * m4/locale-tr.m4: New file.
54098
54099 2007-02-11  Bruno Haible  <bruno@clisp.org>
54100
54101         Ensure O(n) worst-case complexity of mbsstr.
54102         * lib/mbsstr.c: Include stdbool.h.
54103         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
54104         functions.
54105         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
54106         bookkeeping indicates that it's worth it.
54107         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
54108
54109         * modules/mbsstr-tests: New file.
54110         * tests/test-mbsstr1.c: New file.
54111         * tests/test-mbsstr2.sh: New file.
54112         * tests/test-mbsstr2.c: New file.
54113         * tests/test-mbsstr3.sh: New file.
54114         * tests/test-mbsstr3.c: New file.
54115         * m4/locale-fr.m4: New file.
54116
54117 2007-02-11  Bruno Haible  <bruno@clisp.org>
54118
54119         * lib/mbsrchr.c (mbsrchr): Fix bug.
54120
54121         * modules/mbsrchr-tests: New file.
54122         * tests/test-mbsrchr.sh: New file.
54123         * tests/test-mbsrchr.c: New file.
54124
54125 2007-02-11  Bruno Haible  <bruno@clisp.org>
54126
54127         * lib/mbschr.c (mbschr): Fix bug.
54128
54129         * modules/mbschr-tests: New file.
54130         * tests/test-mbschr.sh: New file.
54131         * tests/test-mbschr.c: New file.
54132         * m4/locale-zh.m4: New file.
54133
54134 2007-02-11  Bruno Haible  <bruno@clisp.org>
54135
54136         Support for copying multibyte string iterators.
54137         * lib/mbiter.h: Include <string.h>.
54138         (mbiter_multi_copy): New function.
54139         (mbi_copy): New macro.
54140         * lib/mbuiter.h: Include <string.h>.
54141         (mbuiter_multi_copy): New function.
54142         (mbui_copy): New macro.
54143
54144 2007-02-11  Bruno Haible  <bruno@clisp.org>
54145
54146         New module mbslen.
54147         * modules/mbslen: New file.
54148         * lib/mbslen.c: New file.
54149         * lib/string_.h (mbslen): New declaration.
54150         * m4/mbslen.m4: New file.
54151         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54152         GNULIB_MBSLEN.
54153         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
54154         * MODULES.html.sh (Internationalization functions): Add mbslen.
54155
54156 2007-02-11  Bruno Haible  <bruno@clisp.org>
54157
54158         Ensure O(n) worst-case complexity of strcasestr substitute.
54159         * lib/strcasestr.c: Include stdbool.h.
54160         (knuth_morris_pratt): New function.
54161         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54162         bookkeeping indicates that it's worth it.
54163         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
54164
54165         * modules/strcasestr-tests: New file.
54166         * tests/test-strcasestr.c: New file.
54167
54168 2007-02-11  Bruno Haible  <bruno@clisp.org>
54169
54170         Ensure O(n) worst-case complexity of c_strcasestr.
54171         * lib/c-strcasestr.c: Include stdbool.h, string.h.
54172         (knuth_morris_pratt): New function.
54173         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
54174         the bookkeeping indicates that it's worth it.
54175         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
54176
54177         * modules/c-strcasestr-tests: New file.
54178         * tests/test-c-strcasestr.c: New file.
54179
54180 2007-02-11  Bruno Haible  <bruno@clisp.org>
54181
54182         Ensure O(n) worst-case complexity of c_strstr.
54183         * lib/c-strstr.c: Include stdbool.h, string.h.
54184         (knuth_morris_pratt): New function.
54185         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
54186         bookkeeping indicates that it's worth it.
54187         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
54188
54189         * lib/c-strstr.c: Complete rewrite for maintainability.
54190
54191         * modules/c-strstr-tests: New file.
54192         * tests/test-c-strstr.c: New file.
54193
54194 2007-02-11  Bruno Haible  <bruno@clisp.org>
54195
54196         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
54197         5.2.1 and earlier, whereby \055 was treated just like the range
54198         delimiter '-'.
54199         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54200
54201 2007-02-08  Bruno Haible  <bruno@clisp.org>
54202
54203         * modules/regex (Depends-on): Add stdbool.
54204         Reported by Dalibor Topic <robilad@kaffe.org>.
54205
54206 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
54207
54208         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
54209         Prefer returning from main to exiting from it.
54210         Remove unnecessary parens after sizeof.
54211
54212 2007-02-05  Bruno Haible  <bruno@clisp.org>
54213
54214         New module mbssep.
54215         * modules/mbssep: New file.
54216         * lib/mbssep.c: New file.
54217         * lib/string_.h (strsep): Add a conditional link warning.
54218         (mbssep): New declaration.
54219         * m4/mbssep.m4: New file.
54220         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54221         GNULIB_MBSSEP.
54222         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
54223         * MODULES.html.sh (Internationalization functions): Add mbssep.
54224
54225 2007-02-05  Bruno Haible  <bruno@clisp.org>
54226
54227         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
54228         Optimize search in case of 1 delimiter.
54229
54230 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54231
54232         * lib/acl.h: Include sys/types.h before sys/acl.h.
54233
54234 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
54235
54236         Merge upstream fix for glibc bugzilla #3957:
54237
54238         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
54239
54240         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
54241         bit for RE_HAT_LISTS_NOT_NEWLINE.
54242         (build_charclass_op): Remove bogus comment.
54243
54244 2007-02-05  Simon Josefsson  <simon@josefsson.org>
54245
54246         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
54247
54248 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54249
54250         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
54251         * lib/memmem.c [!defined _LIBC]: Include config.h.
54252
54253 2007-02-04  Bruno Haible  <bruno@clisp.org>
54254
54255         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
54256         warning message.
54257
54258 2007-02-04  Bruno Haible  <bruno@clisp.org>
54259
54260         New module mbstok_r.
54261         * modules/mbstok_r: New file.
54262         * lib/mbstok_r.c: New file.
54263         * lib/string_.h (strtok_r): Change argument names to match the
54264         comments. Add a conditional link warning.
54265         (mbstok_r): New declaration.
54266         * m4/mbstok_r.m4: New file.
54267         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54268         GNULIB_MBSTOK_R.
54269         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
54270         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
54271
54272 2007-02-04  Bruno Haible  <bruno@clisp.org>
54273
54274         New module mbsspn.
54275         * modules/mbsspn: New file.
54276         * lib/mbsspn.c: New file.
54277         * lib/string_.h (strspn): Add a conditional link warning.
54278         (mbsspn): New declaration.
54279         * m4/mbsspn.m4: New file.
54280         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54281         GNULIB_MBSSPN.
54282         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
54283         * MODULES.html.sh (Internationalization functions): Add mbsspn.
54284
54285 2007-02-04  Bruno Haible  <bruno@clisp.org>
54286
54287         New module mbspbrk.
54288         * modules/mbspbrk: New file.
54289         * lib/mbspbrk.c: New file.
54290         * lib/string_.h (strpbrk): Add a conditional link warning.
54291         (mbspbrk): New declaration.
54292         * m4/mbspbrk.m4: New file.
54293         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54294         GNULIB_MBSPBRK.
54295         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
54296         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
54297
54298 2007-02-04  Bruno Haible  <bruno@clisp.org>
54299
54300         New module mbscspn.
54301         * modules/mbscspn: New file.
54302         * lib/mbscspn.c: New file.
54303         * lib/string_.h (strcspn): Add a conditional link warning.
54304         (mbscspn): New declaration.
54305         * m4/mbscspn.m4: New file.
54306         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54307         GNULIB_MBSCSPN.
54308         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
54309         * MODULES.html.sh (Internationalization functions): Add mbscspn.
54310
54311 2007-02-04  Bruno Haible  <bruno@clisp.org>
54312
54313         New module mbscasestr, reduced goal of strcasestr.
54314         * modules/mbscasestr: New file.
54315         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
54316         (mbscasestr): Renamed from strcasestr.
54317         * lib/strcasestr.c: Don't include mbuiter.h.
54318         (strcasestr): Remove support for multibyte locales.
54319         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
54320         Change the conditional link warning.
54321         (mbscasestr): New declaration.
54322         * m4/mbscasestr.m4: New file.
54323         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
54324         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
54325         REPLACE_STRCASESTR.
54326         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
54327         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54328         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54329         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
54330         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
54331         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
54332         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
54333         (Depends-on): Remove mbuiter.
54334         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
54335
54336 2007-02-04  Bruno Haible  <bruno@clisp.org>
54337
54338         Simplify handling of strncasecmp.
54339         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
54340         the conditional link warning.
54341         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54342         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
54343         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
54344         * modules/strcase (configure.ac): Don't invoke
54345         gl_STRING_MODULE_INDICATOR.
54346         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
54347
54348 2007-02-04  Bruno Haible  <bruno@clisp.org>
54349
54350         New module mbscasecmp, reduced goal of strcasecmp.
54351         * modules/mbscasecmp: New file.
54352         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
54353         (mbscasecmp): Renamed from strcasecmp.
54354         * lib/strcasecmp.c: Don't include mbuiter.h.
54355         (strcasecmp): Remove support for multibyte locales.
54356         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
54357         Change the conditional link warning.
54358         (mbscasecmp): New declaration.
54359         * m4/mbscasecmp.m4: New file.
54360         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
54361         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
54362         REPLACE_STRCASECMP.
54363         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
54364         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54365         GNULIB_MBSCASECMP.
54366         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
54367         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
54368         * modules/strcase (Files): Remove m4/mbrtowc.m4.
54369         (Depends-on): Remove mbuiter.
54370         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
54371
54372 2007-02-04  Bruno Haible  <bruno@clisp.org>
54373
54374         New module mbsstr. Remove module strstr.
54375         * modules/mbsstr: New file.
54376         * modules/strstr: Remove file.
54377         * lib/mbsstr.c: Renamed from lib/strstr.c.
54378         (mbsstr): Renamed from strstr.
54379         * lib/string_.h (strstr): Remove declaration. Change the conditional
54380         link warning.
54381         (mbsstr): New declaration.
54382         * m4/mbsstr.m4: New file.
54383         * m4/strstr.m4: Remove file.
54384         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
54385         REPLACE_STRSTR.
54386         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
54387         Don't initialize GNULIB_STRSTR.
54388         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
54389         substitute GNULIB_STRSTR and REPLACE_STRSTR.
54390         * MODULES.html.sh (Internationalization functions): Add mbsstr.
54391         (Support for systems lacking ANSI C 89): Remove strstr.
54392
54393 2007-02-04  Bruno Haible  <bruno@clisp.org>
54394
54395         New module mbsrchr.
54396         * modules/mbsrchr: New file.
54397         * lib/mbsrchr.c: New file.
54398         * lib/string_.h (strrchr): Add a conditional link warning.
54399         (mbsrchr): New declaration.
54400         * m4/mbsrchr.m4: New file.
54401         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54402         GNULIB_MBSRCHR.
54403         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
54404         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
54405
54406 2007-02-04  Bruno Haible  <bruno@clisp.org>
54407
54408         New module mbschr.
54409         * modules/mbschr: New file.
54410         * lib/mbschr.c: New file.
54411         * lib/string_.h (strchr): Add a conditional link warning.
54412         (mbschr): New declaration.
54413         * m4/mbschr.m4: New file.
54414         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
54415         GNULIB_MBSCHR.
54416         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
54417         * MODULES.html.sh (Internationalization functions): Add mbschr.
54418
54419 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
54420
54421         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
54422
54423         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
54424
54425 2007-02-04  Bruno Haible  <bruno@clisp.org>
54426
54427         New module description section 'configure.ac-early'.
54428         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
54429         (func_get_autoconf_early_snippet): New function.
54430         (func_import, func_create_testdir): Use it. Remove special cases for
54431         modules 'extensions' and 'lock'.
54432         * modules/extensions (configure.ac-early): Require
54433         gl_USE_SYSTEM_EXTENSIONS.
54434         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
54435
54436 2007-02-04  Bruno Haible  <bruno@clisp.org>
54437
54438         Make use of gcj-4.3's -fsource and -ftarget option.
54439         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
54440         and if so try the options -fsource and -ftarget.
54441         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
54442         source_version, ftarget_option, target_version arguments.
54443         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
54444         (is_envjavac_oldgcj_14_14_usable): Renamed from
54445         is_envjavac_gcj_14_14_usable.
54446         (is_envjavac_oldgcj_14_13_usable): Renamed from
54447         is_envjavac_gcj_14_13_usable.
54448         (is_gcj_present): Update.
54449         (is_gcj_43, is_gcj43_usable): New functions.
54450         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
54451         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
54452         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
54453         try the options -fsource and -ftarget.
54454
54455 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54456
54457         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
54458         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
54459         larger value.
54460
54461 2007-02-03  Jim Meyering  <jim@meyering.net>
54462
54463         Give tools a better chance to allocate space for very large buffers.
54464         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
54465
54466         Make pwd and readlink work also when run with an unreadable parent dir
54467         on systems with openat support.
54468         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
54469         provided getcwd function, even when we have openat support.
54470         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
54471
54472 2007-02-02  Bruno Haible  <bruno@clisp.org>
54473
54474         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
54475         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
54476         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
54477         portability problems if one of these functions is only used on specific
54478         platforms.
54479         Reported by Paul Eggert.
54480
54481 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
54482
54483         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
54484         is causing more trouble than it's curing.
54485         * lib/regex_internal.h (__mempcpy): Remove.
54486         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
54487         (and make the code a tad smaller to boot).
54488         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
54489
54490 2007-02-02  Jim Meyering  <jim@meyering.net>
54491
54492         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
54493         section, not in the Makefile.am: one.
54494
54495 2007-02-02  Eric Blake  <ebb9@byu.net>
54496
54497         * lib/strchrnul.c: Always include config.h first.
54498
54499         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
54500         gnulib strstr is not necessary here.
54501
54502 2007-02-02  Simon Josefsson  <simon@josefsson.org>
54503
54504         * m4/socklen.m4: Fix typo.
54505
54506 2007-02-02  Eric Blake  <ebb9@byu.net>
54507
54508         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
54509         * modules/netinet_in (Makefile.am): Likewise.
54510
54511 2007-02-01  Bruno Haible  <bruno@clisp.org>
54512
54513         * lib/string_.h (GL_LINK_WARNING): New macro.
54514         (strcasecmp, strstr, strcasestr): If provided by the system,
54515         conditionally define as a macro that leads to a warning instead of to
54516         an error.
54517         (strncasecmp): Conditionally define as a macro that leads to a warning.
54518
54519 2007-02-01  Karl Berry  <karl@gnu.org>
54520
54521         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
54522
54523 2007-02-01  Bruno Haible  <bruno@clisp.org>
54524
54525         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
54526         renamings.
54527
54528 2007-02-01  Eric Blake  <ebb9@byu.net>
54529
54530         * modules/regex (Depends-on): Revert dependence on mempcpy.
54531         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
54532         module's definition of mempcpy.
54533         Reported by Paul Eggert.
54534
54535 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54536
54537         * lib/string_.h: If the gnulib module XYZ is not present, undefine
54538         the symbol XYZ before redefining it.  This fixes a problem with
54539         programs that don't use XYZ, when compiled on systems that define
54540         XYZ to something else.
54541
54542 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
54543
54544         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
54545         occurs when "mkdir -m foo" creates a setgid directory that is (1)
54546         writeable to group or other and (2) is intended to have a special
54547         mode bit that is set or cleared.  In such a case, the directory
54548         should be neither group- nor other-writeable until the special
54549         mode bits are right.
54550
54551 2007-01-31  Eric Blake  <ebb9@byu.net>
54552
54553         * modules/mountlist (Depends-on): Add strstr.
54554
54555         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
54556         bug.
54557         * modules/string (Makefile.am): Remove redundant replacement.
54558         * modules/regex (Depends-on): Add mempcpy.
54559
54560 2007-01-31  Bruno Haible  <bruno@clisp.org>
54561
54562         New module description field 'Link'.
54563         * gnulib-tool (func_usage): Document --extract-link-directive.
54564         (sed_extract_prog): Recognize 'Link' directive.
54565         (func_get_link_directive): New function.
54566         (func_import): Show summary of link directives.
54567         Handle --extract-link-directive option.
54568         * modules/acl (Link): New section.
54569         * modules/clock-time (Link): New section.
54570         * modules/euidaccess (Link): New section.
54571         * modules/gettext (Link): New section.
54572         * modules/iconv (Link): New section.
54573         * modules/lock (Link): New section.
54574         * modules/nanosleep (Link): New section.
54575         * modules/readline (Link): New section.
54576
54577 2007-01-27  Bruno Haible  <bruno@clisp.org>
54578
54579         Enforce the use of gnulib modules for unportable <string.h> functions.
54580         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
54581         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
54582         (gl_HEADER_STRING_H_BODY): Require it.
54583         * lib/string_.h: If the gnulib module XYZ is not present, redefine
54584         the symbol XYZ to one that gives a link error.
54585         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
54586         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
54587         * modules/mempcpy (configure.ac): Likewise.
54588         * modules/memrchr (configure.ac): Likewise.
54589         * modules/stpcpy (configure.ac): Likewise.
54590         * modules/stpncpy (configure.ac): Likewise.
54591         * modules/strcase (configure.ac): Likewise.
54592         * modules/strcasestr (configure.ac): Likewise.
54593         * modules/strchrnul (configure.ac): Likewise.
54594         * modules/strdup (configure.ac): Likewise.
54595         * modules/strndup (configure.ac): Likewise.
54596         * modules/strnlen (configure.ac): Likewise.
54597         * modules/strpbrk (configure.ac): Likewise.
54598         * modules/strsep (configure.ac): Likewise.
54599         * modules/strstr (configure.ac): Likewise.
54600         * modules/strtok_r (configure.ac): Likewise.
54601
54602 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
54603
54604         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
54605
54606 2007-01-30  Jim Meyering  <jim@meyering.net>
54607
54608         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
54609
54610 2007-01-29  Bruno Haible  <bruno@clisp.org>
54611
54612         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
54613         * lib/execute.c: Likewise.
54614         * lib/pipe.c: Likewise.
54615         * lib/printf-args.h: Likewise.
54616         * lib/printf-args.c: Likewise.
54617         * lib/printf-parse.c: Likewise.
54618         * lib/vasnprintf.c: Likewise.
54619
54620 2007-01-29  Eric Blake  <ebb9@byu.net>
54621
54622         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
54623         declaration.
54624
54625 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
54626
54627         * lib/strptime.h (strptime): Use 'restrict' for args where
54628         POSIX requires this.
54629         * lib/strptime.c (strptime): Likewise.
54630         Change license notice from LGPL to GPL, since gnulib-tool will
54631         change this as needed.
54632         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
54633         defined.
54634         Include "strptime.h" first, to check interface.
54635         Do not #undef _LIBC and _NL_CURRENT.
54636         Do not include <stdlib.h>; no longer needed.
54637         Include "time_r.h" and declare ptime_locale_status
54638         only if _LIBC is not defined.
54639         (__P): Remove unused macro.
54640         (match_string): Bring back glibc version, but use it only if _LIBC
54641         is defined.
54642         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
54643         Remove unnecessary assertion and abort() call.
54644         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
54645         * m4/strptime.m4: Fix serial number comment.
54646         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
54647         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
54648         (Depends-on): Add time_r.
54649
54650 2007-01-29  Bruno Haible  <bruno@clisp.org>
54651
54652         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54653         strptime.
54654         * modules/strptime (Depends-on): Add stdbool.
54655         * lib/strptime.h: Include <time.h> always. Add comments.
54656
54657 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54658
54659         * modules/strptime: New file.
54660         * lib/strptime.h: New file.
54661         * lib/strptime.c: New file.
54662         * m4/strptime.m4: New file.
54663
54664 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54665
54666         * MODULES.html.sh: New module mpsort.
54667         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
54668
54669         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
54670         a circularity problem with HP-UX ia64 reported by Bob Proulx in
54671         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
54672         All uses changed.
54673         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
54674         All uses changed.
54675         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
54676         to _Restrict_.
54677         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
54678         the parameter matches the prototype.
54679
54680 2007-01-28  Jim Meyering  <jim@meyering.net>
54681
54682         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
54683         sys/time.h here, reverting that part of the previous patch:
54684         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
54685
54686 2007-01-28  Bruno Haible  <bruno@clisp.org>
54687
54688         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
54689         value of $(SYS_TIME_H).
54690         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
54691         remove it conditionally, too. [added by Jim Meyering]
54692         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
54693         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54694         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
54695         GETTIMEOFDAY_REPLACEMENT to 1.
54696
54697 2007-01-28  Bruno Haible  <bruno@clisp.org>
54698
54699         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
54700         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
54701         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
54702         Set UNISTD_H instead of UNISTD_H2.
54703         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
54704
54705 2007-01-28  Bruno Haible  <bruno@clisp.org>
54706
54707         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
54708         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
54709
54710 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54711
54712         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
54713         (func_create_testdir): Ensure C locale for `grep' and `tr'
54714         character ranges.
54715         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
54716         ACLOCAL_AMFLAGS parsing state machine.
54717
54718 2007-01-27  Bruno Haible  <bruno@clisp.org>
54719
54720         * modules/unistr/base: Update.
54721
54722 2007-01-27  Bruno Haible  <bruno@clisp.org>
54723
54724         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
54725         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
54726         * modules/unistr/u32-mbtouc-unsafe: Renamed from
54727         modules/unistr/u32-mbtouc.
54728         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
54729         * lib/unistr.h: Update.
54730         * lib/linebreak.c: Update.
54731         * modules/unistr/u32-mbtouc: Renamed from
54732         modules/unistr/u32-mbtouc-safe.
54733         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
54734         * lib/unistr.h: Update.
54735         * lib/unistr/u32-to-u8.c: Update.
54736         * lib/unistr/u32-to-u16.c: Update.
54737
54738 2007-01-27  Bruno Haible  <bruno@clisp.org>
54739
54740         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
54741         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
54742         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
54743         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
54744         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
54745         * modules/unistr/u16-mbtouc-unsafe: Renamed from
54746         modules/unistr/u16-mbtouc.
54747         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
54748         * lib/unistr.h: Update.
54749         * lib/linebreak.c: Update.
54750         * modules/linebreak: Update.
54751         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
54752         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
54753         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
54754         * modules/unistr/u16-mbtouc: Renamed from
54755         modules/unistr/u16-mbtouc-safe.
54756         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
54757         * lib/unistr.h: Update.
54758         * lib/unistr/u16-to-u8.c: Update.
54759         * modules/unistr/u16-to-u8: Update.
54760         * lib/unistr/u16-to-u32.c: Update.
54761         * modules/unistr/u16-to-u32: Update.
54762
54763 2007-01-27  Bruno Haible  <bruno@clisp.org>
54764
54765         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
54766         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
54767         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
54768         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
54769         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
54770         * modules/unistr/u8-mbtouc-unsafe: Renamed from
54771         modules/unistr/u8-mbtouc.
54772         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
54773         * lib/unistr.h: Update.
54774         * lib/striconveh.c: Update.
54775         * modules/striconveh: Update.
54776         * lib/linebreak.c: Update.
54777         * modules/linebreak: Update.
54778         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
54779         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
54780         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
54781         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
54782         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
54783         * lib/unistr.h: Update.
54784         * lib/striconveh.c: Update.
54785         * modules/striconveh: Update.
54786         * lib/unistr/u8-to-u16.c: Update.
54787         * modules/unistr/u8-to-u16: Update.
54788         * lib/unistr/u8-to-u32.c: Update.
54789         * modules/unistr/u8-to-u32: Update.
54790
54791 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54792
54793         Sync from Libtool.
54794         * lib/argz.c: Do not include strings.h nor memory.h, include
54795         string.h unconditionally.  Patch by Simon Josefsson.
54796
54797 2007-01-27  Bruno Haible  <bruno@clisp.org>
54798
54799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
54800         from gl_HEADER_STRING_H_BODY.
54801         (gl_HEADER_STRING_H_BODY): Require it.
54802         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
54803         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
54804         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
54805         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
54806         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54807         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
54808         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54809         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
54810         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
54811         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54812         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
54813         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
54814         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
54815         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54816         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54817
54818 2007-01-27  Bruno Haible  <bruno@clisp.org>
54819
54820         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
54821         check_PROGRAMS into noinst_PROGRAMS.
54822         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
54823         check_PROGRAMS in this case.
54824         (func_import): Set for_test to false.
54825         (func_create_testdir): Set for_test to true.
54826
54827 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
54828             Bruno Haible  <bruno@clisp.org>
54829
54830         * modules/strcasestr (Files): Remove lib/strcasestr.h.
54831         (Depends-on): Add string.
54832         (Includes): Use <string.h> instead of strcasestr.h.
54833         * modules/string (Makefile.am): Also substitute the value of
54834         REPLACE_STRCASESTR.
54835         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
54836         assume strcasestr is declared in <string.h> not <strings.h>. Also
54837         set REPLACE_STRCASESTR.
54838         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
54839         REPLACE_STRCASESTR.
54840         * lib/strcasestr.h: Remove file.
54841         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
54842         * lib/string_.h (strcasestr): New declaration.
54843
54844 2007-01-27  Bruno Haible  <bruno@clisp.org>
54845
54846         * lib/string_.h: Use 'extern'.
54847
54848 2007-01-27  Jim Meyering  <jim@meyering.net>
54849
54850         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
54851         of set-but-not-used local, "q".
54852
54853         * lib/mempcpy.c: Include <config.h> before <string.h>.
54854         This fixes a compilation error on HP-UX, due to the system's
54855         "restrict"-using mempcpy prototype.
54856
54857 2007-01-26  Bruno Haible  <bruno@clisp.org>
54858
54859         Small optimization.
54860         * lib/javacomp.c: Include c-strstr.h.
54861          (is_envjavac_gcj): Use c_strstr instead of strstr.
54862         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
54863
54864 2007-01-26  Bruno Haible  <bruno@clisp.org>
54865
54866         * MODULES.html.sh (Unicode string functions): Add the new modules.
54867
54868         * modules/uniconv/u32-strconv-to-locale: New file.
54869         * lib/uniconv/u32-strconv-to-locale.c: New file.
54870
54871         * modules/uniconv/u16-strconv-to-locale: New file.
54872         * lib/uniconv/u16-strconv-to-locale.c: New file.
54873
54874         * modules/uniconv/u8-strconv-to-locale: New file.
54875         * lib/uniconv/u8-strconv-to-locale.c: New file.
54876
54877         * modules/uniconv/u32-strconv-from-locale: New file.
54878         * lib/uniconv/u32-strconv-from-locale.c: New file.
54879
54880         * modules/uniconv/u16-strconv-from-locale: New file.
54881         * lib/uniconv/u16-strconv-from-locale.c: New file.
54882
54883         * modules/uniconv/u8-strconv-from-locale: New file.
54884         * lib/uniconv/u8-strconv-from-locale.c: New file.
54885
54886         * modules/uniconv/u32-strconv-to-enc: New file.
54887         * lib/uniconv/u32-strconv-to-enc.c: New file.
54888         * modules/uniconv/u32-strconv-to-enc-tests: New file.
54889         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
54890
54891         * modules/uniconv/u16-strconv-to-enc: New file.
54892         * lib/uniconv/u16-strconv-to-enc.c: New file.
54893         * lib/uniconv/u-strconv-to-enc.h: New file.
54894         * modules/uniconv/u16-strconv-to-enc-tests: New file.
54895         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
54896
54897         * modules/uniconv/u8-strconv-to-enc: New file.
54898         * lib/uniconv/u8-strconv-to-enc.c: New file.
54899         * modules/uniconv/u8-strconv-to-enc-tests: New file.
54900         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
54901
54902         * modules/uniconv/u32-strconv-from-enc: New file.
54903         * lib/uniconv/u32-strconv-from-enc.c: New file.
54904         * modules/uniconv/u32-strconv-from-enc-tests: New file.
54905         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
54906
54907         * modules/uniconv/u16-strconv-from-enc: New file.
54908         * lib/uniconv/u16-strconv-from-enc.c: New file.
54909         * modules/uniconv/u16-strconv-from-enc-tests: New file.
54910         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
54911
54912         * modules/uniconv/u8-strconv-from-enc: New file.
54913         * lib/uniconv/u8-strconv-from-enc.c: New file.
54914         * lib/uniconv/u-strconv-from-enc.h: New file.
54915         * modules/uniconv/u8-strconv-from-enc-tests: New file.
54916         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
54917
54918         * modules/uniconv/u32-conv-from-enc: New file.
54919         * lib/uniconv/u32-conv-from-enc.c: New file.
54920         * modules/uniconv/u32-conv-from-enc-tests: New file.
54921         * tests/uniconv/test-u32-conv-from-enc.c: New file.
54922
54923         * modules/uniconv/u16-conv-from-enc: New file.
54924         * lib/uniconv/u16-conv-from-enc.c: New file.
54925         * lib/uniconv/u-conv-from-enc.h: New file.
54926         * modules/uniconv/u16-conv-from-enc-tests: New file.
54927         * tests/uniconv/test-u16-conv-from-enc.c: New file.
54928
54929         * modules/uniconv/u8-conv-from-enc: New file.
54930         * lib/uniconv/u8-conv-from-enc.c: New file.
54931         * modules/uniconv/u8-conv-from-enc-tests: New file.
54932         * tests/uniconv/test-u8-conv-from-enc.c: New file.
54933
54934         * modules/uniconv/base: New file.
54935         * lib/uniconv.h: New file.
54936
54937 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
54938
54939         * doc/gnulib-tool.texi (Initial import): Update to match current
54940         behavior with strdup module.
54941         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
54942         * lib/memmem.h: Remove; all uses removed.  This is now done
54943         by <string.h>.
54944         * lib/mempcpy.h: Likewise.
54945         * lib/memrchr.h: Likewise.
54946         * lib/stpcpy.h: Likewise.
54947         * lib/stpncpy.h: Likewise.
54948         * lib/strcase.h: Likewise.
54949         * lib/strchrnul.h: Likewise.
54950         * lib/strdup.h: Likewise.
54951         * lib/strndup.h: Likewise.
54952         * lib/strnlen.h: Likewise.
54953         * lib/strpbrk.h: Likewise.
54954         * lib/strsep.h: Likewise.
54955         * lib/strstr.h: Likewise.
54956         * lib/strtok_r.h: Likewise.
54957         * lib/string_.h: New file.
54958         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
54959         Rely on <string.h> instead.
54960         * lib/canon-host.c: Likewise.
54961         * lib/chdir-long.c: Likewise.
54962         * lib/concatpath.c: Likewise.
54963         * lib/exclude.c: Likewise.
54964         * lib/fchdir.c: Likewise.
54965         * lib/getaddrinfo.c: Likewise.
54966         * lib/getcwd.c: Likewise.
54967         * lib/getsubopt.c: Likewise.
54968         * lib/glob.c: Likewise.
54969         * lib/hard-locale.c: Likewise.
54970         * lib/iconvme.c: Likewise.
54971         * lib/javacomp.c: Likewise.
54972         * lib/mempcpy.c: Likewise.
54973         * lib/memrchr.c: Likewise.
54974         * lib/regex_internal.h: Likewise.
54975         * lib/stpncpy.c: Likewise.
54976         * lib/strcasecmp.c: Likewise.
54977         * lib/strchrnul.c: Likewise.
54978         * lib/strdup.c: Likewise.
54979         * lib/striconv.c: Likewise.
54980         * lib/striconveh.c: Likewise.
54981         * lib/striconveha.c: Likewise.
54982         * lib/strncasecmp.c: Likewise.
54983         * lib/strndup.c: Likewise.
54984         * lib/strnlen.c: Likewise.
54985         * lib/strsep.c: Likewise.
54986         * lib/strstr.c: Likewise.
54987         * lib/strtok_r.c: Likewise.
54988         * lib/userspec.c: Likewise.
54989         * lib/w32spawn.h: Likewise.
54990         * lib/xstrndup.c: Likewise.
54991         * lib/mountlist.c (strstr): Remove decl.
54992         * m4/string_h.m4: New file.
54993         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
54994         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
54995         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
54996         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
54997         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
54998         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
54999         Set REPLACE_STRCASECMP if necessary.
55000         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
55001         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
55002         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
55003         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
55004         HAVE_DECL_STRDUP if necessary.
55005         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
55006         since gl_FUNC_STRNDUP does that now.
55007         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
55008         Check for decl here...
55009         (gl_PREREQ_STRNLEN): ... not here.
55010         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
55011         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
55012         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
55013         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
55014         necessary.
55015         * modules/string: New file.
55016         * modules/memmem (Files): Remove special-purpose include file.
55017         (Depends-on): Add string.
55018         (Include): Include <string.h>, not the removed file.
55019         * modules/mempcpy: Likewise.
55020         * modules/memrchr: Likewise.
55021         * modules/stpcpy: Likewise.
55022         * modules/stpncpy: Likewise.
55023         * modules/strcase: Likewise.
55024         * modules/strchrnul: Likewise.
55025         * modules/strdup: Likewise.
55026         * modules/strndup: Likewise.
55027         * modules/strnlen: Likewise.
55028         * modules/strpbrk: Likewise.
55029         * modules/strsep: Likewise.
55030         * modules/strstr: Likewise.
55031         * modules/strtok_r: Likewise.
55032         * tests/test-dirname.c: Don't include "strdup.h", since
55033         <string.h> now suffices.
55034         * tests/test-memmem.c: Don't include "memmem.h", since
55035         <string.h> now suffices.
55036
55037 2007-01-25  Bruno Haible  <bruno@clisp.org>
55038
55039         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
55040         *resultp is 0.
55041
55042         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
55043         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
55044         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
55045         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
55046
55047         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
55048         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
55049         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
55050         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
55051         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
55052         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
55053
55054 2007-01-24  Bruno Haible  <bruno@clisp.org>
55055
55056         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
55057         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
55058         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
55059         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
55060         gl_FUNC_FTS_CORE.
55061         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
55062         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
55063         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55064         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
55065         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
55066         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
55067         gl_FUNC_FCHOWNAT.
55068         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
55069         gl_FUNC_STRFTIME.
55070         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
55071         Reported by Ralf Wildenhues.
55072
55073 2007-01-24  Bruno Haible  <bruno@clisp.org>
55074
55075         Drop AC_REQUIRE calls that are redundant with the module dependencies.
55076         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
55077         gl_GETADDRINFO.
55078         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
55079         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
55080         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
55081
55082 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
55083
55084         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
55085         Don't use 'exit'; just return from 'main'.
55086         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
55087
55088         * lib/fnmatch_.h: Readjust white space and comments to match
55089         glibc, to avoid spurious diffs.
55090
55091 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55092
55093         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
55094         2004-12-01 change by Jakub Jelinek, since this code won't compile
55095         if !LIBC.  Problem reported by Bob Proulx.
55096
55097 2007-01-23  Bruno Haible  <bruno@clisp.org>
55098
55099         * lib/striconveh.c: Include c-strcaseeq.h.
55100         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
55101         * modules/striconveh (Depends-on): Add c-strcaseeq.
55102
55103 2007-01-23  Bruno Haible  <bruno@clisp.org>
55104
55105         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
55106
55107         * modules/c-strcaseeq: New file.
55108         * lib/c-strcaseeq.h: New file.
55109
55110         * modules/streq: New file.
55111         * lib/streq.h: New file.
55112
55113 2007-01-23  Bruno Haible  <bruno@clisp.org>
55114
55115         * modules/striconveha-tests: New file.
55116         * tests/test-striconveha.c: New file.
55117
55118         * lib/striconveha.h: Include <stdbool.h>.
55119         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
55120         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
55121         (mem_iconveha_notranslit): Renamed from mem_iconveha.
55122         (mem_iconveha): New function.
55123         (str_iconveha_notranslit): Renamed from str_iconveha.
55124         (str_iconveha): New function.
55125         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
55126         c-strcase.
55127
55128 2007-01-23  Bruno Haible  <bruno@clisp.org>
55129
55130         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
55131         encodings without forgiving before trying any encoding with handler.
55132         (str_iconveha): Try all encodings without forgiving before trying any
55133         encoding with handler.
55134
55135 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55136
55137         Import the following changes from libc.
55138
55139         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
55140
55141         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
55142
55143         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
55144
55145         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
55146         normal_bracket label.
55147
55148         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
55149
55150         [BZ #361]
55151         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
55152         to normal_bracket after fetching the next character.
55153
55154 2007-01-22  Bruno Haible  <bruno@clisp.org>
55155
55156         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
55157         argument.
55158         * lib/striconveh.c (iconv_carefully_1): New function.
55159         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
55160         argument.
55161         (str_cd_iconveh): Update.
55162         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
55163         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
55164         * tests/test-striconveh.c (MAGIC): New macro.
55165         (new_offsets): New function.
55166         (main): Test call with and without offsets.
55167
55168 2007-01-22  Bruno Haible  <bruno@clisp.org>
55169
55170         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
55171         * modules/sys_select (Makefile.am): Likewise.
55172         * modules/sys_socket (Makefile.am): Likewise.
55173         * modules/sys_time (Makefile.am): Likewise.
55174
55175 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
55176
55177         * modules/gettimeofday (License): Change from GPL to LGPL, since
55178         gettimeofday is a library function.
55179
55180 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55181
55182         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
55183
55184 2007-01-21  Bruno Haible  <bruno@clisp.org>
55185
55186         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
55187
55188 2007-01-21  Bruno Haible  <bruno@clisp.org>
55189
55190         * modules/striconveha: New file.
55191         * lib/striconveha.h: New file.
55192         * lib/striconveha.c: New file.
55193         * MODULES.html.sh (Internationalization functions): Add striconveha.
55194         * lib/striconv.c (str_iconv): Optimize the case of an empty input
55195         string.
55196         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
55197
55198 2007-01-21  Bruno Haible  <bruno@clisp.org>
55199
55200         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
55201         * lib/striconveh.c (str_iconveh): Likewise.
55202
55203 2007-01-21  Bruno Haible  <bruno@clisp.org>
55204
55205         * lib/striconveh.h (mem_iconveh): New declaration.
55206         * lib/striconveh.c (mem_iconveh): New function.
55207         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
55208
55209 2007-01-21  Bruno Haible  <bruno@clisp.org>
55210
55211         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
55212
55213         * lib/striconveh.h (mem_cd_iconveh): Change specification.
55214         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
55215         original result buffer.
55216         (str_cd_iconveh): Update.
55217         * tests/test-striconveh.c (main): Update.
55218
55219         * lib/striconv.h (mem_cd_iconv): Change specification.
55220         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
55221         result buffer.
55222         (str_cd_iconv): Update.
55223         * tests/test-striconv.c (main): Update.
55224
55225 2007-01-21  Bruno Haible  <bruno@clisp.org>
55226
55227         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
55228
55229 2007-01-20  Jim Meyering  <jim@meyering.net>
55230
55231         * lib/userspec.c (parse_with_separator): If a user or group string
55232         starts with "+", skip the corresponding name-to-ID look-up, since
55233         such a look-up must fail: user and group names may not include "+".
55234
55235 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
55236
55237         * lib/poll.c: Include sys/time.h and time.h unconditionally,
55238         since we now assume the sys_time module.
55239         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
55240         check for sys/time.h; no longer needed.
55241         * modules/poll (Depends-on): Depend on sys_time.
55242
55243 2007-01-18  Bruno Haible  <bruno@clisp.org>
55244
55245         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
55246         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55247
55248         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
55249         gettimeofday.
55250
55251         * tests/test-gettimeofday.c: Include <time.h>.
55252         (dummy): Remove variable.
55253
55254         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
55255         gl_HEADER_SYS_TIME_H.
55256         (gl_HEADER_SYS_TIME_H): New macro.
55257
55258         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
55259         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55260         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
55261         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
55262         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55263         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
55264         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
55265         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55266         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
55267         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
55268         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55269
55270         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
55271         last change; it caused a compilation error when cross-compiling to
55272         Cygwin.
55273
55274 2007-01-18  Jim Meyering  <jim@meyering.net>
55275
55276         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
55277         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
55278         than the race-prone "test -d sys || mkdir sys".
55279         (configure.ac): Use AC_PROG_MKDIR_P.
55280         * modules/sys_select: Likewise.
55281         * modules/sys_socket: Likewise.
55282         * modules/sys_time: Likewise.
55283
55284 2007-01-18  Eric Blake  <ebb9@byu.net>
55285
55286         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
55287         replace gettimeofday.
55288         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
55289         name, to avoid infinite recursion.
55290
55291 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
55292
55293         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
55294         module sys_time.
55295         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
55296         assume timespec.h defines struct timeval.
55297         * lib/settime.c: Likewise.
55298         * lib/utimens.c: Likewise.
55299         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
55300         since we now assume the gettimeofday module.
55301         * lib/tempname.c (__gen_tempname): Likewise.
55302         * lib/gettimeofday.h: Remove.
55303         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
55304         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
55305         Include <time.h>, for 'time()'.
55306         (localtime_buffer_addr): Also use this workaround if
55307         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
55308         to simplify the uses.  All uses changed.
55309         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
55310         that #undef is inside {}, and 'const' follows type name consistently.
55311         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
55312         (gettimeofday): Do not use the maximum possible value for
55313         tv->tv_usec, since that might break usages other than ls.c.
55314         Instead, we'll leave ls.c alone.  This undoes today's patch
55315         by Bruno.  Add a compile-time warning for 1s-clock resolution;
55316         we've never observed the problem but might as well keep the
55317         canary.
55318         * lib/nanosleep.c: Include timespec.h first, for interface check.
55319         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
55320         now assume the sys_time module.
55321         * lib/tempname.c: Likewise.
55322         * lib/timespec.h: Likewise.
55323         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
55324         needed.
55325         * lib/strftime.c: Likewise.
55326         * lib/timespec.h: Likewise.
55327         * lib/posixtm.c: Include posixtm.h first, for interface check.
55328         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
55329         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
55330         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
55331         * lib/sys_time_.h: New file.
55332         * lib/timespec.h (struct timespec): Use long int, not long.
55333         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
55334         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
55335         Remove obsolescent call to AC_HEADER_TIME.
55336         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
55337         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
55338         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
55339         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
55340         Likewise.
55341         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
55342         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
55343         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
55344         into the sys_time module.  Check for gettimeofday just once.
55345         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
55346         for gettimeofday signature to just check the signature.  Merely
55347         compile it, since linking doesn't test signature.  Improve test for
55348         whether gettimeofday.o is actually needed.
55349         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
55350         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
55351         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
55352         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55353         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
55354         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
55355         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
55356         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
55357         than worrying about sys/time.h.
55358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55359         Don't bother worrying about TIME_WITH_SYS_TIME.
55360         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
55361         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
55362         * m4/sys_time_h.m4: New file.
55363         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
55364         Don't include sys/time.h.  Return from main rather than exiting.
55365         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
55366         all uses changed.
55367         * modules/gethrxtime (Depends-on): Add sys_time.
55368         * modules/gettime (Depends-on): Likewise.
55369         * modules/gettimeofday (Depends-on): Likewise.
55370         * modules/nanosleep (Depends-on): Likewise.
55371         * modules/settime (Depends-on): Likewise.
55372         * modules/tempname (Depends-on): Likewise.
55373         * modules/utimens (Depends-on): Likewise.
55374         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
55375         (Include): Change back to <sys/time.h>.
55376         (Maintainer): Add self.
55377         * modules/sys_time: New file.
55378         * modules/tempname (Depends-on): Add gettimeofday.
55379         * tests/test-gettimeofday.c: Include <sys/time.h>
55380         rather than gettimeofday.h.
55381
55382 2007-01-17  Bruno Haible  <bruno@clisp.org>
55383
55384         * gnulib-tool (func_get_license): Revert last patch. Instead, let
55385         the license default to GPL.
55386         (func_create_testdir): Don't complain if a module is LGPL and its
55387         tests module depends on GPLed modules.
55388
55389 2007-01-17  Bruno Haible  <bruno@clisp.org>
55390
55391         * lib/gettimeofday.c (gettimeofday): Add code for the case
55392         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
55393         maximum possible value for tv->tv_usec, rather than the minimum one.
55394
55395 2005-10-08  Martin Lambers  <marlam@marlam.de>
55396 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55397 2007-01-16  Bruno Haible  <bruno@clisp.org>
55398
55399         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
55400         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
55401         gl_FUNC_GETTIMEOFDAY.
55402         (Include): Add gettimeofday.h.
55403         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
55404         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
55405         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
55406         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
55407         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
55408         * lib/gettimeofday.h: New file.
55409         * lib/gettimeofday.c: Include <sys/timeb.h>.
55410         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
55411         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
55412         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
55413         fall back on time().
55414
55415         * tests/test-gettimeofday.c: New file.
55416         * modules/gettimeofday-tests: New file.
55417
55418 2007-01-16  Eric Blake  <ebb9@byu.net>
55419
55420         * modules/fnmatch (Depends-on): Depend on wchar.
55421         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
55422         * m4/fnmatch.m4: Likewise.
55423         * modules/mbchar (Makefile.am): Assume <wchar.h>.
55424         * m4/mbchar.m4: Likewise.
55425         * modules/mbswidth (Depends-on): Depend on wchar.
55426         * lib/mbswidth.c: Assume <wchar.h>.
55427         * m4/mbswidth.m4: Likewise.
55428         * modules/quotearg (Depends-on): Depend on wchar.
55429         * lib/quotearg.c: Assume <wchar.h>.
55430         * m4/quotearg.m4: Likewise.
55431         * modules/regex (Depends-on): Depend on wchar.
55432         * lib/regex_internal.h: Assume <wchar.h>.
55433         * m4/regex.m4: Likewise.
55434         * modules/stdint (Depends-on): Depend on wchar.
55435         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
55436         * m4/stdint.m4: Likewise.
55437         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
55438         * modules/strftime (Depends-on): Depend on wchar.
55439         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
55440         * modules/strtol (Depends-on): Depend on wchar.
55441         * lib/strtol.c: Assume <wchar.h>.
55442         * modules/wcwidth (Depends-on): Depend on wchar.
55443         * lib/wcwidth.h: Assume <wchar.h>.
55444         * m4/wcwidth.m4: Likewise.
55445
55446 2007-01-16  Bruno Haible  <bruno@clisp.org>
55447
55448         * modules/csharpexec-script: New, created from...
55449         * modules/csharpexec: ... this.
55450
55451 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55452
55453         * modules/javaexec-script: New, created from...
55454         * modules/javaexec: ... this.
55455
55456 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55457
55458         * modules/poll (Dependencies): Add sys_select.
55459
55460 2007-01-15  Jim Meyering  <jim@meyering.net>
55461
55462         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
55463         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
55464         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
55465         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
55466
55467 2007-01-15  Bruno Haible  <bruno@clisp.org>
55468
55469         * modules/striconveh: New file.
55470         * lib/striconveh.h: New file.
55471         * lib/striconveh.c: New file.
55472         * MODULES.html.sh (Internationalization functions): Add striconveh.
55473
55474         * modules/striconveh-tests: New file.
55475         * tests/test-striconveh.c: New file.
55476
55477 2007-01-15  Bruno Haible  <bruno@clisp.org>
55478
55479         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
55480         not from GNU libiconv or GNU libc.
55481
55482 2007-01-15  Bruno Haible  <bruno@clisp.org>
55483
55484         * doc/gnulib-intro.texi (Copyright): Explain the different license
55485         terms for module descriptions, autoconf macros, tests, documentation.
55486
55487 2007-01-14  Bruno Haible  <bruno@clisp.org>
55488
55489         * modules/striconv-tests: New file.
55490         * tests/test-striconv.c: New file.
55491
55492 2007-01-14  Bruno Haible  <bruno@clisp.org>
55493
55494         * modules/iconv-tests: New file.
55495         * tests/test-iconv.c: New file.
55496
55497 2007-01-14  Bruno Haible  <bruno@clisp.org>
55498
55499         * gnulib-tool (func_get_license): For test modules, use the license of
55500         the main module.
55501
55502 2007-01-14  Bruno Haible  <bruno@clisp.org>
55503
55504         * modules/iconv (Include): Clarify that <iconv.h> can only be included
55505         if iconv is found to exist.
55506
55507 2007-01-14  Bruno Haible  <bruno@clisp.org>
55508
55509         * modules/c-ctype-tests: New file.
55510         * tests/test-c-ctype.c: New file.
55511
55512 2007-01-14  Bruno Haible  <bruno@clisp.org>
55513
55514         * modules/binary-io-tests: New file.
55515         * tests/test-binary-io.sh: New file.
55516         * tests/test-binary-io.c: New file.
55517
55518 2007-01-14  Bruno Haible  <bruno@clisp.org>
55519
55520         * modules/array-oset-tests: New file.
55521         * tests/test-array_oset.c: New file.
55522
55523 2007-01-14  Bruno Haible  <bruno@clisp.org>
55524
55525         * modules/array-list-tests: New file.
55526         * tests/test-array_list.c: New file.
55527
55528 2007-01-14  Bruno Haible  <bruno@clisp.org>
55529
55530         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
55531         and make.
55532         Reported by Simon Josefsson in
55533         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
55534
55535 2007-01-14  Bruno Haible  <bruno@clisp.org>
55536
55537         * modules/allocsa-tests: New file.
55538         * tests/test-allocsa.c: New file.
55539
55540 2007-01-14  Bruno Haible  <bruno@clisp.org>
55541
55542         * modules/fchdir (Depends-on): Add absolute-header.
55543         * modules/unistd (Depends-on): Likewise.
55544
55545 2006-12-30  Bruno Haible  <bruno@clisp.org>
55546
55547         * modules/fchdir: New file.
55548         * modules/unistd (Files): Add lib/unistd_.h.
55549         (Makefile.am): Generate unistd.h from unistd_.h.
55550         * lib/fchdir.c: New file.
55551         * lib/dirent_.h: New file.
55552         * lib/unistd_.h: New file.
55553         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
55554         * m4/fchdir.m4: New file.
55555         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
55556         (gl_HEADER_UNISTD): Invoke it.
55557         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
55558         function.
55559         * lib/backupfile.c (opendir, closedir): Undefine.
55560         * lib/chown.c (open, close): Undefine.
55561         * lib/clean-temp.c (open, close): Undefine.
55562         * lib/copy-file.c (open, close): Undefine.
55563         * lib/execute.c (open, close): Undefine.
55564         * lib/fsusage.c (open, close): Undefine.
55565         * lib/gc-gnulib.c (open, close): Undefine.
55566         * lib/getcwd.c (opendir, closedir): Undefine.
55567         * lib/glob.c (opendir, closedir): Undefine.
55568         * lib/javacomp.c (open, close): Undefine.
55569         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
55570         * lib/openat-proc.c (open, close): Undefine.
55571         * lib/pagealign_alloc.c (open, close): Undefine.
55572         * lib/pipe.c (open, close): Undefine.
55573         * lib/progreloc.c (open, close): Undefine.
55574         * lib/savedir.c (opendir, closedir): Undefine.
55575         * lib/utime.c (open, close): Undefine.
55576         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
55577
55578 2007-01-10  Bruno Haible  <bruno@clisp.org>
55579
55580         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
55581
55582 2007-01-12  Eric Blake  <ebb9@byu.net>
55583
55584         Provide a robust <wchar.h>.  Further simplifications are now
55585         possible in other modules, but not included here.
55586         * modules/wchar: New module.
55587         * m4/wchar.m4: New file.
55588         * lib/wchar_.h: Likewise.
55589         * modules/mbchar (Depends-on): Depend on wchar, as the first use
55590         of the new module.
55591         * MODULES.html.sh (Extended multibyte and wide character utilities):
55592         New section.
55593
55594 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
55595
55596         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
55597         to a reasonable default for memory allocation.
55598         (xreadlink): Don't allocate a huge buffer, to work around a buggy
55599         file system that reports garbage st_size values for symlinks.
55600         Problem reported by Liyang Hu.
55601
55602 2007-01-11  Simon Josefsson  <simon@josefsson.org>
55603
55604         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
55605         Emacs .#* auto-save files).
55606
55607 2007-01-11  Bruno Haible  <bruno@clisp.org>
55608
55609         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
55610         directory.
55611
55612 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
55613
55614         Use @...@ consistently in lib/wctype_.h.
55615         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
55616         on it being set to 1 or 0.
55617         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
55618         go back to AC_SUBSTing it.
55619         * modules/wctype (Makefile.am): Undo previous change.
55620
55621 2007-01-10  Eric Blake  <ebb9@byu.net>
55622
55623         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
55624         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
55625         * modules/wctype (Makefile.am): Likewise.
55626         Reported by Chris McGuire.
55627
55628 2007-01-10  Jim Meyering  <jim@meyering.net>
55629
55630         fts.c: a small readability/maintainability improvement
55631         * lib/fts.c (fts_read): Make this code slightly more readable and
55632         maintainable by hoisting the "sp->fts_cur = p" assignments to
55633         immediately follow the statements that set P.  Derived from
55634         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
55635
55636 2007-01-10  Eric Blake  <ebb9@byu.net>
55637
55638         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
55639         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
55640         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55641         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
55642         Reported by Chris McGuire.
55643
55644 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55645
55646         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
55647         in sed script.
55648
55649 2007-01-09  Bruno Haible  <bruno@clisp.org>
55650
55651         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
55652         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
55653         variables.
55654         (func_module): Use them.
55655
55656 2007-01-09  Bruno Haible  <bruno@clisp.org>
55657
55658         * modules/unistr/base: New file.
55659         * lib/unistr.h: New file.
55660
55661         * modules/unistr/u8-to-u16: New file.
55662         * lib/unistr/u8-to-u16.c: New file.
55663
55664         * modules/unistr/u8-to-u32: New file.
55665         * lib/unistr/u8-to-u32.c: New file.
55666
55667         * modules/unistr/u16-to-u8: New file.
55668         * lib/unistr/u16-to-u8.c: New file.
55669
55670         * modules/unistr/u16-to-u32: New file.
55671         * lib/unistr/u16-to-u32.c: New file.
55672
55673         * modules/unistr/u32-to-u8: New file.
55674         * lib/unistr/u32-to-u8.c: New file.
55675
55676         * modules/unistr/u32-to-u16: New file.
55677         * lib/unistr/u32-to-u16.c: New file.
55678
55679         * modules/unistr/u8-check: New file.
55680         * modules/unistr/u16-check: New file.
55681         * modules/unistr/u32-check: New file.
55682         * lib/unistr/u8-check.c: New file.
55683         * lib/unistr/u16-check.c: New file.
55684         * lib/unistr/u32-check.c: New file.
55685
55686         * modules/unistr/u8-chr: New file.
55687         * modules/unistr/u16-chr: New file.
55688         * modules/unistr/u32-chr: New file.
55689         * lib/unistr/u8-chr.c: New file.
55690         * lib/unistr/u16-chr.c: New file.
55691         * lib/unistr/u32-chr.c: New file.
55692
55693         * modules/unistr/u8-cmp: New file.
55694         * modules/unistr/u16-cmp: New file.
55695         * modules/unistr/u32-cmp: New file.
55696         * lib/unistr/u8-cmp.c: New file.
55697         * lib/unistr/u16-cmp.c: New file.
55698         * lib/unistr/u32-cmp.c: New file.
55699
55700         * modules/unistr/u8-cpy: New file.
55701         * modules/unistr/u16-cpy: New file.
55702         * modules/unistr/u32-cpy: New file.
55703         * lib/unistr/u8-cpy.c: New file.
55704         * lib/unistr/u16-cpy.c: New file.
55705         * lib/unistr/u32-cpy.c: New file.
55706         * lib/unistr/u-cpy.h: New file.
55707
55708         * modules/unistr/u8-cpy-alloc: New file.
55709         * modules/unistr/u16-cpy-alloc: New file.
55710         * modules/unistr/u32-cpy-alloc: New file.
55711         * lib/unistr/u8-cpy-alloc.c: New file.
55712         * lib/unistr/u16-cpy-alloc.c: New file.
55713         * lib/unistr/u32-cpy-alloc.c: New file.
55714         * lib/unistr/u-cpy-alloc.h: New file.
55715
55716         * modules/unistr/u8-endswith: New file.
55717         * modules/unistr/u16-endswith: New file.
55718         * modules/unistr/u32-endswith: New file.
55719         * lib/unistr/u8-endswith.c: New file.
55720         * lib/unistr/u16-endswith.c: New file.
55721         * lib/unistr/u32-endswith.c: New file.
55722         * lib/unistr/u-endswith.h: New file.
55723
55724         * modules/unistr/u8-mblen: New file.
55725         * modules/unistr/u16-mblen: New file.
55726         * modules/unistr/u32-mblen: New file.
55727         * lib/unistr/u8-mblen.c: New file.
55728         * lib/unistr/u16-mblen.c: New file.
55729         * lib/unistr/u32-mblen.c: New file.
55730
55731         * modules/unistr/u8-mbtouc: New file.
55732         * modules/unistr/u16-mbtouc: New file.
55733         * modules/unistr/u32-mbtouc: New file.
55734         * lib/unistr/u8-mbtouc.c: New file.
55735         * lib/unistr/u16-mbtouc.c: New file.
55736         * lib/unistr/u32-mbtouc.c: New file.
55737
55738         * modules/unistr/u8-mbtouc-safe: New file.
55739         * modules/unistr/u16-mbtouc-safe: New file.
55740         * modules/unistr/u32-mbtouc-safe: New file.
55741         * lib/unistr/u8-mbtouc-safe.c: New file.
55742         * lib/unistr/u16-mbtouc-safe.c: New file.
55743         * lib/unistr/u32-mbtouc-safe.c: New file.
55744
55745         * modules/unistr/u8-move: New file.
55746         * modules/unistr/u16-move: New file.
55747         * modules/unistr/u32-move: New file.
55748         * lib/unistr/u8-move.c: New file.
55749         * lib/unistr/u16-move.c: New file.
55750         * lib/unistr/u32-move.c: New file.
55751         * lib/unistr/u-move.h: New file.
55752
55753         * modules/unistr/u8-next: New file.
55754         * modules/unistr/u16-next: New file.
55755         * modules/unistr/u32-next: New file.
55756         * lib/unistr/u8-next.c: New file.
55757         * lib/unistr/u16-next.c: New file.
55758         * lib/unistr/u32-next.c: New file.
55759
55760         * modules/unistr/u8-prev: New file.
55761         * modules/unistr/u16-prev: New file.
55762         * modules/unistr/u32-prev: New file.
55763         * lib/unistr/u8-prev.c: New file.
55764         * lib/unistr/u16-prev.c: New file.
55765         * lib/unistr/u32-prev.c: New file.
55766
55767         * modules/unistr/u8-set: New file.
55768         * modules/unistr/u16-set: New file.
55769         * modules/unistr/u32-set: New file.
55770         * lib/unistr/u8-set.c: New file.
55771         * lib/unistr/u16-set.c: New file.
55772         * lib/unistr/u32-set.c: New file.
55773         * lib/unistr/u-set.h: New file.
55774
55775         * modules/unistr/u8-startswith: New file.
55776         * modules/unistr/u16-startswith: New file.
55777         * modules/unistr/u32-startswith: New file.
55778         * lib/unistr/u8-startswith.c: New file.
55779         * lib/unistr/u16-startswith.c: New file.
55780         * lib/unistr/u32-startswith.c: New file.
55781         * lib/unistr/u-startswith.h: New file.
55782
55783         * modules/unistr/u8-stpcpy: New file.
55784         * modules/unistr/u16-stpcpy: New file.
55785         * modules/unistr/u32-stpcpy: New file.
55786         * lib/unistr/u8-stpcpy.c: New file.
55787         * lib/unistr/u16-stpcpy.c: New file.
55788         * lib/unistr/u32-stpcpy.c: New file.
55789         * lib/unistr/u-stpcpy.h: New file.
55790
55791         * modules/unistr/u8-stpncpy: New file.
55792         * modules/unistr/u16-stpncpy: New file.
55793         * modules/unistr/u32-stpncpy: New file.
55794         * lib/unistr/u8-stpncpy.c: New file.
55795         * lib/unistr/u16-stpncpy.c: New file.
55796         * lib/unistr/u32-stpncpy.c: New file.
55797         * lib/unistr/u-stpncpy.h: New file.
55798
55799         * modules/unistr/u8-strcat: New file.
55800         * modules/unistr/u16-strcat: New file.
55801         * modules/unistr/u32-strcat: New file.
55802         * lib/unistr/u8-strcat.c: New file.
55803         * lib/unistr/u16-strcat.c: New file.
55804         * lib/unistr/u32-strcat.c: New file.
55805         * lib/unistr/u-strcat.h: New file.
55806
55807         * modules/unistr/u8-strchr: New file.
55808         * modules/unistr/u16-strchr: New file.
55809         * modules/unistr/u32-strchr: New file.
55810         * lib/unistr/u8-strchr.c: New file.
55811         * lib/unistr/u16-strchr.c: New file.
55812         * lib/unistr/u32-strchr.c: New file.
55813
55814         * modules/unistr/u8-strcmp: New file.
55815         * modules/unistr/u16-strcmp: New file.
55816         * modules/unistr/u32-strcmp: New file.
55817         * lib/unistr/u8-strcmp.c: New file.
55818         * lib/unistr/u16-strcmp.c: New file.
55819         * lib/unistr/u32-strcmp.c: New file.
55820
55821         * modules/unistr/u8-strcpy: New file.
55822         * modules/unistr/u16-strcpy: New file.
55823         * modules/unistr/u32-strcpy: New file.
55824         * lib/unistr/u8-strcpy.c: New file.
55825         * lib/unistr/u16-strcpy.c: New file.
55826         * lib/unistr/u32-strcpy.c: New file.
55827         * lib/unistr/u-strcpy.h: New file.
55828
55829         * modules/unistr/u8-strcspn: New file.
55830         * modules/unistr/u16-strcspn: New file.
55831         * modules/unistr/u32-strcspn: New file.
55832         * lib/unistr/u8-strcspn.c: New file.
55833         * lib/unistr/u16-strcspn.c: New file.
55834         * lib/unistr/u32-strcspn.c: New file.
55835         * lib/unistr/u-strcspn.h: New file.
55836
55837         * modules/unistr/u8-strdup: New file.
55838         * modules/unistr/u16-strdup: New file.
55839         * modules/unistr/u32-strdup: New file.
55840         * lib/unistr/u8-strdup.c: New file.
55841         * lib/unistr/u16-strdup.c: New file.
55842         * lib/unistr/u32-strdup.c: New file.
55843         * lib/unistr/u-strdup.h: New file.
55844
55845         * modules/unistr/u8-strlen: New file.
55846         * modules/unistr/u16-strlen: New file.
55847         * modules/unistr/u32-strlen: New file.
55848         * lib/unistr/u8-strlen.c: New file.
55849         * lib/unistr/u16-strlen.c: New file.
55850         * lib/unistr/u32-strlen.c: New file.
55851         * lib/unistr/u-strlen.h: New file.
55852
55853         * modules/unistr/u8-strmblen: New file.
55854         * modules/unistr/u16-strmblen: New file.
55855         * modules/unistr/u32-strmblen: New file.
55856         * lib/unistr/u8-strmblen.c: New file.
55857         * lib/unistr/u16-strmblen.c: New file.
55858         * lib/unistr/u32-strmblen.c: New file.
55859
55860         * modules/unistr/u8-strmbtouc: New file.
55861         * modules/unistr/u16-strmbtouc: New file.
55862         * modules/unistr/u32-strmbtouc: New file.
55863         * lib/unistr/u8-strmbtouc.c: New file.
55864         * lib/unistr/u16-strmbtouc.c: New file.
55865         * lib/unistr/u32-strmbtouc.c: New file.
55866
55867         * modules/unistr/u8-strncat: New file.
55868         * modules/unistr/u16-strncat: New file.
55869         * modules/unistr/u32-strncat: New file.
55870         * lib/unistr/u8-strncat.c: New file.
55871         * lib/unistr/u16-strncat.c: New file.
55872         * lib/unistr/u32-strncat.c: New file.
55873         * lib/unistr/u-strncat.h: New file.
55874
55875         * modules/unistr/u8-strncmp: New file.
55876         * modules/unistr/u16-strncmp: New file.
55877         * modules/unistr/u32-strncmp: New file.
55878         * lib/unistr/u8-strncmp.c: New file.
55879         * lib/unistr/u16-strncmp.c: New file.
55880         * lib/unistr/u32-strncmp.c: New file.
55881
55882         * modules/unistr/u8-strncpy: New file.
55883         * modules/unistr/u16-strncpy: New file.
55884         * modules/unistr/u32-strncpy: New file.
55885         * lib/unistr/u8-strncpy.c: New file.
55886         * lib/unistr/u16-strncpy.c: New file.
55887         * lib/unistr/u32-strncpy.c: New file.
55888         * lib/unistr/u-strncpy.h: New file.
55889
55890         * modules/unistr/u8-strnlen: New file.
55891         * modules/unistr/u16-strnlen: New file.
55892         * modules/unistr/u32-strnlen: New file.
55893         * lib/unistr/u8-strnlen.c: New file.
55894         * lib/unistr/u16-strnlen.c: New file.
55895         * lib/unistr/u32-strnlen.c: New file.
55896         * lib/unistr/u-strnlen.h: New file.
55897
55898         * modules/unistr/u8-strpbrk: New file.
55899         * modules/unistr/u16-strpbrk: New file.
55900         * modules/unistr/u32-strpbrk: New file.
55901         * lib/unistr/u8-strpbrk.c: New file.
55902         * lib/unistr/u16-strpbrk.c: New file.
55903         * lib/unistr/u32-strpbrk.c: New file.
55904         * lib/unistr/u-strpbrk.h: New file.
55905
55906         * modules/unistr/u8-strrchr: New file.
55907         * modules/unistr/u16-strrchr: New file.
55908         * modules/unistr/u32-strrchr: New file.
55909         * lib/unistr/u8-strrchr.c: New file.
55910         * lib/unistr/u16-strrchr.c: New file.
55911         * lib/unistr/u32-strrchr.c: New file.
55912
55913         * modules/unistr/u8-strspn: New file.
55914         * modules/unistr/u16-strspn: New file.
55915         * modules/unistr/u32-strspn: New file.
55916         * lib/unistr/u8-strspn.c: New file.
55917         * lib/unistr/u16-strspn.c: New file.
55918         * lib/unistr/u32-strspn.c: New file.
55919         * lib/unistr/u-strspn.h: New file.
55920
55921         * modules/unistr/u8-strstr: New file.
55922         * modules/unistr/u16-strstr: New file.
55923         * modules/unistr/u32-strstr: New file.
55924         * lib/unistr/u8-strstr.c: New file.
55925         * lib/unistr/u16-strstr.c: New file.
55926         * lib/unistr/u32-strstr.c: New file.
55927         * lib/unistr/u-strstr.h: New file.
55928
55929         * modules/unistr/u8-strtok: New file.
55930         * modules/unistr/u16-strtok: New file.
55931         * modules/unistr/u32-strtok: New file.
55932         * lib/unistr/u8-strtok.c: New file.
55933         * lib/unistr/u16-strtok.c: New file.
55934         * lib/unistr/u32-strtok.c: New file.
55935         * lib/unistr/u-strtok.h: New file.
55936
55937         * modules/unistr/u8-uctomb: New file.
55938         * modules/unistr/u16-uctomb: New file.
55939         * modules/unistr/u32-uctomb: New file.
55940         * lib/unistr/u8-uctomb.c: New file.
55941         * lib/unistr/u16-uctomb.c: New file.
55942         * lib/unistr/u32-uctomb.c: New file.
55943
55944         * MODULES.html.sh (Unicode string functions): Add the new modules.
55945
55946 2007-01-08  Bruno Haible  <bruno@clisp.org>
55947
55948         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
55949         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
55950         subdirectories.
55951
55952 2007-01-08  Karl Berry  <karl@gnu.org>
55953
55954         * doc/error.texi: mention that main() fns must set program_name
55955         when progname is used.
55956
55957 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
55958
55959         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
55960         WCTYPE_H is empty, for the benefit of builds from non-distclean
55961         directories.  Problem reported by Eric Blake in
55962         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
55963
55964 2007-01-08  Bruno Haible  <bruno@clisp.org>
55965
55966         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
55967         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
55968         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
55969         PROVIDE_CANONICALIZE_FILENAME_MODE.
55970         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
55971
55972 2007-01-08  Bruno Haible  <bruno@clisp.org>
55973
55974         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
55975         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
55976         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
55977         * lib/fts.c: Likewise.
55978         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
55979
55980 2006-12-25  Bruno Haible  <bruno@clisp.org>
55981
55982         * modules/utf8-ucs4-safe: New file.
55983         * lib/utf8-ucs4-safe.h: New file.
55984         * lib/unistr/utf8-ucs4-safe.c: New file.
55985
55986         * modules/utf16-ucs4-safe: New file.
55987         * lib/utf16-ucs4-safe.h: New file.
55988         * lib/unistr/utf16-ucs4-safe.c: New file.
55989
55990         * MODULES.html.sh (Unicode string functions): Add the new modules.
55991
55992 2007-01-08  Bruno Haible  <bruno@clisp.org>
55993
55994         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
55995         (Depends-on): Add unitypes.
55996         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55997         (u8_mbtouc_aux): Move out to separate file.
55998         (u8_mbtouc): Use ucs4_t, uint8_t types.
55999         * lib/unistr/utf8-ucs4.c: New file.
56000
56001         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
56002         (Depends-on): Add unitypes.
56003         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
56004         (u16_mbtouc_aux): Move out to separate file.
56005         (u16_mbtouc): Use ucs4_t, uint16_t types.
56006         * lib/unistr/utf16-ucs4.c: New file.
56007
56008         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
56009         (Depends-on): Add unitypes.
56010         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
56011         (u8_uctomb_aux): Move out to separate file.
56012         (u8_uctomb): Use ucs4_t, uint8_t types.
56013         * lib/unistr/ucs4-utf8.c: New file.
56014
56015         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
56016         (Depends-on): Add unitypes.
56017         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
56018         (u16_uctomb_aux): Move out to separate file.
56019         (u16_uctomb): Use ucs4_t, uint16_t types.
56020         * lib/unistr/ucs4-utf16.c: New file.
56021
56022 2006-12-25  Bruno Haible  <bruno@clisp.org>
56023
56024         * modules/unitypes: New file.
56025         * lib/unitypes.h: New file.
56026         * MODULES.html.sh (func_all_modules): New section "Unicode string
56027         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
56028         this section. Add unitypes.
56029
56030 2007-01-08  Bruno Haible  <bruno@clisp.org>
56031
56032         Avoid variable names that conflict with those from libtool.
56033         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
56034         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
56035         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
56036         library_names_spec to acl_library_names_spec, hardcode_* to
56037         acl_hardcode_*.
56038         Reported by Ralf Wildenhues.
56039
56040 2007-01-08  Bruno Haible  <bruno@clisp.org>
56041
56042         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
56043         definition.
56044         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
56045         definition.
56046         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
56047         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
56048         definition.
56049         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
56050         definition.
56051         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
56052         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
56053         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
56054         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
56055         definition.
56056         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
56057         definition.
56058         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
56059         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
56060         GC_USE_<algorithm>.
56061         * lib/gc-libgcrypt.c: Likewise.
56062         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
56063         * modules/gc-arctwo (configure.ac): Likewise.
56064         * modules/gc-des (configure.ac): Likewise.
56065         * modules/gc-hmac-md5 (configure.ac): Likewise.
56066         * modules/gc-hmac-sha1 (configure.ac): Likewise.
56067         * modules/gc-md2 (configure.ac): Likewise.
56068         * modules/gc-md4 (configure.ac): Likewise.
56069         * modules/gc-md5 (configure.ac): Likewise.
56070         * modules/gc-random (configure.ac): Likewise.
56071         * modules/gc-rijndael (configure.ac): Likewise.
56072         * modules/gc-sha1 (configure.ac): Likewise.
56073
56074 2007-01-08  Bruno Haible  <bruno@clisp.org>
56075
56076         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
56077         macro definition.
56078         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
56079         definition.
56080         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
56081         definition.
56082         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
56083         * modules/fcntl-safer (configure.ac): Likewise.
56084         * modules/fopen-safer (configure.ac): Likewise.
56085         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
56086         GNULIB_FWRITEERROR macro definition.
56087
56088 2007-01-08  Bruno Haible  <bruno@clisp.org>
56089
56090         * m4/gnulib-common.m4: New file.
56091         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
56092         (func_get_filelist): Add m4/gnulib-common.m4.
56093
56094 2007-01-08  Bruno Haible  <bruno@clisp.org>
56095
56096         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
56097         command.
56098
56099 2007-01-08  Jim Meyering  <jim@meyering.net>
56100
56101         Use a more robust test for a "can't happen" condition.
56102         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
56103         narrowed the st_size value.  Presuming the "can't happen" condition
56104         is true, that narrowing could conceivably convert an invalid st_size
56105         value into a valid one.  Instead, use a change based on Matthew
56106         Woehlke's original patch.
56107
56108         Slight readability improvement: use an assert-like macro
56109         in place of literal "abort ()" uses.
56110         * lib/fts.c (fts_assert): Define.
56111         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
56112         Use this macro instead of a bare 'abort'.
56113
56114 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
56115
56116         Don't worry about using IRIX 5.3's wctype.h broken definitions;
56117         simply work around them.
56118         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
56119         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
56120         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
56121         declaring.
56122         Don't bother to define as macros, since the standard doesn't require it.
56123         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
56124         longer worry about IRIX 5.3.
56125         (HAVE_WCTYPE_CTMP_BUG): Remove.
56126
56127 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56128
56129         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
56130         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
56131         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
56132         Problems reported by Georg Schwarz for IRIX 5.3.
56133
56134         * gnulib-tool (autoconf_minversion): Take the maximum version number
56135         found, not the minimum.  Problem reported by James Youngman.
56136
56137 2007-01-03  Karl Berry  <karl@gnu.org>
56138
56139         * doc/error.texi: new file, explaining interaction with progname.
56140         * doc/gnulib.texi: include it.  Update copyright.
56141
56142 2007-01-03  Simon Josefsson  <simon@josefsson.org>
56143
56144         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
56145         AC_CANONICAL_HOST, to improve autobuild outputs.
56146
56147 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
56148             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
56149
56150         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
56151         sockets, server sockets, and other file descriptors.  Count errors
56152         to compute the return value.  Reorder the code a bit to be easier
56153         to follow.  Don't set event bits that were not requested (except
56154         POLLERR and POLLHUP).
56155
56156 2007-01-01  Bruno Haible  <bruno@clisp.org>
56157
56158         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
56159
56160 2007-01-03  Jim Meyering  <jim@meyering.net>
56161
56162         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
56163
56164 2007-01-02  Bruno Haible  <bruno@clisp.org>
56165
56166         * modules/settime (Include): Require timespec.h.
56167         * modules/nanosleep (Include): Likewise.
56168
56169 2007-01-01  Bruno Haible  <bruno@clisp.org>
56170
56171         * gnulib-tool (func_emit_copyright_notice): Bump year.
56172         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
56173
56174 2007-01-01  Bruno Haible  <bruno@clisp.org>
56175
56176         Improve support for OpenBSD.
56177         * build-aux/config.rpath (libname_spec): Export.
56178         (library_names_spec): New variable. Export.
56179         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
56180         library_names_spec from the config.rpath output. Locate shared library
56181         through the name pattern in library_names_spec.
56182
56183 2007-01-01  Eric Blake  <ebb9@byu.net>
56184
56185         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
56186
56187 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
56188
56189         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
56190         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
56191         assume the C locale, and avoid an "eval" that could cause trouble.
56192         Problem with SORT reported by Bob Proulx.
56193
56194         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
56195         Define.  Trivial patch from Henning Nielsen Lund, originally
56196         sent to bug-grep@gnu.org today.
56197
56198 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56199
56200         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
56201         struct stat.  Problem reported by Henning Nielsen Lund.
56202         * lib/acl.c: Include acl.h first, to check interface.  Don't
56203         bother to include sys/types.h and sys/stat.h again.
56204
56205 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56206
56207         Import the following change from libc; problem reported by
56208         Sven Verdoolaege.
56209
56210         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
56211
56212         [BZ #1373]
56213         * lib/argp.h: Remove __NTH for __argp_usage inline function.
56214
56215 2006-12-28  Jim Meyering  <jim@meyering.net>
56216
56217         * build-aux/announce-gen: Do not assume that the package
56218         builds any of tar.gz, tar.bz2, and .xdelta files.
56219         Suggestion from Simon Josefsson.
56220
56221 2006-12-28  Simon Josefsson  <simon@josefsson.org>
56222
56223         * modules/announce-gen: New file.
56224
56225 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
56226
56227         * lib/mbchar.h: Just include <wctype.h>; the wctype module
56228         handles its gotchas now.
56229         * lib/mbswidth.c: Likewise.
56230         * lib/wcwidth.h: Likewise.
56231         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
56232         and iswcntrl; the wctype module does this stuff now.
56233         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56234         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56235         * modules/mbchar (Depends-on): Add wctype.
56236         * modules/mbswidth (Depends-on): Likewise.
56237         * modules/wcwidth (Depends-on): Likewise.
56238
56239 2006-12-27  Eric Blake  <ebb9@byu.net>
56240
56241         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
56242         module uses more than what <wctype.h> is required to provide.
56243
56244 2006-12-26  Eric Blake  <ebb9@byu.net>
56245
56246         * gnulib-tool (sed_extract_prog): Avoid space-tab.
56247
56248 2006-12-26  Eric Blake  <ebb9@byu.net>
56249
56250         * modules/absolute-header: New module.
56251         * modules/fcntl (Depends-on): Depend on it.
56252         * modules/inttypes (Depends-on): Likewise.
56253         * modules/stdint (Depends-on): Likewise.
56254         * modules/sys_stat (Depends-on): Likewise.
56255         * modules/wctype (Depends-on): Likewise.
56256         * MODULES.html.sh (Support for building libraries and
56257         executables): Document it.
56258
56259 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56260
56261         * gnulib-tool (SED): Remove, undoing previous change.
56262         The problem was that it broke coreutils on Solaris, because
56263         "sed --posix" leaked into a makefile.
56264         (sed): New alias, if 'alias' and GNU sed.
56265
56266 2006-12-24  Jim Meyering  <jim@meyering.net>
56267
56268         Work around an fchownat bug in glibc-2.4:
56269         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
56270         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
56271         in spite of the -P option.
56272         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
56273         New macros.
56274         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
56275         * modules/openat (Files): Add lib/fchownat.c.
56276         * lib/openat.c (fchownat): Don't define here.  Move to...
56277         * lib/fchownat.c: ...this new file.
56278
56279 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56280
56281         Fix bug reported by Bruno Haible in
56282         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
56283         where quotearg.c didn't compile on Mac OS X 10.2 because it
56284         lacks <wchar.h> and wint_t.
56285         * lib/wctype_.h (__wctype_wint_t): New type.
56286         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
56287         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
56288         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
56289         Arg is now of type __wctype_wint_t, not wint_t.
56290         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
56291         substitute HAVE_WINT_T.
56292         * modules/wctype (Files): Add m4/wint_t.m4.
56293         (wctype.h): Substitute HAVE_WINT_T.
56294
56295 2006-12-23  Bruno Haible  <bruno@clisp.org>
56296
56297         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
56298
56299 2006-12-23  Bruno Haible  <bruno@clisp.org>
56300
56301         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
56302         S_ISLNK.
56303         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
56304         mingw.
56305
56306 2006-12-22  Bruno Haible  <bruno@clisp.org>
56307
56308         * lib/copy-file.c: Include acl.h.
56309         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
56310         Close the file descriptors only after being done with copy_acl.
56311         * modules/copy-file (Depends-on): Add acl.
56312
56313 2006-12-22  Bruno Haible  <bruno@clisp.org>
56314
56315         * gnulib-tool (SED): New variable.
56316         Use $SED instead of sed everywhere.
56317
56318 2006-12-22  Bruno Haible  <bruno@clisp.org>
56319
56320         * modules/no-c++: New file.
56321         * m4/no-c++.m4: New file.
56322         * MODULES.html.sh (Support for building libraries and executables):
56323         Add no-c++.
56324
56325 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
56326
56327         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56328         Include <limits.h>, and use its INT_MAX to rewrite the
56329         j loop so that it does not overflow 'int'.  Problem reported by
56330         Ralf Wildenhues in
56331         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
56332         Play it safe by shifting left by 1 rather than multiplying by 2,
56333         as GCC is less likely to optimize this away when the value
56334         is signed (when it assumes overflow leads to undefined behavior).
56335         Also, don't assume time_t uses two's complement.
56336
56337 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
56338
56339         * MODULES.html.sh: New module wctype.
56340         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
56341         * lib/fnmatch.c: Don't bother to include <wchar.h> before
56342         <wctype.h>, since the new wctype module should fix this.
56343         * lib/quotearg.c: Include <wctype.h> unconditionally, since
56344         the wctype module should arrange for it.
56345         * lib/regex_internal.h: Likewise.
56346         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
56347         since the wctype module should handle this now.
56348         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
56349         * modules/fnmatch (Depends-on): Add wctype.
56350         * modules/quotearg (Depends-on): Likewise.
56351         * modules/regex (Depends-on): Likewise.
56352
56353 2006-12-19  Bruno Haible  <bruno@clisp.org>
56354
56355         * lib/strdup.h [C++]: Wrap definitions in extern "C".
56356         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
56357
56358 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56359
56360         * modules/savewd (Depends-on): Fix dependency on fcntl.
56361
56362 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56363
56364         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
56365         conforms to C99, rather than relying on the user's environment
56366         setting of STDINT_H.
56367
56368 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56369         and Eric Blake  <ebb9@byu.net>
56370
56371         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
56372         This is more consistent with the other defines here.
56373         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
56374         Port to z/OS.  Problem reported by Paul Gilmartin.
56375         Change local vars to use gl_ prefix rather than ac_.
56376         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
56377         with other defines.
56378         * modules/double-slash-root: New module.
56379         * modules/dirname (Files): Remove m4/double-slash-root.m4.
56380         (Depends-on): Add double-slash-root.
56381         * MODULES.html.sh (File system functions): Mention new module.
56382
56383 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
56384
56385         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
56386         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
56387         This is for the benefit of gzip, which doesn't do i18n.
56388
56389 2006-12-12  Jim Meyering  <jim@meyering.net>
56390
56391         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
56392         Reported by Andreas Schwab <schwab@suse.de>.
56393
56394 2006-12-12  Bruno Haible  <bruno@clisp.org>
56395
56396         Merge these changes.
56397         2006-09-05  Bruno Haible  <bruno@clisp.org>
56398         * lib/iconvme.c (iconv_string): No need to save and restore errno when
56399         iconv_alloc succeeded.
56400         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
56401         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
56402         test for " && dest " at the end - dest is always != NULL there. Call
56403         iconv with 4xNULL arguments initially, to reset the state. Call iconv
56404         with 2xNULL arguments, also to flush the state storage. Handle the
56405         IRIX iconv behaviour. Realloc the final result, to throw away unused
56406         memory.
56407
56408 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
56409
56410         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
56411         and fchmodat unconditionally, since glibc 2.4 has them.
56412         Problem reported by Arkadiusz Miskiewicz.
56413
56414 2006-12-10  Bruno Haible  <bruno@clisp.org>
56415
56416         * gnulib-tool (func_import): Show the include files only for those
56417         modules that are copied and specified.
56418         Reported by Karl Berry.
56419
56420 2006-12-08  Jim Meyering  <jim@meyering.net>
56421
56422         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
56423         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
56424
56425         * build-aux/announce-gen: Add two new options, both optional:
56426         --bootstrap-tools=TOOL_LIST
56427               a comma-separated list of tools, e.g.,
56428               autoconf,automake,bison,gnulib
56429         --gnulib-snapshot-date=DATE
56430               if gnulib is in the bootstrap tool list,
56431               then report this as the snapshot date.
56432               If not specified, use the current date/time.
56433               If you specify a date here, be sure it's UTC.
56434
56435 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56436
56437         * tests/test-argp-2.sh: Fix test to match actual output.
56438         (func_compare): Fix sed script to be portable.
56439
56440 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
56441
56442         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
56443         workaround for this case.  It is not autoconfigured now; offhand
56444         it's hard to see how to autoconfigure it.
56445
56446 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56447
56448         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
56449         a directory that is about to be chowned.  Such a directory's
56450         initial file permissions should permit the owner only and this
56451         should not be changed until after the chown, since the group and
56452         other bits would be incorrect if they granted permission before
56453         the chown.
56454
56455         Fix porting problem for iswctype reported by Georg Schwarz in:
56456         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
56457         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
56458         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
56459         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
56460         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56461
56462 2006-12-03  Jim Meyering  <jim@meyering.net>
56463
56464         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
56465         p->fts_statp may not yet be defined.
56466         (fts_read): Instead, set it in the caller, once p->fts_statp is
56467         sure to be defined, and corresponds to a top-level directory.
56468         This bug made du -x fail.  Here's the coreutils test case:
56469         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
56470         Reported by Mike Frysinger.
56471
56472 2006-12-01  Jim Meyering  <jim@meyering.net>
56473
56474         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
56475         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
56476         Reported by Simon Josefsson.
56477
56478 2006-11-30  Jim Meyering  <jim@meyering.net>
56479
56480         * m4/warning.m4: Use the all-permissive copyright notice
56481         recommended by RMS (rather than LGPL).
56482         * m4/vararrays.m4: Likewise.
56483         * m4/flexmember.m4: Likewise.
56484
56485 2006-11-29  Bruno Haible  <bruno@clisp.org>
56486
56487         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56488         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
56489         using +=.
56490         Reported by Simon Josefsson <simon@josefsson.org>.
56491
56492 2006-11-28  James Youngman <jay@gnu.org>
56493
56494         * README: Advise users that they might find the bug-gnulib@gnu.org
56495         and autotools-announce@gnu.org mailing lists useful.
56496
56497 2006-11-28  Bruno Haible  <bruno@clisp.org>
56498
56499         * m4/ptrdiff_max.m4: Remove file.
56500
56501 2006-11-21  Bruno Haible  <bruno@clisp.org>
56502
56503         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
56504         _AC_COMPUTE_INT.
56505         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56506         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
56507         _AC_COMPUTE_INT.
56508         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56509         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
56510         _AC_COMPUTE_INT.
56511         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56512
56513 2006-11-28  Jim Meyering  <jim@meyering.net>
56514
56515         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
56516         warning from "gcc -Wshadow" about shadowing the builtin.
56517
56518 2006-11-27  Bruno Haible  <bruno@clisp.org>
56519
56520         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
56521         _AC_COMPUTE_INT.
56522         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
56523
56524 2006-11-27  Bruno Haible  <bruno@clisp.org>
56525             Paul Eggert  <eggert@cs.ucla.edu>
56526
56527         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
56528
56529 2006-11-26  Bruno Haible  <bruno@clisp.org>
56530
56531         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56532         noinst_LTLIBRARIES.
56533
56534 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
56535             Bruno Haible  <bruno@clisp.org>
56536
56537         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
56538         if compiling with "gcc -ansi".
56539
56540 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
56541
56542         Fix some incompatibilities with gcc -ansi -pedantic.
56543         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
56544         if compiling pedantically with GCC, unless it's C99 or later.
56545         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
56546         it mishandles gcc -ansi -pedantic as well.
56547         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
56548         if gcc -pedantic.
56549         * lib/regexec.c (check_node_accept_bytes): Don't use auto
56550         initializers for struct if -pedantic, unless it's C99 or later.
56551
56552 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
56553
56554         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
56555         Don't close an fd more than once. Identical atimes indicate
56556         success, not failure.
56557
56558 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
56559
56560         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
56561
56562 2006-11-23  Jim Meyering  <jim@meyering.net>
56563
56564         * build-aux/announce-gen: New file.  From coreutils.
56565
56566 2006-11-22  Jim Meyering  <jim@meyering.net>
56567
56568         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
56569         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
56570         (fts_read): Use a temporary to narrow the overused st_size member
56571         before using it in a switch statement.  Reported by Matthew Woehlke.
56572
56573         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
56574         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
56575
56576 2006-11-20  Bruno Haible  <bruno@clisp.org>
56577
56578         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
56579         changequote instead of pairs of brackets.
56580         Reported by Andreas Schwab <schwab@suse.de>.
56581
56582 2006-11-21  Jim Meyering  <jim@meyering.net>
56583
56584         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
56585         so as to remain compatible with older compilers.
56586         Patch from Michael Deutschmann.
56587
56588 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56589
56590         * MODULES.html.sh (File system functions): Add openat.
56591
56592         * lib/openat.h (rpl_fstatat): New macro, if
56593         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
56594         (fstatat): Define to rpl_fstatat under the same conditions,
56595         unless COMPILING_FSTATAT.
56596         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
56597         seems to have the bug.
56598         * lib/fstatat.c: New file.
56599         * modules/openat (Files): Add it.
56600
56601 2006-11-20  Bruno Haible  <bruno@clisp.org>
56602
56603         * Makefile: New file.
56604
56605 2006-11-20  Jim Meyering  <jim@meyering.net>
56606
56607         The beginnings of syntax-related checks for gnulib.
56608         * lib/Makefile: New file.
56609         * lib/t-idcache: New script.  Ensure that the two halves of
56610         idcache.c stay in sync.
56611
56612         * lib/idcache.c: Adjust comments in user- and group- portions to
56613         be more accurate, and to be consistent with one another.
56614
56615 2006-11-20  Jim Meyering  <jim@meyering.net>
56616
56617         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
56618         continue using the flexible array member (thus, this module performs
56619         half as many malloc calls), with the addition that...
56620         (getgroup, getuser): Consistently record a non-match via an empty
56621         "name" string, and map an empty string match to a NULL return value.
56622         * modules/idcache (Depends-on): Re-add flexmember.
56623
56624         * lib/idcache.c (getuser): Remove all uses of the register keyword.
56625         (getuidbyname, getgroup, getgidbyname): Likewise.
56626
56627         Use cleaner syntax: NULL rather than 0.
56628         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
56629
56630 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56631
56632         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
56633         It mishandled the case where the group was missing.
56634         Problem reported by Greg Schafer.
56635         * modules/idcache: Likewise.
56636
56637 2006-11-18  Jim Meyering  <jim@meyering.net>
56638
56639         * check-module (%exempt_header): Add exception for some
56640         conditionally-included headers.
56641
56642         * modules/i-ring (Depends-on): Add verify.
56643         (License): Change to LGPL.
56644
56645 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56646
56647         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
56648         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
56649         and inttostr.h.  Use snprintf rather than uinttostr, so that
56650         LGPLed code doesn't depend on GPLed.
56651
56652 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56653
56654         * modules/inline (License): Change from GPL to LGPL.
56655
56656 2006-11-17  Jim Meyering  <jim@meyering.net>
56657
56658         * modules/d-type (License): Switch to LGPL.
56659
56660 2006-11-15  Bruno Haible  <bruno@clisp.org>
56661
56662         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
56663
56664 2006-11-15  Eric Blake  <ebb9@byu.net>
56665
56666         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
56667         the module dependency.
56668
56669 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56670             Bruno Haible  <bruno@clisp.org>
56671
56672         * gnulib-tool (func_create_testdir): Add license consistency check.
56673
56674 2006-11-15  Eric Blake  <ebb9@byu.net>
56675
56676         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
56677         random "(cached)" in configure output.
56678
56679 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56680
56681         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
56682         test for conforming inttypes.h is both announced and cached.
56683
56684         * MODULES.html.sh (seen_modules, seen_files): New variables.
56685         (func_module): Rewrite to use a few less gnulib-tool and sed
56686         invocations.  Avoid a couple of quadratic algorithms for ...
56687         (missed_modules, missed_files): ... these, with ...
56688         (func_append, func_tmpdir): ... these new functions, from
56689         gnulib-tool.  Analogously, install traps for cleanup.
56690
56691         * tests/test-gc.c (main): Remove unused variables.
56692         * tests/test-read-file.c: Include stdlib.h, for 'free'.
56693
56694 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
56695
56696         * modules/inttostr (License): Change to LGPL.
56697
56698 2006-11-14  Eric Blake  <ebb9@byu.net>
56699
56700         * modules/tempname (License): Change to LGPL.
56701
56702 2006-11-14  Eric Blake  <ebb9@byu.net>
56703
56704         * doc/functions.texi (Function Portability): *printf functions on
56705         Cygwin now understand all POSIX size specifiers.
56706
56707 2006-11-14  Bruno Haible  <bruno@clisp.org>
56708
56709         * modules/c-ctype (License): Change to LGPL.
56710
56711 2006-11-12  Bruno Haible  <bruno@clisp.org>
56712
56713         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
56714         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
56715         for GNOME libraries, for which the include files are installed in
56716         subdirectories of $prefix/include.
56717
56718 2006-11-12  Bruno Haible  <bruno@clisp.org>
56719
56720         * m4/lib-link.m4: Require at least autoconf-2.54.
56721         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
56722         name to underscores for the --with option.
56723
56724 2006-11-13  Bruno Haible  <bruno@clisp.org>
56725
56726         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
56727         the tests directory.
56728         Reported by Ralf Wildenhues.
56729
56730 2006-11-13  Bruno Haible  <bruno@clisp.org>
56731
56732         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
56733         (func_emit_initmacro_end): Undo the override here.
56734         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
56735         Works around the famous automake error in coreutils.
56736
56737 2006-11-13  Eric Blake  <ebb9@byu.net>
56738
56739         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
56740         element, not its node.
56741
56742 2006-11-12  Bruno Haible  <bruno@clisp.org>
56743
56744         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
56745         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
56746
56747 2006-11-12  Bruno Haible  <bruno@clisp.org>
56748
56749         * gnulib-tool: New option --local-symlink.
56750         (func_usage): Document it.
56751         (lsymbolic): New variable.
56752         (func_import, func_create_testdir): If --symlink was not specified,
56753         test whether --local-symlink was specified and the file comes from
56754         the local_gnulib_dir.
56755
56756 2006-11-12  Bruno Haible  <bruno@clisp.org>
56757
56758         * gnulib-tool (func_ln): New function.
56759         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
56760
56761 2006-11-12  Bruno Haible  <bruno@clisp.org>
56762
56763         Finish support for source files in subdirectories.
56764         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
56765         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
56766         AUTOMAKE_OPTIONS.
56767         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
56768
56769 2006-11-12  Bruno Haible  <bruno@clisp.org>
56770
56771         * gnulib-tool (func_get_automake_snippet): Synthesize also an
56772         EXTRA_lib_SOURCES augmentation.
56773         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
56774
56775 2006-11-12  Jim Meyering  <jim@meyering.net>
56776
56777         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
56778         file descriptors.  This also averts a failure on systems with
56779         native openat support when a traversed directory lacks "x" access.
56780         * lib/fts_.h: Include "i-ring.h"
56781         (struct FTS) [fts_fd_ring]: New member.
56782         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
56783         (FCHDIR): Add parentheses.
56784         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
56785         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
56786         When descending, rather than simply closing the previous
56787         fts_cwd_fd value, push that file descriptor onto the ring.
56788         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
56789         (fts_open): Initialize the new fd_ring member.
56790         (fts_close): Clear the ring.
56791         (fts_safe_changedir): When possible, use our new fd_ring to skip
56792         the diropen and fstat and dev/ino comparison that would normally
56793         accompany a virtual `chdir ("..")'.
56794
56795         * modules/fts (Depends-on): Add i-ring.
56796         * modules/i-ring: New module.
56797         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
56798         * m4/i-ring.m4: New file.
56799
56800 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56801
56802         * gnulib-tool (func_create_testdir): Fix replacement of
56803         `build-aux' in configure.ac.  Run autotools in gltests
56804         subdirectory.
56805         (func_create_testdir, func_create_megatestdir, test): There is
56806         no need for '--force' in most autotool invocations in a new
56807         tree.  Actually fail the whole test if any of the tools, or the
56808         configure or make stages fail.
56809
56810         Sync from Automake.
56811         * build-aux/gnupload: Revert last change.  Add pointer to upload
56812         instructions of the GNU Maintenance Instructions.
56813         Suggestion by Karl Berry.
56814
56815 2006-11-10  Jim Meyering  <jim@meyering.net>
56816
56817         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
56818
56819 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56820
56821         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
56822         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
56823         (bind_textdomain_codeset) [! ENABLE_NLS]:
56824         Evaluate all the arguments.  That way, callers get compatible behavior
56825         if the arguments have side effects.  Also, it avoids some GCC
56826         diagnostics in some cases; Joel E. Denny reported problems when Bison
56827         was configured with --enable-gcc-warnigs.
56828
56829 2006-11-10  Jim Meyering  <jim@meyering.net>
56830
56831         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
56832         relevant options in CFLAGS (like -O, -fno-inline) are taken into
56833         account.
56834
56835 2006-11-10  Jim Meyering  <jim@meyering.net>
56836
56837         * modules/inline: New file/module.
56838         * modules/xalloc (Files): Remove m4/inline.m4.
56839         (Depends-on): Add inline, instead.
56840         * modules/oset: Likewise.
56841         * modules/list: Likewise.
56842
56843 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56844
56845         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
56846         Problem reported by Matthew Woehlke.
56847
56848 2006-11-09  Bruno Haible  <bruno@clisp.org>
56849
56850         * lib/tempname.c (gen_tempname): Remove variant that invokes
56851         __gen_tempname.
56852         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
56853         __gen_tempname.
56854
56855 2006-11-08  Bruno Haible  <bruno@clisp.org>
56856
56857         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
56858         to 'yes' instead of 'cross-compiling'.
56859
56860 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
56861
56862         * lib/quotearg.h (quotearg_free): New decl.
56863         * lib/quotearg.c (quotearg_free): New function.
56864         (slot0, nslots, slotvec0, slotvec):
56865         Now file-scope so that quotearg_free can get at them.
56866
56867 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56868
56869         Sync from Automake.
56870         * build-aux/gnupload: Add missing 'gnu' to example URL.
56871         Report by Karl Berry.
56872
56873 2006-11-08  Bruno Haible  <bruno@clisp.org>
56874
56875         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
56876         Suggested by Paul Eggert.
56877
56878 2006-11-08  Jim Meyering  <jim@meyering.net>
56879
56880         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
56881         It's already included if !_LIBC.
56882         (fts_safe_changedir): Add a comment.
56883
56884 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56885
56886         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
56887         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
56888         Matthew Woehlke.
56889
56890         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
56891         definitions up, to avoid colliding with change below.
56892         (static_inline) [HAVE_INLINE]: New macro.
56893         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
56894         Provide extern decls when !HAVE_INLINE.  Do not define unless
56895         static_inline is defined, either by us or by xmalloc.c.  Use
56896         static_inline rather than static inline.
56897         (XCALLOC): Optimize sizeof(T) = 1 case.
56898         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
56899
56900 2006-11-07  Bruno Haible  <bruno@clisp.org>
56901
56902         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
56903         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
56904         AC_C_INLINE.
56905         * modules/xalloc (Files): Add m4/inline.m4.
56906
56907 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56908
56909         * README: Fix typo.
56910         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
56911         (Miscellanous Notes): ...from this.
56912
56913 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56914
56915         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
56916         Mention that offsetof should be used instead of sizeof.
56917         From Bruno Haible.
56918
56919 2006-11-07  Bruno Haible  <bruno@clisp.org>
56920
56921         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
56922
56923 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56924
56925         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56926         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
56927         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56928         (gl_tree_add_before, gl_tree_add_after):
56929         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
56930         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
56931         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
56932         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
56933         (gl_linked_add_after, gl_linked_add_at): Likewise.
56934         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
56935         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56936         (gl_tree_add_before, gl_tree_add_after): Likewise.
56937         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
56938         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
56939         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
56940
56941 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56942
56943         * lib/gl_oset.h: Use C comment style, not C++ comment style.
56944
56945 2006-11-06  Bruno Haible  <bruno@clisp.org>
56946
56947         * m4/inline.m4: New file.
56948         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
56949         * modules/list (Files): Add m4/inline.m4.
56950         * modules/oset (Files): Likewise.
56951
56952 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56953
56954         * lib/idcache.c: Include <stddef.h>, for offsetof.
56955         (struct userid.name): Change from char * to a flexible array member.
56956         All uses changed.
56957         * modules/idcache (Depends-on): Add flexmember.
56958
56959         * MODULES.html.sh (Core language properties): New module flexmember.
56960         * modules/flexmember, m4/flexmember.m4: New files.
56961
56962         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
56963         inline functions that are identical with the old xnmalloc_inline,
56964         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
56965         that we can avoid some unnecessary integer multiplications and
56966         divisions in the common case where the element size is known at
56967         compile time.
56968         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
56969         needed.
56970         (xnboundedmalloc): Remove.
56971         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
56972         arguments, for consistency with rest of this header.
56973         (xcharalloc): Rewrite using XNMALLOC.
56974         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
56975         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
56976         versions have been moved to lib/xalloc.h and renamed to be the
56977         non-*_inline versions.
56978         (xmalloc, xrealloc): Implement without reference to the xnmalloc
56979         and xnrealloc functions, since those functions are now inline and
56980         now call us.
56981         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
56982         renaming described above.
56983         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
56984         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
56985         captures the dependency in AC_C_INLINE.
56986
56987         New module canonicalize-lgpl, proposed by Charles Wilson in
56988         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
56989         with a few small changes afterwards.
56990         * MODULES.html.sh (File system functions): New module
56991         canonicalize-lgpl.
56992         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
56993         and canonicalize_file_name.
56994         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
56995         * modules/canonicalize-lgpl: New files.
56996
56997 2006-11-05  Bruno Haible  <bruno@clisp.org>
56998
56999         * gnulib-tool (func_import, func_create_testdir): Create directories
57000         also for files in subdirectories of lib/.
57001
57002 2006-11-05  Bruno Haible  <bruno@clisp.org>
57003
57004         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
57005         ANSI C compliant.
57006
57007 2006-11-03  Bruno Haible  <bruno@clisp.org>
57008
57009         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
57010         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
57011         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
57012         (xnboundedmalloc): New inline function.
57013         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
57014         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
57015         xmalloc.
57016         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
57017         xmalloc.
57018         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
57019         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
57020         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
57021         xmalloc.
57022         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
57023         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
57024         xmalloc.
57025         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
57026         gl_tree_add_after): Use XMALLOC instead of xmalloc.
57027         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
57028         xmalloc.
57029         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
57030         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
57031         gl_tree_add_after): Use XMALLOC instead of xmalloc.
57032         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
57033         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
57034         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
57035         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
57036
57037 2006-11-03  Bruno Haible  <bruno@clisp.org>
57038
57039         * lib/c-ctype.h [C++]: Define functions without name mangling.
57040         * lib/fwriteerror.h [C++]: Likewise.
57041         * lib/gcd.h [C++]: Likewise.
57042         * lib/linebreak.h [C++]: Likewise.
57043
57044 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57045
57046         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
57047         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
57048         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
57049         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57050         Check for functions and headers just once.
57051         Check for declaration of canonicalize_file_name.
57052         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
57053
57054 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57055
57056         * gnulib-tool (func_import): Fix typo in actioncmd.
57057
57058 2006-11-02  Bruno Haible  <bruno@clisp.org>
57059
57060         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
57061         newline sequence in the Makefile.am snippet as a space, like "make"
57062         does.
57063         Reported by Roger Persson <perrog@gmail.com>.
57064
57065 2006-11-01  Bruno Haible  <bruno@clisp.org>
57066
57067         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
57068         already declared in <string.h>.
57069         * lib/strcase.h (strncasecmp): Don't declare it if yes.
57070
57071 2006-11-01  Bruno Haible  <bruno@clisp.org>
57072
57073         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
57074         * lib/strcase.h: Include <string.h>.
57075         (strcasecmp): Define to rpl_strcasecmp here.
57076
57077 2006-11-01  Bruno Haible  <bruno@clisp.org>
57078
57079         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
57080
57081 2006-11-01  Eric Blake  <ebb9@byu.net>
57082
57083         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
57084
57085         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
57086
57087 2006-10-29  Bruno Haible  <bruno@clisp.org>
57088
57089         Make it compile in C++ mode.
57090         * lib/full-write.c (full_rw): Add a cast.
57091
57092 2006-11-01  Bruno Haible  <bruno@clisp.org>
57093
57094         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
57095         be POSIX compliant.
57096         Reported by Roger Persson <perrog@gmail.com>.
57097
57098 2006-11-01  Eric Blake  <ebb9@byu.net>
57099
57100         * lib/getopt_.h: Fix comments.
57101
57102 2006-10-31  Eric Blake  <ebb9@byu.net>
57103
57104         * modules/tmpdir (Depends-on): Add sys_stat.
57105         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
57106         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
57107         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
57108         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
57109         tempname.
57110
57111 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
57112
57113         Avoid some C++ diagnostics reported by Bruno Haible.
57114         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
57115         xmalloc.
57116         (quotearg_alloc): Use xcharalloc rather than xmalloc.
57117         (struct slotvec): Move to top level.
57118         (quotearg_n_options): Rewrite to avoid xmalloc.
57119         * lib/xalloc.h (xcharalloc): New function.
57120         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
57121         [defined __cplusplus]: Add function template that provides result
57122         type propagation.  This part of the change is from Bruno Haible.
57123
57124 2006-10-29  Bruno Haible  <bruno@clisp.org>
57125
57126         Make it compile in C++ mode.
57127         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
57128         * lib/strnlen1.c (strnlen1): Cast memchr result.
57129         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
57130         * lib/clean-temp.c (string_equals, string_hash): Add casts.
57131         (create_temp_dir): Rename local variable 'template'.
57132         (compile_csharp_using_sscli): Add cast.
57133         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
57134         * lib/findprog.c (find_in_path): Likewise.
57135         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
57136         * lib/wait-process.c (register_slave_subprocess): Likewise.
57137
57138 2006-10-22  Bruno Haible  <bruno@clisp.org>
57139
57140         * modules/tsearch: New file.
57141         * lib/tsearch.h: New file.
57142         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
57143         * m4/tsearch.m4: New file.
57144         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
57145
57146 2006-10-29  Eric Blake  <ebb9@byu.net>
57147
57148         * lib/arcfour.c: Assume config.h.
57149         * lib/arctwo.c: Likewise.
57150         * lib/base64.c: Likewise.
57151         * lib/check-version.c: Likewise.
57152         * lib/crc.c: Likewise.
57153         * lib/des.c: Likewise.
57154         * lib/gc-gnulib.c: Likewise.
57155         * lib/gc-libgcrypt.c: Likewise.
57156         * lib/gc-pbkdf2-sha1.c: Likewise.
57157         * lib/getaddrinfo.c: Likewise.
57158         * lib/getdelim.c: Likewise.
57159         * lib/getline.c: Likewise.
57160         * lib/hmac-md5.c: Likewise.
57161         * lib/hmac-sha1.c: Likewise.
57162         * lib/iconvme.c: Likewise.
57163         * lib/md2.c: Likewise.
57164         * lib/md4.c: Likewise.
57165         * lib/memxor.c: Likewise.
57166         * lib/read-file.c: Likewise.
57167         * lib/readline.c: Likewise.
57168         * lib/rijndael-alg-fst.c: Likewise.
57169         * lib/rijndael-api-fst.c: Likewise.
57170         * lib/xgetdomainname.c: Likewise.
57171
57172 2006-10-28  Eric Blake  <ebb9@byu.net>
57173
57174         * lib/xstrndup.c: Assume config.h.
57175
57176 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
57177
57178         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
57179         stat-macros.h is now for our own macros, whereas stat_h is for
57180         macros in the <sys/stat.h> name space.
57181         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
57182         (STAT_MACROS_H): Remove.
57183         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
57184         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
57185         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
57186         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
57187         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
57188         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
57189         Move these macros to ...
57190         * lib/stat_.h: here.  Don't include stat-macros.h.
57191         * lib/canonicalize.c: Don't include stat-macros.h.
57192         * lib/chown.c: Likewise.
57193         * lib/euidaccess.c: Likewise.
57194         * lib/file-type.c: Likewise.
57195         * lib/filemode.c: Likewise.
57196         * lib/glob.c: Likewise.
57197         * lib/isapipe.c: Likewise.
57198         * lib/lchown.c: Likewise.
57199         * lib/lstat.c: Likewise.
57200         * lib/mkdir-p.c: Likewise.
57201         * lib/rmdir.c: Likewise.
57202         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
57203         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
57204         unless mkdir isn't declared, to speed up 'configure'.
57205         Always create sys/stat.h, since it's unlikely any real sys/stat.h
57206         would define all the S_* symbols.
57207         * modules/canonicalize (Depends-on):
57208         Depend on sys_stat, not stat-macros.
57209         * modules/chown: Likewise.
57210         * modules/euidaccess: Likewise.
57211         * modules/filemode: Likewise.
57212         * modules/file-type: Likewise.
57213         * modules/glob: Likewise.
57214         * modules/isapipe: Likewise.
57215         * modules/lchown: Likewise.
57216         * modules/lstat: Likewise.
57217         * modules/mkancesdirs: Likewise.
57218         * modules/rmdir: Likewise.
57219         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
57220         * modules/modechange: Likewise.
57221         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
57222         (configure.ac): Remove gl_STAT_MACROS.
57223         * modules/sys_stat (Depends-on): Remove stat-macros.
57224
57225 2006-10-27  Bruno Haible  <bruno@clisp.org>
57226
57227         * m4/signed.m4: Remove file.
57228         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
57229         invocation.
57230         * modules/vasnprintf (Files): Remove m4/signed.m4.
57231
57232 2006-10-27  Bruno Haible  <bruno@clisp.org>
57233
57234         Update to GNU gettext 0.16.
57235         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
57236         m4/inttypes-h.m4, m4/signed.m4.
57237         * m4/gettext.m4: Update to GNU gettext 0.16.
57238         * m4/intl.m4: New file, from GNU gettext.
57239         * m4/intldir.m4: New file, from GNU gettext.
57240         * config/srclist.txt: Update
57241
57242 2006-10-27  Eric Blake  <ebb9@byu.net>
57243
57244         * MODULES.html.sh: Document tempname.
57245         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
57246         dependencies.
57247         (Files): Move lib/tempname.c...
57248         * modules/tempname: ...to this new module.
57249         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
57250         (gl_PREREQ_TEMPNAME): Move...
57251         * m4/tempname.m4: ...to this new file.
57252         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
57253         * modules/sys_stat (Depends-on): Add stat-macros.
57254         * lib/stat_.h (includes): Pick up stat macros.
57255         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
57256         if stat macros are broken.
57257         * lib/tempname.c (includes): No need to include "stat-macros.h".
57258         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
57259         (direxists, __path_search) [!_LIBC]: Don't compile these in
57260         gnulib; the tmpdir module covers that.
57261         * lib/tempname.h: New file.
57262
57263 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
57264
57265         * COPYING: Explain how gnulib-tool converts licence headers.
57266         Almost all wording by Eric Blake.
57267
57268 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
57269
57270         * lib/mbchar.h (is_basic_table): Make read-only.
57271         * lib/mbchar.c (is_basic_table): Likewise.
57272         Reported by John Darrington.
57273
57274 2006-10-25  Bruno Haible  <bruno@clisp.org>
57275
57276         * lib/progname.h (set_program_name): Undefine before defining.
57277
57278 2006-10-25  Bruno Haible  <bruno@clisp.org>
57279
57280         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
57281         false for non-gcc C++ compilers.
57282         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57283
57284 2006-10-24  Bruno Haible  <bruno@clisp.org>
57285
57286         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
57287         iconv implementations like Irix iconv.
57288
57289 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57290
57291         * modules/vararrays: New file.
57292         * m4/vararrays.m4: New file, taken from diffutils.
57293         * MODULES.html.sh: New module vararrays.
57294
57295 2006-10-24  Karl Berry  <karl@gnu.org>
57296
57297         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
57298         Don't call GNU Unix.
57299
57300 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57301
57302         * users.txt: Add Libtool.
57303
57304         Sync from Libtool:
57305
57306         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57307
57308         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
57309         to gnulib's policy of including config.h unconditionally.
57310
57311 2006-10-24  Bruno Haible  <bruno@clisp.org>
57312
57313         * modules/wcwidth (Files): Add m4/wint_t.m4.
57314         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
57315         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
57316
57317 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57318
57319         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
57320         to pacify GCC with some -W flags enabled.  Problem reported by
57321         Bruno Haible.
57322
57323 2006-10-24  Jim Meyering  <jim@meyering.net>
57324
57325         * MODULES.html.sh: Remove uinttostr.  It's not a module.
57326         Reported by Karl Berry.
57327
57328 2006-10-23  Bruno Haible  <bruno@clisp.org>
57329
57330         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
57331
57332 2006-10-24  Bruno Haible  <bruno@clisp.org>
57333
57334         * lib/gl_list.h: Use C comment style, not C++ comment style.
57335
57336 2006-10-23  Eric Blake  <ebb9@byu.net>
57337
57338         * lib/getaddrinfo.c (includes): Add missing include.
57339
57340 2006-10-23  Bruno Haible  <bruno@clisp.org>
57341             Paul Eggert  <eggert@cs.ucla.edu>
57342
57343         Ability to rename obstack_free.
57344         * lib/obstack.h (__obstack_free): New macro. Declare instead of
57345         obstack_free.
57346         (obstack_free): Invoke the __obstack_free macro.
57347         * lib/obstack.c (obstack_free): Use __obstack_free macro.
57348
57349 2006-10-23  Bruno Haible  <bruno@clisp.org>
57350             Paul Eggert  <eggert@cs.ucla.edu>
57351
57352         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
57353         __argc, __argv from the declaration. (They are defined as macros on
57354         mingw.)
57355
57356 2006-10-22  Bruno Haible  <bruno@clisp.org>
57357
57358         * doc/gnulib-intro.texi: New file.
57359         * doc/gnulib.texi: Include it.
57360
57361 2006-10-21  Bruno Haible  <bruno@clisp.org>
57362
57363         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
57364         "Introduction", "Miscellanous Notes", "Particular Modules".
57365
57366 2006-10-21  Bruno Haible  <bruno@clisp.org>
57367
57368         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57369         Change mostlyclean-local rule to avoid sh syntax error from bash
57370         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
57371
57372 2006-10-23  Jim Meyering  <jim@meyering.net>
57373
57374         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
57375         in place of snprintf.
57376
57377         * modules/inttostr (Files): Add lib/uinttostr.c.
57378         * lib/uinttostr.c (inttostr): New file/function.
57379         * lib/inttostr.h (uinttostr): Declare.
57380         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
57381         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
57382         Add uinttostr.
57383         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
57384
57385 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57386
57387         * lib/canonicalize.c (ELOOP): Define if not already defined.
57388         Problem reported by Bruno Haible in
57389         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
57390
57391 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
57392
57393         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
57394         Problem reported by Perry Smith and Ville Laurikari.
57395
57396         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
57397         uses.
57398
57399 2006-10-19  Bruno Haible  <bruno@clisp.org>
57400
57401         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
57402         for mingw.
57403
57404 2006-10-19  Bruno Haible  <bruno@clisp.org>
57405
57406         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
57407         Needed for mingw.
57408
57409 2006-10-19  Bruno Haible  <bruno@clisp.org>
57410
57411         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
57412
57413 2006-10-19  Bruno Haible  <bruno@clisp.org>
57414
57415         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
57416         it.
57417
57418 2006-10-19  Bruno Haible  <bruno@clisp.org>
57419
57420         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
57421         invocation.
57422
57423 2006-10-19  Bruno Haible  <bruno@clisp.org>
57424
57425         * gnulib-tool (func_create_testdir): Don't include ftruncate and
57426         mountlist by default.
57427
57428 2006-10-16  Bruno Haible  <bruno@clisp.org>
57429
57430         * lib/c-strstr.c: Include c-strstr.h.
57431
57432 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
57433
57434         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
57435         in a slash.
57436
57437 2006-10-18  Bruno Haible  <bruno@clisp.org>
57438
57439         * lib/lock.h [C++]: Wrap definitions in extern "C".
57440
57441 2006-10-18  Bruno Haible  <bruno@clisp.org>
57442
57443         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
57444         gl_LIBOBJS list.
57445
57446 2006-10-18  Bruno Haible  <bruno@clisp.org>
57447
57448         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
57449
57450 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
57451
57452         * lib/xstrtol.h: Include gettext.h.
57453         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
57454         Problem reported by Eric Blake.
57455         * modules/xstrtol (Depends-on): Add gettext-h.
57456
57457 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
57458
57459         * lib/strftime.c (advance): New macro.
57460         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
57461         incomplete type, so you can't add 0 to it.  Problem and patch
57462         reported by Eelco Dolstra for dietlibc.
57463
57464 2006-10-18  Jim Meyering  <jim@meyering.net>
57465
57466         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
57467         type for a local, and rename it: s/up/user_proc/.
57468
57469 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57470
57471         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
57472         READ_UTMP_USER_PROCESS.
57473         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
57474
57475 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57476
57477         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
57478         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
57479
57480 2006-10-17  Eric Blake  <ebb9@byu.net>
57481
57482         * lib/sigprocmask.c (sigprocmask): Fix typo.
57483
57484         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
57485
57486         * modules/clean-temp (Makefile.am): Don't add to make output...
57487         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
57488         config.h.
57489
57490 2006-10-17  Bruno Haible  <bruno@clisp.org>
57491
57492         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
57493         differently if DEFAULT_TEXT_DOMAIN is set.
57494
57495 2006-10-16  Bruno Haible  <bruno@clisp.org>
57496
57497         * lib/clean-temp.c: Include fwriteerror.h.
57498
57499 2006-10-16  Bruno Haible  <bruno@clisp.org>
57500
57501         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
57502
57503 2006-10-16  Bruno Haible  <bruno@clisp.org>
57504
57505         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
57506         * lib/sigprocmask.h: Include <sys/types.h>.
57507         (sigset_t): Use the system's definition if present.
57508
57509 2006-10-17  Eric Blake  <ebb9@byu.net>
57510
57511         * lib/xvasprintf.c (includes): Assume config.h.
57512         * lib/xasprintf.c (includes): Likewise.
57513
57514 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57515
57516         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
57517         at least as wide as intmax_t.
57518
57519 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
57520
57521         (Imported from Automake.)
57522         * build-aux/gnupload: Update to version 1.1 of directive file.
57523
57524 2006-10-16  Eric Blake  <ebb9@byu.net>
57525
57526         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
57527         match Automake 1.10a.
57528
57529 2006-10-14  Bruno Haible  <bruno@clisp.org>
57530
57531         * modules/sigprocmask: New file.
57532         * lib/sigprocmask.h: New file.
57533         * lib/sigprocmask.c: New file.
57534         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
57535         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
57536         request sigprocmask.o.
57537         (gl_PREREQ_SIGPROCMASK): New macro.
57538         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
57539         (Depends-on): Add sigprocmask.
57540         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
57541         gt_SIGNALBLOCKING. Test for 'raise' only once.
57542         * lib/fatal-signal.c: Include sigprocmask.h.
57543         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
57544         unblock_fatal_signals): Define always.
57545         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57546         sigprocmask.
57547
57548 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57549
57550         Sync from Automake.
57551         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
57552         which incorrectly sets the mode of an existing destination
57553         directory.  In some cases the unpatched install-sh could do the
57554         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
57555         system.  We hope this is rare in practice, but it's clearly worth
57556         fixing.  Problem reported by Alex Unleashed in
57557         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
57558         Also, don't bother to check for -m bugs unless we're using -m;
57559         suggested by Stepan Kasal.
57560
57561 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57562
57563         Sync from Automake.
57564         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
57565         `-c' flag, so they appear at the same position as in %FASTDEP%
57566         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
57567         which ignores unknown options only after the first non-option.
57568         Bug report against M4 by Nelson H. F. Beebe.
57569
57570 2006-10-13  Jim Meyering  <jim@meyering.net>
57571
57572         Fix a bug in yesterday's change.
57573         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
57574         p->fts_statp->st_dev would be used uninitialized.
57575         Ensures that we always call fts_stat on the very first entry.
57576         Miklos Szeredi reported that find -xdev stopped working.
57577
57578 2006-10-12  Bruno Haible  <bruno@clisp.org>
57579
57580         * gnulib-tool (func_get_automake_snippet): Append an automatically
57581         computed EXTRA_DIST augmentation.
57582         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
57583         * modules/alloca-opt (Makefile.am): Likewise.
57584         * modules/allocsa (Makefile.am): Likewise.
57585         * modules/arcfour (Makefile.am): Likewise.
57586         * modules/arctwo (Makefile.am): Likewise.
57587         * modules/argmatch (Makefile.am): Likewise.
57588         * modules/argz (Makefile.am): Likewise.
57589         * modules/atexit (Makefile.am): Likewise.
57590         * modules/backupfile (Makefile.am): Likewise.
57591         * modules/byteswap (Makefile.am): Likewise.
57592         * modules/c-strtod (Makefile.am): Likewise.
57593         * modules/c-strtold (Makefile.am): Likewise.
57594         * modules/calloc (Makefile.am): Likewise.
57595         * modules/canon-host (Makefile.am): Likewise.
57596         * modules/canonicalize (Makefile.am): Likewise.
57597         * modules/chdir-long (Makefile.am): Likewise.
57598         * modules/chdir-safer (Makefile.am): Likewise.
57599         * modules/check-version (Makefile.am): Likewise.
57600         * modules/chown (Makefile.am): Likewise.
57601         * modules/cloexec (Makefile.am): Likewise.
57602         * modules/close-stream (Makefile.am): Likewise.
57603         * modules/closeout (Makefile.am): Likewise.
57604         * modules/crc (Makefile.am): Likewise.
57605         * modules/csharpexec (Makefile.am): Likewise.
57606         * modules/cycle-check (Makefile.am): Likewise.
57607         * modules/des (Makefile.am): Likewise.
57608         * modules/dev-ino (Makefile.am): Likewise.
57609         * modules/dirfd (Makefile.am): Likewise.
57610         * modules/dirname (Makefile.am): Likewise.
57611         * modules/dup2 (Makefile.am): Likewise.
57612         * modules/eealloc (Makefile.am): Likewise.
57613         * modules/error (Makefile.am): Likewise.
57614         * modules/euidaccess (Makefile.am): Likewise.
57615         * modules/exclude (Makefile.am): Likewise.
57616         * modules/exitfail (Makefile.am): Likewise.
57617         * modules/fcntl-safer (Makefile.am): Likewise.
57618         * modules/fcntl (Makefile.am): Likewise.
57619         * modules/file-type (Makefile.am): Likewise.
57620         * modules/fileblocks (Makefile.am): Likewise.
57621         * modules/filemode (Makefile.am): Likewise.
57622         * modules/filenamecat (Makefile.am): Likewise.
57623         * modules/fnmatch (Makefile.am): Likewise.
57624         * modules/fopen-safer (Makefile.am): Likewise.
57625         * modules/fpending (Makefile.am): Likewise.
57626         * modules/fprintftime (Makefile.am): Likewise.
57627         * modules/free (Makefile.am): Likewise.
57628         * modules/fsusage (Makefile.am): Likewise.
57629         * modules/ftruncate (Makefile.am): Likewise.
57630         * modules/fts (Makefile.am): Likewise.
57631         * modules/gc-arcfour (Makefile.am): Likewise.
57632         * modules/gc-des (Makefile.am): Likewise.
57633         * modules/gc-hmac-md5 (Makefile.am): Likewise.
57634         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
57635         * modules/gc-md4 (Makefile.am): Likewise.
57636         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57637         * modules/gc-sha1 (Makefile.am): Likewise.
57638         * modules/gc (Makefile.am): Likewise.
57639         * modules/getaddrinfo (Makefile.am): Likewise.
57640         * modules/getcwd (Makefile.am): Likewise.
57641         * modules/getdelim (Makefile.am): Likewise.
57642         * modules/getdomainname (Makefile.am): Likewise.
57643         * modules/getgroups (Makefile.am): Likewise.
57644         * modules/gethostname (Makefile.am): Likewise.
57645         * modules/gethrxtime (Makefile.am): Likewise.
57646         * modules/getline (Makefile.am): Likewise.
57647         * modules/getloadavg (Makefile.am): Likewise.
57648         * modules/getlogin_r (Makefile.am): Likewise.
57649         * modules/getndelim2 (Makefile.am): Likewise.
57650         * modules/getopt (Makefile.am): Likewise.
57651         * modules/getpagesize (Makefile.am): Likewise.
57652         * modules/getpass-gnu (Makefile.am): Likewise.
57653         * modules/getpass (Makefile.am): Likewise.
57654         * modules/getsubopt (Makefile.am): Likewise.
57655         * modules/gettime (Makefile.am): Likewise.
57656         * modules/gettimeofday (Makefile.am): Likewise.
57657         * modules/getugroups (Makefile.am): Likewise.
57658         * modules/getusershell (Makefile.am): Likewise.
57659         * modules/glob (Makefile.am): Likewise.
57660         * modules/group-member (Makefile.am): Likewise.
57661         * modules/hard-locale (Makefile.am): Likewise.
57662         * modules/hash (Makefile.am): Likewise.
57663         * modules/hmac-md5 (Makefile.am): Likewise.
57664         * modules/hmac-sha1 (Makefile.am): Likewise.
57665         * modules/human (Makefile.am): Likewise.
57666         * modules/idcache (Makefile.am): Likewise.
57667         * modules/imaxabs (Makefile.am): Likewise.
57668         * modules/imaxdiv (Makefile.am): Likewise.
57669         * modules/inet_ntop (Makefile.am): Likewise.
57670         * modules/inet_pton (Makefile.am): Likewise.
57671         * modules/intprops (Makefile.am): Likewise.
57672         * modules/inttostr (Makefile.am): Likewise.
57673         * modules/inttypes (Makefile.am): Likewise.
57674         * modules/isapipe (Makefile.am): Likewise.
57675         * modules/javaversion (Makefile.am): Likewise.
57676         * modules/lchmod (Makefile.am): Likewise.
57677         * modules/lchown (Makefile.am): Likewise.
57678         * modules/localcharset (Makefile.am): Likewise.
57679         * modules/long-options (Makefile.am): Likewise.
57680         * modules/lstat (Makefile.am): Likewise.
57681         * modules/malloc (Makefile.am): Likewise.
57682         * modules/mathl (Makefile.am): Likewise.
57683         * modules/mbchar (Makefile.am): Likewise.
57684         * modules/md2 (Makefile.am): Likewise.
57685         * modules/md4 (Makefile.am): Likewise.
57686         * modules/md5 (Makefile.am): Likewise.
57687         * modules/memcasecmp (Makefile.am): Likewise.
57688         * modules/memchr (Makefile.am): Likewise.
57689         * modules/memcmp (Makefile.am): Likewise.
57690         * modules/memcoll (Makefile.am): Likewise.
57691         * modules/memcpy (Makefile.am): Likewise.
57692         * modules/memmem (Makefile.am): Likewise.
57693         * modules/memmove (Makefile.am): Likewise.
57694         * modules/mempcpy (Makefile.am): Likewise.
57695         * modules/memrchr (Makefile.am): Likewise.
57696         * modules/memset (Makefile.am): Likewise.
57697         * modules/memxor (Makefile.am): Likewise.
57698         * modules/mkancesdirs (Makefile.am): Likewise.
57699         * modules/mkdir-p (Makefile.am): Likewise.
57700         * modules/mkdir (Makefile.am): Likewise.
57701         * modules/mkdtemp (Makefile.am): Likewise.
57702         * modules/mkstemp (Makefile.am): Likewise.
57703         * modules/mktime (Makefile.am): Likewise.
57704         * modules/modechange (Makefile.am): Likewise.
57705         * modules/mountlist (Makefile.am): Likewise.
57706         * modules/nanosleep (Makefile.am): Likewise.
57707         * modules/obstack (Makefile.am): Likewise.
57708         * modules/openat (Makefile.am): Likewise.
57709         * modules/pagealign_alloc (Makefile.am): Likewise.
57710         * modules/pathmax (Makefile.am): Likewise.
57711         * modules/physmem (Makefile.am): Likewise.
57712         * modules/poll (Makefile.am): Likewise.
57713         * modules/posixtm (Makefile.am): Likewise.
57714         * modules/posixver (Makefile.am): Likewise.
57715         * modules/putenv (Makefile.am): Likewise.
57716         * modules/quote (Makefile.am): Likewise.
57717         * modules/quotearg (Makefile.am): Likewise.
57718         * modules/raise (Makefile.am): Likewise.
57719         * modules/read-file (Makefile.am): Likewise.
57720         * modules/readline (Makefile.am): Likewise.
57721         * modules/readlink (Makefile.am): Likewise.
57722         * modules/readtokens (Makefile.am): Likewise.
57723         * modules/readutmp (Makefile.am): Likewise.
57724         * modules/realloc (Makefile.am): Likewise.
57725         * modules/regex (Makefile.am): Likewise.
57726         * modules/rename-dest-slash (Makefile.am): Likewise.
57727         * modules/rename (Makefile.am): Likewise.
57728         * modules/rijndael (Makefile.am): Likewise.
57729         * modules/rmdir (Makefile.am): Likewise.
57730         * modules/rpmatch (Makefile.am): Likewise.
57731         * modules/safe-read (Makefile.am): Likewise.
57732         * modules/safe-write (Makefile.am): Likewise.
57733         * modules/same-inode (Makefile.am): Likewise.
57734         * modules/same (Makefile.am): Likewise.
57735         * modules/save-cwd (Makefile.am): Likewise.
57736         * modules/savedir (Makefile.am): Likewise.
57737         * modules/setenv (Makefile.am): Likewise.
57738         * modules/settime (Makefile.am): Likewise.
57739         * modules/sha1 (Makefile.am): Likewise.
57740         * modules/sig2str (Makefile.am): Likewise.
57741         * modules/snprintf (Makefile.am): Likewise.
57742         * modules/stat-macros (Makefile.am): Likewise.
57743         * modules/stat-time (Makefile.am): Likewise.
57744         * modules/stdbool (Makefile.am): Likewise.
57745         * modules/stdint (Makefile.am): Likewise.
57746         * modules/stdlib-safer (Makefile.am): Likewise.
57747         * modules/stpcpy (Makefile.am): Likewise.
57748         * modules/stpncpy (Makefile.am): Likewise.
57749         * modules/strcase (Makefile.am): Likewise.
57750         * modules/strcasestr (Makefile.am): Likewise.
57751         * modules/strchrnul (Makefile.am): Likewise.
57752         * modules/strcspn (Makefile.am): Likewise.
57753         * modules/strdup (Makefile.am): Likewise.
57754         * modules/strerror (Makefile.am): Likewise.
57755         * modules/strftime (Makefile.am): Likewise.
57756         * modules/strndup (Makefile.am): Likewise.
57757         * modules/strnlen (Makefile.am): Likewise.
57758         * modules/strpbrk (Makefile.am): Likewise.
57759         * modules/strsep (Makefile.am): Likewise.
57760         * modules/strstr (Makefile.am): Likewise.
57761         * modules/strtod (Makefile.am): Likewise.
57762         * modules/strtoimax (Makefile.am): Likewise.
57763         * modules/strtok_r (Makefile.am): Likewise.
57764         * modules/strtol (Makefile.am): Likewise.
57765         * modules/strtoll (Makefile.am): Likewise.
57766         * modules/strtoul (Makefile.am): Likewise.
57767         * modules/strtoull (Makefile.am): Likewise.
57768         * modules/strtoumax (Makefile.am): Likewise.
57769         * modules/strverscmp (Makefile.am): Likewise.
57770         * modules/sys_socket (Makefile.am): Likewise.
57771         * modules/sys_stat (Makefile.am): Likewise.
57772         * modules/sysexits (Makefile.am): Likewise.
57773         * modules/time_r (Makefile.am): Likewise.
57774         * modules/timegm (Makefile.am): Likewise.
57775         * modules/timespec (Makefile.am): Likewise.
57776         * modules/tmpfile-safer (Makefile.am): Likewise.
57777         * modules/trim (Makefile.am): Likewise.
57778         * modules/unistd-safer (Makefile.am): Likewise.
57779         * modules/unlinkdir (Makefile.am): Likewise.
57780         * modules/unlocked-io (Makefile.am): Likewise.
57781         * modules/userspec (Makefile.am): Likewise.
57782         * modules/utime (Makefile.am): Likewise.
57783         * modules/utimecmp (Makefile.am): Likewise.
57784         * modules/utimens (Makefile.am): Likewise.
57785         * modules/vasnprintf (Makefile.am): Likewise.
57786         * modules/vasprintf (Makefile.am): Likewise.
57787         * modules/vsnprintf (Makefile.am): Likewise.
57788         * modules/xalloc (Makefile.am): Likewise.
57789         * modules/xgetcwd (Makefile.am): Likewise.
57790         * modules/xnanosleep (Makefile.am): Likewise.
57791         * modules/xreadlink (Makefile.am): Likewise.
57792         * modules/xstrtod (Makefile.am): Likewise.
57793         * modules/xstrtol (Makefile.am): Likewise.
57794         * modules/xstrtold (Makefile.am): Likewise.
57795         * modules/yesno (Makefile.am): Likewise.
57796         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
57797
57798 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57799
57800         * modules/error (Makefile.am): Distribute files through
57801         EXTRA_DIST, not lib_SOURCES.
57802
57803 2006-10-12  Eric Blake  <ebb9@byu.net>
57804
57805         * modules/error (Makefile.am): Distribute files in /lib.
57806         * modules/obstack (Makefile.am): Likewise.
57807
57808 2006-10-12  Bruno Haible  <bruno@clisp.org>
57809
57810         * modules/acl (Makefile.am): Distribute all files in lib/ through
57811         EXTRA_DIST.
57812         * modules/arcfour (Makefile.am): Likewise.
57813         * modules/arctwo (Makefile.am): Likewise.
57814         * modules/argmatch (Makefile.am): Likewise.
57815         * modules/argz (Makefile.am): Likewise.
57816         * modules/atexit (Makefile.am): Likewise.
57817         * modules/backupfile (Makefile.am): Likewise.
57818         * modules/c-strtod (Makefile.am): Likewise.
57819         * modules/c-strtold (Makefile.am): Likewise.
57820         * modules/calloc (Makefile.am): Likewise.
57821         * modules/canon-host (Makefile.am): Likewise.
57822         * modules/canonicalize (Makefile.am): Likewise.
57823         * modules/chdir-long (Makefile.am): Likewise.
57824         * modules/chdir-safer (Makefile.am): Likewise.
57825         * modules/check-version (Makefile.am): Likewise.
57826         * modules/chown (Makefile.am): Likewise.
57827         * modules/cloexec (Makefile.am): Likewise.
57828         * modules/close-stream (Makefile.am): Likewise.
57829         * modules/closeout (Makefile.am): Likewise.
57830         * modules/crc (Makefile.am): Likewise.
57831         * modules/cycle-check (Makefile.am): Likewise.
57832         * modules/des (Makefile.am): Likewise.
57833         * modules/dirfd (Makefile.am): Likewise.
57834         * modules/dirname (Makefile.am): Likewise.
57835         * modules/dup2 (Makefile.am): Likewise.
57836         * modules/euidaccess (Makefile.am): Likewise.
57837         * modules/exclude (Makefile.am): Likewise.
57838         * modules/exitfail (Makefile.am): Likewise.
57839         * modules/fcntl-safer (Makefile.am): Likewise.
57840         * modules/file-type (Makefile.am): Likewise.
57841         * modules/fileblocks (Makefile.am): Likewise.
57842         * modules/filemode (Makefile.am): Likewise.
57843         * modules/filenamecat (Makefile.am): Likewise.
57844         * modules/fnmatch (Makefile.am): Likewise.
57845         * modules/fopen-safer (Makefile.am): Likewise.
57846         * modules/fpending (Makefile.am): Likewise.
57847         * modules/fprintftime (Makefile.am): Likewise.
57848         * modules/free (Makefile.am): Likewise.
57849         * modules/fsusage (Makefile.am): Likewise.
57850         * modules/ftruncate (Makefile.am): Likewise.
57851         * modules/fts (Makefile.am): Likewise.
57852         * modules/gc (Makefile.am): Likewise.
57853         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57854         * modules/getaddrinfo (Makefile.am): Likewise.
57855         * modules/getcwd (Makefile.am): Likewise.
57856         * modules/getdelim (Makefile.am): Likewise.
57857         * modules/getdomainname (Makefile.am): Likewise.
57858         * modules/getgroups (Makefile.am): Likewise.
57859         * modules/gethostname (Makefile.am): Likewise.
57860         * modules/gethrxtime (Makefile.am): Likewise.
57861         * modules/getline (Makefile.am): Likewise.
57862         * modules/getloadavg (Makefile.am): Likewise.
57863         * modules/getlogin_r (Makefile.am): Likewise.
57864         * modules/getopt (Makefile.am): Likewise.
57865         * modules/getpass (Makefile.am): Likewise.
57866         * modules/getpass-gnu (Makefile.am): Likewise.
57867         * modules/getsubopt (Makefile.am): Likewise.
57868         * modules/gettime (Makefile.am): Likewise.
57869         * modules/gettimeofday (Makefile.am): Likewise.
57870         * modules/getugroups (Makefile.am): Likewise.
57871         * modules/getusershell (Makefile.am): Likewise.
57872         * modules/glob (Makefile.am): Likewise.
57873         * modules/group-member (Makefile.am): Likewise.
57874         * modules/hard-locale (Makefile.am): Likewise.
57875         * modules/hash (Makefile.am): Likewise.
57876         * modules/hmac-md5 (Makefile.am): Likewise.
57877         * modules/hmac-sha1 (Makefile.am): Likewise.
57878         * modules/human (Makefile.am): Likewise.
57879         * modules/idcache (Makefile.am): Likewise.
57880         * modules/imaxabs (Makefile.am): Likewise.
57881         * modules/imaxdiv (Makefile.am): Likewise.
57882         * modules/inet_ntop (Makefile.am): Likewise.
57883         * modules/inet_pton (Makefile.am): Likewise.
57884         * modules/inttostr (Makefile.am): Likewise.
57885         * modules/isapipe (Makefile.am): Likewise.
57886         * modules/lchown (Makefile.am): Likewise.
57887         * modules/long-options (Makefile.am): Likewise.
57888         * modules/lstat (Makefile.am): Likewise.
57889         * modules/malloc (Makefile.am): Likewise.
57890         * modules/mathl (Makefile.am): Likewise.
57891         * modules/mbchar (Makefile.am): Likewise.
57892         * modules/md2 (Makefile.am): Likewise.
57893         * modules/md4 (Makefile.am): Likewise.
57894         * modules/md5 (Makefile.am): Likewise.
57895         * modules/memcasecmp (Makefile.am): Likewise.
57896         * modules/memchr (Makefile.am): Likewise.
57897         * modules/memcmp (Makefile.am): Likewise.
57898         * modules/memcoll (Makefile.am): Likewise.
57899         * modules/memcpy (Makefile.am): Likewise.
57900         * modules/memmem (Makefile.am): Likewise.
57901         * modules/memmove (Makefile.am): Likewise.
57902         * modules/mempcpy (Makefile.am): Likewise.
57903         * modules/memrchr (Makefile.am): Likewise.
57904         * modules/memset (Makefile.am): Likewise.
57905         * modules/memxor (Makefile.am): Likewise.
57906         * modules/mkancesdirs (Makefile.am): Likewise.
57907         * modules/mkdir (Makefile.am): Likewise.
57908         * modules/mkdir-p (Makefile.am): Likewise.
57909         * modules/mkdtemp (Makefile.am): Likewise.
57910         * modules/mkstemp (Makefile.am): Likewise.
57911         * modules/mktime (Makefile.am): Likewise.
57912         * modules/modechange (Makefile.am): Likewise.
57913         * modules/mountlist (Makefile.am): Likewise.
57914         * modules/nanosleep (Makefile.am): Likewise.
57915         * modules/openat (Makefile.am): Likewise.
57916         * modules/pagealign_alloc (Makefile.am): Likewise.
57917         * modules/physmem (Makefile.am): Likewise.
57918         * modules/poll (Makefile.am): Likewise.
57919         * modules/posixtm (Makefile.am): Likewise.
57920         * modules/posixver (Makefile.am): Likewise.
57921         * modules/putenv (Makefile.am): Likewise.
57922         * modules/quote (Makefile.am): Likewise.
57923         * modules/quotearg (Makefile.am): Likewise.
57924         * modules/raise (Makefile.am): Likewise.
57925         * modules/read-file (Makefile.am): Likewise.
57926         * modules/readline (Makefile.am): Likewise.
57927         * modules/readlink (Makefile.am): Likewise.
57928         * modules/readtokens (Makefile.am): Likewise.
57929         * modules/readutmp (Makefile.am): Likewise.
57930         * modules/realloc (Makefile.am): Likewise.
57931         * modules/regex (Makefile.am): Likewise.
57932         * modules/rename (Makefile.am): Likewise.
57933         * modules/rename-dest-slash (Makefile.am): Likewise.
57934         * modules/rijndael (Makefile.am): Likewise.
57935         * modules/rmdir (Makefile.am): Likewise.
57936         * modules/rpmatch (Makefile.am): Likewise.
57937         * modules/safe-read (Makefile.am): Likewise.
57938         * modules/safe-write (Makefile.am): Likewise.
57939         * modules/same (Makefile.am): Likewise.
57940         * modules/save-cwd (Makefile.am): Likewise.
57941         * modules/savedir (Makefile.am): Likewise.
57942         * modules/setenv (Makefile.am): Likewise.
57943         * modules/settime (Makefile.am): Likewise.
57944         * modules/sha1 (Makefile.am): Likewise.
57945         * modules/sig2str (Makefile.am): Likewise.
57946         * modules/snprintf (Makefile.am): Likewise.
57947         * modules/stdlib-safer (Makefile.am): Likewise.
57948         * modules/stpcpy (Makefile.am): Likewise.
57949         * modules/stpncpy (Makefile.am): Likewise.
57950         * modules/strcase (Makefile.am): Likewise.
57951         * modules/strcasestr (Makefile.am): Likewise.
57952         * modules/strchrnul (Makefile.am): Likewise.
57953         * modules/strcspn (Makefile.am): Likewise.
57954         * modules/strdup (Makefile.am): Likewise.
57955         * modules/strerror (Makefile.am): Likewise.
57956         * modules/strftime (Makefile.am): Likewise.
57957         * modules/strndup (Makefile.am): Likewise.
57958         * modules/strnlen (Makefile.am): Likewise.
57959         * modules/strpbrk (Makefile.am): Likewise.
57960         * modules/strsep (Makefile.am): Likewise.
57961         * modules/strstr (Makefile.am): Likewise.
57962         * modules/strtod (Makefile.am): Likewise.
57963         * modules/strtoimax (Makefile.am): Likewise.
57964         * modules/strtok_r (Makefile.am): Likewise.
57965         * modules/strtol (Makefile.am): Likewise.
57966         * modules/strtoll (Makefile.am): Likewise.
57967         * modules/strtoul (Makefile.am): Likewise.
57968         * modules/strtoull (Makefile.am): Likewise.
57969         * modules/strtoumax (Makefile.am): Likewise.
57970         * modules/strverscmp (Makefile.am): Likewise.
57971         * modules/time_r (Makefile.am): Likewise.
57972         * modules/timegm (Makefile.am): Likewise.
57973         * modules/tmpfile-safer (Makefile.am): Likewise.
57974         * modules/unistd-safer (Makefile.am): Likewise.
57975         * modules/unlinkdir (Makefile.am): Likewise.
57976         * modules/userspec (Makefile.am): Likewise.
57977         * modules/utime (Makefile.am): Likewise.
57978         * modules/utimecmp (Makefile.am): Likewise.
57979         * modules/utimens (Makefile.am): Likewise.
57980         * modules/vasnprintf (Makefile.am): Likewise.
57981         * modules/vasprintf (Makefile.am): Likewise.
57982         * modules/vsnprintf (Makefile.am): Likewise.
57983         * modules/xalloc (Makefile.am): Likewise.
57984         * modules/xgetcwd (Makefile.am): Likewise.
57985         * modules/xnanosleep (Makefile.am): Likewise.
57986         * modules/xreadlink (Makefile.am): Likewise.
57987         * modules/xstrtod (Makefile.am): Likewise.
57988         * modules/xstrtol (Makefile.am): Likewise.
57989         * modules/xstrtold (Makefile.am): Likewise.
57990         * modules/yesno (Makefile.am): Likewise.
57991
57992 2006-10-12  Jim Meyering  <jim@meyering.net>
57993
57994         * m4/getloadavg.m4: Revert the change below.
57995
57996         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
57997         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
57998         fail with a symlink, which is what coreutils' ./bootstrap now
57999         creates by default.
58000
58001 2006-10-12  Bruno Haible  <bruno@clisp.org>
58002
58003         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
58004         mingw.
58005         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
58006         MSVC and mingw explicitly.
58007
58008 2006-10-11  Simon Josefsson  <jas@extundo.com>
58009             Bruno Haible  <bruno@clisp.org>
58010
58011         Add support for multiple gnulib-tool invocations in the scope of a
58012         single configure.ac file.
58013         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
58014         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
58015         with the same contents as the _LIBADD variable.
58016         (func_emit_initmacro_start, func_emit_initmacro_end,
58017         func_emit_initmacro_done): New functions.
58018         (func_import, func_create_testdir): Invoke them. Allow the identifiers
58019         gl_LIBOBJS and gl_LTLIBOBJS.
58020
58021 2006-10-11  Bruno Haible  <bruno@clisp.org>
58022
58023         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
58024         (func_create_testdir): Don't create po/Makefile.am, don't invoke
58025         autoreconf. Instead, invoke autopoint explicitly but move back the
58026         *.m4 files from gnulib.
58027
58028 2006-10-11  Bruno Haible  <bruno@clisp.org>
58029
58030         * gnulib-tool (func_usage): Make module names after --create-testdir
58031         optional.
58032         (func_create_testdir): If no module was specified, use nearly all
58033         modules.
58034
58035 2006-10-12  Jim Meyering  <jim@meyering.net>
58036
58037         Big performance improvement for fts-based tools that use FTS_NOSTAT.
58038         Avoid spurious inode-mismatch problems on non-POSIX file systems.
58039         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
58040         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
58041         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
58042         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
58043         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
58044         (fts_set_stat_required): New function.
58045         (fts_open): Defer the calls to fts_stat, if possible or requested.
58046         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
58047         into fts_stat itself.
58048         (fts_read): Perform any required (deferred) fts_stat call.
58049         (fts_build): Likewise, for the directory we're about to open and read.
58050         In the readdir loop, carefully decide whether each entry will require
58051         an eventual call to fts_stat, using dirent.d_type info if available.
58052         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
58053         a command line argument into this function.  Update all callers.
58054         Map a return value of FTS_DOT to FTS_D for a command line argument.
58055         * modules/fts (Depends-on): Add d-type.  Alphabetize.
58056         Thanks to Miklos Szeredi for his tenacity and for the initial
58057         bug report about "find" failing on a FUSE-based file system.
58058
58059         * lib/fts.c (fts_open): Use consistent indentation.
58060
58061 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58062
58063         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
58064         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
58065         reported by Jim Meyering.  All uses of cache variables renamed
58066         to match Autoconf's.
58067         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
58068         the other one.
58069
58070         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
58071         Fix misspelling in diagnostic.
58072
58073 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58074
58075         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
58076         defined.  Problem reported by Matthew Woehlke.
58077
58078         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
58079         Add support for Tandem NonStop R series.
58080         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
58081         Use new macro.
58082
58083         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
58084         (has_trailing_slash): Omit size arg; all callers changed.
58085         Omit 'inline', since it doesn't help performance and we'd
58086         need to configure it.
58087         Don't count //, ///, etc. as having a trailing slash.
58088         As a side effect, this removes a C99ism reported by Matthew Woehlke.
58089         (rpl_rename_dest_slash): On failure, use rename's errno rather
58090         than (in some cases) an incorrect or junk errno.
58091         Simplify code by removing need to compute length; this does
58092         cause it to make two passes instead of one over the file name,
58093         but it's worth it.
58094
58095         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
58096         change, since Autoconf's version may no longer be appropriate now
58097         that we are using CVS Autoconf's version.  Add support for Tandem.
58098
58099 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58100             Bruno Haible  <bruno@clisp.org>
58101
58102         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
58103         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
58104         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
58105         gl_AC_TYPE_LONG_LONG.
58106
58107         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
58108         instead of HAVE_LONG_LONG.
58109         * lib/printf-args.c (printf_fetchargs): Likewise.
58110         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
58111         * lib/vasnprintf.c (VASNPRINTF): Likewise.
58112         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
58113         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
58114         gl_AC_TYPE_LONG_LONG.
58115
58116 2006-10-11  Bruno Haible  <bruno@clisp.org>
58117
58118         * m4/longlong.m4: Add comments.
58119         * m4/ulonglong.m4: Likewise.
58120
58121 2006-10-10  Bruno Haible  <bruno@clisp.org>
58122
58123         Make it possible to #define stpcpy, strdup to aliases.
58124         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
58125         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
58126
58127 2006-10-10  Bruno Haible  <bruno@clisp.org>
58128
58129         Make it possible to #define gcd to an alias.
58130         * lib/gcd.c: Include config.h.
58131
58132 2006-10-10  Bruno Haible  <bruno@clisp.org>
58133
58134         Make it possible to #define c_isascii to an alias.
58135         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
58136         defined. Undefine the macros before defining them, to avoid gcc
58137         warnings.
58138         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
58139         define NO_C_CTYPE_MACROS early.
58140
58141 2006-10-10  Bruno Haible  <bruno@clisp.org>
58142
58143         Make it possible to #define set_program_name to an alias.
58144         * lib/progname.c: Don't undefine set_program_name; instead, undefine
58145         ENABLE_RELOCATABLE early.
58146
58147 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
58148
58149         Port to Tandem NSK OSS, which has 64-bit signed int but at most
58150         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
58151         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
58152         More generally, don't assume that 64-bit signed int is available
58153         if unsigned int is, and vice versa.
58154         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
58155         unsigned symbols, not on their signed counterparts.
58156         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
58157         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
58158         (UINT64_C, UINTMAX_C):
58159         Likewise.
58160         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
58161         unsigned counterparts.
58162         (Have_long_long, Unsigned): New macros.
58163         (Int): Renamed from INT.
58164         (strtoimax): Use the new macros.
58165         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
58166         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
58167         * modules/inttypes (inttypes.h): Substitute
58168         HAVE_UNSIGNED_LONG_LONG_INT.
58169         * modules/stdint (stdint.h): Likewise.
58170         (Files): Add m4/ulonglong.m4.
58171
58172 2006-10-10  Bruno Haible  <bruno@clisp.org>
58173
58174         Fix a gcc -Wshadow warning.
58175         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
58176         to 'bucket'.
58177         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
58178         gl_linked_indexof_from_to): Likewise.
58179         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
58180         Likewise.
58181         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
58182         Likewise.
58183         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
58184         Reported by Eric Blake.
58185
58186 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
58187
58188         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
58189         for NetBSD.  Problem reported by Bruno Haible.
58190
58191 2006-10-09  Jim Meyering  <jim@meyering.net>
58192
58193         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
58194         Patch from Bruno Haible.
58195
58196 2006-10-09  Jim Meyering  <jim@meyering.net>
58197
58198         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
58199         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
58200         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
58201
58202 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58203
58204         Don't include <config.h> twice; this doesn't work in some cases,
58205         e.g., when config.h has "#define intmax_t long long int" and
58206         we include <config.h>, <inttypes.h>, <config.h> in that order.
58207         Problem reported by Matthew Woehlke in:
58208         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
58209         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
58210         * lib/fts-cycle.c: Don't include config.h.
58211         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
58212         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
58213         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
58214         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
58215         inttypes.h.
58216         * lib/xstrtoumax.c: Likewise.
58217         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
58218         __strtol and the like, so that this module is more like its siblings.
58219         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
58220         Remove; no longer needed now that we assume gnulib inttypes.h.
58221
58222 2006-10-08  Bruno Haible  <bruno@clisp.org>
58223
58224         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
58225         option.
58226
58227 2006-10-07  Jim Meyering  <jim@meyering.net>
58228
58229         * modules/inttypes (inttypes.h): Revert what seems to have been
58230         an inadvertent part of today's change: use "|", not "/" in the
58231         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
58232
58233 2006-10-07  Bruno Haible  <bruno@clisp.org>
58234
58235         * modules/sublist: New file.
58236
58237 2006-10-07  Bruno Haible  <bruno@clisp.org>
58238
58239         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
58240         * modules/argz (argz.h): Likewise.
58241         * modules/arpa_inet (arpa/inet.h): Likewise.
58242         * modules/byteswap (byteswap.h): Likewise.
58243         * modules/configmake (configmake.h): Likewise.
58244         * modules/fcntl (fcntl.h): Likewise.
58245         * modules/fnmatch (fnmatch.h): Likewise.
58246         * modules/getopt (getopt.h): Likewise.
58247         * modules/glob (glob.h): Likewise.
58248         * modules/inttypes (inttypes.h): Likewise.
58249         * modules/netinet_in (netinet/in.h): Likewise.
58250         * modules/poll (poll.h): Likewise.
58251         * modules/stdbool (stdbool.h): Likewise.
58252         * modules/stdint (stdint.h): Likewise.
58253         * modules/sys_select (sys/select.h): Likewise.
58254         * modules/sys_socket (sys/socket.h): Likewise.
58255         * modules/sys_stat (sys/stat.h): Likewise.
58256         * modules/sysexits (sysexits.h): Likewise.
58257         * modules/unistd (unistd.h): Likewise.
58258         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58259         Add a "DO NOT EDIT" comment to the generated file.
58260         (func_import): Likewise for gnulib-comp.m4.
58261
58262 2006-10-07  Bruno Haible  <bruno@clisp.org>
58263
58264         * lib/gl_sublist.h: New file.
58265         * lib/gl_sublist.c: New file.
58266
58267 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58268
58269         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
58270         name (relative to the original working directory) and the file
58271         name component (relative to the temporary working directory).  All
58272         callers changed.
58273         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
58274         * lib/mkdir-p.c (make_dir_parents): Likewise.
58275         * lib/mkdir-p.h (make_dir_parents): Likewise.
58276
58277 2006-10-06  Eric Blake  <ebb9@byu.net>
58278
58279         Define several macros for use by the clean-temp module.
58280         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
58281         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
58282         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
58283
58284         * lib/clean-temp.h (close_stream_temp): New declaration.
58285         * lib/clean-temp.c (includes): Pull in headers according to what
58286         other modules are in use.
58287         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
58288
58289 2006-10-06  Bruno Haible  <bruno@clisp.org>
58290
58291         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
58292         instead of fopen, fwriteerror.
58293
58294 2006-10-06  Bruno Haible  <bruno@clisp.org>
58295
58296         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
58297         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
58298         int.
58299         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
58300         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
58301         Return an error indicator.
58302         Suggested by Eric Blake.
58303
58304 2006-10-06  Bruno Haible  <bruno@clisp.org>
58305
58306         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
58307         Reported by Eric Blake.
58308
58309 2006-10-06  Bruno Haible  <bruno@clisp.org>
58310
58311         * modules/closeout (Description): Mention stderr too.
58312
58313 2006-10-06  Bruno Haible  <bruno@clisp.org>
58314         and Paul Eggert  <eggert@cs.ucla.edu>
58315
58316         * lib/closeout.c (close_stdout): Also close stderr.
58317         * lib/closeout.h: Update comment.
58318
58319 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
58320
58321         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
58322         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
58323         * lib/dirchownmod.c: Include lchown.h.
58324         * lib/lchown.c: Don't include files that lchown.h now includes.
58325         Don't declare chown, since lchown.h now does that.
58326         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
58327         (lchown): Define to rpl_chown if lchown is declared but
58328         does not exist.  Declare using a prototype if lchown is not
58329         declared.  Add a copyright notice.
58330         * lib/mkstemp.h: Include <unistd.h>.
58331         * lib/openat.c: Include lchown.h.
58332
58333         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
58334         we now test for that separately.
58335         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
58336         rather than O_NOFOLLOW, when testing whether it's possible to
58337         avoid a race condition reliably.
58338         * lib/savewd.c (savewd_chdir): Likewise.
58339
58340         Remove macros that are no longer needed now that stdint.h is
58341         reliable.
58342         * lib/fsusage.c (UINTMAX_MAX): Remove.
58343         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
58344         * lib/utimecmp.c (SIZE_MAX): Remove.
58345
58346         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
58347
58348         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
58349         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
58350         O_NOATIME works.
58351
58352 2006-10-05  Bruno Haible  <bruno@clisp.org>
58353
58354         * lib/gl_list.h (gl_sortedlist_search_from_to,
58355         gl_sortedlist_indexof_from_to): New declarations.
58356         (gl_list_implementation): New fields sortedlist_search_from_to,
58357         sortedlist_indexof_from_to.
58358         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
58359         inline functions.
58360         * lib/gl_list.c (gl_sortedlist_search_from_to,
58361         gl_sortedlist_indexof_from_to): New functions.
58362         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
58363         function.
58364         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
58365         (gl_array_sortedlist_search_from_to): New function.
58366         (gl_array_list_implementation): Update.
58367         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
58368         function.
58369         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
58370         (gl_carray_sortedlist_search_from_to): New function.
58371         (gl_carray_list_implementation): Update.
58372         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
58373         gl_linked_sortedlist_indexof_from_to): New functions.
58374         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58375         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58376         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
58377         gl_tree_sortedlist_indexof_from_to): New functions.
58378         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58379         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58380         Update.
58381         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58382         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
58383         Update.
58384
58385 2006-10-05  Bruno Haible  <bruno@clisp.org>
58386
58387         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
58388         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
58389         (struct gl_list_implementation): Add fields search_from_to,
58390         indexof_from_to. Remove fields search, indexof.
58391         (gl_list_search): Use the search_from_to method.
58392         (gl_list_search_from, gl_list_search_from_to): New functions.
58393         (gl_list_indexof): Use the indexof_from_to method.
58394         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58395         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
58396         (gl_list_search_from, gl_list_search_from_to): New functions.
58397         (gl_list_indexof): Use the indexof_from_to method.
58398         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
58399         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
58400         gl_array_indexof. Add start_index, end_index arguments.
58401         (gl_array_search_from_to): Renamed from gl_array_search. Add
58402         start_index, end_index arguments.
58403         (gl_array_remove, gl_array_list_implementation): Update.
58404         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
58405         gl_carray_indexof. Add start_index, end_index arguments.
58406         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
58407         start_index, end_index arguments.
58408         (gl_carray_remove, gl_carray_list_implementation): Update.
58409         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
58410         gl_linked_search. Add start_index, end_index arguments.
58411         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
58412         start_index, end_index arguments.
58413         (gl_linked_remove): Update.
58414         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58415         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58416         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
58417         field to 'size_t'.
58418         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
58419         gl_tree_search. Add start_index, end_index arguments.
58420         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58421         start_index, end_index arguments.
58422         (gl_tree_remove): Update.
58423         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58424         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58425         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
58426         function.
58427         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
58428         gl_tree_search. Add start_index, end_index arguments.
58429         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
58430         start_index, end_index arguments.
58431         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58432         Update.
58433         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58434
58435 2006-10-05  Bruno Haible  <bruno@clisp.org>
58436
58437         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
58438
58439         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
58440         fwriteerror_temp): New declarations.
58441         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
58442         (descriptors): New variable.
58443         (cleanup): First, close the descriptors.
58444         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
58445         fclose_temp, fwriteerror_temp): New functions.
58446
58447 2006-10-04  Jim Meyering  <jim@meyering.net>
58448
58449         * lib/fts.c (fts_open): Tiny comment change.
58450
58451 2006-10-04  Bruno Haible  <bruno@clisp.org>
58452
58453         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
58454         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
58455         gl_LOCK_BODY.
58456         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
58457         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
58458         gl_LOCK_EARLY_BODY.
58459         (gl_LOCK): Require gl_LOCK_BODY.
58460
58461 2006-10-04  Bruno Haible  <bruno@clisp.org>
58462
58463         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
58464         (gl_oset_search_atleast): New declaration.
58465         (struct gl_oset_implementation): Add field 'search_atleast'.
58466         (gl_oset_search_atleast): New inline function.
58467         * lib/gl_oset.c (gl_oset_search_atleast): New function.
58468         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
58469         (gl_array_oset_implementation): Update.
58470         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
58471         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
58472         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
58473
58474 2006-10-04  Bruno Haible  <bruno@clisp.org>
58475
58476         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
58477
58478 2006-10-03  Bruno Haible  <bruno@clisp.org>
58479
58480         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
58481         from gl_avltreehash_list_implementation.
58482
58483 2006-10-03  Bruno Haible  <bruno@clisp.org>
58484
58485         * lib/gl_oset.c (gl_oset_add): Fix return type.
58486
58487 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
58488
58489         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
58490
58491 2006-10-02  Eric Blake  <ebb9@byu.net>
58492
58493         * modules/strnlen (Depends-on): Add extensions.
58494
58495 2006-10-02  Eric Blake  <ebb9@byu.net>
58496
58497         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
58498         definition in 2.60+.
58499
58500 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
58501
58502         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
58503         checks.
58504
58505 2006-10-02  Bruno Haible  <bruno@clisp.org>
58506
58507         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
58508         to the AUTOMAKE_OPTIONS.
58509         Reported by Jim Meyering.
58510
58511 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
58512
58513         Work around bug in Solaris 10 /proc file system:
58514         /proc/self/fd/NNN/.. isn't the parent directory of
58515         the directory whose file descriptor is NNN.  This needs to
58516         be worked around at run time, not compile time, since a
58517         program might be built on Solaris 8, where things work, and
58518         run on Solaris 10.
58519         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
58520         to use the following interface instead:
58521         (OPENAT_BUFFER_SIZE): New macro.
58522         (openat_proc_name): New function.
58523         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
58524         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
58525         Likewise.
58526         * lib/openat-proc.c: New file.
58527         * modules/openat (Files): Add lib/openat-proc.c.
58528         (Depends-on): Add same-inode, stdbool.
58529         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
58530
58531 2006-09-29  Bruno Haible  <bruno@clisp.org>
58532
58533         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
58534         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
58535         argument. Set stdout_closed before testing for ferror, not after.
58536         (fwriteerror, fwriteerror_no_ebadf): New functions.
58537
58538 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58539
58540         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
58541
58542 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
58543
58544         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
58545         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
58546
58547 2006-09-28  Jim Meyering  <jim@meyering.net>
58548
58549         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
58550         Include <unistd.h>.
58551
58552 2006-09-28  Bruno Haible  <bruno@clisp.org>
58553
58554         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
58555         * modules/linkedhash-list (Depends-on): Likewise.
58556         * modules/rbtreehash-list (Depends-on): Likewise.
58557
58558 2006-09-28  Bruno Haible  <bruno@clisp.org>
58559
58560         * lib/strndup.h: Simplify the redefinition of strndup.
58561         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
58562         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
58563
58564 2006-09-28  Bruno Haible  <bruno@clisp.org>
58565
58566         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
58567         * lib/gl_linkedhash_list.c: Likewise.
58568         * lib/gl_rbtreehash_list.c: Likewise.
58569
58570 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
58571
58572         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
58573         getaddrinfo.
58574
58575         * lib/__fpending.h: Don't include <stdio_ext.h> unless
58576         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
58577         it causes <stdio_ext.h> to cause a compile-time error.
58578         Problem reported by Nelson H. F. Beebe.
58579         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
58580         of HAVE_DECL___PENDING.
58581
58582         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
58583         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
58584         declaration.
58585
58586 2006-09-27  Jim Meyering  <jim@meyering.net>
58587
58588         This file could end up with a definition for a function
58589         named __strndup, rather than rpl_strndup on a system with
58590         incomplete weak_alias support.
58591         * lib/strndup.c (strndup): Rename from __strndup.
58592         Remove #defines that used to map __strndup to strndup.
58593         Don't use K&R prototypes.
58594         Remove LIBC-related code, since this file is not sync'd with glibc.
58595         * lib/strndup.h: Revamp, accordingly.
58596         * m4/strndup.m4: Modernize.
58597
58598 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
58599
58600         * modules/savewd (Depends-on): Add 'raise'.
58601         * lib/savewd.c: Include <signal.h>, for 'raise'.
58602
58603 2006-09-26  Jim Meyering  <jim@meyering.net>
58604
58605         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
58606         when we detect Darwin 8.7.0's acl_get_file bug.
58607         Rearrange to perform the new (below) run-test while $LIBS
58608         contains any acl-related library.  Set USE_ACL at the end.
58609         (gl_ACL_GET_FILE): New function.
58610
58611 2006-09-26  Eric Blake  <ebb9@byu.net>
58612
58613         * lib/verror.c: Include <config.h> unconditionally.
58614
58615 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
58616
58617         * modules/clock-time (Maintainer): Add self.
58618         * modules/getlogin_r (Depends-on): Add extensions.
58619
58620 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58621
58622         * modules/clock-time: New module.
58623         * modules/nanosleep (Depends-on): Add clock-time.
58624         * modules/gethrxtime (Depends-on): Likewise.
58625         * modules/gettime (Depends-on): Likewise.
58626         * modules/settime (Depends-on): Likewise.
58627
58628         * modules/fts-lgpl: Depend on openat.
58629         * modules/mkancesdirs: Depend on savewd.
58630         * modules/mkdir-p: Likewise.
58631
58632 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58633
58634         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
58635
58636         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
58637         `gl_have_arbitrary_file_name_length_limit' to
58638         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
58639         actually works between configure runs.
58640
58641 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58642             Bruno Haible  <bruno@clisp.org>
58643
58644         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
58645
58646 2006-09-25  Jim Meyering  <jim@meyering.net>
58647
58648         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
58649         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
58650
58651 2006-09-25  Eric Blake  <ebb9@byu.net>
58652
58653         * gnulib-tool (func_import, func_create_testdir): Fix typos in
58654         exec's in 2006-09-18 patch when shuffling fds.
58655
58656 2006-09-25  Bruno Haible  <bruno@clisp.org>
58657
58658         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
58659         Reported by Jim Meyering.
58660
58661 2006-09-24  Jim Meyering  <jim@meyering.net>
58662
58663         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
58664         compare a pointer against a literal "0".  That caused failures with
58665         at least HP-UX's hpcc.
58666
58667 2006-09-22  Simon Josefsson  <jas@extundo.com>
58668
58669         * modules/gc-sha1:
58670         * modules/gc-md4:
58671         * modules/gc-hmac-sha1:
58672         * modules/gc-hmac-md5:
58673         * modules/gc-des:
58674         * modules/gc-arcfour: Distribute more files.
58675
58676 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58677
58678         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
58679         (gl_linked_iterator_from_to): Initialize struct completely.
58680         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
58681         (gl_tree_iterator_from_to): Likewise
58682         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
58683         * lib/gl_array_list.c [lint] (gl_array_iterator)
58684         (gl_array_iterator_from_to): Likewise.
58685         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
58686         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
58687         (gl_carray_iterator_from_to): Likewise.
58688
58689         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
58690         * lib/md4.c (md4_process_block): Remove unused variable.
58691         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
58692         parentheses for clarity.
58693
58694 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58695
58696         * modules/bison-i18n (Depends-on): Add gettext.
58697
58698 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58699
58700         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
58701         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
58702         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
58703         also add missing comma that caused broken test.
58704         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
58705         stdlib.h, for `abort'.
58706         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
58707         variables.
58708         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
58709         include unistd.h if present, for `rmdir'.
58710         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
58711         variables.
58712         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
58713         in the process include standard headers for prototypes.
58714         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
58715         gets declared on GNU/Linux.
58716         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
58717         unistd.h, for `rmdir'.
58718         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
58719
58720         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
58721         always true.
58722         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
58723
58724         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
58725
58726 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58727
58728         * gnulib-tool (func_version): Create output all at once.  This
58729         may help avoid triggering unnecessary SIGPIPEs, and at any
58730         rate it doesn't hurt.
58731
58732 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58733             Bruno Haible  <bruno@clisp.org>
58734
58735         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
58736         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
58737         * m4/signed.m4 (bh_C_SIGNED): Likewise.
58738
58739         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
58740         (gl_FUNC_VASPRINTF): Invoke it.
58741
58742 2006-09-22  Bruno Haible  <bruno@clisp.org>
58743
58744         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
58745         getloadavg.c as first argument.
58746
58747 2006-09-22  Bruno Haible  <bruno@clisp.org>
58748
58749         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
58750         at the beginning of the gl_INIT macro.
58751         * modules/getloadavg (configure.ac): Pass $gl_source_base to
58752         gl_GETLOADAVG.
58753
58754 2006-09-22  Bruno Haible  <bruno@clisp.org>
58755
58756         * gnulib-tool (func_create_megatestdir): Don't include the config-h
58757         module.
58758         Suggested by Ralf Wildenhues.
58759
58760 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58761
58762         Import this patch from libc:
58763
58764         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
58765
58766         * lib/regex_internal.c (re_string_reconstruct): Handle
58767         offset < pstr->valid_raw_len && pstr->offsets_needed case.
58768         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
58769         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
58770         re_string_context_at.
58771
58772         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
58773         now requires it.
58774         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
58775         gl_REGEX now does it for us.
58776         (gl_REGEX): Add test taken from
58777         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
58778
58779         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
58780         Check that large offsets work.  Modernize Autoconf usages.
58781         Prefer "yes" to mean a good thing rather than a bad.
58782         Don't put "#define mkstemp" in config.h, as this might interfere
58783         with standard system headers that "#define mkstemp mkstemp64".
58784
58785         * modules/mkstemp (Depends-on): Add extensions, so that
58786         mkstemp is visible on some platforms.
58787         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
58788         (Include): Change to "mkstemp.h" from <stdlib.h>.
58789         (Files): Add mkstemp.h.
58790
58791         * lib/mkstemp.h: New file, since some standard headers
58792         #define mkstemp.
58793         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
58794         Include "mkstemp.h".
58795         Make the _LIBC code resemble glibc original more,
58796         e.g., use K&R style.
58797         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
58798         (mkstemp): Remove, since mkstemp.h does this for us.
58799         * lib/stdlib--.h: Include mkstemp.h.
58800
58801         Import this patch from libc:
58802
58803         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58804
58805         * lib/tempname.c (__gen_tempname): Change attempts_min
58806         into a macro.  Use preprocessor to decide how to initialize
58807         attempts [Coverity CID 67].
58808
58809 2006-09-20  Bruno Haible  <bruno@clisp.org>
58810
58811         * lib/mkdtemp.c: Import from libc.
58812         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58813                 * sysdeps/posix/tempname.c (__gen_tempname): Change
58814                 attempts_min into a macro.  Use preprocessor to decide how to
58815                 initialize attempts [Coverity CID 67].
58816         2001-11-27  Paul Eggert  <eggert@twinsun.com>
58817                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
58818                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
58819
58820 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58821
58822         * gnulib-tool (func_exit): New function, to allow to pass the
58823         exit status portably through the trap.  Use everywhere.
58824         (--help, --version): Signal a write error.
58825         (trap): catch SIGPIPE, for write errors.
58826         Exit at the end of the trap, with the correct exit status.
58827
58828 2006-09-19  Karl Berry  <karl@gnu.org>
58829
58830         * doc/gnulib.texi: note about the license texinfo files.
58831
58832 2006-09-19  Eric Blake  <ebb9@byu.net>
58833
58834         * gnulib-tool: Avoid space-tab.
58835
58836 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58837
58838         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
58839         that prevented coreutils 6.1 from building.  Problem reported
58840         by Petter Reinholdtsen.
58841
58842 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58843
58844         * gnulib-tool (avoidlist): Fix typo that broke options like
58845         --avoid=lock that are used by coreutils bootstrap.
58846
58847 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
58848
58849         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
58850         more systematically.
58851
58852 2006-09-18  Jim Meyering  <jim@meyering.net>
58853
58854         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
58855
58856 2006-09-18  Bruno Haible  <bruno@clisp.org>
58857
58858         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
58859
58860 2006-09-18  Bruno Haible  <bruno@clisp.org>
58861
58862         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
58863         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
58864         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
58865         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
58866         * m4/gettext.m4: Require autoconf >= 2.52.
58867         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
58868         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
58869         of gl_cv_header_inttypes_h.
58870
58871 2006-09-18  Bruno Haible  <bruno@clisp.org>
58872
58873         * lib/javaversion.c: Include configmake.h.
58874
58875 2006-09-18  Bruno Haible  <bruno@clisp.org>
58876
58877         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
58878         avoid that the while loops be executed in a subshell.
58879
58880 2006-09-18  Bruno Haible  <bruno@clisp.org>
58881
58882         * MODULES.html.sh (func_module): Break long lines.
58883         Suggested by Bruce Korb <bkorb@gnu.org>.
58884
58885 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58886
58887         Speed up by a factor of 1.12.
58888         * gnulib-tool (nl): New variable.
58889         (func_import): Rewrite include directive extraction to only read each
58890         directive once.
58891
58892 2006-09-17  Bruno Haible  <bruno@clisp.org>
58893
58894         * modules/javaversion (Makefile.am): Remove DEFS setting.
58895         (Depends-on): Add configmake, for PKGDATADIR definition.
58896
58897 2006-09-17  Bruno Haible  <bruno@clisp.org>
58898
58899         * gnulib-tool (func_create_testdir): Rewrite all files at once.
58900
58901 2006-09-17  Bruno Haible  <bruno@clisp.org>
58902
58903         * gnulib-tool (func_append): New function, stolen from libtool.m4.
58904         (func_modules_transitive_closure, func_modules_add_dummy,
58905         func_modules_to_filelist, func_import, func_create_testdir,
58906         func_create_megatestdir, ...): Use it wherever possible.
58907         Suggested by Ralf Wildenhues.
58908
58909 2006-09-16  Karl Berry  <karl@gnu.org>
58910
58911         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
58912         to avoid sectioning errors.
58913         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
58914         [ifinfo]: blank line after @center-ed titles.
58915         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
58916         Spell FSF address consistently with others.
58917         (These changes approved by rms.)
58918
58919 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58920
58921         Speed up by a factor of 1.61.
58922         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
58923         already checked module names again.
58924
58925 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58926
58927         Speed up by a factor of 1.13.
58928         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
58929         for new_files, and the input to func_add_or_update.
58930
58931 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58932
58933         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
58934         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
58935
58936 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58937
58938         * modules/mkancesdirs (Depends-on): Add fcntl.
58939         * modules/savewd: New file.
58940         * MODULES.html.sh (File system functions): Add savewd.
58941
58942         * modules/configmake (Makefile.am): Add support for the
58943         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
58944
58945 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58946
58947         * m4/savewd.m4: New file.
58948
58949 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58950
58951         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
58952         (dirchownmod): New arg FD.  All callers changed.
58953         Use FD rather than opening the directory ourself, as opening is
58954         now the caller's responsibility.
58955         * lib/dirchownmod.h: Likewise.
58956         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
58957         hosts that require <sys/types.h> before <sys/stat.h>.  Include
58958         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
58959         (test_dir): Remove.
58960         (mkancesdirs): Return length of prefix of FILE that has already
58961         been made, or -2 if there is a child doing the work.  Redo
58962         algorithm so that it is O(N) rather than O(N**2).  Optimize away
58963         ".", and treat ".." specially since it might stray back into
58964         already-created areas.  Use a subprocess if necessary.  New arg
58965         WD; all users changed.  MAKE_DIR function should now return 1
58966         if it creates a directory that is not readable.  Return -2 if
58967         a child process is spun off.
58968         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
58969         Adjust signature to match code.
58970         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
58971         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
58972         all users changed.
58973         * lib/savewd.c, lib/savewd.h: New files.
58974
58975 2006-09-15  Jim Meyering  <jim@meyering.net>
58976
58977         * modules/rename-dest-slash: New module.
58978         * MODULES.html.sh (posix_compat): Add it here.
58979
58980         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
58981
58982 2006-09-15  Jim Meyering  <jim@meyering.net>
58983
58984         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
58985         file.
58986
58987         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
58988
58989 2006-09-15  Jim Meyering  <jim@meyering.net>
58990
58991         * lib/rename-dest-slash.c (has_trailing_slash): Use
58992         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
58993         (rpl_rename_dest_slash): Perform the cheaper trailing slash
58994         test before testing whether SRC is a directory.
58995         Suggestions from Bruno Haible.
58996
58997         Avoid a warning about an unused variable.
58998         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
58999         into the #ifdef block where it's used.
59000
59001         * lib/rename-dest-slash.c: New file.
59002
59003 2006-09-14  Bruno Haible  <bruno@clisp.org>
59004
59005         * lib/allocsa.c: Include <config.h> unconditionally.
59006         * lib/asnprintf.c: Likewise.
59007         * lib/asprintf.c: Likewise.
59008         * lib/c-strcasecmp.c: Likewise.
59009         * lib/c-strcasestr.c: Likewise.
59010         * lib/c-strncasecmp.c: Likewise.
59011         * lib/c-strstr.c: Likewise.
59012         * lib/classpath.c: Likewise.
59013         * lib/clean-temp.c: Likewise.
59014         * lib/concatpath.c: Likewise.
59015         * lib/copy-file.c: Likewise.
59016         * lib/csharpcomp.c: Likewise.
59017         * lib/csharpexec.c: Likewise.
59018         * lib/execute.c: Likewise.
59019         * lib/fatal-signal.c: Likewise.
59020         * lib/findprog.c: Likewise.
59021         * lib/fwriteerror.c: Likewise.
59022         * lib/gl_array_list.c: Likewise.
59023         * lib/gl_array_oset.c: Likewise.
59024         * lib/gl_avltree_list.c: Likewise.
59025         * lib/gl_avltree_oset.c: Likewise.
59026         * lib/gl_avltreehash_list.c: Likewise.
59027         * lib/gl_carray_list.c: Likewise.
59028         * lib/gl_linked_list.c: Likewise.
59029         * lib/gl_linkedhash_list.c: Likewise.
59030         * lib/gl_list.c: Likewise.
59031         * lib/gl_oset.c: Likewise.
59032         * lib/gl_rbtree_list.c: Likewise.
59033         * lib/gl_rbtree_oset.c: Likewise.
59034         * lib/gl_rbtreehash_list.c: Likewise.
59035         * lib/imaxabs.c: Likewise.
59036         * lib/imaxdiv.c: Likewise.
59037         * lib/javacomp.c: Likewise.
59038         * lib/javaexec.c: Likewise.
59039         * lib/javaversion.c: Likewise.
59040         * lib/linebreak.c: Likewise.
59041         * lib/localcharset.c: Likewise.
59042         * lib/lock.c: Likewise.
59043         * lib/mbchar.c: Likewise.
59044         * lib/mbswidth.c: Likewise.
59045         * lib/mkdtemp.c: Likewise.
59046         * lib/pipe.c: Likewise.
59047         * lib/printf-args.c: Likewise.
59048         * lib/printf-parse.c: Likewise.
59049         * lib/progname.c: Likewise.
59050         * lib/progreloc.c: Likewise.
59051         * lib/readlink.c: Likewise.
59052         * lib/sh-quote.c: Likewise.
59053         * lib/stpcpy.c: Likewise.
59054         * lib/stpncpy.c: Likewise.
59055         * lib/strcasecmp.c: Likewise.
59056         * lib/strcasestr.c: Likewise.
59057         * lib/strcspn.c: Likewise.
59058         * lib/striconv.c: Likewise.
59059         * lib/strncasecmp.c: Likewise.
59060         * lib/strnlen1.c: Likewise.
59061         * lib/strstr.c: Likewise.
59062         * lib/strtok_r.c: Likewise.
59063         * lib/tls.c: Likewise.
59064         * lib/tmpdir.c: Likewise.
59065         * lib/unicodeio.c: Likewise.
59066         * lib/unsetenv.c: Likewise.
59067         * lib/vasnprintf.c: Likewise.
59068         * lib/vasprintf.c: Likewise.
59069         * lib/wait-process.c: Likewise.
59070         * lib/xallocsa.c: Likewise.
59071         * lib/xsetenv.c: Likewise.
59072         * lib/xstriconv.c: Likewise.
59073
59074 2006-09-13  Simon Josefsson  <jas@extundo.com>
59075
59076         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
59077         that internally, suggested by Ralf Wildenhues
59078         <Ralf.Wildenhues@gmx.de>.
59079
59080 2006-09-13  Simon Josefsson  <jas@extundo.com>
59081
59082         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
59083         @LIBOBJS@.
59084         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59085
59086 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
59087
59088         * lib/_fpending.c: Include <config.h> unconditionally, since we no
59089         longer worry about uses that don't define HAVE_CONFIG_H.
59090         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
59091         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
59092         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
59093         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
59094         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
59095         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
59096         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
59097         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
59098         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
59099         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
59100         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
59101         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
59102         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
59103         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
59104         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
59105         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
59106         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
59107         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
59108         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
59109         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
59110         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
59111         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
59112         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
59113         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
59114         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
59115         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
59116         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
59117         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
59118         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
59119         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
59120         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
59121         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
59122         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
59123         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
59124         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
59125         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
59126         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
59127         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
59128         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
59129         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
59130         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
59131         Likewise.
59132
59133 2006-09-13  Eric Blake  <ebb9@byu.net>
59134
59135         * lib/getopt.c: Fix typo in last commit.
59136
59137 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59138
59139         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
59140         dgettext.
59141
59142 2006-09-12  Jim Meyering  <jim@meyering.net>
59143
59144         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
59145         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
59146         Reported by Nelson H. F. Beebe.
59147
59148 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59149
59150         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
59151         program_invocation_name and program_invocation_short_name are
59152         initialized.
59153         * lib/argp-namefrob.h: Move declarations of program_invocation_name
59154         and program_invocation_short_name to argp.h, so they are visible
59155         to user programs.
59156         * lib/argp.h: Likewise
59157
59158 2006-09-10  Bruno Haible  <bruno@clisp.org>
59159
59160         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59161         m4/inttypes_h.m4, m4/uintmax_t.m4.
59162
59163 2006-09-10  Bruno Haible  <bruno@clisp.org>
59164
59165         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
59166         gl_AC_TYPE_UINTMAX_T.
59167
59168 2006-09-10  Bruno Haible  <bruno@clisp.org>
59169
59170         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
59171
59172 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59173
59174         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
59175         convention.  Text proposed by Bruno Haible.
59176         (struct argp_option): Document the use of N_() wrappers.
59177
59178         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
59179         '\v', and translate the two parts separately, instead of feeding
59180         the whole string to gettext.  This allows to exclude
59181         '\v' from the strings visible to the translator by writing doc
59182         strings as N_("..") "\v" N_("..").
59183
59184 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
59185
59186         * config/srclist.txt: Undo latest change; the bug was fixed.
59187
59188 2006-09-09  Bruno Haible  <bruno@clisp.org>
59189
59190         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
59191         assignments if building a library without libtool.
59192         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
59193         in func_emit_lib_Makefile_am.
59194         (func_import): When building a static library libfoo.a, arrange to
59195         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
59196         (func_create_testdir): Likewise.
59197         * modules/gc (configure.ac, Makefile.am): If building statically,
59198         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
59199         * modules/iconvme (configure.ac, Makefile.am): Likewise.
59200         * modules/striconv (configure.ac, Makefile.am): Likewise.
59201         Based on a suggestion by Ralf Wildenhues.
59202
59203 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59204
59205         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
59206         Check for unistd.h too, since Autoconf doesn't assume POSIX.
59207         Also:
59208
59209         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59210         Add year_2050_test to catch glibc bug 2821
59211         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59212
59213         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59214         Prefer #ifdef to #if.
59215
59216         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
59217         Return from 'main' instead of calling 'exit'.
59218
59219 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59220
59221         * lib/mktime.c (guess_time_tm): Fix bug where mktime
59222         returned the maximum time_t value rather than (time_t) -1.
59223         Problem originally reported by William Bardwell
59224         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
59225
59226         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59227         Moved to here ...
59228         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
59229         ... from here.
59230
59231 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
59232
59233         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
59234         2821 is fixed.
59235
59236 2006-09-08  Jim Meyering  <jim@meyering.net>
59237
59238         Don't make generated files read-only.  That would bother too many
59239         people.  However, do retain the ability to work when targets are
59240         read-only: remove the destination and temporary files before writing
59241         them (when generated via sed or echo), or by using the -f option for
59242         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
59243         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59244         * modules/byteswap, modules/configmake, modules/fcntl:
59245         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59246         * modules/localcharset, modules/netinet_in, modules/poll:
59247         * modules/stdbool, modules/stdint, modules/sys_select:
59248         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59249
59250 2006-09-08  Jim Meyering  <jim@meyering.net>
59251
59252         Avoid new build failure on FreeBSD 6.0.
59253         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
59254         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
59255         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
59256
59257 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59258
59259         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
59260
59261 2006-09-07  Jim Meyering  <jim@meyering.net>
59262
59263         Fix global typo in last change: use chmod u-w, not chmod u-x.
59264         Spotted by Paul Eggert and Bruce Korb.
59265         * modules/alloca-opt, modules/argz, modules/arpa_inet:
59266         * modules/byteswap, modules/configmake, modules/fcntl:
59267         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
59268         * modules/localcharset, modules/netinet_in, modules/poll:
59269         * modules/stdbool, modules/stdint, modules/sys_select:
59270         * modules/sys_socket, modules/sys_stat, modules/sysexits:
59271
59272 2006-09-06  Jim Meyering  <jim@meyering.net>
59273
59274         Make generated files be read-only.
59275         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
59276         Ensure that each generated file is now read-only.
59277         * modules/argz: Likewise.
59278         * modules/arpa_inet: Likewise.
59279         * modules/byteswap: Likewise.
59280         * modules/configmake: Likewise.
59281         * modules/fcntl: Likewise.
59282         * modules/fnmatch: Likewise.
59283         * modules/getopt: Likewise.
59284         * modules/glob: Likewise.
59285         * modules/inttypes: Likewise.
59286         * modules/netinet_in: Likewise.
59287         * modules/poll: Likewise.
59288         * modules/stdbool: Likewise.
59289         * modules/stdint: Likewise.
59290         * modules/sys_select: Likewise.
59291         * modules/sys_socket: Likewise.
59292         * modules/sys_stat: Likewise.
59293         * modules/sysexits: Likewise.
59294         * modules/localcharset: Same as above, but continue using temporary
59295         file named "t-$@" (why different?) rather than the "$@-t" used
59296         everywhere else.
59297
59298         * modules/sysexits (Makefile.am): Replace literal occurrences
59299         of "sysexit.h" more readable, and more consistent, "$@".
59300
59301 2006-09-06  Bruno Haible  <bruno@clisp.org>
59302
59303         * modules/striconv: New file.
59304         * modules/xstriconv: New file.
59305         * MODULES.html.sh (Internationalization functions): Add striconv,
59306         xstriconv.
59307
59308 2006-09-06  Bruno Haible  <bruno@clisp.org>
59309
59310         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
59311         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
59312         not using libtool correctly.
59313
59314 2006-09-06  Bruno Haible  <bruno@clisp.org>
59315
59316         * lib/striconv.h: New file.
59317         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
59318         iconvstring.c.
59319         * lib/xstriconv.h: New file.
59320         * lib/xstriconv.c: New file.
59321
59322 2006-09-06  Bruno Haible  <bruno@clisp.org>
59323
59324         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59325         lib_..._LDFLAGS.
59326
59327 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59328
59329         * lib/argz_.h: Sync from Libtool.
59330
59331         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
59332                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59333
59334         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
59335
59336 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59337
59338         * modules/trim: New file.
59339
59340 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
59341
59342         * lib/trim.h: New file.
59343         * lib/trim.c: New file.
59344
59345 2006-09-05  Bruno Haible  <bruno@clisp.org>
59346
59347         * MODULES.html.sh (String handling): Add trim.
59348
59349 2006-09-04  Karl Berry  <karl@gnu.org>
59350
59351         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
59352         until next release.
59353
59354 2006-09-03  Bruno Haible  <bruno@clisp.org>
59355
59356         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
59357         correctly.
59358
59359 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59360
59361         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
59362         not gl_GETLOADAVG.  Omit unneeded semicolons.
59363         Problems reported by Ralf Wildenhues in
59364         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59365         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
59366         at the end, which is the usual gnulib style.
59367
59368         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
59369         of doing all the work ourselves.
59370         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
59371         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
59372
59373 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59374
59375         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
59376         Problem reported by Ralf Wildenhues in
59377         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
59378
59379         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
59380         HAVE_STRUCT_STATFS_F_FSTYPENAME.
59381
59382 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59383
59384         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
59385         yesterday's patch by changing test -n to test -z.
59386
59387 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59388
59389         * modules/getloadavg (Files): Add m4/getloadavg.m4.
59390         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
59391         the former is now obsolescent.
59392
59393         * modules/chdir-long (Depends-on): Add fcntl.
59394
59395 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59396
59397         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
59398         obsolescent, and programs should use gnulib instead.
59399         * m4/getloadavg.m4: New file, with contents taken from Autoconf
59400         but with prefixes changed.
59401
59402 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
59403
59404         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
59405         or stdbool.h, because they might not exist while configuring.
59406
59407         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
59408         Don't include unistd.h or limits.h; not needed, since chdir-long.h
59409         does that for us.
59410         (O_DIRECTORY): Remove.
59411
59412 2006-08-31  Eric Blake  <ebb9@byu.net>
59413
59414         * gnulib-tool: Don't let emacs change spaces to TAB.
59415
59416 2006-08-31  Bruno Haible  <bruno@clisp.org>
59417
59418         * gnulib-tool: When calling func_import more than once, do it in a
59419         subshell.
59420         Reported by Eric Blake <ebb9@byu.net>.
59421
59422 2006-08-31  Bruno Haible  <bruno@clisp.org>
59423
59424         * gnulib-tool (nl): Remove variable.
59425         (sed_transform_lib_file): Use more robust test for config-h module.
59426         (func_import): Fix typo in 2006-08-25 patch.
59427
59428 2006-08-31  Bruno Haible  <bruno@clisp.org>
59429
59430         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
59431         specified, augment Makefile.am variables instead of assigning them.
59432
59433 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59434
59435         Work around a bug in both the Linux and SunOS 64-bit kernels:
59436         nanosleep mishandles sleeps for longer than 2**31 seconds.
59437         Problem reported by Frank v Waveren in
59438         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59439         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
59440         Check for nanosleep bug.
59441         (LIB_NANOSLEEP): Append clock_gettime library if needed.
59442
59443 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59444
59445         Work around a bug in both the Linux and SunOS 64-bit kernels:
59446         nanosleep mishandles sleeps for longer than 2**31 seconds.
59447         Problem reported by Frank v Waveren in
59448         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
59449         * lib/nanosleep.c (BILLION): New constant.
59450         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
59451         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
59452         implementation.
59453
59454 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59455
59456         * modules/nanosleep (Depends-on): Add gettime.
59457
59458 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
59459         and Simon Josefsson  <jas@extundo.com>
59460         and Oskar Liljeblad  <oskar@osk.mine.nu>
59461
59462         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
59463         * gnulib-tool (func_import): New license type 'unmodifiable license
59464         text'.
59465         * modules/fdl: Use it.  Longer description.
59466         * module/gpl, module/lgpl: New files.
59467
59468 2006-08-30  Jim Meyering  <jim@meyering.net>
59469
59470         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
59471         shadowing the parameter.
59472
59473 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59474
59475         Sync from Libtool:
59476
59477         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59478
59479         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
59480         sharing with gnulib.  Report by Eric Blake.
59481
59482 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59483
59484         * modules/isapipe: New file.
59485         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
59486
59487 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59488
59489         * modules/configmake (Makefile.am): Add a comment, and omit
59490         the CONFIGMAKE_ prefix from generated macro names.  Suggested
59491         by Bruno Haible.
59492
59493 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59494
59495         * m4/isapipe.m4: New file.
59496
59497 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
59498
59499         * lib/isapipe.c, lib/isapipe.h: New files.
59500
59501 2006-08-29  Jim Meyering  <jim@meyering.net>
59502
59503         * modules/configmake (Makefile.am): Make configmake.h depend on
59504         Makefile.  Otherwise, a stale configmake.h could hang around.
59505
59506 2006-08-29  Eric Blake  <ebb9@byu.net>
59507
59508         * lib/error.c (error_at_line, print_errno_message): Match libc, after
59509         resolution of upstream bug 3044.
59510
59511 2006-08-29  Bruno Haible  <bruno@clisp.org>
59512
59513         * modules/localcharset (Depends-on): Add configmake.
59514         (Makefile.am): Remove setting of LIBDIR through DEFS.
59515
59516 2006-08-29  Bruno Haible  <bruno@clisp.org>
59517
59518         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
59519         defined.
59520
59521 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59522
59523         * modules/fcntl: New file.
59524         * modules/chdir-safer (Depends-on): Add fcntl.
59525         * modules/fts: Likewise.
59526         * modules/mkdir-p: Likewise.
59527
59528         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
59529         This undoes the most recent change, since we're now addressing the
59530         problem in a different way.
59531
59532         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
59533         into output, since the output might be called Makefile.am even
59534         if $makefile_name is something different.
59535         (func_import): Use $makefile_am rather than
59536         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
59537         empty.
59538
59539         * modules/inttypes (Files): Add m4/inttypes-h.m4.
59540
59541 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59542
59543         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
59544         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
59545         recent change to stdint.m4, since we're now addressing the problem in a
59546         different way.
59547
59548 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59549
59550         * m4/fcntl_h.m4: New file.
59551
59552 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
59553
59554         * lib/fcntl_.h: New file.
59555         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
59556         the fcntl module.
59557         * lib/dirchownmod.c: Likewise.
59558         * lib/fts.c: Likewise.
59559
59560         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
59561         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
59562         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
59563         just before including <inttypes.h>, to avoid circular inclusion.
59564
59565 2006-08-28  Jim Meyering  <jim@meyering.net>
59566
59567         * doc/visibility.texi: Actually read and correct the grammar of the
59568         sentence affected by yesterday's change.
59569
59570 2006-08-28  Eric Blake  <ebb9@byu.net>
59571
59572         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
59573         needs wrapper.
59574
59575 2006-08-28  Eric Blake  <ebb9@byu.net>
59576
59577         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
59578
59579 2006-08-28  Eric Blake  <ebb9@byu.net>
59580
59581         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
59582
59583 2006-08-28  Bruno Haible  <bruno@clisp.org>
59584
59585         * modules/c-strstr: New file, from GNU gettext.
59586         * MODULES.html.sh (String handling): Add c-strstr.
59587
59588 2006-08-28  Bruno Haible  <bruno@clisp.org>
59589
59590         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
59591         macros.
59592         Reported by Eric Blake.
59593
59594 2006-08-28  Bruno Haible  <bruno@clisp.org>
59595
59596         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
59597         (VASNPRINTF): Return a string of length > INT_MAX without failing.
59598         * lib/vasprintf.c: Include errno.h, limits.h.
59599         (EOVERFLOW): New fallback definition.
59600         (vasprintf): Test here whether the string length is > INT_MAX.
59601         * lib/vsnprintf.c: Include errno.h, limits.h.
59602         (EOVERFLOW): New fallback definition.
59603         (vsnprintf): Fix bug when generated string was too long for the buffer.
59604         Test here whether the string length is > INT_MAX.
59605
59606 2006-08-28  Bruno Haible  <bruno@clisp.org>
59607
59608         * lib/inttypes_.h (SCNX*): Remove definitions.
59609         Reported by Eric Blake.
59610
59611 2006-08-28  Bruno Haible  <bruno@clisp.org>
59612
59613         * lib/c-strstr.h: New file, from GNU gettext.
59614         * lib/c-strstr.c: New file, from GNU gettext.
59615
59616 2006-08-28  Bruno Haible  <bruno@clisp.org>
59617
59618         * gnulib-tool: Reorder some statements.
59619
59620 2006-08-28  Bruno Haible  <bruno@clisp.org>
59621
59622         * gnulib-tool: New option --makefile-name.
59623         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
59624         $makefile_name.
59625         (func_import): Write $makefile_name to the cache file, and read it from
59626         there unless explicitly specified. Use $makefile_name as file name
59627         instead of Makefile.am. Adjust the recommendations accordingly.
59628
59629 2006-08-28  Bruno Haible  <bruno@clisp.org>
59630
59631         * gnulib-tool (func_verify_module): Check against misapplying patch.
59632
59633 2006-08-28  Bruno Haible  <bruno@clisp.org>
59634
59635         * gnulib-tool (func_relativize, func_relconcat): New functions.
59636         Give an error if --local-dir is given with --update.
59637         Remove trailing slashes from $local_gnulib_dir.
59638         (func_import): Store the relativized $local_gnulib_dir in
59639         gnulib-cache.m4, and read it from there if not specified explicitly.
59640
59641 2006-08-28  Bruno Haible  <bruno@clisp.org>
59642
59643         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
59644         is the current directory. Respect also $local_gnulib_dir.
59645
59646 2006-08-28  Bruno Haible  <bruno@clisp.org>
59647             Simon Josefsson  <jas@extundo.com>
59648
59649         BeOS portability.
59650         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
59651
59652 2006-08-27  Jim Meyering  <jim@meyering.net>
59653
59654         * doc/visibility.texi: Remove duplicate word: "pointer".
59655
59656 2006-08-26  Bruno Haible  <bruno@clisp.org>
59657
59658         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
59659         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
59660         (Makefile.am): Create inttypes.h from inttypes_.h.
59661         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
59662
59663         * modules/imaxabs: New file.
59664
59665         * modules/imaxdiv: New file.
59666
59667 2006-08-26  Bruno Haible  <bruno@clisp.org>
59668
59669         * m4/inttypes.m4: New file.
59670         * m4/_inttypes_h.m4: Remove file.
59671         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
59672         PRI_MACROS_BROKEN.
59673         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
59674
59675         * m4/imaxabs.m4: New file.
59676
59677         * m4/imaxdiv.m4: New file.
59678
59679 2006-08-26  Bruno Haible  <bruno@clisp.org>
59680
59681         * lib/inttypes_.h: New file.
59682         * lib/inttypes.h: Remove file.
59683         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
59684
59685         * lib/imaxabs.c: New file.
59686
59687         * lib/imaxdiv.c: New file.
59688
59689 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59690
59691         New config-h module, so that "make" output needn't be cluttered
59692         by -DHAVE_CONFIG_H.
59693         * MODULES.html.sh (Support for building libraries and executables):
59694         Add config-h.
59695         * modules/config-h: New file.
59696         * gnulib-tool (nl, sed_transform_lib_file): New vars.
59697         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
59698         the config-h module is used.
59699
59700         New configmake module, so that "make" output needn't be cluttered
59701         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
59702         * MODULES.html.sh (Support for building libraries and executables):
59703         Add configmake.
59704         * modules/configmake: New file.
59705
59706 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59707
59708         * m4/config-h.m4: New file.
59709
59710 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59711
59712         * config/srclist.txt: Add elisp-comp.
59713
59714 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59715
59716         * MODULES.html.sh (Support for building libraries and executables):
59717         Add elisp-comp.
59718         * build-aux/elisp-comp: New file.
59719         * modules/elisp-comp: New file.
59720
59721 2006-08-24  Bruno Haible  <bruno@clisp.org>
59722
59723         * gnulib-tool (func_create_testdir): Use non-default values of
59724         sourcebase and m4base.
59725
59726 2006-08-24  Bruno Haible  <bruno@clisp.org>
59727
59728         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
59729         HTML structure.
59730
59731 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59732
59733         * modules/openat (Depends-on): Add lchown.
59734
59735 2006-08-23  Bruno Haible  <bruno@clisp.org>
59736
59737         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
59738         of gl_LOCK_EARLY instead of gl_LOCK.
59739
59740 2006-08-23  Bruno Haible  <bruno@clisp.org>
59741
59742         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
59743         on OSF/1 to no.
59744         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
59745
59746 2006-08-23  Bruno Haible  <bruno@clisp.org>
59747
59748         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
59749         as unusable.
59750
59751         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
59752         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
59753         (gl_LOCK): New macro.
59754
59755 2006-08-22  Simon Josefsson  <jas@extundo.com>
59756
59757         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
59758         to md5 module.
59759
59760 2006-08-22  Simon Josefsson  <jas@extundo.com>
59761
59762         * MODULES.html.sh: Add "Support for maintaining and release
59763         projects".
59764
59765         * build-aux/gnupload: New file, from coreutils.
59766
59767 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59768
59769         Avoid the need for AC_LIBSOURCES in m4 macros.
59770         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
59771         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
59772         * modules/check-version (EXTRA_DIST): Add check-version.h.
59773         * modules/crc (EXTRA_DIST): Add crc.h.
59774         * modules/des (EXTRA_DIST): Add des.h.
59775         * modules/gc (EXTRA_DIST): Add gc.h.
59776         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
59777         * modules/getline (EXTRA_DIST): Add getline.h.
59778         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
59779         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
59780         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
59781         * modules/md2 (EXTRA_DIST): Add md2.h.
59782         * modules/md4 (EXTRA_DIST): Add md4.h.
59783         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
59784         * modules/read-file (EXTRA_DIST): Add read-file.h.
59785         * modules/readline (EXTRA_DIST): Add readline.h.
59786         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
59787         rijndael-api-fst.h.
59788
59789 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59790
59791         * m4/rijndael.m4 (gl_ARCFOUR):
59792         * m4/arctwo.m4 (gl_ARCTWO):
59793         * m4/check-version.m4 (gl_CHECK_VERSION):
59794         * m4/crc.m4 (gl_CRC):
59795         * m4/des.m4 (gl_DES):
59796         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
59797         * m4/gc.m4 (gl_GC):
59798         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
59799         * m4/getline.m4 (gl_FUNC_GETLINE):
59800         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
59801         * m4/hmac-md5.m4 (gl_HMAC_MD5):
59802         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
59803         * m4/md2.m4 (gl_MD2):
59804         * m4/md4.m4 (gl_MD4):
59805         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
59806         * m4/read-file.m4 (gl_FUNC_READ_FILE):
59807         * m4/readline.m4 (gl_FUNC_READLINE):
59808         * m4/rijndael.m4 (gl_RIJNDAEL):
59809         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
59810         to get the necessary .h files and whatnot.
59811
59812 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59813
59814         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
59815         gnulib rather than the other way around.
59816         * config/srclistvars.sh (COREUTILS): Remove.
59817
59818 2006-08-22  Jim Meyering  <jim@meyering.net>
59819
59820         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
59821
59822         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
59823
59824 2006-08-22  Eric Blake  <ebb9@byu.net>
59825
59826         * modules/regexprops-generic: New file.
59827         * MODULES.html.sh (Support for building documentation): List it.
59828
59829 2006-08-22  Eric Blake  <ebb9@byu.net>
59830
59831         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
59832         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
59833         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
59834         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
59835
59836 2006-08-22  Bruno Haible  <bruno@clisp.org>
59837
59838         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
59839         and lib_LTLIBRARIES like the other lib_* variables.
59840
59841 2006-08-22  Bruno Haible  <bruno@clisp.org>
59842
59843         * build-aux/x-to-1.in: New file, from GNU gettext.
59844
59845 2006-08-22  Bruno Haible  <bruno@clisp.org>
59846
59847         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
59848         <utmpx.h> exists.
59849
59850 2006-08-22  Bruno Haible  <bruno@clisp.org>
59851
59852         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
59853         <utmpx.h> exists.
59854
59855 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59856
59857         BeOS portability.
59858         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
59859         exist.
59860         Problem reported by Bruno Haible.
59861
59862 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59863
59864         Avoid the need for AC_LIBSOURCES in m4 macros.
59865         * modules/acl (EXTRA_DIST): Add acl.h.
59866         * modules/argmatch (Files): Add m4/argmatch.m4.
59867         (configure.ac): Add gl_ARGMATCH.
59868         (EXTRA_DIST): Renamed from lib_SOURCES, for
59869         consistency with the other modules.  Remove argmatch.c.
59870         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
59871         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
59872         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
59873         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
59874         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
59875         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
59876         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
59877         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
59878         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
59879         * modules/closeout (EXTRA_DIST): Add closeout.h.
59880         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
59881         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
59882         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
59883         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
59884         dirname.h; remove basename.c and stripslash.c.
59885         * modules/exclude (EXTRA_DIST): Add exclude.h.
59886         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
59887         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
59888         * modules/file-type (EXTRA_DIST): Add file-type.h.
59889         * modules/filemode (EXTRA_DIST): Add filemode.h.
59890         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
59891         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59892         * modules/fpending (EXTRA_DIST): Add __fpending.h.
59893         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
59894         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
59895         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
59896         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
59897         * modules/getdate (EXTRA_DIST): Add getdate.c.
59898         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
59899         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
59900         * modules/getpass (EXTRA_DIST): Add getpass.h.
59901         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
59902         * modules/group-member (EXTRA_DIST): Add group-member.h.
59903         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
59904         * modules/hash (EXTRA_DIST): Add hash.h.
59905         * modules/human (EXTRA_DIST): Add human.h.
59906         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
59907         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
59908         * modules/lchown (EXTRA_DIST): Add lchown.h.
59909         * modules/long-options (EXTRA_DIST): Add long-options.h.
59910         * modules/lstat (EXTRA_DIST): Add lstat.h.
59911         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
59912         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
59913         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
59914         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
59915         * modules/memxor (EXTRA_DIST): Add memxor.h.
59916         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
59917         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
59918         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
59919         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
59920         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
59921         * modules/physmem (EXTRA_DIST): Add physmem.h.
59922         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
59923         * modules/posixver (EXTRA_DIST): Add posixver.h.
59924         * modules/quote (EXTRA_DIST): Add quote.h.
59925         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
59926         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
59927         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
59928         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
59929         regex_internal.h regexec.c.
59930         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
59931         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
59932         * modules/same (EXTRA_DIST): Add same.h.
59933         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
59934         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
59935         * modules/savedir (EXTRA_DIST): Add savedir.h.
59936         * modules/sha1 (EXTRA_DIST): Add sha1.h.
59937         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
59938         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
59939         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
59940         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
59941         * modules/strdup (EXTRA_DIST): Add strdup.h.
59942         * modules/strftime (EXTRA_DIST): Add strftime.h.
59943         * modules/strndup (EXTRA_DIST): Add strndup.h.
59944         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
59945         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
59946         * modules/time_r (EXTRA_DIST): Add time_r.h.
59947         * modules/timespec (EXTRA_DIST): Add timespec.h.
59948         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59949         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
59950         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
59951         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
59952         * modules/userspec (EXTRA_DIST): Add userspec.h.
59953         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
59954         * modules/utimens (EXTRA_DIST): Add utimens.h.
59955         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
59956         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
59957         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
59958         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
59959         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
59960         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
59961         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
59962         * modules/yesno (EXTRA_DIST): Add yesno.h.
59963
59964 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59965
59966         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
59967
59968         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
59969         * m4/dev-ino.m4, same-inode.m4: Remove.
59970
59971         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
59972         * m4/acl.m4 (AC_FUNC_ACL):
59973         * m4/backupfile.m4 (gl_BACKUPFILE):
59974         * m4/c-strtod.m4 (gl_C99_STRTOLD):
59975         * m4/canon-host.m4 (gl_CANON_HOST):
59976         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
59977         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
59978         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
59979         * m4/cloexec.m4 (gl_CLOEXEC):
59980         * m4/close-stream.m4 (gl_CLOSE_STREAM):
59981         * m4/closeout.m4 (gl_CLOSEOUT):
59982         * m4/dirfd.m4 (gl_FUNC_DIRFD):
59983         * m4/dirname.m4 (gl_DIRNAME):
59984         * m4/exclude.m4 (gl_EXCLUDE):
59985         * m4/exitfail.m4 (gl_EXITFAIL):
59986         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
59987         * m4/file-type.m4 (gl_FILE_TYPE):
59988         * m4/filemode.m4 (gl_FILEMODE):
59989         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
59990         * m4/fpending.m4 (gl_FUNC_FPENDING):
59991         * m4/fprintftime.m4 (gl_FPRINTFTIME):
59992         * m4/fts.m4 (gl_FUNC_FTS):
59993         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
59994         * m4/getdate.m4 (gl_GETDATE):
59995         * m4/gethrxtime.m4 (gl_GETHRXTIME):
59996         * m4/getpagesize.m4 (gl_GETPAGESIZE):
59997         * m4/getpass.m4 (gl_FUNC_GETPASS):
59998         * m4/gettime.m4 (gl_GETTIME):
59999         * m4/getugroups.m4 (gl_GETUGROUPS):
60000         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
60001         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
60002         * m4/hard-locale.m4 (gl_HARD_LOCALE):
60003         * m4/hash.m4 (gl_HASH):
60004         * m4/idcache.m4 (gl_IDCACHE):
60005         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
60006         * m4/lchown.m4 (gl_FUNC_LCHOWN):
60007         * m4/long-options.m4 (gl_LONG_OPTIONS):
60008         * m4/lstat.m4 (gl_FUNC_LSTAT):
60009         * m4/md5.m4 (gl_MD5):
60010         * m4/memcasecmp.m4 (gl_MEMCASECMP):
60011         * m4/memcoll.m4 (gl_MEMCOLL):
60012         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
60013         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
60014         * m4/memxor.m4 (gl_MEMXOR):
60015         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
60016         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
60017         * m4/modechange.m4 (gl_MODECHANGE):
60018         * m4/mountlist.m4 (gl_MOUNTLIST):
60019         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
60020         * m4/openat.m4 (gl_FUNC_OPENAT):
60021         * m4/pathmax.m4 (gl_PATHMAX):
60022         * m4/physmem.m4 (gl_PHYSMEM):
60023         * m4/posixtm.m4 (gl_POSIXTM):
60024         * m4/posixver.m4 (gl_POSIXVER):
60025         * m4/quote.m4 (gl_QUOTE):
60026         * m4/quotearg.m4 (gl_QUOTEARG):
60027         * m4/readtokens.m4 (gl_READTOKENS):
60028         * m4/readutmp.m4 (gl_READUTMP):
60029         * m4/regex.m4 (gl_REGEX):
60030         * m4/safe-read.m4 (gl_SAFE_READ):
60031         * m4/safe-write.m4 (gl_SAFE_WRITE):
60032         * m4/same.m4 (gl_SAME):
60033         * m4/save-cwd.m4 (gl_SAVE_CWD):
60034         * m4/savedir.m4 (gl_SAVEDIR):
60035         * m4/settime.m4 (gl_SETTIME):
60036         * m4/sha1.m4 (gl_SHA1):
60037         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
60038         * m4/stat-macros.m4 (gl_STAT_MACROS):
60039         * m4/stat-time.m4 (gl_STAT_TIME):
60040         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
60041         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
60042         * m4/strdup.m4 (gl_FUNC_STRDUP):
60043         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
60044         * m4/strndup.m4 (gl_FUNC_STRNDUP):
60045         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
60046         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
60047         * m4/time_r.m4 (gl_TIME_R):
60048         * m4/timespec.m4 (gl_TIMESPEC):
60049         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
60050         * m4/unlinkdir.m4 (gl_UNLINKDIR):
60051         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
60052         * m4/userspec.m4 (gl_USERSPEC):
60053         * m4/utimecmp.m4 (gl_UTIMECMP):
60054         * m4/utimens.m4 (gl_UTIMENS):
60055         * m4/xalloc.m4 (gl_XALLOC):
60056         * m4/xgetcwd.m4 (gl_XGETCWD):
60057         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
60058         * m4/xreadlink.m4 (gl_XREADLINK):
60059         * m4/xstrtod.m4 (gl_XSTRTOD):
60060         * m4/yesno.m4 (gl_YESNO):
60061         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
60062         to get the necessary .h files and whatnot.
60063
60064 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
60065             Bruno Haible  <bruno@clisp.org>
60066
60067         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
60068         /bin/sh understanding of '!' conditional negation.
60069
60070 2006-08-21  Jim Meyering  <jim@meyering.net>
60071
60072         * modules/openat (Depends-on): Really alphabetize.
60073
60074         * modules/acl (Depends-on): Add error and quote.
60075
60076         * check-module (find_included_lib_files): Add at-func.c to the
60077         ok-to-include-more-than-once white list.
60078
60079         * modules/openat (Depends-on): Add lstat.  Alphabetize.
60080
60081 2006-08-21  Bruno Haible  <bruno@clisp.org>
60082
60083         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60084         Emit a pkgdata_DATA variable only if some snippets add contents to it.
60085         Reported by Martin Lambers <marlam@marlam.de>.
60086
60087 2006-08-21  Bruno Haible  <bruno@clisp.org>
60088
60089         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
60090         specify an installation location, don't emit a noinst_LIBRARIES or
60091         noinst_LTLIBRARIES assignment.
60092
60093 2006-08-21  Bruno Haible  <bruno@clisp.org>
60094
60095         BeOS portability.
60096         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
60097         BeOS has mbrtowc() but no <wctype.h>.
60098
60099 2006-08-21  Bruno Haible  <bruno@clisp.org>
60100
60101         BeOS portability.
60102         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
60103         exist.
60104
60105 2006-08-21  Bruno Haible  <bruno@clisp.org>
60106
60107         BeOS portability.
60108         * lib/mbchar.h: Include <wctype.h> only if it exists.
60109
60110 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60111
60112         Remove files that are no longer needed by their respective modules.
60113         * m4/obstack.m4: Remove.
60114         * m4/strerror_r.m4: Remove.
60115         * m4/uint32_t.m4: Remove.
60116         * m4/uintptr_t.m4: Remove.
60117         * m4/ullong_max.m4: Remove.
60118         * m4/xstrtoimax.m4: Remove.
60119         * m4/xstrtoumax.m4: Remove.
60120
60121         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
60122         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
60123         dependencies now capture this.
60124
60125         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
60126         Do not use AC_LIBSOURCES, since gnulib modules now do this.
60127         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
60128         * m4/human.m4 (gl_HUMAN): Likewise.
60129         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
60130         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
60131
60132         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
60133
60134         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
60135         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
60136         stdint.
60137         * m4/human.m4 (gl_HUMAN): Likewise.
60138         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
60139         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
60140         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
60141         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60142         * m4/xstrtol (gl_XSTRTOL): Likewise.
60143
60144         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
60145         AC_TYPE_LONG_LONG_INT.
60146         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
60147         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
60148         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
60149         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
60150
60151         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
60152         on stdbool.
60153
60154         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
60155         (gl_PREREQ_XSTRTOUL): Remove.
60156
60157         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
60158
60159         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
60160         mode.
60161
60162 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60163
60164         Add and change modules to make it easier for coreutils to use
60165         gnulib-tool.
60166         * modules/backupfile (Files): Remove m4/d-ino.m4.
60167         (Depends-on): Add d-ino.
60168         * modules/cycle-check (Depends-on): Add stdint.
60169         (lib_SOURCES): Add cycle-check.h.
60170         * modules/d-ino: New module.
60171         * modules/d-type: New module.
60172         * modules/error (Files): Remove m4/strerror_r.m4.
60173         * modules/filemode (Files): Add m4/st_dm_mode.m4.
60174         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
60175         m4/inttypes_h.m4, m4/uintmax_t.m4.
60176         (Depends-on): Add stdint.
60177         (lib_SOURCES): Add fsusage.h.
60178         * modules/getcwd (Files): Remove d-ino.m4.
60179         (Depends-on): Add d-ino.
60180         * modules/getndelim2 (Depends-on): Add stdint.
60181         * modules/glob (Files): Remove m4/d-type.m4.
60182         (Depends-on): Add d-type.
60183         * modules/host-os: New module.
60184         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
60185         m4/inttypes_h.m4, m4/uintmax_t.m4.
60186         * Depends-on: Add stdint.
60187         (lib_SOURCES): Add human.h.
60188         * modules/inttostr (Files): Remove m4/intmax_t.m4,
60189         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
60190         m4/uintmax_t.m4, m4/ulonglong.m4.
60191         (Depends-on): Add stdint.
60192         (EXTRA_DIST): Add inttostr.h.
60193         * modules/lchmod: New module.
60194         * modules/link-follow: New module.
60195         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
60196         (Depends-on): Add lchmod.
60197         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
60198         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
60199         (Depends-on): Add stdint.
60200         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
60201         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
60202         (Depends-on): Add stdint.
60203         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
60204         * modules/perl: New module.
60205         * modules/regex (Depends-on): Add stdint.
60206         * modules/rmdir-errno: New module.
60207         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60208         m4/intmax_t.m4.
60209         (Depends-on): Add stdint.
60210         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
60211         m4/uintmax_t.m4.
60212         (Depends-on): Add stdint.
60213         * modules/unlink-busy: New module.
60214         * modules/utimecmp (Depends-on): Add stdint.
60215         * modules/uptime: New module.
60216         * modules/winsz-ioctl: New module.
60217         * modules/winsz-termios: New module.
60218         * modules/xnanosleep (Depends-on): Add nanosleep.
60219         * modules/ullong_max: Remove.
60220         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
60221         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
60222         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
60223         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
60224         (Depends-on): Add inttypes.
60225         (lib_SOURCES): Add xstrtol.h.
60226         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
60227         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
60228         * MODULES.html.sh: Move 'assert' into the assert section.
60229         Move 'dummy' into the linking section.
60230         Remove ullong_max.
60231         Add section for compatibility checks for POSIX:2001 functions,
60232         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
60233         winsz-ioctl, and winsz-termios into it.
60234         Add lchmod.
60235         Add top-level Misc section and put host-os, perl, and uptime
60236         into it.
60237
60238 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
60239
60240         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
60241         now assume the stdint module.  Do not include inttypes.h.
60242         * lib/fsusage.h: Likewise.
60243         * lib/getndelim2.c: Likewise.
60244         * lib/human.h: Likewise.
60245         * lib/inttostr.h: Likewise.
60246         * lib/obstack.c: Likewise.
60247         * lib/regex_internal.h: Likewise.
60248         * lib/tempname.c: Likewise.
60249         * lib/utimecmp.c: Likewise.
60250         * lib/xstrtol.h: Likewise.
60251
60252         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
60253
60254         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
60255         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
60256         * lib/xtime.h: Likewise.
60257
60258 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60259
60260         * modules/openat (Files): Add lib/fchmodat.c.
60261         Fixes problem reported by Jay Youngman.
60262
60263 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60264
60265         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
60266         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
60267
60268 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
60269             Bruno Haible  <bruno@clisp.org>
60270
60271         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
60272         and is a script that invokes bison. Tighten the code. Add comments.
60273
60274 2006-08-18  Jim Meyering  <jim@meyering.net>
60275
60276         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
60277         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
60278         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
60279         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
60280
60281 2006-08-18  Bruno Haible  <bruno@clisp.org>
60282
60283         * modules/bison-i18n: New file.
60284         * MODULES.html.sh (Internationalization functions): Add it.
60285
60286 2006-08-18  Bruno Haible  <bruno@clisp.org>
60287
60288         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
60289         sys/statvfs.h. When getmntinfo was found, check its declaration and
60290         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
60291
60292 2006-08-18  Bruno Haible  <bruno@clisp.org>
60293
60294         * m4/bison-i18n.m4: New file, from bison.
60295
60296 2006-08-18  Bruno Haible  <bruno@clisp.org>
60297
60298         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
60299         (ME_DUMMY): Treat "kernfs" as a dummy.
60300         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
60301
60302 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60303
60304         Update from coreutils.
60305
60306         2006-08-15  Jim Meyering  <jim@meyering.net>
60307
60308         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
60309
60310         2006-01-17  Jim Meyering  <jim@meyering.net>
60311
60312         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
60313
60314         2006-01-11  Jim Meyering  <jim@meyering.net>
60315
60316         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
60317         Check for the lchmod function.
60318
60319 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60320
60321         Update from coreutils.
60322
60323         * lib/__fpending.h: Add copyright notice.
60324         * lib/fprintftime.h: Likewise.
60325         * lib/savedir.c: Use (C) in copyright notice.
60326         * lib/savedir.h: Likewise.
60327
60328         2006-08-15  Jim Meyering  <jim@meyering.net>
60329
60330         * lib/at-func.c: New file, with the logic of all emulated at-functions.
60331         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
60332         in support of the EXPECTED_ERRNO macro.
60333         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
60334         definitions.  Instead, define the appropriate symbols and include
60335         "at-func.c".
60336         * lib/mkdirat.c (mkdirat): Likewise.
60337         * lib/fchmodat.c (fchmodat): Likewise.
60338         (ENOSYS): Remove definition.
60339         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
60340         it.  Don't include "unistd--.h" -- it wasn't ever used.
60341
60342         2006-01-17  Jim Meyering  <jim@meyering.net>
60343
60344         Rewrite fts.c not to change the current working directory,
60345         by using openat, fstatat, fdopendir, etc..
60346
60347         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
60348         (HAVE_OPENAT_SUPPORT): Define.
60349         [_LIBC] (fchdir): Don't undef or define; no longer used.
60350         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
60351         Now, this `function' always succeeds, and consumes its file descriptor
60352         parameter -- so callers must not close such FDs.  Update callers.
60353         (diropen_fd, opendirat, cwd_advance_fd): New functions.
60354         (diropen): Add parameter, SP.  Adjust all callers.
60355         Implement using diropen_fd, rather than open.
60356         (fts_open): Initialize new member, fts_cwd_fd.
60357         Remove fts_rft-setting code.
60358         (fts_close): Close fts_cwd_fd, if necessary.
60359         (__opendir2): Define in terms of opendir or opendirat,
60360         depending on whether the FST_NOCHDIR flag is set.
60361         (fts_build): Since fts_safe_changedir consumes its FD, and since
60362         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
60363         and close the dup'd file descriptor upon failure.
60364         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
60365         (fts_safe_changedir): Tweak semantics to reflect that this function
60366         now calls cwd_advance_fd and hence consumes its FD argument.
60367         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
60368         [struct FTS] (fts_rft): Remove now-unused member.
60369         [struct FTS] (fts_cycle.state): Improve comment.
60370
60371         * lib/openat.c (openat_needs_fchdir): New function.
60372         * lib/openat.h (openat_needs_fchdir): Declare it.
60373
60374 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
60375
60376         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
60377         Problem and fix reported by Pádraig Brady in
60378         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
60379
60380 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60381
60382         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
60383
60384 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60385
60386         * lib/memcoll.c (memcoll): Optimize for the common case where the
60387         arguments are bytewise equal.
60388
60389 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60390
60391         * doc/regexprops-generic.texi: Add a copyright notice.
60392
60393 2006-08-15  Bruno Haible  <bruno@clisp.org>
60394
60395         * modules/tmpdir (License): Change to LGPL.
60396
60397 2006-08-15  Bruno Haible  <bruno@clisp.org>
60398
60399         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
60400         module.
60401
60402 2006-08-14  Simon Josefsson  <jas@extundo.com>
60403
60404         * config/srclist.txt: Add gnupload.
60405
60406 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60407
60408         Change copyright notice from LGPL 2 to GPL 2, since that's the
60409         standard form used in the gnulib repository.
60410         * tests/test-lock.c: Likewise.
60411         * tests/test-stdint.c: Likewise.
60412         * tests/test-tls.c: Likewise.
60413
60414         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
60415         prelude-manager.  User shorter URLs for GNU projects, without '?'.
60416         Add copyright notice.
60417
60418         * check-module: Add copyright notice.  Output a copyright
60419         notice if "--version" is specified.
60420         * modules/COPYING: New file.
60421         * tests/test-getaddrinfo.c: Add copyright notice.
60422         * tests/test-verify.c: Likewise.
60423
60424 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60425
60426         Change copyright notice from LGPL 2 to GPL 2, since that's the
60427         standard form used in the gnulib repository.
60428         * lib/lock.c: LGPL -> GPL.
60429         * lib/lock.h: Likewise.
60430         * lib/strnlen1.c: Likewise.
60431         * lib/strnlen1.h: Likewise.
60432         * lib/tls.c: Likewise.
60433         * lib/tls.h: Likewise.
60434         * lib/tmpdir.c: Likewise.
60435
60436         * lib/TODO: Remove; this belongs only in coreutils.
60437
60438 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60439
60440         Add copyright notices to long-enough files that lack them, since
60441         otherwise the files aren't clearly free.  Use the same notice that
60442         getdate.texi already uses.
60443         * doc/alloca-opt.texi: Add copyright notice.
60444         * doc/alloca.texi: Likewise.
60445         * doc/ctime.texi: Likewise.
60446         * doc/functions.texi: Likewise.
60447         * doc/gcd.texi: Likewise.
60448         * doc/gnulib-tool.texi: Likewise.
60449         * doc/inet_ntoa.texi: Likewise.
60450         * doc/visibility.texi: Likewise.
60451
60452         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
60453         * doc/quote.texi: Add copyright notice.
60454
60455         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
60456         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
60457         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
60458         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
60459         is now obsolete, and give a pointer to the Sun list.
60460         Add copyright notice.
60461
60462 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60463
60464         * config/srclistvars.sh: Add copyright notice.
60465
60466 2006-08-14  Eric Blake  <ebb9@byu.net>
60467
60468         Import the following change from libc:
60469
60470         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
60471
60472         Upstream bug 2997.
60473         * lib/misc/error.c: Add space between program name and message if file
60474         name is missing.
60475
60476 2006-08-12  Karl Berry  <karl@gnu.org>
60477
60478         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
60479         remove, these originate in gnulib now.
60480
60481 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60482
60483         * doc/Makefile (standards.info standards.html standards.dvi):
60484         Also depend on make-stds.texi.
60485
60486 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60487
60488         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
60489         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
60490
60491         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
60492         in wchar_t.  Problem reported by Eric Blake.
60493
60494         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
60495         LEN is smaller than SIZE.  Suggested by Bruno Haible.
60496         Also, help the compiler to keep LEN in a register.
60497
60498 2006-08-11  Eric Blake  <ebb9@byu.net>
60499
60500         * users.txt: Sort.  Add tar.
60501
60502 2006-08-11  Bruno Haible  <bruno@clisp.org>
60503
60504         * users.txt: New file.
60505
60506 2006-08-11  Bruno Haible  <bruno@clisp.org>
60507
60508         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
60509         before <wchar.h>. Needed for OSF/1 and BSD/OS.
60510
60511 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60512
60513         * modules/snprintf (Depends-on): Remove minmax.
60514         (Maintainer): Add self and Bruno.
60515
60516 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60517
60518         * lib/.cppi-disable: Add snprintf.h, socket_.h.
60519         * lib/snprintf.c: Include <errno.h> and <limits.h>.
60520         (EOVERFLOW): Define if the system does not.
60521         Do not include "minmax.h"; it wasn't used.
60522         (snprintf): Don't assume size_t promotes to an unsigned type.
60523         Fix bug when generated string was too long for the buffer: the
60524         buffer's contents are supposed to be the initial prefix of the
60525         output.  Don't assume vasnprintf returns EOVERFLOW if the size
60526         exceeds INT_MAX; do the check ourselves.
60527
60528         Import the following changes from libc:
60529
60530         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
60531
60532         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
60533         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
60534         set wc to the byte which couldn't be converted.
60535         (re_string_reconstruct): Don't clear valid_raw_len before calling
60536         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
60537         tip_context using re_string_context_at.
60538
60539         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
60540
60541         * lib/posix/regex.h: g++ still cannot handled [restrict].
60542
60543         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
60544
60545         * lib/posix/regex.h: Remove special handling for VMS.
60546
60547 2006-08-10  Jim Meyering  <jim@meyering.net>
60548
60549         * modules/same-inode: New module.
60550         * modules/dev-ino: New module.
60551         * modules/cycle-check: Depend on these modules, rather than simply
60552         including their .h files.
60553         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
60554         required via m4/cycle-check.m4.
60555         * modules/same: Depend on new same-inode module, rather than
60556         including same-inode.h.
60557         * modules/chdir-safer: New file.
60558
60559         * modules/chown (Depends-on): Add stat-macros.
60560
60561 2006-08-10  Jim Meyering  <jim@meyering.net>
60562
60563         * m4/cycle-check.m4: New file.
60564         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
60565         * m4/dev-ino.m4, m4/same-inode.m4: New files.
60566
60567 2006-08-10  Eric Blake  <ebb9@byu.net>
60568
60569         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
60570         in from original proposal.
60571
60572 2006-08-10  Eric Blake  <ebb9@byu.net>
60573         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
60574
60575         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
60576         namespace.
60577
60578 2006-08-10  Bruno Haible  <bruno@clisp.org>
60579
60580         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
60581         as well.
60582
60583 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60584
60585         Sync from coreutils.
60586
60587         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
60588
60589         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
60590         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
60591
60592 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60593
60594         * modules/restrict: Remove; no longer needed now that we assume
60595         Autoconf 2.59 or later.
60596         * MODULES.html.sh: Remove 'restrict'.
60597         * modules/argp (Depends-on): Remove 'restrict'.
60598         * modules/base64 (Depends-on): Likewise.
60599         * modules/gc (Depends-on): Likewise.
60600         * modules/getaddrinfo (Depends-on): Likewise.
60601         * modules/glob (Depends-on): Likewise.
60602         * modules/inet_ntop (Depends-on): Likewise.
60603         * modules/inet_pton (Depends-on): Likewise.
60604         * modules/memxor (Depends-on): Likewise.
60605         * modules/regex (Depends-on): Likewise.
60606         * modules/strtok_r (Depends-on): Likewise.
60607         * modules/time_r (Depends-on): Likewise.
60608
60609 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60610
60611         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
60612         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
60613         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60614         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
60615         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
60616         * m4/memxor.m4 (gl_MEMXOR): Likewise.
60617         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
60618         gl_C_RESTRICT replaced by AC_C_RESTRICT.
60619
60620         Merge from coreutils.
60621         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
60622         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
60623         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60624         * m4/time_r.m4 (gl_TIME_R): Likewise.
60625
60626 2006-08-09  Karl Berry  <karl@gnu.org>
60627
60628         * config/srclist.txt: no more gettext-tools, per Bruno.
60629
60630 2006-08-08  Eric Blake  <ebb9@byu.net>
60631
60632         * modules/verror: New module.
60633         * MODULES.html.sh: Document it.
60634
60635 2006-08-08  Eric Blake  <ebb9@byu.net>
60636
60637         * lib/verror.h, lib/verror.c: New files.
60638
60639 2006-08-08  Eric Blake  <ebb9@byu.net>
60640
60641         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
60642         verror_at_line output complies with GNU Coding Standards even when
60643         file is NULL.
60644
60645 2006-08-07  Bruno Haible  <bruno@clisp.org>
60646
60647         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
60648         versions of AIX.
60649         Reported by Ralf Wildenhues.
60650
60651 2006-08-07  Bruno Haible  <bruno@clisp.org>
60652
60653         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
60654         in an AC_DEFUN. Needed so that the autoconf snippets can use
60655         AC_REQUIRE.
60656
60657 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60658
60659         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60660         Initialize pkgdata_DATA.
60661         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
60662         overriding it.
60663
60664 2006-08-06  Eric Blake  <ebb9@byu.net>
60665
60666         * lib/error.h: Fold in some upstream changes from glibc.
60667         * lib/error.c: Likewise.
60668
60669 2006-08-04  Bruno Haible  <bruno@clisp.org>
60670
60671         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60672         Make the mostlyclean-local rule depend on mostlyclean-generic.
60673         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
60674
60675 2006-07-31  Bruno Haible  <bruno@clisp.org>
60676
60677         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
60678         <stdlib.h>, <string.h>.
60679
60680 2006-07-30  Bruno Haible  <bruno@clisp.org>
60681
60682         * modules/readlink (License): Change to LGPL.
60683
60684 2006-07-30  Bruno Haible  <bruno@clisp.org>
60685
60686         * modules/javaversion (Makefile.am): Distribute javaversion.java and
60687         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
60688         set PKGDATADIR to point to it.
60689
60690 2006-07-30  Bruno Haible  <bruno@clisp.org>
60691
60692         * modules/csharpexec (configure.ac): Comment out macro invocation.
60693         * modules/javaexec (configure.ac): Likewise.
60694         * modules/javacomp-script (configure.ac): Likewise.
60695
60696         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
60697
60698 2006-07-30  Bruno Haible  <bruno@clisp.org>
60699
60700         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
60701         linked-list.
60702
60703 2006-07-30  Bruno Haible  <bruno@clisp.org>
60704
60705         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
60706
60707 2006-07-30  Bruno Haible  <bruno@clisp.org>
60708
60709         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60710         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
60711         get removed.
60712
60713 2006-07-29  Bruno Haible  <bruno@clisp.org>
60714
60715         Make it possible for gnulib-tool to work with locally modified or
60716         augmented gnulib repositories.
60717         * gnulib-tool (func_usage): Document --local-dir option.
60718         (local_gnulib_dir): New variable.
60719         Handle --local-dir option.
60720         (func_lookup_file): New function.
60721         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
60722         (func_get_description, func_get_filelist, func_get_description,
60723         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
60724         func_get_automake_snippet, func_get_include_directive,
60725         func_get_license, func_get_maintainer): Use func_lookup_file.
60726         (func_import, func_create_testdir): Use func_lookup_file.
60727
60728 2006-07-29  Bruno Haible  <bruno@clisp.org>
60729
60730         * modules/setenv (Depends-on): Add unistd.
60731
60732 2006-07-29  Bruno Haible  <bruno@clisp.org>
60733
60734         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
60735
60736 2006-07-29  Bruno Haible  <bruno@clisp.org>
60737
60738         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
60739
60740 2006-07-29  Bruno Haible  <bruno@clisp.org>
60741
60742         * gnulib-tool (import, update): If there is no Makefile.am, look at
60743         aclocal.m4, instead of bailing out.
60744
60745 2006-07-29  Bruno Haible  <bruno@clisp.org>
60746
60747         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
60748         Categorize the options by when they are useful.
60749
60750 2006-07-29  Bruno Haible  <bruno@clisp.org>
60751
60752         * gnulib-tool (func_usage): Document option --no-libtool.
60753         Handle option --no-libtool.
60754         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
60755         for changed semantics of $libtool variable.
60756         (func_import): Likewise. If libtool is not used, show this through
60757         an option --no-libtool.
60758         (func_create_testdir): Update.
60759
60760 2006-07-29  Bruno Haible  <bruno@clisp.org>
60761
60762         * gnulib-tool (func_import): Extend error message about missing
60763         --doc-base.
60764
60765 2006-07-29  Bruno Haible  <bruno@clisp.org>
60766
60767         * gnulib-tool (func_import): Don't create the $docbase directory if
60768         there is no file to store there.
60769
60770 2006-07-29  Bruno Haible  <bruno@clisp.org>
60771
60772         * gnulib-tool (autoconf_minversion): If a --dir option is given and
60773         relevant, look for configure.ac there, not in the current directory.
60774         Also use a simple search for AC_PREREQ, not "autoconf --trace".
60775
60776 2006-07-29  Bruno Haible  <bruno@clisp.org>
60777
60778         * gnulib-tool (SORT): New variable.
60779         (func_usage): Undocument --assume-autoconf option.
60780         Remove --assume-autoconf option handling.
60781         (autoconf_minversion): Determine from the contents of configure.ac.
60782         (func_import): Remove autoconf_minversion handling.
60783         Suggested by Eric Blake.
60784
60785 2006-07-29  Bruno Haible  <bruno@clisp.org>
60786
60787         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
60788
60789 2006-07-29  Bruno Haible  <bruno@clisp.org>
60790
60791         * config/srclist.txt (*setenv.[ch]): Remove rules.
60792
60793 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60794
60795         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
60796
60797 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60798
60799         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
60800         arpa/inet.h.
60801
60802 2006-07-28  Simon Josefsson  <jas@extundo.com>
60803
60804         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
60805         * modules/inet_pton (Depends-on): Likewise.
60806
60807 2006-07-28  Simon Josefsson  <jas@extundo.com>
60808
60809         * m4/netinet_in_h.m4: New file.
60810
60811 2006-07-28  Simon Josefsson  <jas@extundo.com>
60812
60813         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
60814         #include's.
60815
60816 2006-07-28  Simon Josefsson  <jas@extundo.com>
60817
60818         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
60819         #include's.
60820
60821 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
60822
60823         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
60824         setgid on directories only if they set these bits.
60825         * lib/modechange.h: Remove obsolete comment about masks.
60826
60827 2006-07-28  Eric Blake  <ebb9@byu.net>
60828
60829         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
60830         macro expansion.
60831
60832 2006-07-28  Bruno Haible  <bruno@clisp.org>
60833
60834         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
60835
60836 2006-07-28  Bruno Haible  <bruno@clisp.org>
60837
60838         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
60839
60840 2006-07-28  Bruno Haible  <bruno@clisp.org>
60841
60842         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60843         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60844         Define fallbacks.
60845         Avoids link error on FreeBSD 4.x.
60846         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60847
60848         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
60849         encoding.
60850         * lib/mbswidth.c (iswcntrl): Likewise.
60851
60852 2006-07-27  Bruno Haible  <bruno@clisp.org>
60853
60854         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
60855         test.
60856
60857 2006-07-27  Bruno Haible  <bruno@clisp.org>
60858
60859         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
60860         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
60861         defined.
60862
60863 2006-07-26  Eric Blake  <ebb9@byu.net>
60864
60865         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
60866
60867 2006-07-26  Eric Blake  <ebb9@byu.net>
60868
60869         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
60870         like mingw that lack mkstemp.
60871         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
60872         avoid compilation warning on mingw.
60873
60874 2006-07-26  Bruno Haible  <bruno@clisp.org>
60875
60876         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
60877         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
60878         INT_FAST*_MIN, INTPTR_MIN.
60879
60880 2006-07-25  Bruno Haible  <bruno@clisp.org>
60881
60882         * modules/version-etc (Depends-on): Add stdarg.
60883
60884 2006-07-25  Bruno Haible  <bruno@clisp.org>
60885
60886         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
60887         complex commands.
60888
60889 2006-07-25  Bruno Haible  <bruno@clisp.org>
60890
60891         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
60892         defined in <stdarg.h> or config.h.
60893
60894 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60895
60896         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
60897         (gl_STDIO_SAFER): Remove.
60898
60899 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60900
60901         * MODULES.html.sh (File stream based Input/Output):
60902         Add fopen-safer, tmpfile-safer; remove stdio-safer.
60903         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
60904         * modules/fopen-safer, modules/tmpfile-safer: New files.
60905         * modules/stdio-safer: Remove.
60906
60907 2006-07-24  Bruno Haible  <bruno@clisp.org>
60908
60909         * modules/tmpdir: New file.
60910         * MODULES.html.sh (File system functions): Add it.
60911
60912 2006-07-24  Bruno Haible  <bruno@clisp.org>
60913
60914         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
60915         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
60916
60917 2006-07-24  Bruno Haible  <bruno@clisp.org>
60918
60919         * modules/clean-temp: New file.
60920
60921 2006-07-24  Bruno Haible  <bruno@clisp.org>
60922
60923         * m4/tmpdir.m4: New file, from GNU gettext.
60924
60925 2006-07-24  Bruno Haible  <bruno@clisp.org>
60926
60927         * lib/tmpdir.h: New file, from GNU gettext.
60928         * lib/tmpdir.c: New file, from GNU gettext.
60929
60930 2006-07-24  Bruno Haible  <bruno@clisp.org>
60931
60932         * lib/clean-temp.h: New file, from GNU gettext.
60933         * lib/clean-temp.c: New file, from GNU gettext.
60934
60935 2006-07-23  Eric Blake  <ebb9@byu.net>
60936
60937         * modules/stdio-safer (Files): Add tmpfile-safer.c.
60938         (Depends-on): Add binary-io.
60939
60940 2006-07-23  Eric Blake  <ebb9@byu.net>
60941
60942         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
60943
60944 2006-07-23  Eric Blake  <ebb9@byu.net>
60945
60946         * lib/tmpfile-safer.c: New file.
60947         * lib/stdio-safer.h (fopen_safer): Add prototype.
60948         * lib/stdio--.h (tmpfile): Make safer.
60949
60950 2006-07-23  Bruno Haible  <bruno@clisp.org>
60951
60952         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
60953         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
60954         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
60955         gl_linked_remove_at): Use it.
60956
60957 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60958         and Simon Josefsson <jas@extundo.com>
60959
60960         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
60961
60962         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
60963
60964 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60965
60966         * modules/close-stream: New file.
60967         * modules/closeout (Description): Make it clear that it exits
60968         with a diagnostic on error.
60969         (Depends-on): Add close-stream.  Remove fpending, stdbool.
60970         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
60971
60972 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60973
60974         * m4/close-stream.m4: New file.
60975
60976 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60977
60978         * lib/close-stream.c, lib/close-stream.h: New files.
60979
60980 2006-07-22  Bruno Haible  <bruno@clisp.org>
60981
60982         Merge from GNU gettext 0.15.
60983
60984         2006-05-01  Bruno Haible  <bruno@clisp.org>
60985
60986                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
60987
60988         2006-07-22  Bruno Haible  <bruno@clisp.org>
60989
60990                 * modules/javaversion: New file.
60991                 * MODULES.html.sh (Java): Add javaversion.
60992
60993         2006-03-12  Bruno Haible  <bruno@clisp.org>
60994
60995                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
60996
60997         2005-12-04  Bruno Haible  <bruno@clisp.org>
60998
60999                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
61000                 (untested).
61001
61002         2006-06-21  Bruno Haible  <bruno@clisp.org>
61003
61004                 Avoid warnings from recent versions of mcs.
61005                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
61006                 -o, -L, -r any more. Use options documented since mcs-1.0
61007                 instead. Similarly for -g.
61008
61009         2005-12-04  Bruno Haible  <bruno@clisp.org>
61010
61011                 * build-aux/csharpcomp.sh.in: Suffix for resources is
61012                 .resources, not .resource.
61013
61014         2005-07-09  Bruno Haible  <bruno@clisp.org>
61015
61016                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
61017                 add a .dll suffix.
61018                 Reported by Mark Junker <mjscod@gmx.de>.
61019
61020         2006-07-22  Bruno Haible  <bruno@clisp.org>
61021
61022                 * modules/gettext: Upgrade to gettext-0.15.
61023                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
61024                 m4/visibility.m4.
61025                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
61026
61027 2006-07-22  Bruno Haible  <bruno@clisp.org>
61028
61029         Merge from GNU gettext 0.15.
61030
61031         2006-03-25  Bruno Haible  <bruno@clisp.org>
61032
61033                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
61034
61035         2006-07-21  Bruno Haible  <bruno@clisp.org>
61036
61037                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
61038                 "1.1".
61039
61040         2006-05-09  Bruno Haible  <bruno@clisp.org>
61041
61042                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
61043                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
61044                 for the conftestver execution.
61045
61046         2006-05-01  Bruno Haible  <bruno@clisp.org>
61047
61048                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
61049                 optional target-version argument. Verify that the compiler
61050                 groks source of the specified source-version, or add -source
61051                 option as necessary. Verify that the compiler produces
61052                 bytecode in the specified target-version, or add -target and
61053                 -source options as necessary. Make the result of the test
61054                 available as variable CONF_JAVAC. Also log error output in
61055                 config.log.
61056
61057         2006-03-11  Bruno Haible  <bruno@clisp.org>
61058
61059                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
61060
61061         2006-05-09  Bruno Haible  <bruno@clisp.org>
61062
61063                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
61064                 CLASSPATH_SEPARATOR to a semicolon.
61065
61066         2006-03-12  Bruno Haible  <bruno@clisp.org>
61067
61068                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
61069                 available as variable CONF_JAVA, for subsequent autoconf
61070                 tests. Also log error output in config.log.
61071
61072         2006-07-19  Bruno Haible  <bruno@clisp.org>
61073
61074                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
61075                 that getline works on glibc2 systems. Needed to avoid trouble
61076                 in relocatable.c.
61077                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
61078
61079         2005-12-04  Bruno Haible  <bruno@clisp.org>
61080
61081                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
61082                 launcher (untested).
61083
61084         2005-12-04  Bruno Haible  <bruno@clisp.org>
61085
61086                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
61087
61088         2006-07-22  Bruno Haible  <bruno@clisp.org>
61089
61090                 * gettext.m4: Update from GNU gettext-0.15.
61091                 * nls.m4: Likewise.
61092                 * po.m4: Likewise.
61093                 * inttypes-pri.m4: Likewise.
61094                 * inttypes-h.m4: Renamed from inttypes.m4.
61095                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
61096
61097 2006-07-22  Bruno Haible  <bruno@clisp.org>
61098
61099         Merge from GNU gettext 0.15.
61100
61101         2005-07-05  Bruno Haible  <bruno@clisp.org>
61102
61103                 * printf-args.c (printf_fetchargs): Work around broken
61104                 definition of wint_t on mingw.
61105
61106         2005-02-12  Bruno Haible  <bruno@clisp.org>
61107
61108                 * xallocsa.h: Add extern "C" for C++.
61109
61110         2006-05-17  Bruno Haible  <bruno@clisp.org>
61111
61112                 Cygwin portability.
61113                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
61114
61115         2006-04-30  Bruno Haible  <bruno@clisp.org>
61116
61117                 * progreloc.c: Include <mach-o/dyld.h> if available.
61118                 (find_executable): Use _NSGetExecutablePath when possible.
61119
61120         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61121
61122                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
61123                 function.
61124
61125         2005-12-29  Bruno Haible  <bruno@clisp.org>
61126
61127                 * progreloc.c (set_program_name_and_installdir): Fix
61128                 compilation error.
61129
61130         2005-12-04  Bruno Haible  <bruno@clisp.org>
61131
61132                 Cygwin portability.
61133                 * progreloc.c: Include <windows.h> also on Cygwin.
61134                 (find_executable): Add support for Cygwin.
61135                 (set_program_name_and_installdir): Handle also platforms with
61136                 nonempty EXEEXT.
61137
61138         2006-07-11  Bruno Haible  <bruno@clisp.org>
61139
61140                 * javacomp.c: Fix a comment.
61141                 Reported by Jim Meyering.
61142
61143         2006-04-30  Bruno Haible  <bruno@clisp.org>
61144
61145                 * javacomp.h (compile_java_class): Add source_version,
61146                 target_version arguments.
61147                 * javacomp.c: Rewritten to choose only a compiler that
61148                 respects the specified source_version and target_version.
61149
61150         2006-06-27  Bruno Haible  <bruno@clisp.org>
61151
61152                 Assume correct S_ISDIR macro.
61153                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
61154
61155         2006-07-22  Bruno Haible  <bruno@clisp.org>
61156
61157                 * javaversion.h: New file, from GNU gettext.
61158                 * javaversion.c: New file, from GNU gettext.
61159                 * javaversion.java: New file, from GNU gettext.
61160                 * javaversion.class: New file, from GNU gettext.
61161
61162         2006-05-17  Bruno Haible  <bruno@clisp.org>
61163
61164                 Cygwin portability.
61165                 * javaexec.c (execute_java_class): Test for jview program
61166                 also on Cygwin.
61167
61168         2006-04-09  Bruno Haible  <bruno@clisp.org>
61169
61170                 * fatal-signal.c: Don't include string.h.
61171                 (at_fatal_signal): Use a copying loop instead of memcpy.
61172
61173         2005-12-04  Bruno Haible  <bruno@clisp.org>
61174
61175                 * csharpexec.c: Add support for 'clix' launcher (untested).
61176                 (execute_csharp_using_sscli): New function.
61177                 (execute_csharp_program): Call it.
61178
61179         2006-06-21  Bruno Haible  <bruno@clisp.org>
61180
61181                 Avoid warnings from recent versions of mcs.
61182                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
61183                 -o, -L, -r any more. Use options documented since mcs-1.0
61184                 instead. Similarly for -g.
61185
61186         2005-07-09  Bruno Haible  <bruno@clisp.org>
61187
61188                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
61189                 add a .dll suffix.
61190                 Reported by Mark Junker <mjscod@gmx.de>.
61191
61192         2006-06-17  Bruno Haible  <bruno@clisp.org>
61193
61194                 * config.charset: Update for NetBSD 3.0.
61195
61196         2006-05-17  Bruno Haible  <bruno@clisp.org>
61197
61198                 Cygwin portability.
61199                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
61200
61201         2006-05-16  Bruno Haible  <bruno@clisp.org>
61202
61203                 * localcharset.c [CYGWIN]: Include <windows.h>.
61204                 (get_charset_aliases): For Cygwin, return the same CPxxx
61205                 aliases list as under WIN32.
61206                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
61207                 the environment variables. Fall back to GetACP().
61208
61209         2006-04-05  Bruno Haible  <bruno@clisp.org>
61210
61211                 * config.charset: Update Juan Manuel Guerrero's address.
61212
61213         2005-02-12  Bruno Haible  <bruno@clisp.org>
61214
61215                 * allocsa.h: Add extern "C" for C++.
61216
61217         2005-02-10  Bruno Haible  <bruno@clisp.org>
61218
61219                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
61220                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
61221
61222         2006-07-22  Bruno Haible  <bruno@clisp.org>
61223
61224                 * gettext.h: Update to GNU gettext-0.15.
61225
61226 2006-07-22  Bruno Haible  <bruno@clisp.org>
61227
61228         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
61229         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
61230         lib-prefix.m4, longdouble.m4, ssize_t.m4.
61231
61232 2006-07-21  Eric Blake  <ebb9@byu.net>
61233
61234         * modules/stdlib-safer: New file.
61235         * MODULES.html.sh (File stream based Input/Output): Add
61236         stdlib-safer.
61237
61238 2006-07-21  Eric Blake  <ebb9@byu.net>
61239
61240         * lib/stdlib-safer.h: New file from coreutils, required by
61241         stdlib--.h.
61242
61243 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
61244
61245         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
61246
61247 2006-07-20  Bruno Haible  <bruno@clisp.org>
61248
61249         * gnulib-tool: Recognize new option --assume-autoconf.
61250         (autoconf_minversion): New variable.
61251         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
61252
61253 2006-07-20  Bruno Haible  <bruno@clisp.org>
61254
61255         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
61256
61257 2006-07-19  Derek R. Price  <derek@ximbiot.com>
61258
61259         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
61260         Reindent and repaginate.
61261
61262 2006-07-19  Derek Price  <derek@ximbiot.com>
61263
61264         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
61265         Correct grammar.
61266
61267 2006-07-17  Bruno Haible  <bruno@clisp.org>
61268
61269         * modules/list: New file.
61270         * modules/array-list: New file.
61271         * modules/carray-list, modules/carray-list-tests: New files.
61272         * modules/linked-list, modules/linked-list-tests: New files.
61273         * modules/avltree-list, modules/avltree-list-tests: New files.
61274         * modules/rbtree-list, modules/rbtree-list-tests: New files.
61275         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
61276         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
61277         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
61278         * modules/oset: New file.
61279         * modules/array-oset: New file.
61280         * modules/avltree-oset, modules/avltree-oset-tests: New files.
61281         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
61282         * tests/test-carray_list.c: New file.
61283         * tests/test-linked_list.c: New file.
61284         * tests/test-avltree_list.c: New file.
61285         * tests/test-rbtree_list.c: New file.
61286         * tests/test-linkedhash_list.c: New file.
61287         * tests/test-avltreehash_list.c: New file.
61288         * tests/test-rbtreehash_list.c: New file.
61289         * tests/test-avltree_oset.c: New file.
61290         * tests/test-rbtree_oset.c: New file.
61291         * MODULES.html.sh (Container data structures): New section.
61292
61293 2006-07-17  Bruno Haible  <bruno@clisp.org>
61294
61295         * m4/gl_list.m4: New file.
61296
61297 2006-07-17  Bruno Haible  <bruno@clisp.org>
61298
61299         * lib/gl_list.h: New file.
61300         * lib/gl_list.c: New file.
61301         * lib/gl_array_list.h: New file.
61302         * lib/gl_array_list.c: New file.
61303         * lib/gl_carray_list.h: New file.
61304         * lib/gl_carray_list.c: New file.
61305         * lib/gl_linked_list.h: New file.
61306         * lib/gl_linked_list.c: New file.
61307         * lib/gl_anylinked_list1.h: New file.
61308         * lib/gl_anylinked_list2.h: New file.
61309         * lib/gl_avltree_list.h: New file.
61310         * lib/gl_avltree_list.c: New file.
61311         * lib/gl_anyavltree_list1.h: New file.
61312         * lib/gl_anyavltree_list2.h: New file.
61313         * lib/gl_rbtree_list.h: New file.
61314         * lib/gl_rbtree_list.c: New file.
61315         * lib/gl_anyrbtree_list1.h: New file.
61316         * lib/gl_anyrbtree_list2.h: New file.
61317         * lib/gl_anytree_list1.h: New file.
61318         * lib/gl_anytree_list2.h: New file.
61319         * lib/gl_linkedhash_list.h: New file.
61320         * lib/gl_linkedhash_list.c: New file.
61321         * lib/gl_anyhash_list1.h: New file.
61322         * lib/gl_anyhash_list2.h: New file.
61323         * lib/gl_avltreehash_list.h: New file.
61324         * lib/gl_avltreehash_list.c: New file.
61325         * lib/gl_rbtreehash_list.h: New file.
61326         * lib/gl_rbtreehash_list.c: New file.
61327         * lib/gl_anytreehash_list1.h: New file.
61328         * lib/gl_anytreehash_list2.h: New file.
61329
61330         * lib/gl_oset.h: New file.
61331         * lib/gl_oset.c: New file.
61332         * lib/gl_array_oset.h: New file.
61333         * lib/gl_array_oset.c: New file.
61334         * lib/gl_avltree_oset.h: New file.
61335         * lib/gl_avltree_oset.c: New file.
61336         * lib/gl_rbtree_oset.h: New file.
61337         * lib/gl_rbtree_oset.c: New file.
61338         * lib/gl_anytree_oset.h: New file.
61339
61340 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61341
61342         * m4/mkancesdirs.m4: New file.
61343         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
61344         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
61345         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
61346         it.
61347
61348 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61349
61350         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
61351         * lib/mkancesdirs.h: New files.
61352         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
61353         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
61354         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
61355         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
61356         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
61357         callers changed.  Revamp internals significantly, by not
61358         attempting to create directories that are temporarily more
61359         permissive than the final results.  Do not attempt to use
61360         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
61361         This removes some race conditions, fixes some bugs, and simplifies
61362         things.  Use new dirchownmod function to do owner and mode changes.
61363         * lib/mkdir-p.h: Likewise.
61364         * lib/modechange.c (octal_to_mode): New function.
61365         (struct mode_change): New member mentioned.
61366         (make_node_op_equals): New arg mentioned.  All callers changed.
61367         (mode_compile): Keep track of which mode bits the user has explicitly
61368         mentioned.
61369         (mode_adjust): New arg DIR, so that we implement the X op correctly.
61370         New arg PMODE_BITS, to keep track of which mode bits the user
61371         mentioned; it treats S_ISUID and S_ISGID speciall.
61372         All callers changed.
61373         * lib/modechange.h: Likewise.
61374
61375 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
61376
61377         * MODULES.html.sh: Add mkancestors.
61378         * modules/mkancesdirs: New module.
61379         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
61380         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
61381         The chdir-safer and afs files are now orphans; I'll remove them
61382         unless someone speaks up.
61383         Add lib/dirchownmod.c, lib/dirchownmod.h.
61384         (Depends-on): Remove alloca, chown, save-cwd, dirname.
61385         Add lchown, mkancesdirs.
61386         (Maintainer): Add self.
61387
61388 2006-07-15  Karl Berry  <karl@gnu.org>
61389
61390         * gnulib-tool: help message wording/arrangement.
61391
61392 2006-07-14  Simon Josefsson  <jas@extundo.com>
61393
61394         * doc/gnulib.texi (Libtool and Windows): New section.
61395
61396 2006-07-12  Simon Josefsson  <jas@extundo.com>
61397
61398         * modules/gendocs (License): Fix license, approved by Karl.
61399
61400 2006-07-12  Eric Blake  <ebb9@byu.net>
61401
61402         * MODULES.html.sh: Add gendocs.
61403
61404 2006-07-11  Eric Blake  <ebb9@byu.net>
61405
61406         * modules/fdl: New module, to install doc/fdl.texi.
61407         * MODULES.html.sh: Add new section for documentation modules.
61408         * gnulib-tool: Avoid space-tab.
61409         (--doc-base): New option, to manage files from doc.
61410
61411 2006-07-11  Eric Blake  <ebb9@byu.net>
61412
61413         * m4/absolute-header.m4: Fix comments to match recent change.
61414
61415 2006-07-11  Eric Blake  <ebb9@byu.net>
61416
61417         * gnulib-tool: List --doc-base before --tests-base.
61418
61419 2006-07-11  Derek R. Price  <derek@ximbiot.com>
61420
61421         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
61422
61423 2006-07-11  Bruno Haible  <bruno@clisp.org>
61424
61425         * README: Mention where to put documentation.
61426
61427 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61428
61429         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
61430
61431 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61432
61433         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
61434         to stdint.m4.
61435
61436 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
61437
61438         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
61439         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
61440         "no/such/file/stdint.h" when there is no such file, so that
61441         the resulting C code can be parsed by dodgy compilers.
61442         Problems reported by Bob Proulx.
61443
61444 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61445
61446         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
61447         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61448         macros into the GNU _D_EXACT_NAMLEN.
61449         * lib/savedir.c:  Likewise.
61450         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
61451
61452 2006-07-10  Derek R. Price  <derek@ximbiot.com>
61453         and Paul Eggert  <eggert@cs.ucla.edu>
61454
61455         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
61456         * m4/savedir.m4:
61457         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
61458         macros into the GNU _D_EXACT_NAMLEN.
61459
61460 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61461
61462         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
61463         around the absolute name, to work around a problem with the HP-UX
61464         11.23 native C compiler, reported by Bob Proulx.
61465
61466 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61467
61468         * doc/maintain.texi, make-stds.texi: Sync from
61469         <http://savannah.gnu.org/projects/gnustandards>.
61470
61471 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61472
61473         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
61474
61475 2006-07-09  Jim Meyering  <jim@meyering.net>
61476
61477         * m4/glob.m4: Remove a doubled word in a comment.
61478
61479 2006-07-09  Jim Meyering  <jim@meyering.net>
61480
61481         * lib/argp-pv.c: Remove a doubled word in a comment.
61482         * lib/check-version.c (check_version): Likewise.
61483         * lib/javacomp.c (compile_java_class): Likewise.
61484
61485 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
61486
61487         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
61488         for the benefit of people using Autoconf 2.60.  If you want to
61489         support older Autoconf versions you can copy m4/onceonly_2_57.m4
61490         (or m4/onceonly.m4, if pre-2.57) manually.
61491
61492 2006-07-08  Jim Meyering  <jim@meyering.net>
61493
61494         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
61495         comment.
61496         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
61497         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
61498         comment.
61499
61500 2006-07-08  Jim Meyering  <jim@meyering.net>
61501
61502         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
61503
61504 2006-07-07  Simon Josefsson  <jas@extundo.com>
61505
61506         * tests/test-crc.c: Change expected crc value, the test vector
61507         were probably computed using the old broken crc.c?
61508
61509 2006-07-06  Simon Josefsson  <jas@extundo.com>
61510
61511         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
61512         now the canonical place for the M4 file).
61513
61514         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
61515         from the sys_socket dependency now.
61516
61517         * modules/inet_pton (Files): Ditto.
61518
61519         * modules/inet_ntop (Files): Ditto.
61520
61521 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61522
61523         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
61524         not gl_PREREQ_GETUSERSHELL.
61525
61526 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61527
61528         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
61529         with only one argument, for Autoconf 2.60.
61530         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
61531         expand to nothing, so add a shell command to avoid syntax error.
61532         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61533
61534 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61535
61536         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
61537
61538 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61539
61540         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
61541         no longer needed.  Check for isblank decl.
61542         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
61543         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
61544         of existence.
61545
61546 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61547
61548         * lib/getloadavg.c: Use __VMS, not VMS.
61549         * lib/getopt.c: Likewise.
61550         * lib/getpagesize.h: Likewise.
61551         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
61552         and probably does not work.
61553
61554 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
61555
61556         * lib/.cppi-disable: Add wcwidth.
61557         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
61558         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
61559         (ISGRAPH): Remove.  All uses changed to isgraph.
61560         (FOLD) [!defined _LIBC]: Remove special case.
61561         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
61562         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
61563         HAVE_ISBLANK.
61564         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
61565         case.
61566
61567 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
61568
61569         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
61570         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
61571         brackets.  Other minor changes to suppress some compiler
61572         warnings.
61573
61574 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61575         and Paul Eggert  <eggert@cs.ucla.edu>
61576
61577         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
61578         of invoking obsolescent AC_HEADER_DIRENT macro.
61579         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
61580         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
61581         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
61582         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
61583         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
61584         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61585         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
61586         * m4/readdir.m4: Remove; no longer needed.
61587
61588 2006-07-06  Derek R. Price  <derek@ximbiot.com>
61589         and Paul Eggert  <eggert@cs.ucla.edu>
61590
61591         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
61592         Don't worry about this obsolete case any more.
61593         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
61594         directories.
61595         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
61596         worry about this obsolete case any more.
61597         * lib/fts.c: Likewise.
61598         * lib/getcwd.c: Likewise.
61599         * lib/glob.h: Likewise.
61600         * lib/savedir.c: Likewise.
61601
61602 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61603
61604         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
61605         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
61606         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
61607         needed.
61608         All uses removed.
61609         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61610         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61611         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
61612         needed.
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/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61619         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61620         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
61621         needed.
61622
61623 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61624
61625         * lib/memcasecmp.c: Include <limits.h>.
61626         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
61627         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
61628         Don't assume isdigit succeeds only on '0' through '9'.
61629
61630 2006-07-05  Eric Blake  <ebb9@byu.net>
61631
61632         * modules/getaddrinfo (Depends-on): Add snprintf.
61633
61634 2006-07-05  Eric Blake  <ebb9@byu.net>
61635
61636         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
61637         to avoid 'header present but could not be compiled' on cygwin.
61638
61639 2006-07-05  Eric Blake  <ebb9@byu.net>
61640
61641         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
61642         missing from netdb.h.
61643         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
61644
61645 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61646
61647         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
61648         no longer needed.
61649         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
61650         * m4/getdate.m4 (gl_GETDATE): Likewise.
61651         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61652         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61653         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61654         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61655         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61656
61657 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61658
61659         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
61660         All uses of is_space replaced by isspace.
61661         * lib/exit.h: Don't talk about STDC_HEADERS.
61662         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
61663         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
61664         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
61665         replaced by isprint etc.
61666         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
61667         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61668         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
61669         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
61670         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
61671         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61672
61673 2006-07-05  Bruno Haible  <bruno@clisp.org>
61674
61675         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
61676         the function exists, before testing against AIX.
61677         Reported by Martin Lambers <marlam@marlam.de>.
61678
61679 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61680
61681         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
61682         From Mark D. Baushke.
61683
61684 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61685
61686         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
61687         to the absolute name, not just one, to bypass Sun C 5.8's
61688         "warning: #include of /usr/include/... may be non-portable".
61689
61690 2006-07-04  Eric Blake  <ebb9@byu.net>
61691
61692         * modules/dirname-tests: New test module.
61693         * tests/test-dirname.c: New file, replacing dirname.c
61694         TEST_DIRNAME section that was recently deleted.
61695
61696 2006-07-04  Bruno Haible  <bruno@clisp.org>
61697
61698         Assume ANSI C header files and <ctype.h> functions.
61699         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
61700         (mbsnwidth): Use isprint, iscntrl instead.
61701
61702 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61703
61704         Merge from coreutils.
61705         * MODULES.html.sh: Add xstrtold.
61706         * modules/xstrtold: New file.
61707         * modules/cycle-check (Files): Add lib/same-inode.h.
61708         * modules/dirname (Files): Add m4/double-slash-root.m4.
61709         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
61710         * modules/mkdir-p (Files): Add lib/same-inode.h.
61711         * modules/same (Files): Add lib/same-inode.h.
61712
61713 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61714
61715         * m4/absolute-header.m4: Renamed from full-header-path.m4.
61716         This is to keep the terminology clean; POSIX talks about
61717         "absolute pathnames", not "full pathnames", but the GNU
61718         Coding Standards say to use "path" for something else;
61719         so use "absolute" to keep both sides happy.
61720         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
61721         Set gl_absolute_header, not gl_full_header_path.
61722         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
61723         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
61724         All uses changed.
61725
61726         Merge from coreutils.
61727
61728         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61729
61730         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
61731         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
61732         want to require the building of c-strtod.o.
61733         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
61734         needs -lm directly.
61735         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
61736
61737         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61738
61739         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
61740         --as-needed option if available.  Problem reported by Albert Chin in
61741         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
61742         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
61743         cc merely issues a bunch of annoying warnings for --as-needed
61744         (this problem was reported by Bob Proulx).  Also, try linking with
61745         -lm to detect a bug in binutils 2.16 (this problem was reported
61746         by Ralf Wildenhues).
61747
61748         2006-06-18  Jim Meyering  <jim@meyering.net>
61749
61750         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
61751         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
61752         macro.
61753         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
61754         also check for glibc-2.4's abort-inducing bug.
61755
61756         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
61757         Low-probability clean-up should be to use rmdir to get rid of
61758         the just-created directory, not unlink.
61759
61760         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
61761         configure fail, and request a bug report to inform us about it.
61762         Add a comment that, barring reports to the contrary, in 2007 we'll
61763         assume ftruncate is universally available.
61764
61765         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61766
61767         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
61768
61769         2006-03-12  Jim Meyering  <jim@meyering.net>
61770
61771         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
61772         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
61773         * m4/same.m4 (gl_SAME): Likewise.
61774         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
61775
61776         2006-03-11  Eric Blake  <ebb9@byu.net>
61777
61778         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
61779         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
61780         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
61781         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
61782
61783 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61784
61785         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
61786         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
61787         reported by Mark D. Baushke, one in
61788         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
61789
61790         Merge from coreutils.
61791
61792         * lib/.cppi-disable: Add stdint_.h.
61793         * lib/.cvsignore: Add stdint.h.
61794
61795         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61796
61797         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
61798         both double and long double versions.
61799         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
61800         * lib/xstrtold.c: New file.
61801         * lib/xstrtod.h (xstrtold): New decl.
61802
61803         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
61804
61805         * lib/filemode.c (setst): Remove.
61806         (strmode): Rewrite to avoid setst.  This makes the code shorter,
61807         (arguably) clearer, and the generated code is a bit smaller on my
61808         Debian GNU/Linux stable x86 host.
61809
61810         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61811
61812         * lib/filemode.c: Include "filemode.h" first, to test the interface.
61813         Assume that filemode.h includes sys/types.h and sys/stat.h.
61814         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
61815         (ftypelet): Reorder to put common cases first, for efficiency.
61816         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
61817         to do 'M'.
61818         (strmode): Renamed from mode_string, and now stores 12 bytes instead
61819         of 10, for compatibility with FreeBSD.  All callers changed.
61820         (filemodestring): Now stores 12 bytes instead of 10, and sets file
61821         types that can't be deduced solely from st_mode.  First arg is now a
61822         const pointer.
61823         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
61824         (strmode): Renamed from mode_string.
61825         (filemodestring): New decl.
61826         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
61827         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
61828         needed.
61829         (S_ISPORT, S_ISWHT): New macros, if not already defined.
61830
61831         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
61832
61833         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
61834         fsusage.h now does that.  Include fsusage.h first, to test interface.
61835         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
61836         at most one method (the old code could have generated decls that
61837         didn't conform to C89, not that this was ever exercised).
61838         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
61839
61840         2006-03-19  Jim Meyering  <jim@meyering.net>
61841
61842         Work even in a chroot where d_ino values for entries in "/"
61843         don't match the stat.st_ino values for the same names.
61844         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
61845         number, iterate through all entries again, using lstat instead.
61846         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
61847         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
61848
61849         * lib/getcwd.c (__getcwd): Clarify a comment.
61850         Use memcpy in place of a call to strcpy.
61851
61852         2006-03-12  Jim Meyering  <jim@meyering.net>
61853
61854         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
61855         matches that of the current directory (which we're about to chdir ".."
61856         out of), then save the dev-ino of the parent, instead.
61857
61858         * lib/same-inode.h (SAME_INODE): New file/macro.
61859         * lib/chdir-safer.c (SAME_INODE): Remove definition.
61860         Include "same-inode.h", instead.
61861         * lib/same.c: Likewise.
61862         * lib/cycle-check.h: Include "same-inode.h".
61863         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
61864         * lib/cycle-check.c (SAME_INODE): Remove definition.
61865         * lib/root-dev-ino.h: Include "same-inode.h".
61866
61867         2006-03-11  Eric Blake  <ebb9@byu.net>
61868
61869         * lib/same.c (same_name): s/base_name/last_component/
61870         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
61871         * lib/filenamecat.c (file_name_concat): Likewise.
61872
61873         2006-03-11  Eric Blake  <ebb9@byu.net>,
61874                     Paul Eggert  <eggert@cs.ucla.edu>
61875
61876         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
61877         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
61878         drive prefix.
61879         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
61880         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
61881         (last_component): New method.
61882         * lib/dirname.c (dir_len): Determine when drive letters need a
61883         subsequent slash.  Preserve // when it is special.
61884         (dir_name): Don't append dot when drive letter is absolute.
61885         [TEST_DIRNAME]: Move into a full-blown gnulib test.
61886         * lib/basename.c (base_name): New semantics - malloc the result.
61887         Preserve // when it is special.  Preserve relative files that look
61888         like drive letters.
61889         (base_len): Preserve // when it is special.
61890         (last_component): New method, similar to old base_name semantics.
61891         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
61892         base_name.  Strip redundant slashes from ///.
61893
61894 2006-07-03  Jim Meyering  <jim@meyering.net>
61895
61896         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
61897         macro is used before the first cycle_check call.
61898
61899 2006-07-03  Eric Blake  <ebb9@byu.net>
61900
61901         * modules/dirname (Depends-on): Add xstrndup.
61902
61903 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61904
61905         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
61906         test cases, so that config.log is a bit easier to follow.
61907
61908 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61909
61910         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
61911         both are 64 bits, since this seems to be the tradition, and this
61912         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
61913         we ever run into a host that prefers long long to long in this
61914         case, we'll need another configure-time test.  Problem reported by
61915         Jim Meyering.
61916
61917 2006-07-02  Eric Blake  <ebb9@byu.net>
61918
61919         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
61920
61921 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61922
61923         * modules/inttypes (Depends-on): No longer depends on stdint.
61924         * modules/stdint (Description): Say more about assumptions.
61925         Say that the fast types might differ.  Say macros are used.
61926         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
61927         (Makefile.am): Revise list of substituted symbols to match
61928         new stdint.m4.
61929         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
61930         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
61931         * tests/test-stdint.c (verify_same_types)
61932         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
61933         the code conforms to C99/C89.
61934         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
61935         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
61936
61937 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61938
61939         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
61940         but fix a bug, by requiring at least 64 bits.
61941         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61942         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
61943         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
61944         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
61945
61946         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
61947         changes.  Make 2.59 a prerequisite.  Check and substitute for
61948         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
61949         inttypes.h.  Do not use special include files; just use the
61950         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
61951         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
61952         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
61953         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
61954         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
61955         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
61956         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
61957         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
61958         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
61959         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
61960         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
61961         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
61962         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
61963         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
61964         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
61965         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
61966         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
61967         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
61968         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
61969         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
61970         WINT_MAX.  Check for C99 conformance more strictly, by detecting
61971         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
61972         not check for things that C99 does not require, e.g., int8_t.  If
61973         a test isn't needed unless <stdint.h> isn't working, and is
61974         unlikely to be needed for any other reason, then don't do it
61975         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
61976         size_t, since we assume C89 freestanding at least.  Do not check
61977         for sig_atomic_t, wchar_t, or wint_t, since the code now does
61978         the right thing even if the types are not defined.  Instead use:
61979         (gl_STDINT_TYPE_PROPERTIES): New macro.
61980         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
61981         testing whether <sys/types.h> clashes, as Autoconf does this for
61982         us now.  All uses removed.
61983         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
61984         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
61985         (gl_CHECK_TYPE_SAME):
61986         Remove; no longer needed.
61987         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
61988         exists, since we'll return 0 anyway in that case.
61989         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
61990
61991 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61992
61993         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
61994         possible collision with system files.
61995         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
61996         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
61997         WCHAR_MIN and WCHAR_MAX in this case.
61998         (<stddef.h>): Do not include; no longer needed.
61999         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
62000         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
62001         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
62002         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
62003         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
62004         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
62005         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
62006         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
62007         !defined(__c99))]: Include in this case too, since it's harmless
62008         now.
62009         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
62010         dangerous to do so.
62011         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
62012         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
62013         (_STDINT_MIN, _STDINT_MAX): New macros.
62014         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
62015         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
62016         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
62017         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
62018         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
62019         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
62020         macros, not typedefs; this simplifies things quite a bit.
62021         Use long int for all types narrower than int64_t.
62022         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
62023         Define in terms of long long int or int64_t or long int,
62024         not int64_t or int32_t.  This saves some compile-time testing.
62025         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
62026         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
62027         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
62028         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
62029         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
62030         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
62031         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
62032         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
62033         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
62034         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
62035         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62036         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62037         undef any previous version and define our own version, for
62038         simplicity and consistency with the new macros for types.
62039         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
62040         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
62041         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
62042         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
62043         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
62044         @WINT_T_SUFFIX@ to keep things simple here.
62045         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
62046         Simplify by assuming typical 8/16/32/64 host, since we're
62047         already doing that elsewhere anyway.
62048         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
62049         and assume long long int is 64 bits if available.  This
62050         speeds up 'configure'.
62051
62052 2006-07-01  Eric Blake  <ebb9@byu.net>
62053
62054         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
62055         Reported by Andreas Buening.
62056
62057 2006-07-01  Eric Blake  <ebb9@byu.net>
62058
62059         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
62060
62061 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
62062
62063         * lib/getaddrinfo.c: fixed typo
62064
62065 2006-06-29  Jim Meyering  <jim@meyering.net>
62066
62067         * modules/strftime (Maintainer): Add my name, since with the
62068         FPRINTFTIME changes strftime.c has forked from glibc.
62069
62070 2006-06-29  Eric Blake  <ebb9@byu.net>
62071
62072         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
62073
62074 2006-06-29  Eric Blake  <ebb9@byu.net>
62075
62076         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
62077
62078 2006-06-29  Eric Blake  <ebb9@byu.net>
62079
62080         * lib/stat_.h: New file.
62081
62082 2006-06-29  Eric Blake  <ebb9@byu.net>
62083
62084         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
62085         unused static function.
62086
62087 2006-06-29  Eric Blake  <ebb9@byu.net>
62088
62089         * doc/functions.texi (Function Portability): Document missing lstat
62090         on mingw.
62091
62092 2006-06-29  Eric Blake  <ebb9@byu.net>
62093
62094         * MODULES.html.sh: Add sys_stat.
62095         * modules/sys_stat: New module.
62096         * modules/mkstemp (Depends-on): Add sys_stat.
62097
62098 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62099
62100         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
62101
62102 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62103
62104         * m4/c-bs-a.m4: Removed.
62105
62106 2006-06-29  Derek R. Price  <derek@ximbiot.com>
62107
62108         * lib/strftime.c: Assume strftime() exists.
62109
62110 2006-06-29  Derek Price  <derek@ximbiot.com>
62111
62112         * modules/c-bs-a: Removed - \a is C89.
62113         * MODULES.html.sh: Remove c-bs-a.
62114
62115 2006-06-29  Bruno Haible  <bruno@clisp.org>
62116
62117         * modules/wcwidth (License): Change to LGPL.
62118
62119 2006-06-28  Simon Josefsson  <jas@extundo.com>
62120
62121         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
62122         on _WIN32.
62123
62124         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
62125         getnameinfo.
62126
62127 2006-06-28  Simon Josefsson  <jas@extundo.com>
62128
62129         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
62130
62131 2006-06-28  Simon Josefsson  <jas@extundo.com>
62132
62133         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
62134         functions there.  It will succeed on Windows XP, but on Windows
62135         2000 and (presumably) earlier, it will fail, and use the internal
62136         re-implementation.
62137         (use_win32_p): New function.
62138         (getaddrinfo): Use strtoul on servname, to support numeric ports.
62139         Support AI_NUMERICSERV to disable getservbyname.
62140         (getnameinfo): New function, only supports
62141         NI_NUMERICHOST|NI_NUMERICSERV for now.
62142
62143         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
62144         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
62145         getnameinfo.
62146
62147 2006-06-28  Eric Blake  <ebb9@byu.net>
62148
62149         * modules/wcwidth: New file.
62150         * modules/mbchar (Depends-on): Add wcwidth.
62151         * modules/mbswidth (Depends-on): Add wcwidth.
62152         * MODULES.html.sh: Add wcwidth.
62153
62154 2006-06-28  Eric Blake  <ebb9@byu.net>
62155
62156         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
62157         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
62158
62159 2006-06-28  Eric Blake  <ebb9@byu.net>
62160
62161         * lib/xvasprintf.h: Fix comments.
62162
62163 2006-06-28  Eric Blake  <ebb9@byu.net>
62164
62165         * lib/mbchar.h (wcwidth): Include wcwidth.h.
62166         * lib/mbswidth.c (wcwidth): Move from here...
62167         * lib/wcwidth.h: ...to this new file.
62168
62169 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62170
62171         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
62172
62173         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
62174         it's obsolete.
62175         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
62176
62177 2006-06-28  Derek R. Price  <derek@ximbiot.com>
62178
62179         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
62180         Autoconf 2.60 says this stuff was obsolete.
62181
62182 2006-06-28  Bruno Haible  <bruno@clisp.org>
62183
62184         * modules/wcwidth (Files): Add m4/wchar_t.m4.
62185
62186 2006-06-28  Bruno Haible  <bruno@clisp.org>
62187
62188         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
62189         gt_TYPE_WCHAR_T.
62190
62191 2006-06-28  Bruno Haible  <bruno@clisp.org>
62192
62193         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
62194         declaration for wcwidth.
62195         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
62196
62197 2006-06-28  Bruno Haible  <bruno@clisp.org>
62198
62199         * lib/mkdtemp.c [MINGW]: Include <io.h>.
62200         (mkdir): Define using _mkdir.
62201
62202 2006-06-28  Bruno Haible  <bruno@clisp.org>
62203
62204         * lib/getaddrinfo.h: Fix POSIX URL.
62205         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
62206         _WIN32.
62207         (use_win32_p): Make static.
62208         (getaddrinfo): Reject service name if it is empty or does not consist
62209         solely of decimal digits, or if its value is > 65535.
62210         (getnameinfo): Remove useless casts.
62211
62212 2006-06-27  Simon Josefsson  <jas@extundo.com>
62213
62214         * modules/sys_select: New file, suggested by Bruno Haible, Paul
62215         Eggert and Martin Lambers.
62216
62217 2006-06-27  Simon Josefsson  <jas@extundo.com>
62218
62219         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
62220         Eggert and Martin Lambers.
62221
62222 2006-06-27  Bruno Haible  <bruno@clisp.org>
62223
62224         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
62225         result to 0, not to empty.
62226         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
62227
62228 2006-06-27  Bruno Haible  <bruno@clisp.org>
62229
62230         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
62231
62232 2006-06-26  Simon Josefsson  <jas@extundo.com>
62233
62234         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
62235         present.
62236
62237 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
62238
62239         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
62240         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
62241         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
62242
62243 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
62244
62245         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
62246
62247 2006-06-26  Bruno Haible  <bruno@clisp.org>
62248
62249         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
62250
62251 2006-06-26  Bruno Haible  <bruno@clisp.org>
62252
62253         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
62254
62255 2006-06-26  Bruno Haible  <bruno@clisp.org>
62256
62257         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
62258         SGI C compiler in pre-C99 mode.
62259         Suggested by Mark D. Baushke and Larry Jones.
62260
62261 2006-06-26  Bruno Haible  <bruno@clisp.org>
62262
62263         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
62264         WCHAR_MAX.
62265         Reported by Mark D. Baushke and Larry Jones.
62266
62267 2006-06-26  Bruno Haible  <bruno@clisp.org>
62268
62269         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
62270         in pre-C99 mode.
62271         Suggested by Mark D. Baushke and Larry Jones.
62272
62273 2006-06-23  Simon Josefsson  <jas@extundo.com>
62274             Bruno Haible  <bruno@clisp.org>
62275
62276         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
62277         Emit mostlyclean-local rule.
62278         (func_emit_tests_Makefile_am): Likewise.
62279         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
62280
62281 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
62282
62283         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
62284
62285 2006-06-23  Bruno Haible  <bruno@clisp.org>
62286
62287         * tests/test-stdint.c: Update to match ISO C 99 Technical
62288         Corrigendum 1.
62289
62290 2006-06-23  Bruno Haible  <bruno@clisp.org>
62291
62292         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
62293
62294 2006-06-23  Bruno Haible  <bruno@clisp.org>
62295
62296         * lib/stdint_.h: Treat IRIX like OpenBSD.
62297
62298 2006-06-23  Bruno Haible  <bruno@clisp.org>
62299
62300         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
62301         ISO C 99 Technical Corrigendum 1.
62302
62303 2006-06-22  Simon Josefsson  <jas@extundo.com>
62304
62305         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
62306         MinGW.
62307
62308 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
62309
62310         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
62311         needed.  Some compiler complained about some of them.  Problem reported
62312         by Larry Jones in
62313         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
62314
62315 2006-06-21  Simon Josefsson  <jas@extundo.com>
62316
62317         * tests/test-getaddrinfo.c: New file.
62318
62319         * modules/getaddrinfo-tests: New file.
62320
62321         * MODULES.html.sh: Add inet_pton.
62322
62323         * modules/inet_pton: New file.
62324
62325 2006-06-21  Simon Josefsson  <jas@extundo.com>
62326
62327         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
62328         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
62329         of using the (limited) gnulib implementation on Windows XP.
62330
62331         * m4/inet_pton.m4: New file.
62332
62333 2006-06-21  Simon Josefsson  <jas@extundo.com>
62334
62335         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
62336         variable.
62337
62338         * lib/socket_.h: Don't define WINVER.
62339
62340         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
62341         slightly modified to work in gnulib.
62342
62343 2006-06-21  Simon Josefsson  <jas@extundo.com>
62344
62345         * doc/gnulib.texi (Windows sockets): Add.
62346
62347 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62348
62349         * lib/read-file.c (fread_file): Start with buffer allocation of
62350         0 bytes rather than 1 byte; this simplifies the code.
62351         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
62352         code to free buffer and save/restore errno.
62353         (internal_read_file): Remove unused local.
62354
62355 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62356
62357         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
62358         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
62359         Problem reported by Denis Excoffier in
62360         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
62361
62362 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62363
62364         * modules/sys_socket, modules/socklen: Include sys/types since
62365         FreeBSD 4.x's sys/socket.h needs it.
62366
62367 2006-06-19  Simon Josefsson  <jas@extundo.com>
62368
62369         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
62370
62371 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
62372
62373         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
62374
62375 2006-06-19  Bruno Haible  <bruno@clisp.org>
62376
62377         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
62378         and FULL_PATH_INTTYPES_H in angle brackets.
62379         Reported by Mark D. Baushke <mdb@gnu.org>.
62380
62381 2006-06-17  Eric Blake  <ebb9@byu.net>
62382
62383         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
62384         errno.
62385
62386 2006-06-17  Bruno Haible  <bruno@clisp.org>
62387
62388         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
62389         <sys/inttypes.h>.
62390
62391 2006-06-17  Bruno Haible  <bruno@clisp.org>
62392
62393         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
62394         whether errno is declared. Assume <errno.h> declares errno.
62395
62396 2006-06-17  Bruno Haible  <bruno@clisp.org>
62397
62398         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
62399
62400 2006-06-17  Bruno Haible  <bruno@clisp.org>
62401
62402         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
62403         problem on Solaris 2.5.1.
62404
62405 2006-06-16  Eric Blake  <ebb9@byu.net>
62406
62407         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
62408         * lib/unicodeio.c [!defined errno]: Likewise.
62409         * lib/strtol.c [!defined errno]: Likewise.
62410         * lib/strtod.c [!defined errno]: Likewise.
62411
62412 2006-06-15  Eric Blake  <ebb9@byu.net>
62413
62414         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
62415
62416 2006-06-15  Eric Blake  <ebb9@byu.net>
62417
62418         * config/srclist.txt (ssize_t.m4): Lose sync.
62419
62420 2006-06-15  Bruno Haible  <bruno@clisp.org>
62421
62422         * modules/stdint (Files): Include m4/full-header-path.m4,
62423         m4/size_max.m4, m4/wchar_t.m4.
62424         (Makefile.am): Many more substitutions.
62425         * modules/stdint-tests: New file.
62426         * tests/test-stdint.c: New file.
62427
62428 2006-06-15  Bruno Haible  <bruno@clisp.org>
62429
62430         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
62431         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
62432         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
62433         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
62434         gl_CHECK_TYPE_SAME): New macros.
62435
62436 2006-06-15  Bruno Haible  <bruno@clisp.org>
62437
62438         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
62439
62440 2006-06-15  Bruno Haible  <bruno@clisp.org>
62441
62442         * lib/stdint_.h: Rewritten to be fully auto-configured.
62443         Fixes bug on HP-UX/IA64.
62444
62445 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
62446
62447         * lib/getdate.y (__attribute__): Don't define if already defined.
62448         Problem reported by Larry Jones.
62449         * lib/utimens.c (__attribute__): Likewise.
62450
62451 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
62452
62453         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
62454         reported by Andreas Schwab.
62455
62456 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62457             Bruno Haible  <bruno@clisp.org>
62458
62459         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
62460         check for the declaration of strnlen and a run test that exposes the
62461         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
62462         rpl_strndup.
62463
62464 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62465             Bruno Haible  <bruno@clisp.org>
62466
62467         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
62468
62469 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62470
62471         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
62472         compile test, for Tru64 4.0D.
62473
62474 2006-05-28  Karl Berry  <karl@gnu.org>
62475
62476         * config/srclist.txt (printf-args.c): lose sync.
62477
62478 2006-05-26  Martin Lambers  <marlam@marlam.de>
62479
62480         * lib/getpass.c: Updates the test for the native W32 API, and adds
62481         missing includes, thus fixing compilation warnings.
62482
62483 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62484
62485         * lib/exclude.c (exclude_fnmatch): New function.
62486         (excluded_file_name): Call exclude_fnmatch.
62487         * lib/exclude.h (excluded_file_name): New prototype
62488
62489 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
62490
62491         * lib/tempname.c (small_open, large_open): New macros.
62492         (__open, __open64) [!_LIBC]: Remove.
62493         (__gen_tempname): Use small_open and large_open instead of __open
62494         and __open64.  This fixes a portability bug on HP-UX 11.11i
62495         reported by Simon Wing-Tang in
62496         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
62497
62498 2006-05-24  Bruno Haible  <bruno@clisp.org>
62499
62500         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
62501         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
62502         Reported by Thorsten Maerz <torte@netztorte.de> via
62503         Aaron Stone <aaron@serendipity.cx>.
62504
62505 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62506
62507         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
62508         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
62509         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
62510         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
62511         not really conditional on the cache.
62512         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
62513
62514 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
62515
62516         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
62517         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
62518         (my_usleep): Don't mishandle maximum value.
62519
62520 2006-05-19  Jim Meyering  <jim@meyering.net>
62521
62522         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
62523
62524 2006-05-17  Bruno Haible  <bruno@clisp.org>
62525
62526         Cygwin portability.
62527         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
62528
62529 2006-05-17  Bruno Haible  <bruno@clisp.org>
62530
62531         * lib/stdint_.h: Fix recognition of Cygwin.
62532
62533 2006-05-15  Bruno Haible  <bruno@clisp.org>
62534
62535         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
62536         on libtool patch by Ralf Wildenhues.
62537
62538 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
62539
62540         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
62541         test for C99 conformance; (bool) 0.5 is an integer constant
62542         expression, but (bool) -0.5 is not.  Problem reported by Fedor
62543         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
62544
62545 2006-05-11  Simon Josefsson  <jas@extundo.com>
62546
62547         * m4/xvasprintf.m4: Fix obvious typo.
62548
62549 2006-05-11  Jim Meyering  <jim@meyering.net>
62550
62551         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
62552         James Lemley.
62553
62554 2006-05-10  Simon Josefsson  <jas@extundo.com>
62555
62556         * lib/md4.c: Typo fix, update copyright years.
62557         (K1, K2): Don't use L because it turn computations into 64-bit on
62558         64-bit platforms.
62559
62560 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
62561
62562         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
62563         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
62564         unwanted sign propagation, e.g., on hosts with 64-bit int.
62565         There still are some problems with reeelly weird theoretical hosts
62566         (e.g., 33-bit int) but it's not worth worrying about now.
62567         * lib/sha1.c (rol): Likewise.
62568         (K1, K2, K3, K4): Remove unnecessary L suffix.
62569
62570 2006-05-10  Bruno Haible  <bruno@clisp.org>
62571
62572         * lib/des.c: Cast to avoid warnings.
62573
62574 2006-05-09  Bruno Haible  <bruno@clisp.org>
62575
62576         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
62577         (Depends-on): Depend also on xsize, stdarg.
62578         (configure.ac): Add gl_XVASPRINTF.
62579
62580 2006-05-09  Bruno Haible  <bruno@clisp.org>
62581
62582         * m4/xvasprintf.m4: New file.
62583
62584 2006-05-09  Bruno Haible  <bruno@clisp.org>
62585
62586         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
62587         (EOVERFLOW): Define fallback value.
62588         (xstrcat): New function.
62589         (xvasprintf): Recognize the special case of a string concatenation.
62590
62591 2006-05-08  Eric Blake  <ebb9@byu.net>
62592
62593         * gnulib-tool (func_version): Base copyright year on CVS date.
62594         (func_emit_copyright_notice): New function.
62595         (func_emit_lib_Makefile_am): Use it.
62596         (func_emit_tests_Makefile_am): Likewise.
62597         (func_import): Likewise.
62598
62599 2006-05-08  Bruno Haible  <bruno@clisp.org>
62600
62601         * modules/stdarg: New file.
62602         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
62603
62604 2006-05-08  Bruno Haible  <bruno@clisp.org>
62605
62606         * m4/stdarg.m4: New file, from GNU gettext.
62607
62608 2006-05-08  Bruno Haible  <bruno@clisp.org>
62609
62610         * config/srclist.txt (build-aux/config.rpath): different from latest
62611         release.
62612
62613 2006-05-08  Bruno Haible  <bruno@clisp.org>
62614
62615         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
62616
62617 2006-05-05  Jim Meyering  <jim@meyering.net>
62618
62619         * m4/warning.m4: New file, derived from bison's file by the same name.
62620
62621 2006-05-03  Bruno Haible  <bruno@clisp.org>
62622
62623         * lib/stdint_.h: Shorter URL.
62624         * lib/inttypes.h: Likewise.
62625
62626 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62627
62628         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
62629
62630 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62631
62632         * lib/verify.h: Document the internals better.  Most of this change
62633         was written by Bruno Haible.
62634
62635 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62636
62637         * doc/verify.texi: New file, partly based on a proposal by
62638         Bruno Haible.
62639
62640 2006-05-02  Bruno Haible  <bruno@clisp.org>
62641
62642         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
62643         test from here...
62644         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
62645
62646 2006-04-29  Bruno Haible  <bruno@clisp.org>
62647
62648         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
62649         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
62650
62651 2006-04-29  Bruno Haible  <bruno@clisp.org>
62652
62653         * gnulib-tool: Make --update option actually work.
62654
62655 2006-04-29  Bruno Haible  <bruno@clisp.org>
62656
62657         * doc/gcd.texi: New file.
62658         * doc/gnulib.texi: Include it.
62659
62660 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
62661
62662         * lib/getdate.y (get_date): When adding relative date, start with the
62663         initial time, not with the result of the first mktime call.
62664
62665 2006-04-25  Bruno Haible  <bruno@clisp.org>
62666
62667         * gnulib-tool (func_import): Output the include directives in three
62668         blocks, sorted separately.
62669         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62670
62671 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62672
62673         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
62674         to define main with arguments, for C++.  Reported by Eric Blake.
62675         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
62676         Prefer 'int main ()' to 'int main (void)', for C++.
62677         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62678         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
62679         for 'main', for C99 and C++.
62680
62681 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62682
62683         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
62684         Don't assume that exit status -1 is valid.
62685         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62686         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62687         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
62688         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
62689         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
62690         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
62691         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
62692         functions can be used without declaring them, or that you can
62693         exit with status -1.
62694         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
62695
62696 2006-04-24  Karl Berry  <karl@gnu.org>
62697
62698         * config/srclist.txt (longdouble.m4): sync lost.
62699
62700 2006-04-24  Eric Blake  <ebb9@byu.net>
62701
62702         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
62703
62704 2006-04-24  Bruno Haible  <bruno@clisp.org>
62705
62706         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
62707         poll() implementation in AIX.
62708         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62709
62710 2006-04-24  Bruno Haible  <bruno@clisp.org>
62711
62712         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
62713         assigned exactly once.
62714
62715 2006-04-23  Claudio Fontana  <claudio@gnu.org>
62716             Bruno Haible  <bruno@clisp.org>
62717
62718         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
62719         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
62720         for AM_CPPFLAGS.
62721
62722 2006-04-23  Bruno Haible  <bruno@clisp.org>
62723
62724         * modules/copy-file: Depend on unistd.
62725         * modules/execute: Likewise.
62726         * modules/fatal-signal: Likewise.
62727         * modules/findprog: Likewise.
62728         * modules/mkdtemp : Likewise.
62729         * modules/pipe: Likewise.
62730         * modules/wait-process: Likewise.
62731
62732 2006-04-23  Bruno Haible  <bruno@clisp.org>
62733
62734         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
62735         condition was already detected.
62736         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62737
62738 2006-04-23  Bruno Haible  <bruno@clisp.org>
62739
62740         * lib/copy-file.c: Include <unistd.h> unconditionally.
62741         * lib/execute.c: Likewise.
62742         * lib/fatal-signal.c: Likewise.
62743         * lib/findprog.c: Likewise.
62744         * lib/mkdtemp.c: Likewise.
62745         * lib/pipe.h: Likewise.
62746         * lib/pipe.c: Likewise.
62747         * lib/wait-process.h: Likewise.
62748
62749 2006-04-23  Bruno Haible  <bruno@clisp.org>
62750
62751         * gnulib-tool (func_usage): Fix --import description. Document
62752         --update.
62753         (func_import): Create temporary file in a temporary directory, if
62754         --dry-run is specified. Silence errors from 'grep' when there are no
62755         m4 files in $m4dir.
62756         (func_create_testdir): Silence errors from 'grep' when there are no
62757         m4 files in $m4dir.
62758         Reported by Karl Berry <karl@freefriends.org>.
62759
62760 2006-04-20  Bruno Haible  <bruno@clisp.org>
62761
62762         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
62763         one argument, so that the code will be portable to Autoconf 2.60.
62764         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
62765         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
62766         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
62767
62768 2006-04-19  Derek Price  <derek@ximbiot.com>
62769             Eric Blake  <ebb9@byu.net>
62770
62771         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
62772         rather than "/full/path.h".  Update comment to match.  Shorten &
62773         generalize m4_translit call via AS_TR_CPP.
62774
62775 2006-04-19  Derek Price  <derek@ximbiot.com>
62776             Eric Blake  <ebb9@byu.net>
62777
62778         * lib/inttypes.h: Correct grammar in comment.
62779
62780 2006-04-18  Derek Price  <derek@ximbiot.com>
62781             Paul Eggert  <eggert@cs.ucla.edu>
62782
62783         * modules/inttypes: New file.
62784         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
62785
62786 2006-04-18  Derek Price  <derek@ximbiot.com>
62787             Paul Eggert  <eggert@cs.ucla.edu>
62788
62789         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
62790         New files.
62791
62792 2006-04-18  Derek Price  <derek@ximbiot.com>
62793             Paul Eggert  <eggert@cs.ucla.edu>
62794
62795         * lib/inttypes.h: New file.
62796         * lib/strtoimax.c: Assume <inttypes.h>.
62797
62798 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
62799
62800         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
62801         isn't mounted.  Problem reported by Kir Kolyshkin.
62802
62803 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62804
62805         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
62806         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
62807         Derek R. Price.
62808         * lib/regex.h (RE_DUP_MAX): Update comment to match current
62809         implementation.
62810
62811 2006-04-12  Eric Blake  <ebb9@byu.net>
62812
62813         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
62814         is now done automatically by the corresponding Autoconf macro.
62815
62816 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
62817
62818         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
62819         time_r.h.
62820
62821 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62822
62823         Merge regex changes from libc, removing some of our
62824         POSIX-conformance changes that were rejected and redoing them in a
62825         less-intrusive way.
62826
62827         * lib/regcomp.c (re_compile_internal, init_dfa):
62828         Length arg is now size_t, not Idx.  All uses changed.
62829         (peek_token): Forward decl now says internal_function.
62830         (__re_error_msgid, __re_error_msgid_idx):
62831         Now static rather than extern with attribute_hidden.
62832         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
62833         For some reason libc prefers K&R style defns for external functions.
62834         (regerror) [!defined _LIBC]: Likewise.
62835         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
62836         (seek_collating_symbol_entry, lookup_collation_sequence_value):
62837         (build_range_exp, build_collating_symbol):
62838         Use K&R-style defn.
62839         (re_compile_fastmap): Use '\0' to memset, not 0.
62840         (utf8_sb_map): Make the calculations more obvious.
62841         (init_dfa, parse_bracket_exp, build_charclass_op):
62842         Call calloc and cast result, as glibc does.
62843         (init_word_char, fetch_token, peek_token, peek_token_bracket):
62844         (build_range_exp, build_collating_symbol):
62845         Now internal functions.
62846
62847         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
62848
62849         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
62850         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
62851         Don't depend on VMS; depend on __VMS instead, for POSIX
62852         namespace cleanness.
62853         (regoff_t): Define to ssize_t, not long int.
62854
62855         Remove the REG_ macros named below.  Instead, make the old names
62856         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
62857         __USE_GNU_REGEX.
62858         (REG_BACKSLASH_ESCAPE_IN_LISTS):
62859         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
62860         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
62861         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
62862         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
62863         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
62864         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
62865         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
62866         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
62867         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
62868         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
62869         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
62870         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
62871         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
62872         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
62873         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
62874         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
62875         (REG_NREGS):
62876         Remove.  All uses replaced by the old RE_* names.
62877         (RE_BACKSLASH_ESCAPE_IN_LISTS):
62878         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
62879         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
62880         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
62881         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
62882         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
62883         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
62884         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
62885         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
62886         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
62887         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
62888         Don't bother having these macros be independent of each others'
62889         values, since they no longer exist in the POSIX name space.
62890
62891         Rename the following member names back to their old names,
62892         unless !__USE_GNU_REGEX.  All uses changed back.
62893         (buffer): Renamed from re_buffer.
62894         (allocated): Renamed from re_allocated.
62895         (used): Renamed from re_used.
62896         (syntax): Renamed from re_syntax.
62897         (fastmap): Renamed from re_fastmap.
62898         (translate): Renamed from re_translate.
62899         (can_be_null): Renamed from re_can_be_null.
62900         (regs_allocated): Renamed from re_regs_allocated.
62901         (fastmap_accurate): Renamed from re_fastmap_accurate.
62902         (no_sub): Renamed from re_no_sub.
62903         (not_bol): Renamed from re_not_bol.
62904         (not_eol): Renamed from re_not_eol.
62905         (newline_anchor): Renamed from re_newline_anchor.
62906         (num_regs): Renamed from rm_num_regs.
62907         (start): Renamed from rm_start.
62908         (end): Renamed from rm_end.
62909
62910         (free_state): Move up a bit.
62911
62912         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
62913         #define to be empty.
62914         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
62915         when that is what is intended.
62916         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
62917         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
62918         (MAX): New macro.
62919         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
62920         All uses changed back to re_malloc, etc.  It's now the caller's
62921         responsibility to check for overflow; all callers changed.
62922         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
62923         (re_x2nrealloc): Remove.
62924         (free_state): Remove decl.
62925
62926         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
62927         (re_set_registers, re_exec):
62928         Use K&R-style defn.
62929
62930         2006-01-31  Roland McGrath  <roland@redhat.com>
62931
62932         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
62933         Reported by Mike Frysinger <vapier@gentoo.org>.
62934
62935         2006-01-15  Andreas Jaeger  <aj@suse.de>
62936
62937         [BZ #1950]
62938         * lib/regex_internal.c (re_string_reconstruct): Adjust for
62939         build_wcs_upper_buffer change.
62940         (build_wcs_upper_buffer): Change return type.
62941
62942         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
62943
62944         * lib/regex_internal.h: Include <stdint.h> if available.
62945
62946         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
62947
62948         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
62949
62950         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
62951
62952         * lib/regcomp.c: Adjust for changed secondary hash function.
62953
62954         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
62955
62956         * lib/regex.h: Pretty printing.
62957         Clean up namespace a bit.
62958
62959         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
62960
62961         * lib/regexec.c (update_cur_sifted_state, check_arrival,
62962         check_arrival_add_next_nodes): Avoid using uninitialized variable.
62963
62964         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62965                     Ulrich Drepper  <drepper@redhat.com>
62966
62967         [BZ #1302]
62968         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
62969         changed.
62970         (bitset_word_t): Renamed from bitset_word.  All uses changed.
62971
62972         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
62973
62974         [BZ #281]
62975         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
62976         * lib/regcomp.c: Remove unnecessary uses of
62977         unsigned RE_TRANSLATE_TYPE.
62978         * lib/regex_internal.h: Likewise.
62979         * lib/regex_internal.c: Likewise.
62980         * lib/regexec.c: Likewise.
62981         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
62982
62983         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
62984
62985         * lib/regexec.c (find_recover_state): Remove unnecessary
62986         initialization.
62987         (transit_state_bkref): Make DFA a const pointer.
62988         (get_subexp): Likewise.
62989         (check_arrival): Likewise.
62990         (update_cur_sifted_state): Likewise.
62991         (re_search_internal): Likewise.
62992         (prune_impossible_nodes): Likewise.
62993         (acquire_init_state_context): Likewise.
62994         (proceed_next_node): Likewise.
62995         (set_regs): Likewise.
62996         (free_fail_stack_return): Likewise.
62997         (check_arrival_expand_ecl): Mark DFA parameter as const.
62998         (check_arrival_expand_ecl_sub): Likewise.
62999         (check_subexp_limits): Likewise.
63000         (sub_epsilon_src_nodes):  Likewise.
63001         (add_epsilon_src_nodes):  Likewise.
63002         (merge_state_array): Likewise.
63003         (update_regs): Likewise.
63004         (build_trtable): Likewise.
63005         (sift_states_backward): Mark MCTX parameter as const.
63006         (build_sifted_states): Likewise.
63007         (update_cur_sifted_state): Likewise.
63008         (sift_states_mkref): Likewise.
63009         (check_arrival_expand_ecl): Mark eclosure as const.
63010         (check_dst_limits_calc_pos_1): Likewise.
63011         * lib/regex_internal.h (re_match_context_t): Make dfa a const
63012         pointer.
63013
63014         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
63015
63016         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
63017         (transit_state_sb): Likewise.
63018         (transit_state_mb): Likewise.
63019         (sift_states_iter_mb): Likewise.
63020         (check_arrival_add_next_nodes): Likewise.
63021         (check_node_accept_bytes): Change first parameter to pointer-to-const.
63022         [_LIBC] (re_search_2_stub): Use mempcpy.
63023
63024         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
63025         mbrtowc for very simple UTF-8 case.
63026
63027         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
63028         a pointer-to-const.
63029         (re_acquire_state_context): Likewise.
63030         * lib/regex_internal.h: Adjust prototypes.
63031
63032         * lib/regex.c: Prevent using C++ compilers.
63033
63034         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
63035         (re_acquire_state_context): Likewise.
63036
63037 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63038
63039         * modules/regex (Depends-on): Add ssize_t.
63040
63041 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63042
63043         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
63044         translation table.
63045
63046 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
63047
63048         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
63049
63050 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
63051             Bruno Haible  <bruno@clisp.org>
63052
63053         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
63054         <sys/types.h> and <inttypes.h>.
63055
63056 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63057
63058         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
63059         `__error_t_defined', so argp.h will not typedef the former.
63060
63061 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
63062
63063         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
63064         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
63065         glibc names.  Even if glibc is changed to conform to POSIX, the
63066         traditional names will be available anyway, since regex depends on
63067         the extensions module.  Also, fix a longstanding typo in the
63068         implementation of Spencer ERE test #75 from grep 2.3.  Problems
63069         reported by Emanuele Giaquinta.  Also, change sense of cached
63070         variable, so that the message makes sense.
63071
63072 2006-03-24  Simon Josefsson  <jas@extundo.com>
63073
63074         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
63075         including some doc fixes.
63076         (base64_encode_alloc): Fix +1 bug on allocation failures.
63077
63078 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63079
63080         * lib/base64.c (base64_encode): Do not read past end of array with
63081         unsanitized input on systems with CHAR_BIT > 8.
63082
63083 2006-03-24  Eric Blake  <ebb9@byu.net>
63084
63085         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
63086
63087 2006-03-22  Karl Berry  <karl@gnu.org>
63088
63089         * config/srclist.txt (*setenv.[ch]): get from coreutils.
63090         * config/srclistvars.sh (COREUTILS): new var.
63091
63092 2006-03-17  Jim Meyering  <jim@meyering.net>
63093
63094         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
63095         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
63096
63097 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
63098
63099         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
63100         no longer needs it.  Instead, check that regoff_t is as least
63101         as wide as ptrdiff_t.
63102
63103         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
63104         so that our regex.h stays compatible with the installed regex.
63105         This is helpful for installers who configure --without-included-regex.
63106         Problem reported by Emanuele Giaquinta.
63107
63108 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
63109
63110         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
63111         Typedef to long int, not to off_, as POSIX will likely change
63112         in that direction.
63113
63114 2006-03-15  Eric Blake  <ebb9@byu.net>
63115
63116         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
63117
63118 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63119
63120         * lib/argp-help.c (validate_uparams): Fix typo
63121         * lib/argp-parse.c (argp_default_options): Consistently begin help
63122         messages with a lowercase letter.
63123
63124 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
63125
63126         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
63127         overrun buffers and shouldn't be used (much as gets shouldn't be
63128         used).
63129         * lib/time_r.c (asctime_r, ctime_r): Likewise.
63130
63131 2006-03-08  Simon Josefsson  <jas@extundo.com>
63132
63133         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
63134         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63135
63136 2006-03-08  Simon Josefsson  <jas@extundo.com>
63137
63138         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
63139         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63140
63141 2006-03-08  Simon Josefsson  <jas@extundo.com>
63142
63143         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
63144         signal that configure disabled the device.
63145
63146 2006-03-08  Simon Josefsson  <jas@extundo.com>
63147
63148         * build-aux/maint.mk: Fix refresh-po, to handle no translated
63149         languages.
63150
63151 2006-03-07  Simon Josefsson  <jas@extundo.com>
63152
63153         * modules/getopt (Depends-on): Add unistd.
63154
63155         * modules/unistd: New file.
63156
63157 2006-03-07  Simon Josefsson  <jas@extundo.com>
63158
63159         * modules/gc-random: New file.
63160
63161 2006-03-07  Simon Josefsson  <jas@extundo.com>
63162
63163         * m4/unistd_h.m4: New file.
63164
63165 2006-03-07  Simon Josefsson  <jas@extundo.com>
63166
63167         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
63168         test to be side-effect free by storing the result in the cache
63169         variable gl_cv_lib_readline, and moving the assignment of
63170         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
63171         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63172
63173 2006-03-07  Simon Josefsson  <jas@extundo.com>
63174
63175         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
63176         error on missing devices (the functions will return an error).
63177
63178         * m4/gc.m4: Move random stuff to gc-random.m4
63179
63180 2006-03-07  Simon Josefsson  <jas@extundo.com>
63181
63182         * lib/unistd_.h: New file.
63183
63184 2006-03-07  Simon Josefsson  <jas@extundo.com>
63185
63186         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
63187
63188 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63189
63190         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
63191         Problem reported by Juan Manuel Guerrero.
63192
63193 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63194
63195         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
63196         the unistd module.
63197         * lib/getlogin_r.c: Likewise.
63198         * lib/getlogin_r.h: Likewise.
63199         * lib/glob.c: Likewise.
63200         * lib/pagealign_alloc.c: Likewise.
63201         * lib/unistd_.h: Remove; no longer needed.
63202
63203 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
63204
63205         * MODULES.html.sh (Support for systems lacking POSIX:2001):
63206         Add unistd.
63207         * modules/c-stack (Depends-on): Add unistd.
63208         * modules/getlogin_r: Likewise.
63209         * modules/glob: Likewise.
63210         * modules/pagealign_alloc: Likewise.
63211         * modules/unistd (Files): Remove lib/unistd_.h.
63212         (EXTRA_DIST): Remove.
63213         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
63214         need unistd_.h.
63215         (MOSTLYCLEANFILES): Remove unistd.h-t.
63216
63217 2006-03-03  Simon Josefsson  <jas@extundo.com>
63218
63219         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
63220
63221 2006-03-03  Simon Josefsson  <jas@extundo.com>
63222
63223         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
63224         libidn and bison.
63225
63226 2006-03-03  Simon Josefsson  <jas@extundo.com>
63227
63228         * build-aux/maint.mk: Add indent target.
63229
63230 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
63231
63232         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
63233         our replacement poll.h in any case, to avoid a differing
63234         declaration from a system header.  Seen on AIX.
63235
63236 2006-03-01  Simon Josefsson  <jas@extundo.com>
63237
63238         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
63239         <kasal@ucw.cz>.
63240
63241 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63242
63243         * modules/gettime (Depends-on): Add extensions module.
63244         * modules/nanosleep (Depends-on): Likewise.
63245         * modules/settime (Depends-on): Likewise.
63246
63247 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63248
63249         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
63250         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
63251         pedantically.
63252         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63253         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
63254
63255         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
63256         not "==".  Reported by Ralf Wildenhues.
63257
63258 2006-03-01  Karl Berry  <karl@gnu.org>
63259
63260         * doc/Copyright/request-*: new files, synced from gnuorg.
63261
63262 2006-03-01  Karl Berry  <karl@gnu.org>
63263
63264         * config/srclist.txt (Copyright/*): new entries.
63265
63266 2006-02-28  Simon Josefsson  <jas@extundo.com>
63267
63268         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
63269
63270 2006-02-27  Simon Josefsson  <jas@extundo.com>
63271
63272         * lib/base64.h: Indent #define's.  From Jim Meyering
63273         <jim@meyering.net>.
63274
63275 2006-02-27  Jim Meyering  <jim@meyering.net>
63276
63277         Revert the change of 2006-02-24, so these files can continue
63278         to be sync'd from gettext.
63279         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
63280         of `config.h'.
63281
63282 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
63283
63284         * modules/intprops: New file.
63285         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
63286         Add intprops.
63287         * modules/getloadavg (Files): Remove lib/intprops.h.
63288         (Depends-on): Add intprops.
63289         * modules/human: Likewise.
63290         * modules/inttostr: Likewise.
63291         * modules/openat: Likewise.
63292         * modules/sig2str: Likewise.
63293         * modules/userspec: Likewise.
63294         * modules/utimecmp: Likewise.
63295         * modules/xnanosleep: Likewise.
63296         * modules/xstrtol: Likewise.
63297
63298 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
63299
63300         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
63301         * modules/lock-tests (TESTS): Use $(EXEEXT).
63302         * modules/tls-tests: Likewise.
63303         * modules/argp-tests: Likewise.
63304         (check_PROGRAMS): New var, replacing...
63305         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
63306
63307 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63308
63309         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
63310         `config.h'.
63311
63312 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
63313
63314         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
63315
63316 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63317
63318         Sync from coreutils.
63319         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
63320         gl_CHDIR_SAFER.
63321
63322 2006-02-22  Jim Meyering  <jim@meyering.net>
63323
63324         Sync from coreutils.
63325         * m4/chdir-safer.m4: New file.
63326
63327 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
63328
63329         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
63330         AT_FDCWD exceeds INT_MAX.
63331         * lib/openat.h (AT_FDCWD): Likewise.
63332
63333 2006-02-17  Eric Blake  <address@hidden>
63334
63335         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
63336
63337 2006-02-16  Simon Josefsson  <jas@extundo.com>
63338
63339         * modules/getaddrinfo (Depends-on): Add sys_socket.
63340
63341 2006-02-15  Simon Josefsson  <jas@extundo.com>
63342
63343         * build-aux/maint.mk: Add dsyntax-check rule.
63344
63345 2006-02-15  Eric Blake  <ebb9@byu.net>
63346
63347         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
63348         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
63349         'present but cannot compile' warnings on cygwin.
63350         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
63351         use ws2tcpip.h if sys/socket.h works.
63352         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
63353         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
63354
63355 2006-02-14  Simon Josefsson  <jas@extundo.com>
63356
63357         * modules/maintainer-makefile (Files): Rename.
63358
63359         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
63360         and (the local) Makefile.cfg to maint-cfg.mk.
63361
63362         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
63363         to the latter.
63364
63365         * modules/maintainer-makefile: New module.
63366
63367         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
63368         severaly stripped to make it possible to build it up from scratch
63369         with reliable tests.
63370
63371         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
63372         fixes to permit overriding the default actions when configure and
63373         makefile are not available.
63374
63375 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
63376
63377         Sync from coreutils.
63378         * modules/lstat (Depends-on): Don't depend on xalloc.
63379         (License): Change from GPL to LGPL, since this is now simply a
63380         replacement for a libc function.
63381
63382 2006-02-14  Jim Meyering  <jim@meyering.net>
63383
63384         Sync from coreutils.
63385
63386         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
63387         failure on deficient systems, and simplify gnulib lgpl dependencies.
63388         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
63389         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
63390
63391         * lib/xalloc-die.c: Remove unused definition of N_.
63392
63393 2006-02-14  Jim Meyering  <jim@meyering.net>
63394
63395         Sync from coreutils.
63396         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
63397         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
63398         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
63399         double-quote uses of that variable, to accommodate the rare case in
63400         which getmntent is available in none of the libraries checked.  This
63401         happens at least on FreeBSD 5.0.
63402
63403 2006-02-13  Simon Josefsson  <jas@extundo.com>
63404
63405         * gnulib-tool (Usage): Fix --import, from
63406         karl@freefriends.org (Karl Berry).
63407
63408 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
63409
63410         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
63411
63412 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
63413
63414         * lib/argp-namefrob.h: Restore changes accidentally lost during the
63415         "autoupdate" on 2005-12-12.
63416
63417 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63418
63419         * modules/closeout (Depends-on): Remove atexit.
63420
63421 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
63422
63423         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
63424         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
63425
63426 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
63427
63428         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
63429         __EXTENSIONS__ if this causes compilation to fail.  Problem
63430         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
63431         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
63432
63433 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
63434
63435         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
63436         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
63437         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
63438         All uses changed.
63439
63440 2006-01-26  Simon Josefsson  <jas@extundo.com>
63441
63442         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
63443         prototype is visible on mingw32.
63444
63445         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
63446         for mingw32.
63447
63448         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
63449         mingw32).
63450
63451 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
63452
63453         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
63454         attempt to open for write; this always fails, at least on POSIX
63455         hosts.  This reinstates the 2006-01-09 change, which was
63456         inadvertently removed.
63457
63458 2006-01-26  Bruno Haible  <bruno@clisp.org>
63459
63460         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
63461         Reported by Paul Eggert.
63462
63463 2006-01-26  Bruno Haible  <bruno@clisp.org>
63464             Paul Eggert  <eggert@cs.ucla.edu>
63465
63466         * lib/stdbool_.h (_Bool)
63467         [(! (defined __cplusplus || defined __BEOS__)
63468           && !defined __GNUC__
63469           && !(defined __HP_cc || defined __xlc__
63470                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
63471                || defined __sgi))]:
63472         #define to signed char in these cases too; this simplifies
63473         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
63474         etc., separately) and makes it more conservative.
63475
63476 2006-01-25  Simon Josefsson  <jas@extundo.com>
63477
63478         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
63479         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
63480         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
63481
63482 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
63483
63484         * lib/argp-namefrob.h: Bugfix. Remove stray #
63485
63486 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
63487
63488         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
63489         so that we test the test.
63490         Check for yet another HP-UX cc bug involving *bool |= bool.
63491
63492 2006-01-25  Karl Berry  <karl@gnu.org>
63493
63494         * config/srclist.txt (vasnprintf.c): sync lost.
63495
63496 2006-01-25  Jim Meyering  <jim@meyering.net>
63497
63498         Sync from the stable (b5) branch of coreutils:
63499
63500         * lib/fts.c (fts_children): Don't let close() clobber errno from
63501         failed fchdir().
63502
63503         * lib/fts.c (fts_stat): When following a symlink-to-directory,
63504         don't necessarily interpret stat-fails+lstat-succeeds as indicating
63505         a dangling symlink.  That can also happen at least for ELOOP.
63506         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
63507         FYI, this bug predates the inclusion of fts.c in coreutils.
63508
63509         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
63510         in their own block, so pre-c99 compilers don't object.
63511
63512         Avoid the double-free (first in fts_read, second in fts_close) that
63513         would occur when an `active' directory is made inaccessible (e.g.,
63514         via chmod a-x) during a traversal.
63515         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63516         before returning.  Reproduce this failure by
63517         mkdir -p a/b; cd a; chmod a-x . b
63518         Reported by Stavros Passas.
63519
63520 2006-01-25  Jim Meyering  <jim@meyering.net>
63521
63522         * lib/fileblocks.c: Remove more useless parentheses.
63523         * lib/readutmp.h: Likewise.
63524
63525 2006-01-25  Bruno Haible  <bruno@clisp.org>
63526
63527         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
63528         warnings.
63529         Reported by Paul Eggert.
63530
63531 2006-01-25  Bruno Haible  <bruno@clisp.org>
63532
63533         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
63534         rid of a trap command. For Solaris sh.
63535         Reported by Mark D. Baushke <mdb@gnu.org>.
63536
63537 2006-01-24  Simon Josefsson  <jas@extundo.com>
63538
63539         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
63540         Bruno.
63541
63542 2006-01-24  Karl Berry  <karl@gnu.org>
63543
63544         * config/srclist.txt (argp-namefrob.h): sync lost.
63545
63546 2006-01-24  Jim Meyering  <jim@meyering.net>
63547
63548         * modules/openat (Files): Add lib/intprops.h.
63549         From Mark D. Baushke.
63550
63551 2006-01-24  Jim Meyering  <jim@meyering.net>
63552
63553         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
63554         Reported by Mark D. Baushke.
63555
63556 2006-01-24  Jim Meyering  <jim@meyering.net>
63557
63558         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
63559
63560 2006-01-24  Bruno Haible  <bruno@clisp.org>
63561
63562         * modules/strnlen (Maintainer): Change from glibc to all.
63563
63564 2006-01-24  Bruno Haible  <bruno@clisp.org>
63565
63566         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
63567         Patch by Paul Eggert.
63568
63569 2006-01-24  Bruno Haible  <bruno@clisp.org>
63570
63571         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
63572         already has it.
63573         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
63574         2005-11-26.
63575
63576         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
63577         'signed char' to avoid problems with the built-in _Bool type.
63578         Reported by Paul Eggert on 2005-11-26.
63579
63580 2006-01-24  Bruno Haible  <bruno@clisp.org>
63581
63582         * gnulib-tool (func_import): Avoid constructing complicated sed
63583         expressions inside backquote.
63584         Report and solution by Mark D. Baushke <mdb@gnu.org>.
63585
63586 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
63587
63588         These changes imported from libc.
63589         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
63590         test and two separate function calls.
63591         * lib/strndup.c (__strndup): Add libc_hidden_def.
63592
63593 2006-01-23  Simon Josefsson  <jas@extundo.com>
63594
63595         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
63596         Remove the test_*_SOURCES variable: automake infers it by default.
63597         * modules/tls-tests: Likewise.
63598
63599 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63600
63601         Work around porting bugs reported by Dieter in
63602         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
63603         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
63604         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
63605         Include "getopt.h" first, to check interface.
63606         (getenv): Declare only if defined HAVE_DECL_GETENV &&
63607         !HAVE_DECL_GETENV.
63608         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
63609         (__strndup): Revert to K&R-style function dfns, the glibc style.
63610         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
63611         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
63612         Include strnlen.h first, to get prototype properly.
63613         (strnlen): Renamed from __strnlen.
63614         Remove weak alias.
63615
63616 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63617
63618         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
63619
63620 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63621
63622         * config/srclist.txt: Adjust to reflect glibc reorganization.
63623         This affects only comments.
63624
63625 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63626
63627          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
63628          Reported by Bruce Korb <bkorb@gnu.org>.
63629
63630 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63631
63632         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
63633         to pacify gcc -Wswitch-default.
63634
63635 2006-01-22  Bruno Haible  <bruno@clisp.org>
63636
63637         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
63638         temporary buffer for sprintf, take into account the precision also
63639         for 'd', 'i', 'u', 'o', 'x', 'X'.
63640
63641 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63642
63643         * modules/argp-tests: New module
63644         * tests/test-argp.c: New file
63645         * tests/test-argp-2.sh: New file
63646
63647 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63648
63649         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
63650         (__argp_base_name): Removed
63651         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
63652         typo.
63653         (__argp_base_name): Provide macro definition or extern declaration
63654         depending on the configuration
63655
63656 2006-01-20  Simon Josefsson  <jas@extundo.com>
63657
63658         * modules/inet_ntop (Depends-on): Depend on sys_socket.
63659
63660 2006-01-20  Simon Josefsson  <jas@extundo.com>
63661
63662         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
63663
63664 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
63665
63666         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
63667         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
63668         Suggested by Bruno Haible.
63669
63670 2006-01-20  Karl Berry  <karl@gnu.org>
63671
63672         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
63673         until changes propagate, I guess.
63674
63675 2006-01-19  Simon Josefsson  <jas@extundo.com>
63676
63677         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
63678
63679 2006-01-19  Simon Josefsson  <jas@extundo.com>
63680
63681         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
63682
63683 2006-01-19  Simon Josefsson  <jas@extundo.com>
63684
63685         * gnulib-tool: Set check_PROGRAMS.
63686
63687         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63688         modules/des-tests, modules/gc-arcfour-tests,
63689         modules/gc-arctwo-tests, modules/gc-des-tests,
63690         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63691         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63692         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63693         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63694         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63695         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
63696         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
63697         test_*_SOURCES.
63698
63699 2006-01-18  Simon Josefsson  <jas@extundo.com>
63700
63701         * modules/socklen (Depends-on): Depend on sys_socket.
63702
63703 2006-01-18  Simon Josefsson  <jas@extundo.com>
63704
63705         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63706         modules/des-tests, modules/gc-arcfour-tests,
63707         modules/gc-arctwo-tests, modules/gc-des-tests,
63708         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63709         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63710         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63711         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63712         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63713         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
63714         $(EXEEXT) to automake TESTS variable, for mingw32.
63715
63716 2006-01-17  Simon Josefsson  <jas@extundo.com>
63717
63718         * modules/socklen (Include): Need sys/socket.h.
63719
63720 2006-01-17  Bruno Haible  <bruno@clisp.org>
63721
63722         * modules/ssize_t (Include): Add <sys/types.h>.
63723
63724 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
63725
63726         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
63727         it's not portable and it doesn't work with cross-compiles.
63728         Problem reported by Bruno Haible.  Fix missing-$ typo in
63729         'test "gl_cv_ignore_unused_libraries" ...' that prevented
63730         -zignore from being used with Sun's C compiler.
63731
63732 2006-01-12  Simon Josefsson  <jas@extundo.com>
63733
63734         * lib/base64.c: Fix warning, reported by Bruno Haible
63735         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
63736
63737 2006-01-12  Bruno Haible  <bruno@clisp.org>
63738
63739         * modules/ldd: New file.
63740         * build-aux/ldd.sh.in: New file.
63741         * MODULES.html.sh (Support for building libraries and executables): Add
63742         ldd.
63743
63744 2006-01-12  Bruno Haible  <bruno@clisp.org>
63745
63746         * m4/ldd.m4: New file.
63747
63748 2006-01-12  Bruno Haible  <bruno@clisp.org>
63749
63750         * gnulib-tool (func_import, func_create_testdir): Don't go into an
63751         endless loop while replacing $auxdir with build-aux.
63752
63753 2006-01-11  Simon Josefsson  <jas@extundo.com>
63754
63755         * lib/stdint_.h (SIZE_MAX): Add missing (.
63756
63757 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
63758
63759         Sync from coreutils.
63760         * lib/md5.c: Fix commentary typos.
63761         (alignof, UNALIGNED_P): No need for a GCC-specific version.
63762         * lib/md5.h (__attribute__): Remove; unused.
63763         * lib/sha1.c: Fix commentary to match md5 better.
63764         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
63765         so that we don't need to worry about alignment.  All uses changed.
63766         This merges the 2005-10-28 md5 change into sha1.
63767
63768 2006-01-11  Jim Meyering  <jim@meyering.net>
63769
63770         Sync from coreutils.
63771         * lib/md5.c (OP): Fix spacing.
63772
63773 2006-01-11  Bruno Haible  <bruno@clisp.org>
63774
63775         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63776         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
63777         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
63778
63779 2006-01-11  Bruno Haible  <bruno@clisp.org>
63780
63781         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63782         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
63783         the "early" section as well.
63784
63785 2006-01-11  Bruno Haible  <bruno@clisp.org>
63786
63787         Avoid "ar: no archive members specified" error on MacOS X.
63788         * gnulib-tool (func_modules_add_dummy): New function.
63789         (func_import, func_create_testdir): Invoke it.
63790
63791 2006-01-11  Bruno Haible  <bruno@clisp.org>
63792
63793         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
63794         with $auxdir in AC_CONFIG_FILES statements.
63795
63796 2006-01-11  Bruno Haible  <bruno@clisp.org>
63797
63798         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63799         Initialize also noinst_HEADERS to empty.
63800
63801 2006-01-11  Bruno Haible  <bruno@clisp.org>
63802
63803         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
63804         variables.
63805         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
63806         autoreconf.
63807
63808 2006-01-11  Bruno Haible  <bruno@clisp.org>
63809
63810         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
63811         overridable by the user.
63812         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63813
63814 2006-01-10  Simon Josefsson  <jas@extundo.com>
63815
63816         * modules/sys_socket: New file.
63817
63818 2006-01-10  Simon Josefsson  <jas@extundo.com>
63819
63820         * m4/sys_socket_h.m4: New file.
63821
63822 2006-01-10  Simon Josefsson  <jas@extundo.com>
63823
63824         * lib/socket_.h: New file.
63825
63826 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63827
63828         * modules/readutmp (Maintainer): Add myself.
63829
63830 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63831
63832         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
63833         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
63834         People who are still concerned with buggy memcmp implementations
63835         can invoke gl_FUNC_MEMCMP themselves.
63836
63837 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63838
63839         * lib/regex_internal.h (BITSET_WORD_BITS):
63840         Work around a bug in 64-bit PGC (before version 6.1-2), where the
63841         preprocessor mishandles large unsigned values as if they were signed.
63842         Problem reported by Claudio Fontana in
63843         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
63844
63845 2006-01-10  Jim Meyering  <jim@meyering.net>
63846
63847         Avoid the double-free (first in fts_read, second in fts_close) that
63848         would occur when an `active' directory is made inaccessible (e.g.,
63849         via chmod a-x) during a traversal.
63850         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63851         before returning.  Reproduce this failure by
63852         mkdir -p a/b; cd a; chmod a-x . b
63853         Reported by Stavros Passas.
63854
63855         Sync from coreutils.
63856         * lib/sha1.c: Tweak grammar in a comment.
63857
63858 2006-01-10  Jim Meyering  <jim@meyering.net>
63859
63860         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
63861         Patch by Joerg Sonnenberger.
63862
63863 2006-01-10  Bruno Haible  <bruno@clisp.org>
63864
63865         * modules/readutmp: Depend on module free.
63866         * modules/strtok_r: Depend on module restrict.
63867
63868 2006-01-10  Bruno Haible  <bruno@clisp.org>
63869
63870         * modules/gettext (configure.ac): Add an invocation of
63871         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
63872
63873 2006-01-10  Bruno Haible  <bruno@clisp.org>
63874
63875         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
63876         Reported by Werner Lemberg <wl@gnu.org>.
63877
63878 2006-01-10  Bruno Haible  <bruno@clisp.org>
63879
63880         * lib/localcharset.c: Update from GNU gettext.
63881
63882 2006-01-10  Bruno Haible  <bruno@clisp.org>
63883
63884         * lib/argp.h (__const): Remove macro. Use const instead.
63885         * lib/argp-fmtstream.h (__const): Likewise.
63886         * lib/glob_.h (__const): Remove macro.
63887         * lib/glob-libc.h: Use const instead of __const.
63888
63889 2006-01-10  Bruno Haible  <bruno@clisp.org>
63890
63891         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
63892         variable.
63893         Needed to avoid an automake error regarding the 'gettext' module.
63894
63895 2006-01-09  Simon Josefsson  <jas@extundo.com>
63896
63897         * modules/inet_ntop (Depends-on): Add restrict.
63898
63899 2006-01-09  Simon Josefsson  <jas@extundo.com>
63900
63901         * modules/gc-rijndael-tests (License): Put under LGPL.
63902
63903         * modules/gc-des-tests (License): Likewise.
63904
63905         * modules/gc-arcfour-tests (License): Likewise.
63906
63907         * modules/gc-arctwo-tests (License): Likewise.
63908
63909         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
63910
63911         * modules/gc-hmac-sha1-tests (Files): Likewise.
63912
63913         * modules/gc-hmac-md5-tests (License): Likewise.
63914
63915         * modules/gc-sha1-tests (License): Likewise.
63916
63917         * modules/gc-md5-tests (License): Likewise.
63918
63919         * modules/gc-md4-tests (License): Likewise.
63920
63921         * modules/gc-md2-tests (License): Likewise.
63922
63923         * modules/gc-tests (License): Likewise.
63924
63925         * modules/des-tests (License): Likewise.
63926
63927         * modules/md4-tests (License): Likewise.
63928
63929         * modules/md2-tests (License): Likewise.
63930
63931 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63932
63933         Sync from coreutils:
63934
63935         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
63936         * modules/lib-ignore: New file.
63937         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
63938         chdir-safer.m4, lchmod.m4.
63939         * modules/openat: Add mkdirat.c, openat-priv.h.
63940
63941 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63942
63943         Sync from coreutils.
63944         * m4/lib-ignore.m4: New file.
63945         * m4/lchmod.m4: New file.
63946
63947 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63948
63949         Sync from coreutils.
63950         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
63951         for write access: POSIX says that must fail.
63952         * lib/fts.c (diropen): Likewise.
63953         * lib/save-cwd.c (save_cwd): Likewise.
63954         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
63955         well, for minor improvements on hosts that lack O_DIRECTORY.
63956         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
63957         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
63958         Fall back on chown if open failed with EACCES.
63959
63960         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
63961         Report an error at compile-time if only a 1-second nominal clock
63962         resolution is found.
63963
63964         * lib/lchmod.h: New file.
63965         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
63966         (make_dir_parents): Use lchown rather than chown, and
63967         lchmod rather than chmod.
63968
63969         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
63970         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
63971         "proc" reported by n0dalus.
63972
63973         * lib/mountlist.c: Include <limits.h>.
63974         (dev_from_mount_options)
63975         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
63976         New function.  It no longer assumes "dev=" has the System V meaning
63977         on Linux (since it doesn't).  It also parses "dev=" more carefully.
63978         (read_file_system_list)
63979         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
63980         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
63981         dev= in that case.
63982
63983         * lib/posixtm.h (PDS_PRE_2000): New macro.
63984         * lib/posixtm.c (year): Arg is now syntax_bits rather than
63985         allow_century.  All usages changed.  Reject dates outside the range
63986         1969-1999 if PDS_PRE_2000 is used.
63987
63988 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63989
63990         Sync from coreutils.
63991         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
63992         (Time of day items): Mention the possibility of leap seconds.
63993         Problem reported by Dr. David Alan Gilbert.
63994
63995 2006-01-09  Jim Meyering  <jim@meyering.net>
63996
63997         Sync from coreutils.
63998
63999         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
64000
64001         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
64002
64003         * lib/modechange.c (mode_compile): Reject an invalid mode string
64004         that starts with an octal digit.  From Andreas Gruenbacher.
64005
64006         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
64007         and dup to open_safer and dup_safer, respectively.
64008         (openat_permissive): Fix typo in comment.
64009
64010         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
64011         "gettext.h"; either no longer needed or are guaranteed by openat.h.
64012         (_): Remove; no longer needed.
64013         (openat): Renamed from rpl_openat; no need for rpl_openat
64014         since openat.h renames openat for us.
64015         Replace most of the body with a call to openat_permissive,
64016         to avoid duplicate code.
64017         Port to (probably hypothetical) environments were mode_t is
64018         wider than int.
64019         (openat_permissive): Require mode arg, so that we can check
64020         types better.  Put it just after flags.  Change cwd failure
64021         indicator from pointer-to-bool to pointer-to-errno-value.
64022         All callers changed.
64023         Invoke openat_save_fail and/or openat_restore_fail if
64024         cwd_errno is null, so that openat can call us.
64025         (openat_permissive, fdopendir, fstatat, unlinkat):
64026         Simplify errno handling to avoid some duplicate code,
64027         as it's OK to set errno on success.
64028         * lib/openat.h: Revamp code so that function macros depend on
64029         __OPENAT_PREFIX only, not also on AT_FDCWD.
64030         (openat_ro): Remove.  Caller changed to use openat_permissive.
64031         (openat_permissive): Now a macro, if not a function.
64032         (openat_restore_fail, openat_save_fail): Now always functions,
64033         since mkdirat needs them even if __OPENAT_PREFIX is defined.
64034
64035         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
64036         and openat.c.
64037         * lib/mkdirat.c: Include openat-priv.h.
64038         Remove definitions of macros defined therein.
64039         * lib/openat.c: Likewise.
64040
64041         * lib/mkdirat.c (mkdirat): New file and function.
64042         * lib/openat.h (mkdirat): Declare.
64043
64044         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
64045
64046         * lib/openat.h (openat_permissive): Declare.
64047         (openat_ro): Define.
64048
64049         * lib/openat.c (EXPECTED_ERRNO): New macro.
64050         (openat_permissive): New function -- used in remove.c rewrite.
64051         (all functions): Set errno just before returning, only if there
64052         was an actual failure.
64053         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
64054
64055         Emulate openat-family functions using Linux's procfs, if possible.
64056         Idea and some code based on Ulrich Drepper's glibc changes.
64057
64058         * lib/openat.c: (BUILD_PROC_NAME): New macro.
64059         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
64060         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
64061         before falling back on save_cwd and restore_cwd.
64062         (fdopendir, fstatat, unlinkat): Likewise.
64063
64064         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
64065         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
64066
64067         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
64068         as second argument to va_arg.  Otherwise, some versions of gcc
64069         warn that `if this code is reached, the program will abort'.
64070
64071 2006-01-09  Jim Meyering  <jim@meyering.net>
64072
64073         Sync from coreutils.
64074         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
64075         Require openat-priv.h.
64076
64077 2006-01-09  Bruno Haible  <bruno@clisp.org>
64078
64079         * modules/strnlen (Include): Use strnlen.h.
64080
64081 2006-01-09  Bruno Haible  <bruno@clisp.org>
64082
64083         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
64084
64085 2006-01-09  Bruno Haible  <bruno@clisp.org>
64086
64087         * lib/sysexit_.h (EX_OK): New macro.
64088         Suggested by Martin Lambers <marlam@marlam.de>.
64089
64090 2006-01-09  Bruno Haible  <bruno@clisp.org>
64091
64092         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
64093         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
64094
64095 2006-01-09  Bruno Haible  <bruno@clisp.org>
64096
64097         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
64098         numbers.
64099
64100 2006-01-09  Bruno Haible  <bruno@clisp.org>
64101
64102         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
64103         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
64104         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
64105         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
64106
64107 2006-01-09  Bruno Haible  <bruno@clisp.org>
64108
64109         * build-aux/javacomp.sh.in: New file, moved from lib/.
64110         * modules/javacomp-script (Files): Update.
64111         (configure.ac): Add AC_CONFIG_FILES invocation.
64112         (EXTRA_DIST): Remove variable.
64113
64114         * build-aux/javaexec.sh.in: New file, moved from lib/.
64115         * modules/javaexec (Files): Update.
64116         (configure.ac): Add AC_CONFIG_FILES invocation.
64117         (EXTRA_DIST): Remove javaexec.sh.in.
64118
64119         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
64120         * modules/csharpcomp-script (Files): Update.
64121         (configure.ac): Add AC_CONFIG_FILES invocation.
64122         (EXTRA_DIST): Remove variable.
64123
64124         * build-aux/csharpexec.sh.in: New file, moved from lib/.
64125         * modules/csharpexec (Files): Update.
64126         (configure.ac): Add AC_CONFIG_FILES invocation.
64127         (EXTRA_DIST): Remove csharpexec.sh.in.
64128
64129 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64130
64131         Sync from coreutils.
64132
64133         Add POSIX ACL support
64134         * lib/acl.h (copy_acl, set_acl): Add declarations.
64135         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
64136         systems other than Linux.
64137         (chmod_or_fchmod): New function: use fchmod when possible,
64138         and chmod otherwise.
64139         (file_has_acl): Add a POSIX ACL implementation, with a
64140         Linux-specific subcase.
64141         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
64142         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
64143         acls are unsupported.
64144         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
64145         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
64146         are unsupported.
64147
64148 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
64149
64150         Sync from coreutils.
64151         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
64152
64153 2006-01-07  Bruno Haible  <bruno@clisp.org>
64154
64155         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
64156         gl_EARLY.
64157
64158 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64159
64160         * lib/strftime.c (tzname): Don't declare if it is already #defined.
64161         Problem reported for Mingw by Mark Junker.
64162
64163 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64164
64165         * README: Gnulib normally doesn't generate a tarball.
64166
64167 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
64168
64169         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
64170         long int, not int, for nanosecond counts, so that people who are
64171         used to POSIX struct timespec won't be surprised.  Reported by Jim
64172         Meyering.
64173
64174 2005-12-28  Bruno Haible  <bruno@clisp.org>
64175
64176         * build-aux/config.rpath: Update from GNU gettext.
64177
64178 2005-12-16  Jim Meyering  <jim@meyering.net>
64179
64180         * modules/fprintftime: New module.
64181         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
64182
64183 2005-12-16  Jim Meyering  <jim@meyering.net>
64184
64185         * m4/fprintftime.m4: New file.
64186
64187 2005-12-16  Jim Meyering  <jim@meyering.net>
64188
64189         * lib/fprintftime.c, lib/fprintftime.h: New files.
64190
64191 2005-12-15  Simon Josefsson  <jas@extundo.com>
64192
64193         * modules/socklen (configure.ac): Fix M4 macro name, to align with
64194         new m4/socklen.m4.
64195
64196 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64197
64198         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
64199         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
64200
64201 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64202
64203         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
64204         * lib/argp-help.c (fill_in_uparams): Check if the constructed
64205         struct uparams is valid. Fall back to the default values if it is
64206         not.
64207
64208 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64209
64210         * modules/argp (Files): Add argp-pin.c
64211         (Depends-on): dirname
64212         (lib_SOURCES): Add argp-pin.c
64213
64214 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64215
64216         * m4/argp.m4:  Check if program_invocation_name and
64217         program_invocation_short_name are declared and define appropriate
64218         macros if they are not.
64219
64220 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64221
64222         * lib/argp-help.c (__argp_base_name): New function
64223         (__argp_short_program_name): Rewrite using __argp_base_name
64224         * lib/argp-namefrob.h: Define program_invocation_name and
64225         program_invocation_short_name if requested
64226         (__argp_base_name): Add prototype
64227         * lib/argp-parse.c (argp_def): Use gettext wrappers
64228         (argp_default_parser): Use __argp_base_name
64229         * lib/argp-pin.c: New file. Defines program_invocation_name and
64230         program_invocation_short_name on systems that lack them.
64231
64232 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64233
64234         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
64235         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64236         porting problem reported by Georg Schwarz in
64237         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64238
64239 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64240
64241         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
64242         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
64243         porting problem reported by Georg Schwarz in
64244         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
64245
64246 2005-12-05  Bruno Haible  <bruno@clisp.org>
64247
64248         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
64249         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
64250         Reported by Mark Junker <mjscod@gmx.de>.
64251
64252 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
64253
64254         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
64255         Use implementation from Albert Chin, with some
64256         comments/corrections by Stepan Kasal and myself.
64257
64258 2005-12-02  Bruno Haible  <bruno@clisp.org>
64259
64260         * gnulib-tool (func_import): Accept GPLed build tool modules when
64261         --lgpl is given.
64262         * modules/csharpcomp-script: New file.
64263         * modules/csharpcomp: Depend on it.
64264         * modules/javacomp-script: New file.
64265         * modules/javacomp: Depend on it.
64266         Suggested by Simon Josefsson.
64267
64268 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
64269
64270         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
64271         statement, to work around an HP-UX 10.20 compiler bug reported by
64272         Peter O'Gorman.
64273
64274 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64275
64276         * modules/savedir (Depends-on): Add openat.
64277
64278 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
64279
64280         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
64281         (uintmax_t) [defined uintmax_t]: Do not declare.
64282         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
64283         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
64284         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
64285         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
64286         sake of portability to weird hosts that C allows (though we don't
64287         know of any practical examples).
64288
64289         * lib/savedir.h (fdsavedir): New decl.
64290         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
64291         contains most of the former guts of savedir.
64292         (savedir): Use savedirstream.
64293         Include "openat.h".
64294
64295 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64296
64297         * modules/obstack (Files): Add m4/ulonglong.m4.
64298         Problem reported by Davide Angelocola.
64299
64300 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
64301
64302         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
64303         coreutils no longer futzes with rounding modes.
64304
64305 2005-11-14  Jim Meyering  <jim@meyering.net>
64306
64307         * lib/mkstemp-safer.c: Include <config.h>, required for possible
64308         replacement of mkstemp.
64309
64310 2005-11-10  Simon Josefsson  <jas@extundo.com>
64311
64312         * lib/readline.c: Remove EOL.
64313
64314 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64315
64316         * modules/gethrxtime (Depends-on): Add gettime.
64317
64318 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64319
64320         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
64321         or gettimeofday; no longer needed.
64322
64323 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64324
64325         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
64326         time business.
64327         (gethrxtime) [! (HAVE_NANOUPTIME
64328         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
64329         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
64330         our own approximation.
64331
64332 2005-11-08  Eric Blake  <ebb9@byu.net>
64333
64334         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64335
64336 2005-11-08  Eric Blake  <ebb9@byu.net>
64337
64338         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
64339
64340 2005-11-04  Bruno Haible  <bruno@clisp.org>
64341
64342         * gnulib-tool: Implement --update mode.
64343
64344 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64345
64346         Fix porting problem reported by Theodoros V. Kalamatianos.
64347         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
64348         Don't assume that futimes failing means we must fail.
64349
64350 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64351
64352         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
64353         variables to suggest the intended function of the PATH_MAX check.
64354
64355 2005-10-30  Kean Johnston  <jkj@sco.com>
64356
64357         Trivial changes to support SCO systems.
64358         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
64359         as PATH_MAX.
64360         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
64361         where __ptr is null when no I/O is pending.
64362
64363 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
64364
64365         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
64366         leave errno alone.  Problem reported by Dmitry V. Levin.
64367
64368 2005-10-28  Simon Josefsson  <jas@extundo.com>
64369
64370         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
64371         Test more.
64372
64373         * tests/test-gc-md2.c, tests/test-md2.c: New files.
64374
64375         * modules/md2, modules/md2-tests: New files.
64376
64377 2005-10-28  Simon Josefsson  <jas@extundo.com>
64378
64379         * m4/inet_ntop.m4: More tests.
64380
64381         * m4/gc-md2.m4, md2.m4: New file.
64382
64383 2005-10-28  Simon Josefsson  <jas@extundo.com>
64384
64385         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
64386         "restrict" keywords, as per POSIX.  Protect the function
64387         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
64388         Don't use K&R prototypes.  Check the sprintf return values.
64389         Re-define EAFNOSUPPORT if not present.  Indent.
64390
64391         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
64392         suggested by Bruno Haible <bruno@clisp.org>.
64393
64394         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
64395
64396         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
64397
64398         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
64399         libgcrypt).
64400
64401         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
64402
64403         * lib/md2.h, lib/md2.c: New files.
64404
64405 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
64406
64407         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
64408         errno alone.  Problem reported by Frederic Jolliton.
64409
64410 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
64411
64412         * modules/verify (License): Change from GPL to LGPL.  This is a
64413         tiny module and there are apparently near-equivalents that are
64414         under the BSD license.
64415
64416 2005-10-24  Simon Josefsson  <jas@extundo.com>
64417
64418         * modules/sha1: Relicense to LGPL.
64419
64420 2005-10-24  Simon Josefsson  <jas@extundo.com>
64421
64422         * lib/md4.h: Shrink buffer size, now that we changed the type.
64423
64424 2005-10-23  Simon Josefsson  <jas@extundo.com>
64425
64426         * gnulib-tool (func_import): Fix --tests-base.
64427
64428 2005-10-22  Simon Josefsson  <jas@extundo.com>
64429
64430         * modules/arcfour (Depends-on): Need stdint.
64431
64432 2005-10-22  Simon Josefsson  <jas@extundo.com>
64433
64434         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
64435         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
64436
64437 2005-10-22  Simon Josefsson  <jas@extundo.com>
64438
64439         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
64440         suggested by Bruno Haible <bruno@clisp.org>.
64441
64442 2005-10-22  Simon Josefsson  <jas@extundo.com>
64443
64444         * lib/crc.h: Include stddef.h, for size_t.
64445
64446 2005-10-22  Simon Josefsson  <jas@extundo.com>
64447
64448         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
64449         arcfour_context struct (simplify test vector testing in GNU
64450         Shishi).
64451
64452 2005-10-21  Simon Josefsson  <jas@extundo.com>
64453
64454         * modules/des, modules/des-tests: New files.
64455
64456         * modules/gc-des, modules/gc-des-tests: New files.
64457
64458         * tests/test-des.c, tests/test-gc-des.c: New file.
64459
64460 2005-10-21  Simon Josefsson  <jas@extundo.com>
64461
64462         * modules/arctwo, modules/arctwo-tests: New files.
64463
64464         * tests/test-arctwo.c: New file.
64465
64466         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
64467
64468         * tests/test-gc-arctwo.c: New file.
64469
64470 2005-10-21  Simon Josefsson  <jas@extundo.com>
64471
64472         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
64473         Bruno Haible <bruno@clisp.org>.
64474
64475         * m4/gc-des.m4: New file.
64476
64477 2005-10-21  Simon Josefsson  <jas@extundo.com>
64478
64479         * m4/arctwo.m4: New file.
64480
64481         * m4/gc-arctwo.m4: New file.
64482
64483 2005-10-21  Simon Josefsson  <jas@extundo.com>
64484
64485         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
64486         block.
64487
64488 2005-10-21  Simon Josefsson  <jas@extundo.com>
64489
64490         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
64491         <bruno@clisp.org>.
64492
64493         * lib/hmac-sha1.c (hmac_sha1): Likewise.
64494
64495         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
64496         Bruno Haible <bruno@clisp.org>.
64497
64498         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
64499         <bruno@clisp.org>.
64500
64501 2005-10-21  Simon Josefsson  <jas@extundo.com>
64502
64503         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
64504
64505 2005-10-21  Simon Josefsson  <jas@extundo.com>
64506
64507         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
64508
64509 2005-10-21  Simon Josefsson  <jas@extundo.com>
64510
64511         * lib/des.h, lib/des.c: New files.
64512
64513         * lib/gc-gnulib.c: Support DES.c
64514
64515 2005-10-21  Simon Josefsson  <jas@extundo.com>
64516
64517         * lib/arctwo.h, lib/arctwo.c: New files.
64518
64519         * lib/gc-gnulib.c: Support ARCTWO.
64520
64521 2005-10-21  Simon Josefsson  <jas@extundo.com>
64522
64523         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
64524         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64525
64526 2005-10-21  Simon Josefsson  <jas@extundo.com>
64527
64528         * gnulib-tool (func_import, func_create_testdir): Define automake
64529         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
64530         Makefile.am snippet),
64531         suggested by Bruno Haible <bruno@clisp.org>.
64532
64533         * modules/gc (Makefile.am): Use it.
64534
64535 2005-10-21  Bruno Haible  <bruno@clisp.org>
64536
64537         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
64538         patch.
64539
64540 2005-10-19  Simon Josefsson  <jas@extundo.com>
64541
64542         * tests/test-gc-rijndael.c: New file.
64543
64544         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
64545
64546 2005-10-19  Simon Josefsson  <jas@extundo.com>
64547
64548         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
64549         interface too.
64550
64551 2005-10-19  Simon Josefsson  <jas@extundo.com>
64552
64553         * tests/test-gc-arcfour.c: New file.
64554
64555         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
64556
64557 2005-10-19  Simon Josefsson  <jas@extundo.com>
64558
64559         * modules/gc-md4, modules/gc-md4-tests: New file.
64560
64561         * tests/test-gc-md4.c: New file.
64562
64563 2005-10-19  Simon Josefsson  <jas@extundo.com>
64564
64565         * m4/gc-md4.m4: New file.
64566
64567 2005-10-19  Simon Josefsson  <jas@extundo.com>
64568
64569         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
64570         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
64571         <kasal@ucw.cz>.
64572
64573 2005-10-19  Simon Josefsson  <jas@extundo.com>
64574
64575         * m4/gc-arcfour.m4: New file.
64576
64577         * m4/gc-rijndael.m4: New file.
64578
64579 2005-10-19  Simon Josefsson  <jas@extundo.com>
64580
64581         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
64582
64583 2005-10-19  Simon Josefsson  <jas@extundo.com>
64584
64585         * lib/gc-gnulib.c: Support ARCFOUR.
64586
64587 2005-10-19  Simon Josefsson  <jas@extundo.com>
64588
64589         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
64590         support.
64591
64592         * lib/gc.h: Add ECB enum type.
64593
64594         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
64595
64596 2005-10-18  Simon Josefsson  <jas@extundo.com>
64597
64598         * tests/test-md5.c: New file.
64599
64600         * modules/md5-tests: New file.
64601
64602 2005-10-18  Simon Josefsson  <jas@extundo.com>
64603
64604         * tests/test-md4.c: New file.
64605
64606         * modules/md4, modules/md4-tests: New files.
64607
64608 2005-10-18  Simon Josefsson  <jas@extundo.com>
64609
64610         * m4/md4.m4: New file.
64611
64612 2005-10-18  Simon Josefsson  <jas@extundo.com>
64613
64614         * lib/md4.h, lib/md4.c: New files, based on md5.?.
64615
64616 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
64617
64618         * gnulib-tool (func_create_testdir): Omit the second check whether
64619         BUILT_SOURCES in nonempty.
64620
64621 2005-10-17  Simon Josefsson  <jas@extundo.com>
64622
64623         * tests/test-rijndael.c: New file.
64624
64625 2005-10-17  Simon Josefsson  <jas@extundo.com>
64626
64627         * modules/sha1: Depend on stdint instead of md5.
64628
64629         * modules/md5: Depend on stdint, remove uint32_t.
64630
64631 2005-10-17  Simon Josefsson  <jas@extundo.com>
64632
64633         * modules/gc-sha1-tests: New file.
64634
64635         * tests/test-gc-sha1.c: New file.
64636
64637 2005-10-17  Simon Josefsson  <jas@extundo.com>
64638
64639         * m4/md5.m4: Remove call to uint32_t.m4.
64640
64641 2005-10-17  Simon Josefsson  <jas@extundo.com>
64642
64643         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
64644
64645         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
64646         md5.h.
64647
64648         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
64649
64650         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
64651
64652 2005-10-17  Simon Josefsson  <jas@extundo.com>
64653
64654         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
64655
64656 2005-10-17  Simon Josefsson  <jas@extundo.com>
64657
64658         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
64659
64660 2005-10-17  Simon Josefsson  <jas@extundo.com>
64661
64662         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
64663
64664         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
64665
64666 2005-10-17  Bruno Haible  <bruno@clisp.org>
64667
64668         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
64669         that it can also be used in a test.
64670
64671 2005-10-16  Bruno Haible  <bruno@clisp.org>
64672
64673         * gnulib-tool (func_emit_tests_Makefile_am): Also define
64674         TESTS_ENVIRONMENT, so that individual tests can augment it.
64675
64676         * gnulib-tool (func_create_testdir): Use an intermediate target for
64677         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
64678         macros, like $(ALLOCA_H), which cannot be passed through the command
64679         line.
64680
64681 2005-10-15  Simon Josefsson  <jas@extundo.com>
64682
64683         * modules/rijndael-tests: New file.
64684
64685         * modules/rijndael: New file.
64686
64687 2005-10-15  Simon Josefsson  <jas@extundo.com>
64688
64689         * m4/rijndael.m4: New file.
64690
64691 2005-10-15  Simon Josefsson  <jas@extundo.com>
64692
64693         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
64694
64695         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
64696
64697 2005-10-14  Simon Josefsson  <jas@extundo.com>
64698
64699         * tests/test-arcfour.c: New file.
64700
64701         * modules/arcfour, modules/arcfour-tests: New files.
64702
64703 2005-10-14  Simon Josefsson  <jas@extundo.com>
64704
64705         * m4/arcfour.m4: New file.
64706
64707 2005-10-14  Simon Josefsson  <jas@extundo.com>
64708
64709         * lib/arcfour.h, lib/arcfour.c: New files.
64710
64711 2005-10-14  Roland McGrath  <roland@redhat.com>
64712
64713         Import from libc.  [BZ #1331]
64714         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
64715         macro argument.
64716         Reported by Matej Vela <vela@debian.org>.
64717
64718 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64719
64720         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
64721         include <wchar.h>; no longer needed.
64722
64723 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64724
64725         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
64726
64727 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
64728         and  Ulrich Drepper  <drepper@redhat.com>
64729
64730         Import from libc.
64731         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
64732         instead of inline stream orientation test and two separate
64733         function calls.  Pay no attention to USE_IN_LIBIO.
64734
64735 2005-10-13  Simon Josefsson  <jas@extundo.com>
64736
64737         * modules/gc-hmac-md5-tests: New file.
64738
64739         * tests/test-gc-hmac-sha1.c: New file.
64740
64741         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
64742
64743         * modules/gc-hmac-md5-tests: New file.
64744
64745         * tests/test-gc-md5.c: New file.
64746
64747         * modules/gc-md5-tests: New file.
64748
64749 2005-10-13  Simon Josefsson  <jas@extundo.com>
64750
64751         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
64752         Move memory allocation outside of loop.
64753
64754 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64755
64756         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
64757         intermediate directory is in a read-only file system.  Problem
64758         reported by Eric Blake.
64759
64760 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
64761
64762         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
64763
64764 2005-10-12  Simon Josefsson  <jas@extundo.com>
64765
64766         * tests/test-hmac-sha1.c: New file.
64767
64768         * modules/hmac-sha1-tests: New file.
64769
64770         * modules/hmac-sha1: New file.
64771
64772 2005-10-12  Simon Josefsson  <jas@extundo.com>
64773
64774         * modules/gc-sha1: New file.
64775
64776 2005-10-12  Simon Josefsson  <jas@extundo.com>
64777
64778         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
64779
64780         * tests/test-gc-pbkdf2-sha1.c: New file.
64781
64782 2005-10-12  Simon Josefsson  <jas@extundo.com>
64783
64784         * modules/gc-md5, modules/gc-hmac-md5: New files.
64785
64786         * modules/gc (Files): Remove md5, memxor and hmac files.
64787
64788 2005-10-12  Simon Josefsson  <jas@extundo.com>
64789
64790         * m4/gc-pbkdf2-sha1.m4: New file.
64791
64792         * m4/gc-hmac-sha1.m4: New file.
64793
64794         * m4/gc-sha1: New file.
64795
64796         * m4/hmac-sha1.m4: New file.
64797
64798 2005-10-12  Simon Josefsson  <jas@extundo.com>
64799
64800         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
64801
64802         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
64803
64804 2005-10-12  Simon Josefsson  <jas@extundo.com>
64805
64806         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
64807         suggested by Bruno Haible <bruno@clisp.org>.
64808
64809 2005-10-12  Simon Josefsson  <jas@extundo.com>
64810
64811         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
64812
64813 2005-10-12  Simon Josefsson  <jas@extundo.com>
64814
64815         * lib/gc-pbkdf2-sha1.c: New file.
64816
64817         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
64818
64819 2005-10-12  Simon Josefsson  <jas@extundo.com>
64820
64821         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
64822
64823         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
64824
64825 2005-10-12  Simon Josefsson  <jas@extundo.com>
64826
64827         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
64828         GC_USE_HMAC_MD5, respectively.
64829
64830         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
64831         (gc_md5): Fix typo.
64832
64833         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
64834
64835         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
64836
64837         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
64838
64839 2005-10-12  Bruno Haible  <bruno@clisp.org>
64840
64841         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
64842         Reported by Stepan Kasal <kasal@ucw.cz>.
64843
64844 2005-10-11  Simon Josefsson  <jas@extundo.com>
64845
64846         * tests/test-crc.c: New file.
64847
64848         * modules/crc, modules/crc-tests: New files.
64849
64850 2005-10-11  Simon Josefsson  <jas@extundo.com>
64851
64852         * m4/crc.m4: New file.
64853
64854 2005-10-11  Simon Josefsson  <jas@extundo.com>
64855
64856         * lib/gc.h: Add gc_hash and gc_hash_buffer.
64857
64858         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
64859
64860         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
64861
64862 2005-10-11  Simon Josefsson  <jas@extundo.com>
64863
64864         * lib/crc.h, lib/crc.c: New files.
64865
64866         * lib/gc.h (gc_hash_buffer): Add doc.
64867
64868 2005-10-11  Bruno Haible  <bruno@clisp.org>
64869
64870         * modules/c-strcasestr: New file.
64871         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
64872
64873 2005-10-11  Bruno Haible  <bruno@clisp.org>
64874
64875         * modules/c-strcase: New file.
64876         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
64877
64878 2005-10-11  Bruno Haible  <bruno@clisp.org>
64879
64880         * lib/strcasecmp.c: Include limits.h.
64881         (strcasecmp): Avoid integer overflow on exotic platforms.
64882         * lib/strncasecmp.c: Include limits.h.
64883         (strncasecmp): Avoid integer overflow on exotic platforms.
64884         Reported by Paul Eggert.
64885
64886 2005-10-11  Bruno Haible  <bruno@clisp.org>
64887
64888         * lib/c-strcasestr.h: New file, from GNU gettext.
64889         * lib/c-strcasestr.c: New file, from GNU gettext.
64890
64891 2005-10-11  Bruno Haible  <bruno@clisp.org>
64892
64893         * lib/c-strcase.h: New file, from GNU gettext.
64894         * lib/c-strcasecmp.c: New file, from GNU gettext.
64895         * lib/c-strncasecmp.c: New file, from GNU gettext.
64896
64897 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64898
64899         * modules/mempcpy (License): GPL -> LGPL.
64900         * modules/strchrnul (License): Likewise.
64901         * modules/sysexits (License): Likewise.
64902
64903 2005-10-08  Simon Josefsson  <jas@extundo.com>
64904
64905         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
64906
64907 2005-10-07  Simon Josefsson  <jas@extundo.com>
64908
64909         * m4/memxor.m4: Remove gl_C_RESTRICT call.
64910
64911 2005-10-06  Simon Josefsson  <jas@extundo.com>
64912
64913         * tests/test-hmac-md5.c: New file.
64914
64915         * modules/hmac-md5-tests: New file.
64916
64917         * modules/hmac-md5: New file.
64918
64919 2005-10-06  Simon Josefsson  <jas@extundo.com>
64920
64921         * m4/hmac-md5.m4: New file.
64922
64923         * m4/memxor.m4: Require gl_C_RESTRICT.
64924
64925 2005-10-06  Simon Josefsson  <jas@extundo.com>
64926
64927         * lib/memxor.c (memxor): Avoid casts and warnings.
64928
64929 2005-10-06  Simon Josefsson  <jas@extundo.com>
64930
64931         * lib/hmac-md5.c: New file.
64932
64933         * lib/hmac.h: New file.
64934
64935 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
64936
64937         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
64938         promotes to int, not unsigned int, to catch the AIX 5.3
64939         compiler bug.
64940
64941 2005-10-05  Simon Josefsson  <jas@extundo.com>
64942
64943         * modules/memxor: New file.
64944
64945         * modules/iconv (Files): Move config.rpath to havelib, it is used
64946         there.
64947
64948         * modules/havelib (Files): Add config.rpath.
64949
64950 2005-10-05  Simon Josefsson  <jas@extundo.com>
64951
64952         * m4/memxor.m4: New file.
64953
64954 2005-10-05  Simon Josefsson  <jas@extundo.com>
64955
64956         * lib/memxor.c (memxor): Fix compiler error.
64957
64958         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
64959         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
64960
64961         * lib/memxor.h, lib/memxor.c: New files.
64962
64963         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
64964         we assume all systems have it, suggested by Jim Meyering
64965         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
64966         any systems lack sys/socket.h; mingw32 is known to lack it, but we
64967         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
64968         same reasons.
64969
64970 2005-10-05  Simon Josefsson  <jas@extundo.com>
64971
64972         * config/srclist.txt: Add glibc bug 1423 for md5.h.
64973
64974 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64975
64976         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
64977         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
64978         needed, since the source code now assumes these .h files.
64979
64980 2005-10-05  Derek Price  <derek@ximbiot.com>
64981
64982         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
64983
64984 2005-10-05  Bruno Haible  <bruno@clisp.org>
64985
64986         * modules/stdint (License): Change to LGPL.
64987
64988 2005-10-04  Simon Josefsson  <jas@extundo.com>
64989
64990         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
64991         D. Baushke" <mdb@gnu.org>.
64992
64993 2005-10-04  Bruno Haible  <bruno@clisp.org>
64994
64995         * lib/verify.h (verify_true): Provide alternative definition for C++.
64996
64997 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64998
64999         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
65000         (SSIZE_MAX): New macro, if not already defined.
65001         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
65002         than 2 GiB.
65003
65004 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65005
65006         Sync from coreutils.
65007         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
65008         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
65009         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
65010         ULLONG_MAX doesn't work with 2.7.2.1.
65011
65012 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65013
65014         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
65015         From Ben Pfaff.
65016
65017         * modules/exclude (Depends-on): Depend on verify.
65018         * modules/strtoimax (Depends-on): Likewise.
65019         * modules/utimecmp (Depends-on): Likewise.
65020
65021 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
65022
65023         * lib/exclude.c: Include verify.h.
65024         (verify): Remove.  All callers changed to use verify.h's version.
65025         * lib/strtoimax.c: Likewise.
65026         * lib/utimecmp.c: Likewis.e
65027
65028         Sync from coreutils.
65029         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
65030         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
65031         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
65032         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
65033         bother returning ENOSYS if settimeofday or stime fails; just let
65034         them return whatever errno they want to return.
65035         * lib/utimens.c: Include unistd.h, for dup2.
65036         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
65037         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
65038
65039 2005-10-02  Jim Meyering  <jim@meyering.net>
65040
65041         Sync from coreutils.
65042         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
65043         from glibc-2.2.5 that fails for read-only files.
65044
65045 2005-10-02  Jim Meyering  <jim@meyering.net>
65046
65047         Sync from coreutils.
65048         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
65049         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
65050         `#if HAVE_CONFIG_H'.
65051         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
65052         Remove AT_FDCWD test.
65053         Do not consume the fd unless successful.
65054         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
65055         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
65056         block, so that we don't even try to compile it if settimeofday is
65057         available.  This works around a compilation failure on OSF1 V5.1,
65058         due to stime requiring a `long int*' while tv_sec is `int'.
65059
65060 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
65061
65062         Sync from coreutils.
65063         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
65064         against `yes', rather than just testing for nonempty.
65065
65066 2005-10-01  Simon Josefsson  <jas@extundo.com>
65067
65068         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
65069         and Darwin.
65070
65071         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
65072         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
65073         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
65074         freeaddrinfo and gai_strerror are declared by the POSIX headers.
65075         Check if struct addrinfo is declared.
65076
65077 2005-10-01  Simon Josefsson  <jas@extundo.com>
65078
65079         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
65080         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
65081         AI_* and EAI_* definitions.  Protect function declarations.
65082
65083 2005-10-01  Jim Meyering  <jim@meyering.net>
65084
65085         Sync from coreutils.
65086
65087         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
65088         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
65089         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
65090         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
65091         in the inet and nsl libraries.  Required on Solaris 5.7.
65092
65093 2005-10-01  Jim Meyering  <jim@meyering.net>
65094
65095         Sync from coreutils.
65096         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
65097         in the inet and nsl libraries.  Required on Solaris 5.7.
65098
65099 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
65100
65101         * lib/getdelim.c (getdelim): Remove unused variables.
65102
65103 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
65104
65105         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
65106         so that the code works even with ancient cpp.  Portability problem
65107         with GCC 2.7.2.1 reported by Thomas M.Ott.
65108
65109 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
65110
65111         * modules/regex (Depends-on): Add strcase.
65112
65113         * modules/gethostname (Licence): Change from GPL to LGPL, since
65114         gethostname.c is a trivial implementation of a standard library
65115         function.
65116         * modules/poll (License): Change from GPL to LGPL, since it's
65117         derived from LGPL code.
65118
65119 2005-09-27  Jim Meyering  <jim@meyering.net>
65120
65121         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
65122         HAVE_CONFIG_H.
65123
65124         * lib/intprops.h (signed_type_or_expr__): Define.
65125         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
65126         for unsigned types.
65127
65128 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
65129
65130         * lib/verify.h (verify_expr): Remove, replacing with:
65131         (verify_true): New macro that returns true instead of void.
65132         (verify_type__): Remove.
65133         (verify): Use verify_true rather than verify_type__.
65134
65135 2005-09-26  Bruno Haible  <bruno@clisp.org>
65136
65137         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
65138         is necessary.
65139         (lib_SOURCES): Remove mbchar.c.
65140         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
65141         (Files): Add m4/mbrtowc.m4.
65142         * modules/mbiter: Likewise.
65143         * modules/mbuiter: Likewise.
65144
65145 2005-09-26  Bruno Haible  <bruno@clisp.org>
65146
65147         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
65148         compile mbchar.c if they are not both present.
65149         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
65150         * m4/mbiter.m4 (gl_MBITER): Likewise.
65151         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
65152         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
65153         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
65154
65155 2005-09-25  Jim Meyering  <jim@meyering.net>
65156
65157         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
65158         also uses socklen_t.
65159
65160 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
65161
65162         * lib/utimens.c (ENOSYS): Define if not already defined.
65163         (futimens): Support having a null PATH if the file descriptor
65164         is nonnegative.
65165
65166         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
65167         Remove.
65168         (__attribute): Define to empty unless GCC 3.1 or later.
65169         This works around a core dump on OpenBSD 3.4, which has GCC
65170         2.95.3, which dumps core when given __attribute__(()).  It also
65171         simplifies other tests, since we really don't want to bother with
65172         worrying about which ancient version of GCC supported what.
65173         Original problem reported by Yoann Vandoorselaere, with part of
65174         the fix suggested by Derek Price.
65175
65176 2005-09-24  Jim Meyering  <jim@meyering.net>
65177
65178         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
65179         so we can once again use a positive bitfield width of 1 -- now we
65180         don't have to explain why we were using a bitfield width of 2.
65181
65182 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65183
65184         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
65185         and similarly for the other external symbols.  Problem reported
65186         by James Gallager.
65187
65188         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
65189         bug reported by Jim Meyering.
65190
65191         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
65192         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
65193         not needed, since socklen is a prerequisite module.
65194
65195 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
65196
65197         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
65198         Problem reported by Eric Blake.
65199         (getaddrinfo): Initialize se so that it's not garbage.
65200         Redo internal storage allocation so that it doesn't make unportable
65201         assumptions about alignment.
65202         Fix a memory leak.
65203
65204         * lib/utimens.c (futimens): Use futimesat if available.
65205         Prefer it to futimes since it doesn't have the futimes bug.
65206
65207         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
65208         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
65209         Instead, declare a function that returns a pointer to an array,
65210         and use verify_type__ to declare the size of the array.
65211         Problem and germ of a solution reported by Bruno Haible.
65212         (verify_type__): Use 2, not 1, for bitfield size, to avoid
65213         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
65214
65215 2005-09-23  Jim Meyering  <jim@meyering.net>
65216
65217         Sync from coreutils.
65218         Correct build failure (socklen_t not defined) on at least
65219         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
65220         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
65221
65222 2005-09-23  Jim Meyering  <jim@meyering.net>
65223
65224         * modules/getaddrinfo (Depends-on): Add socklen.
65225
65226 2005-09-23  Bruno Haible  <bruno@clisp.org>
65227
65228         * tests/test-verify.c: New file.
65229
65230 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65231
65232         Sync from coreutils.
65233
65234         * modules/argmatch (Depends-on): Add verify.
65235         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
65236         unistd-safer.
65237         * modules/save-cwd (Depends-on): Likewise.
65238
65239         * modules/openat (Files): Add lib/openat-die.c.
65240         (Depends-on): Remove error, exitfail.
65241         Add dirname.
65242
65243         * modules/verify: New file.
65244         * MODULES.html.sh (Diagnostics <assert.h>): New section,
65245         with "verify" module.
65246
65247 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65248
65249         Sync from coreutils.
65250
65251         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
65252         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
65253         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
65254         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
65255         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
65256         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
65257         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
65258         Don't bother checking for string.h, stdlib.h, unistd.h.
65259         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
65260         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
65261         module's job.
65262         * m4/jm-macros.m4 (gl_MACROS): Likewise.
65263         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
65264
65265         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
65266         (gl_GETDATE): Use it.
65267
65268         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
65269
65270 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65271
65272         Sync from coreutils.
65273
65274         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
65275         stat-time.h.
65276         * lib/argmatch.h: Include verify.h
65277         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
65278         (ARGMATCH_ASSERT): Remove; unused.
65279         * lib/canonicalize.c: Assume STDC_HEADERS.
65280         * lib/exclude.c: Include "strcase.h".
65281         * lib/regex_internal.h [!defined _LIBC]: Likewise.
65282         * lib/getusershell.c: Include stdio--.h rather than stdio.h
65283         and stdio-safer.h.
65284         (getusershell): Call fopen, not fopen_safer.
65285         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
65286         Do not include unistd-safer.h.
65287         (save_cwd): Don't call fd_safer; no longer needed
65288         now that we include fcntl--.h.
65289
65290         * lib/getdate.y (relative_time): New type.
65291         (RELATIVE_TIME_0): New constant.
65292         (parser_control): Use relative_time instead of doing it ourselves.
65293         (%union): Add new relative_time rel member.
65294         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
65295         Now typeless.
65296         (relunit, relunit_snumber): Now of type rel.
65297         (zone, rel, relunit, get_date): Adjust to above changes.
65298
65299         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
65300         Do not include unistd-safer.h.
65301         (getloadavg): Don't call fd_safer; no longer needed
65302         now that we include fcntl--.h.
65303
65304         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
65305         (make_dir_parents): Treat ENOSYS like EEXIST.
65306
65307         Improve quality of diagnostics on restore_cwd failure.
65308         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
65309         (make_dir_parents): Last arg is now int * (for errno), not bool *.
65310         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
65311         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
65312         each time through the loop.  Do not diagnose restore_cwd failure;
65313         that is the caller's job (and perhaps the caller does not care).
65314
65315         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
65316         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
65317         If the file already exists but is not a directory, don't bother
65318         to try to make its parents.
65319         Close potential file descriptor leak if we can't chdir("/") (!).
65320         Don't always return true if chdir($PWD) fails; return true only
65321         if the requested action was done successfully (except for the
65322         chdir($PWD)).
65323         Don't log final directory unless we actually made it.
65324         Refactor to avoid duplicate code to fix up permissions.
65325         Don't attempt to fix up parent permissions if chdir($PWD) fails.
65326
65327         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
65328         to make it a bit faster and (I hope) clearer.
65329         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
65330         Fix bug in formats like %2N.
65331
65332         * lib/verify.h: New file.
65333
65334 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65335
65336         Sync from coreutils.
65337         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
65338
65339 2005-09-22  Jim Meyering  <jim@meyering.net>
65340
65341         Sync from coreutils.
65342
65343         * m4/lstat.m4 (gl_FUNC_LSTAT):
65344         Use AC_LIBSOURCES to require lstat.c and lstat.h.
65345         Remove obsolete comment.
65346         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
65347         * m4/xstrtod.m4: Likewise.
65348
65349         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
65350
65351 2005-09-22  Jim Meyering  <jim@meyering.net>
65352
65353         Sync from coreutils.
65354
65355         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
65356
65357         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
65358         the .tm_year member, since otherwise gcc-4.0 would now warn about
65359         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
65360
65361         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
65362         order to avoid an unsuppressible warning from gcc on 64-bit systems.
65363
65364         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
65365         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
65366         when run in a time zone for which daylight savings time is in effect
65367         for the starting date.
65368
65369         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
65370         stop us from restricting permissions of just-created absolute-named
65371         directories.
65372         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
65373         to restore initial working directory.
65374         * lib/mkdir-p.c (make_dir_parents): New parameter:
65375         different_working_dir, to tell caller if/when we change the working
65376         directory and are unable to return to the initial one.
65377         * lib/mkdir-p.h (make_dir_parents): Update prototype.
65378         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
65379         `return false'.  This fixes a bug introduced on 2004-07-30.
65380
65381         * lib/openat.c (fdopendir): Be sure to close the supplied
65382         file descriptor before returning.  This makes our replacement
65383         implementation a little closer to Solaris's, where fdopendir
65384         ties the file descriptor to the returned DIR* pointer.
65385         * lib/openat.c (unlinkat): New function.
65386         * lib/openat.h (unlinkat): Add prototype.
65387         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
65388         (openat_restore_fail): Rename from openat_restore_die.
65389         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
65390
65391         Provide an alternative to exiting immediately upon save_cwd or
65392         restore_cwd failure.  Now, an application can arrange e.g.,
65393         to perform a longjump in that case.
65394         * lib/openat.c: Include dirname.h.
65395         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
65396         (rpl_openat, fdopendir, fstatat): Call openat_save_die
65397         and openat_restore_die rather than calling error directly.
65398         Don't include "error.h" or "exitfail.h"; they're no longer needed.
65399
65400         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
65401         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
65402         define.
65403
65404         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
65405         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
65406                             int utc, int nanoseconds);
65407         Background:
65408         date should not have to allocate a megabyte of virtual memory to
65409         handle a format argument like +%1048575T.  When implemented with
65410         strftime, it must allocate such a buffer, use strftime to fill it
65411         in, print it, then free it.
65412         With fprintftime, it simply prints everything and exits.
65413         With no need for memory allocation, that's one fewer way to fail.
65414         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
65415         optional field width, not before, so we accept %9:z, not %:9z.
65416         (my_strftime): Be sure to use L_('x') for literals.
65417
65418         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
65419         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
65420         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
65421         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
65422         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
65423         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
65424         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
65425         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
65426         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
65427         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
65428         * lib/xgethostname.c, lib/xreadlink.c:
65429         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
65430
65431         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
65432         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
65433         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
65434         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65435         and don't include <sys/file.h>).
65436
65437 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
65438
65439         Sync from coreutils.
65440
65441         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
65442         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
65443         [!LDAV_DONE]: Avoid unused variable warning.
65444
65445 2005-09-21  Bruno Haible  <bruno@clisp.org>
65446
65447         * lib/unicodeio.h (unicode_to_mb): New declaration.
65448
65449 2005-09-20  Derek Price  <derek@ximbiot.com>
65450
65451         * lib/getaddrinfo.c: Don't include <netdb.h> included from
65452         getaddrinfo.h.
65453
65454 2005-09-20  Bruno Haible  <bruno@clisp.org>
65455
65456         * gnulib-tool: Remove trailing slashes from the values specified for
65457         --source-base, --m4-base, --tests-base, --aux-dir.
65458         Suggested by Simon Josefsson <jas@extundo.com>.
65459
65460 2005-09-20  Bruno Haible  <bruno@clisp.org>
65461
65462         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
65463         func_modules_to_filelist, func_import, func_create_testdir): Make all
65464         sorting results locale-independent, so that gnulib-cache.m4 doesn't
65465         change when gnulib-tool is invoked in a different locale.
65466
65467 2005-09-19  Simon Josefsson  <jas@extundo.com>
65468
65469         * m4/socklen.m4: Fix typo.
65470
65471 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65472
65473         Use a consistent style for including <config.h>.
65474         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
65475         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
65476         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
65477         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
65478         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
65479         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
65480         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
65481         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
65482         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
65483         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
65484         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
65485         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
65486         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
65487         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
65488         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
65489         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
65490         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
65491         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
65492         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
65493         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
65494         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
65495         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
65496         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
65497         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
65498         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
65499         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
65500         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
65501         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
65502         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
65503         lib/xstrtoumax.c, lib/yesno.c:
65504         Standardize inclusion of config.h.
65505         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
65506         lib/inttostr.h:  Removed inclusion of config.h from header files.
65507         * lib/inttostr.c:  Adjusted in-tree users.
65508         * lib/timespec.h: Remove superfluous warning to include config.h.
65509         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
65510         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
65511         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
65512         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
65513         config.h with HAVE_CONFIG_H.
65514
65515 2005-09-19  Jim Meyering  <jim@meyering.net>
65516
65517         * modules/pathmax (License): Change to LGPL.
65518
65519 2005-09-19  Derek Price  <derek@ximbiot.com>
65520
65521         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
65522
65523 2005-09-19  Bruno Haible  <bruno@clisp.org>
65524
65525         * gnulib-tool (import): Provide default for --tests-base.
65526
65527 2005-09-19  Bruno Haible  <bruno@clisp.org>
65528
65529         * doc/quote.texi: New file, extracted from gnulib.texi.
65530         * doc/ctime.texi: New file, extracted from gnulib.texi.
65531         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
65532         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
65533         * doc/gnulib.texi: Include them.
65534
65535 2005-09-18  Bruno Haible  <bruno@clisp.org>
65536
65537         Portability fix.
65538         * gnulib-tool (func_readlink): New function.
65539         (func_ln_if_changed): Use it.
65540
65541 2005-09-18  Bruno Haible  <bruno@clisp.org>
65542
65543         * gnulib-tool: Support --with-tests also with --import.
65544         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
65545         (func_import): Use variables $testsbase and $inctests. Emit a
65546         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
65547         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
65548         SUBDIRS += $testsdir.
65549         (func_create_testdir): Update.
65550
65551 2005-09-18  Bruno Haible  <bruno@clisp.org>
65552
65553         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
65554         instead of $dry_run.
65555         (func_cp_if_changed, func_mv_if_changed): Remove functions.
65556         (func_ln_if_changed): Don't handle dry-run here.
65557         (func_import): In dry-run mode, detect more precisely which actions
65558         would be performed, and don't use "...ing" verbs.
65559
65560 2005-09-18  Bruno Haible  <bruno@clisp.org>
65561
65562         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
65563         (func_import): Use join on two temporary files instead of three nested
65564         loops, in order to determine which files are new or old.
65565
65566 2005-09-18  Bruno Haible  <bruno@clisp.org>
65567
65568         * gnulib-tool (func_import): Comment out code that spits out the
65569         new files with --dry-run.
65570
65571 2005-09-18  Bruno Haible  <bruno@clisp.org>
65572
65573         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
65574
65575 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65576
65577         * lib/stat-time.h: New file.
65578         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
65579         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
65580         in a different way.
65581         (timespec_cmp): New function.
65582         * lib/utimecmp.c: Include stat-time.h.
65583         (SYSCALL_RESOLUTION): Depend on whether various struct stat
65584         members exist, not on the obsolescent ST_MTIM_NSEC.
65585         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
65586
65587 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65588
65589         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
65590
65591 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
65592
65593         * MODULES.html.sh (File system functions): Add stat-time.
65594         * modules/stat-time: New file.
65595         * modules/timespec (Files): Remove m4/st_mtim.m4; this
65596         is now done in a different way, by the stat-time module.
65597         * modules/utimecmp (Depends-on): Add stat-time.
65598
65599 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65600
65601         * m4/st_mtim.m4: Remove.  Superseded by...
65602         * m4/stat-time.m4: New file.
65603         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
65604         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
65605
65606 2005-09-15  Derek Price  <derek@ximbiot.com>
65607
65608         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
65609
65610 2005-09-15  Derek Price  <derek@ximbiot.com>
65611
65612         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
65613         * lib/regex_internal.c: Ditto, using this...
65614         (__GNUC_PREREQ): ...new macro.
65615         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
65616         using...
65617         (__GNUC_PREREQ): ...this new macro.
65618
65619         * lib/strstr.h: Include string.h. Define strstr as a macro here.
65620
65621 2005-09-15  Derek Price  <derek@ximbiot.com>
65622             Paul Eggert  <eggert@cs.ucla.edu>
65623
65624         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
65625         changes, consolidating in...
65626         * lib/regex_internal.h: ...this file.
65627
65628 2005-09-13  Jim Meyering  <jim@meyering.net>
65629
65630         * lib/canon-host.c: Filter through gnu indent and reword comments
65631         slightly.
65632         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
65633
65634 2005-09-13  Derek Price  <derek@ximbiot.com>
65635
65636         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
65637         failure.
65638         Reported by Jim Meyering  <jim@meyering.net>.
65639
65640 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65641
65642         * lib/base64.c: Typo.
65643         (base64_encode): Put b64str in initialized data section.
65644
65645 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65646
65647         Merge glibc and coreutils changes into gnulib, plus a few
65648         extra fixes.
65649         * lib/md5.c: Use #error rather than a string.
65650         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
65651         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
65652         (__attribute__): Define to empty for non recent-GCC.
65653         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
65654         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
65655         Renamed from their non-__ counterparts, with new macros replacing
65656         them if not _LIBC.  Add __THROW attribute.
65657         (rol): Remove.
65658         (struct md5_ctx): Align buffer if using GCC.
65659         * lib/sha1.h (struct sha1_ctx): Likewise.
65660         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
65661         The old name was backwards.
65662         (NOTSWAP): Remove; not used.
65663         (rol): New macro, moved here from md5.h.
65664         (sha1_process_block): Remove a FIXME that doesn't make sense.
65665
65666 2005-09-12  Derek Price  <derek@ximbiot.com>
65667
65668         Return usable errors from canon-host.
65669         * lib/canon-host.h: New file.
65670         * lib/canon-host.c (canon_host): Wrap...
65671         (canon_host_r): ...this new function, which now relies exclusively on
65672         getaddrinfo.
65673         (ch_strerror): New function.
65674         (last_cherror): New global.
65675         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
65676         interface.
65677         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
65678         void *.
65679         (freeaddrinfo): Free ai->ai_canonname when set.
65680
65681 2005-09-12  Derek Price  <derek@ximbiot.com>
65682
65683         Make canon-host require getaddrinfo.
65684         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
65685         AC_LIBSOURCE canon-host.h.  Call...
65686         (gl_PREREQ_CANON_HOST): ...this new function, which requires
65687         gl_GETADDRINFO.
65688         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
65689
65690 2005-09-12  Derek Price  <derek@ximbiot.com>
65691
65692         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
65693         LGPL.
65694         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
65695
65696 2005-09-12  Derek Price  <derek@ximbiot.com>
65697
65698         * lib/gai_strerror.c: Include config.h when available.  Include
65699         getaddrinfo.h before other headers to test interface.
65700         Reported by Larry Jones <lawrence.jones@ugs.com>.
65701
65702 2005-09-12  Derek Price  <derek@ximbiot.com>
65703             Paul Eggert  <eggert@cs.ucla.edu>
65704
65705         * modules/glob (Files): Add glob-libc.h.
65706
65707 2005-09-12  Derek Price  <derek@ximbiot.com>
65708             Paul Eggert  <eggert@cs.ucla.edu>
65709
65710         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
65711         glob_.h, glob-libc.h.
65712         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
65713
65714 2005-09-12  Derek Price  <derek@ximbiot.com>
65715             Paul Eggert  <eggert@cs.ucla.edu>
65716
65717         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
65718         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
65719         protecting things that should be done only in gnulib contexts.
65720         * lib/glob_.h: New file, containing only the glob things needed for
65721         gnulib.
65722         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
65723         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
65724         (glob, globfree, glob_pattern_p): Now defined simply in terms of
65725         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
65726         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
65727         and to respect the namespace rules better.
65728
65729 2005-09-08  Simon Josefsson  <jas@extundo.com>
65730
65731         * modules/socklen: New file.
65732
65733 2005-09-08  Simon Josefsson  <jas@extundo.com>
65734
65735         * m4/socklen.m4: New file.
65736
65737 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65738
65739         * modules/utimens (Files): Add m4/utimbuf.m4, since
65740         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
65741         Reported by Sergey Poznyakoff.
65742
65743 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65744
65745         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
65746         definitions, since that's the preferred style in glibc.
65747         Fix a minor spacing issue, and update copyright notice to match
65748         glibc's.
65749
65750 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65751
65752         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
65753
65754 2005-09-06  Simon Josefsson  <jas@extundo.com>
65755
65756         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
65757         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
65758
65759 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65760
65761         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
65762         warning.
65763
65764 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65765
65766         * config/srclist.txt: Add glibc bug 1302.
65767
65768 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
65769
65770         Change bitset word type from unsigned int to unsigned long int,
65771         as this has better performance on typical 64-bit hosts.
65772         Port bitset code to hosts with unusual word sizes.
65773         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
65774         (build_collating_symbol):
65775         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
65776         argument is a bitset.  This is merely a style issue, but it makes
65777         it clearer that an entire array is expected.
65778         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
65779         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
65780         Port to the case where bitset_word is not the same as unsigned int.
65781         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
65782         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
65783         Likewise.
65784         * lib/regexec.c (check_dst_limits_calc_pos_1,
65785         check_subexp_matching_top):
65786         (build_trtable, group_nodes_into_DFAstates):
65787         Likewise.
65788         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
65789         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
65790         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
65791         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
65792         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
65793         * lib/regcomp.c (optimize_subexps, lower_subexp):
65794         Work even if bitset_word has holes in its bitwise representation.
65795         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
65796         * lib/regexec.c (check_dst_limits_calc_pos_1,
65797         check_subexp_matching_top):
65798         Likewise.
65799         * lib/regex_internal.c (re_string_reconstruct):
65800         Don't assume UCHAR_MAX == 255.
65801         * lib/regex_internal.h (bitset_set_all): Likewise.
65802         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
65803         All uses changed.
65804         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
65805         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
65806         All uses changed.
65807         (BITSET_WORD_MAX): New macro.
65808         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
65809         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
65810         (bitset_empty, bitset_copy):
65811         Prefer sizeof (bitset) to multiplying it out ourselves.
65812         (bitset_not_merge): Remove; unused.
65813         (bitset_contain): Return bool, not unsigned int with one bit on.
65814         All callers changed.
65815         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
65816         alignment than re_node_set; do this by defining a new internal
65817         type struct dests_alloc and using it to allocate memory.
65818
65819 2005-09-05  Bruno Haible  <bruno@clisp.org>
65820
65821         * gnulib-tool (func_import): Fix comparison in handling of symbolic
65822         links.
65823
65824 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
65825
65826         * modules/size_max (Makefile.am): Add size_max.h
65827
65828 2005-09-04  Derek Price  <derek@ximbiot.com>
65829
65830         * gnulib-tool (func_import): Fix reversed $symbolic logic.
65831
65832 2005-09-03  Simon Josefsson  <jas@extundo.com>
65833
65834         * gnulib-tool: Fix typo.
65835
65836 2005-09-03  Simon Josefsson  <jas@extundo.com>
65837
65838         * config/srclist.txt: Add glibc bug 1293.
65839
65840 2005-09-03  Derek Price  <derek@ximbiot.com>
65841
65842         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
65843         From Larry Jones <lawrence.jones@ugs.com>.
65844
65845 2005-09-02  Simon Josefsson  <jas@extundo.com>
65846
65847         * modules/socklen: New file.
65848
65849 2005-09-02  Simon Josefsson  <jas@extundo.com>
65850
65851         * modules/havelib: New module.
65852
65853         * modules/gettext, modules/iconv, modules/lock, modules/readline:
65854         Use havelib.
65855
65856 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65857
65858         Check for arithmetic overflow when calculating sizes, to prevent
65859         some buffer-overflow issues.  These patches are conservative, in the
65860         sense that when I couldn't determine whether an overflow was possible,
65861         I inserted a run-time check.
65862         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
65863         macros.
65864         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
65865         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
65866         (re_xnrealloc, re_x2nrealloc): New inline functions.
65867         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
65868         parse_bracket_exp):
65869         (build_equiv_class, build_charclass): Check for arithmetic overflow
65870         in size expression calculations.
65871         * lib/regex_internal.c (re_string_realloc_buffers):
65872         (build_wcs_upper_buffer, re_node_set_add_intersect):
65873         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
65874         (re_dfa_add_node, register_state): Likewise.
65875         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
65876         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
65877         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
65878         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
65879
65880 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65881
65882         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
65883         m4/ulonglong.m4.  Problem reported by Martin Lambers.
65884
65885 2005-09-02  Bruno Haible  <bruno@clisp.org>
65886
65887         Support for lib vs. lib64 distinction on biarch platforms.
65888         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
65889         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
65890         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
65891
65892 2005-09-02  Bruno Haible  <bruno@clisp.org>
65893
65894         * gnulib-tool (import): In the other first-use case, provide defaults
65895         as well.
65896
65897 2005-09-02  Bruno Haible  <bruno@clisp.org>
65898
65899         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
65900         patches not yet found in the latest gettext release.
65901
65902 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65903
65904         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
65905         to avoid a collision with bits/local_lim.h in glibc.
65906         All uses changed.  Problem reported by Dmitry V. Levin in
65907         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
65908
65909         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
65910         bugs in int versus size_t comparisons.
65911         (re_string_context_at): Fix bug where the code assumed that
65912         Idx is signed.
65913
65914         Use bool where appropriate.
65915         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
65916         All callers changed.
65917         (calc_eclosure_iter): Likewise, for ROOT arg.
65918         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
65919         (build_charclass_op): Likewise, for NON_MATCH arg.
65920         * lib/regex_internal.c (re_string_allocate, re_string_construct):
65921         (re_string_construct_common): Likewise, for ICASE arg.
65922         * lib/regexec.c (re_search_2_stub, re_search_stub):
65923         Likewise, for RET_LEN arg.
65924         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
65925         (set_regs): Likewise, for FL_BACKTRACK arg.
65926         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
65927         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
65928         (calc_eclosure_iter, parse_bracket_exp):
65929         Use bool for internal variables that are booleans.
65930         * lib/regexec.c (re_search_internal, check_matching,
65931         proceed_next_node):
65932         (set_regs, build_sifted_states, sift_states_bkref):
65933         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
65934         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65935         (find_collation_sequence_value):
65936         Likewise.
65937         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
65938         (re_node_set_compare):
65939         Return bool, not int. All callers changed.
65940         * lib/regexec.c (check_halt_node_context, check_dst_limits):
65941         (build_trtable, check_node_accept): Likewise.
65942         * lib/regex_internal.h: Include stdbool.h.
65943
65944         Fix bugs uncovered when converting to bool.
65945         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
65946         failure instead of charging ahead blindly.
65947         * lib/regex_internal.c (register_state): Likewise.
65948         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
65949         for freeing internal storage.
65950         (group_nodes_into_DFA_states): Use unsigned int, not int, for
65951         bitset pieces used as boolean, to avoid undefined behavior
65952         on hosts that do int overflow checking.
65953
65954 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65955
65956         * config/srclist.txt: Add glibc bugs 1285-1287.
65957
65958 2005-09-01  Jim Meyering  <jim@meyering.net>
65959
65960         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
65961         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
65962         Require gl_STAT_MACROS, too.
65963
65964 2005-09-01  Bruno Haible  <bruno@clisp.org>
65965
65966         * gnulib-tool (import): In the first-use case, provide defaults.
65967
65968 2005-09-01  Bruno Haible  <bruno@clisp.org>
65969
65970         * gnulib-tool (func_import): Remove the .tmp files.
65971
65972 2005-09-01  Bruno Haible  <bruno@clisp.org>
65973
65974         * gnulib-tool (func_import): Fix handling of symbolic links.
65975
65976 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65977
65978         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
65979         old glibc regex code mishandles strings longer than 2**31 bytes.
65980         This patch fixes this when the regex code is used in gnulib
65981         (i.e., outside glibc).
65982
65983         This patch should not affect the use of the regex code inside
65984         glibc.  No doubt this problem also needs to be handled for glibc
65985         as well, but the result will be an incompatible change to the
65986         glibc ABI, and the old ABI will have to be supported too.  That
65987         can be the the subject for another patch.
65988
65989         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
65990         governing whether the rest of this patch is active.  By default,
65991         the macro is disabled and the patch has no effect.
65992         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
65993         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
65994         (struct re_pattern_buffer, re_search, re_search_2, re_match):
65995         (re_match_2, re_set_registers): Use the new types.
65996         * lib/regex_internal.h (Idx, re_hashval_t): New types.
65997         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
65998         New macros.
65999         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
66000         (re_string_context_at, bin_tree_t, re_dfastate_t):
66001         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
66002         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
66003         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
66004         (re_string_char_size_at, re_string_wchar_at):
66005         (re_string_elem_size_at):
66006         Use the new types and macros to port to 64-bit hosts.
66007         Use unsigned types for internal values, so that the code
66008         mostly works even for arrays larger than SSIZE_MAX.
66009         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
66010         (search_duplicated_node, calc_eclosure_iter, fetch_number):
66011         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
66012         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
66013         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
66014         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
66015         (calc_inveclosure, parse_dup_op, build_range_exp):
66016         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
66017         (fetch_number, create_token_tree, mark_opt_subexp):
66018         Likewise.
66019         * lib/regex_internal.c (re_string_construct_common,
66020         create_ci_newstate):
66021         (create_cd_newstate, re_string_allocate, re_string_construct):
66022         (re_string_realloc_buffers, build_wcs_upper_buffer):
66023         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66024         (re_string_reconstruct, re_string_peek_byte_case):
66025         (re_string_fetch_byte_case, re_string_context_at):
66026         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66027         (re_node_set_init_copy, re_node_set_add_intersect):
66028         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66029         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66030         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66031         (re_acquire_state, re_acquire_state_context, register_state):
66032         Likewise.
66033         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
66034         search_cur_bkref_entry):
66035         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
66036         (re_search_internal, re_search_2_stub, re_search_stub)
66037         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
66038         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
66039         (update_cur_sifted_state, check_dst_limits):
66040         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66041         (check_subexp_limits, sift_states_bkref, merge_state_array):
66042         (check_subexp_matching_top, get_subexp, get_subexp_sub):
66043         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
66044         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66045         (expand_bkref_cache, check_node_accept_bytes):
66046         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
66047         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
66048         (acquire_init_state_context, check_halt_node_context):
66049         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
66050         (sift_states_backward, clean_state_log_if_needed):
66051         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
66052         (find_recover_state, transit_state_sb, transit_state_mb):
66053         (transit_state_bkref, build_trtable, match_ctx_clean):
66054         Likewise.
66055         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
66056         to work around an assumption that REG_MISSING is negative.
66057
66058         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
66059         (seek_collating_symbol_entry) [defined _LIBC]:
66060         (lookup_collation_sequence_value) [defined _LIBC]:
66061         (build_range_exp, build_collating_symbol) [defined _LIBC]:
66062         Use prototypes rather than old-style function definitions.
66063         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
66064         (transit_state_sb) [0]:
66065         (find_collation_sequence_value) [defined _LIBC]: Likewise.
66066
66067         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
66068         rm_eo.
66069
66070         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
66071         (optimize_subexps, lower_subexp):
66072         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
66073         since the signed shift might overflow.  Use 1u<<31 instead.
66074         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
66075         Likewise.
66076         * lib/regexec.c (check_dst_limits_calc_pos_1,
66077         check_subexp_matching_top): Likewise.
66078
66079         * lib/regcomp.c (optimize_subexps, lower_subexp):
66080         Use CHAR_BIT rather than 8, for clarity.
66081         * lib/regexec.c (check_dst_limits_calc_pos_1):
66082         (check_subexp_matching_top): Likewise.
66083         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
66084         have to worry about portability issues when shifting it left.
66085         Remove no-longer-needed test for table_size > 0.
66086         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
66087         in a word, as the resulting behavior is undefined.
66088         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
66089         in one case, a <= should have been an <, and in another case the
66090         whole test was missing.
66091         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
66092         the standard name CHAR_BIT.
66093         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
66094         this is not true on one's complement and signed-magnitude hosts.
66095
66096         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
66097         next_last_offset.
66098         (struct re_dfa_t): Remove unused member states_alloc.
66099         * lib/regcomp.c (init_dfa): Don't initialize unused members.
66100
66101 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66102
66103         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
66104         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
66105         and large-file glibc and in 32-bit large-file Solaris.
66106
66107 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66108
66109         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
66110         lengths fit in regoff_t; this isn't true if regoff_t is the same
66111         width as size_t.
66112         * lib/regex.c (re_search_internal): 5th arg is LAST_START
66113         (= START + RANGE) instead of RANGE.  This avoids overflow
66114         problems when regoff_t is the same width as size_t.
66115         All callers changed.
66116         (re_search_2_stub): Check for overflow when adding the
66117         sizes of the two strings.
66118         (re_search_stub): Check for overflow when adding START
66119         to RANGE; if it occurs, substitute the extreme value.
66120
66121 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66122
66123         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
66124
66125 2005-08-31  Jim Meyering  <jim@meyering.net>
66126
66127         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
66128         a pointer-to-const.
66129         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
66130         (register_state): Likewise.
66131         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
66132         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
66133         (group_nodes_into_DFAstates): Likewise.
66134
66135 2005-08-31  Jim Meyering  <jim@meyering.net>
66136
66137         * check-module: Add a FIXME comment.
66138
66139 2005-08-31  Eric Blake  <ebb9@byu.net>
66140
66141         * modules/unistd-safer (Files): Add unistd--.h.
66142         * modules/stdio-safer (Files): Add stdio--.h.
66143
66144 2005-08-31  Derek Price  <derek@ximbiot.com>
66145
66146         * lib/getdelim.c (getdelim): Return EOF on EOF.
66147         Reported by Larry Jones <lawrence.jones@ugs.com>.
66148
66149 2005-08-31  Bruno Haible  <bruno@clisp.org>
66150
66151         Avoid unnecessary diffs in the generated lib/Makefile.am.
66152         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
66153         the generated files.
66154         (func_import): Don't set cmd.
66155
66156 2005-08-31  Bruno Haible  <bruno@clisp.org>
66157
66158         * lib/strstr.c: Include <stddef.h>, for NULL.
66159         * lib/strcasestr.c: Likewise.
66160         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66161
66162 2005-08-31  Bruno Haible  <bruno@clisp.org>
66163
66164         * gnulib-tool: New option --macro-prefix.
66165         (func_import): Use macro_prefix.
66166         (import): Handle option --macro-prefix.
66167
66168 2005-08-31  Bruno Haible  <bruno@clisp.org>
66169
66170         * gnulib-tool (import): Rename most ac_* variables to cached_*.
66171         Also use new variables cached_lgpl, cached_libtool.
66172
66173 2005-08-31  Bruno Haible  <bruno@clisp.org>
66174
66175         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
66176         always instantiating them.
66177
66178 2005-08-31  Bruno Haible  <bruno@clisp.org>
66179
66180         * gnulib-tool (func_import): Read the previous cached settings
66181         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
66182         earlier added by gnulib but are now dropped. Warn when a gnulib file
66183         overwrites a non-gnulib file.
66184
66185 2005-08-31  Bruno Haible  <bruno@clisp.org>
66186
66187         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
66188         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
66189         projects that don't keep autogenerated files in CVS. Put into
66190         actioncmd only the specified modules, not the transitive closure.
66191
66192 2005-08-31  Bruno Haible  <bruno@clisp.org>
66193
66194         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
66195         Create directories that shall be filled.
66196         (import): Don't look for gl_* macros in configure.ac. Recurse across
66197         all directories containing a gnulib-cache.m4 files, if meaningful.
66198
66199 2005-08-31  Bruno Haible  <bruno@clisp.org>
66200
66201         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
66202         (import): Set seen_libtool when we see gl_LIBTOOL.
66203
66204 2005-08-31  Bruno Haible  <bruno@clisp.org>
66205
66206         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
66207         declaration macro definitions from generated gnulib.m4.
66208
66209 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
66210
66211         * lib/iconvme.h: Add prototype for iconv_alloc.
66212
66213 2005-08-29  Simon Josefsson  <jas@extundo.com>
66214
66215         * lib/iconvme.c: Fix errno.
66216
66217 2005-08-29  Bruno Haible  <bruno@clisp.org>
66218
66219         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
66220         that it works when the directory contains spaces.
66221
66222 2005-08-29  Bruno Haible  <bruno@clisp.org>
66223
66224         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
66225
66226 2005-08-29  Bruno Haible  <bruno@clisp.org>
66227
66228         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
66229         Emit more advice.
66230
66231 2005-08-29  Bruno Haible  <bruno@clisp.org>
66232         and Stepan Kasal  <kasal@ucw.cz>
66233
66234         * check-module: If more parameters are given, check each of them
66235         separately; add more exceptions, as noted by Jim Meyering.
66236         (check_module): New procedure.
66237         (%exempt_header): Now contains all exceptions.
66238
66239 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
66240
66241         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
66242
66243 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
66244
66245         * lib/iconvme.c: Split iconv_string into iconv_alloc.
66246
66247 2005-08-28  Bruno Haible  <bruno@clisp.org>
66248
66249         * m4/gnulib-tool.m4: New file.
66250
66251 2005-08-27  Jim Meyering  <jim@meyering.net>
66252
66253         * modules/unistd-safer (Files): Add pipe-safer.c.
66254         * modules/fcntl-safer (Files): Add creat-safer.c.
66255
66256 2005-08-27  Jim Meyering  <jim@meyering.net>
66257
66258         * m4/stdlib-safer.m4: New file.  From coreutils.
66259         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
66260         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
66261         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
66262         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
66263         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
66264
66265 2005-08-27  Jim Meyering  <jim@meyering.net>
66266
66267         * lib/fopen-safer.c: Merge minor changes from coreutils.
66268         * lib/dup-safer.c: Likewise.
66269         * lib/fd-safer.c: Likewise.
66270
66271         Merge from coreutils.
66272         * lib/stdio--.h: New file.
66273         * lib/stdlib--.h: New file.
66274         * lib/mkstemp-safer.c: New file.
66275
66276         GNU tar needs these.
66277         * lib/pipe-safer.c: New file.
66278         * lib/creat-safer.c: New file.
66279         * lib/fcntl--.h (creat): Define to creat_safer.
66280         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
66281         * lib/unistd--.h (pipe): Define to pipe_safer.
66282         * lib/unistd-safer.h: Declare pipe_safer.
66283
66284 2005-08-26  Simon Josefsson  <jas@extundo.com>
66285
66286         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
66287         Haible <bruno@clisp.org>.
66288
66289 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
66290
66291         * lib/regex_internal.h: Remove all references to
66292         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
66293         or better.
66294         (bitset_not, bitset_merge, bitset_not_merge):
66295         (bitset_mask, re_string_allocate, re_string_construct):
66296         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
66297         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
66298         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
66299         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
66300         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66301         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66302         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
66303         (re_acquire_state_context):
66304         Remove unnecessary forward decls.
66305         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
66306         Put __attribute at function definition,
66307         now that the function decl has been removed.
66308         * lib/regex_internal.c (re_string_peek_byte_case):
66309         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
66310         Likewise.
66311
66312 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
66313
66314         * m4/regex.m4: Add AC_PREREQ(2.50).
66315         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
66316
66317 2005-08-25  Simon Josefsson  <jas@extundo.com>
66318
66319         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
66320         __fsetlocking.
66321
66322 2005-08-25  Simon Josefsson  <jas@extundo.com>
66323
66324         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
66325         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
66326         GLIBC specific code.
66327
66328 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66329
66330         Make regex safe for g++.  This fixes one real bug (an "err"
66331         that should have been "*err").  g++ problem reported by
66332         Sam Steingold.
66333         * lib/regex_internal.h (re_calloc): New macro, consistent with
66334         re_malloc etc.  All callers of calloc changed to use re_calloc.
66335         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
66336         not int.  All callers changed.
66337         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
66338         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
66339         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
66340         (find_recover_state): Change "err" to "*err"; this fixes what
66341         appears to be a real bug.
66342         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
66343         versus int.
66344
66345 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66346
66347         * modules/regex (Depends-on): Add malloc, since the code
66348         assumes that !malloc(0) means failure.
66349
66350 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66351
66352         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
66353
66354         alloca modernization/simplification for regex.
66355         * lib/regex.c: Remove portability cruft for alloca.  This no longer
66356         needs to be at the start of the file, and can be moved into
66357         regex_internal.h and simplified.
66358         * lib/regex_internal.h: Include <alloca.h>.
66359         (__libc_use_alloca) [!defined _LIBC]: New macro.
66360         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
66361         now works outside glibc.
66362
66363 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66364
66365         * config/srclist.txt: Add glibc bugs 1241, 1245.
66366
66367 2005-08-25  Jim Meyering  <jim@meyering.net>
66368
66369         * lib/open-safer.c: Include <config.h>.
66370         Otherwise, we'd lose LARGEFILE support in any file using
66371         e.g. "fcntl--.h"
66372
66373 2005-08-25  Bruno Haible  <bruno@clisp.org>
66374
66375         * m4/minmax.m4: Require autoconf 2.52.
66376         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
66377         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
66378         alternatives of translit over the alphabet.
66379         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
66380
66381 2005-08-24  Simon Josefsson  <jas@extundo.com>
66382
66383         * tests/test-getpass.c: New file.
66384
66385 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66386
66387         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
66388         for GNU regex features.
66389
66390 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66391
66392         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
66393         * lib/regex.h (regerror): Likewise.
66394
66395         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
66396         requires this.  (The code never needed it.)
66397
66398         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
66399         All uses of recently-renamed identifiers changed to use the new,
66400         POSIX-compliant names.  The code will build and run just fine
66401         without these changes, but it's better to eat our own dog food
66402         and use the standard-conforming names.
66403
66404         * lib/regex.h: Fix a multitude of POSIX name space violations.
66405         These changes have an effect only for programs that define
66406         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
66407         do not change anything for programs compiled in the normal way.
66408         Also, there is no effect on the ABI.
66409
66410         (_REGEX_SOURCE): New macro.
66411         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
66412         defined and _GNU_SOURCE is not; this fixes a name space violation.
66413
66414         Rename the following macros to obey POSIX requirements.
66415         The old names are still visible as macros if _REGEX_SOURCE is defined.
66416         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
66417         RE_BACKSLASH_ESCAPE_IN_LISTS.
66418         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
66419         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
66420         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
66421         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
66422         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
66423         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
66424         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
66425         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
66426         (REG_INTERVALS): renamed from RE_INTERVALS.
66427         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
66428         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
66429         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
66430         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
66431         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
66432         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
66433         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
66434         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
66435         RE_UNMATCHED_RIGHT_PAREN_ORD.
66436         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
66437         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
66438         (REG_DEBUG): renamed from RE_DEBUG.
66439         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
66440         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
66441         unusual, since we can't clash with the POSIX REG_ICASE.
66442         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
66443         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
66444         (REG_NO_SUB): renamed from RE_NO_SUB.
66445         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
66446         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
66447         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
66448         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
66449         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
66450         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
66451         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
66452         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
66453         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
66454         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
66455         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
66456         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
66457         RE_SYNTAX_POSIX_MINIMAL_BASIC.
66458         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
66459         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
66460         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
66461         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
66462         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
66463         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
66464         (REG_FIXED): Renamed from REGS_FIXED.
66465         (REG_NREGS): Renamed from RE_NREGS.
66466
66467         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
66468         of other REG_* macros, since POSIX says the user is allowed to
66469         #undef these macros selectively.
66470
66471         (reg_errcode_t): Update comment stating what other tables need
66472         to be consistent.
66473
66474         Rename the following enum values to obey POSIX requirements.
66475         The old names are still visible as macros.
66476         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
66477         is not defined, since GNU is supposed to be a superset of POSIX as
66478         much as possible, and since we want reg_errcode_t to be a signed
66479         type for implementation consistency.
66480         (_REG_NOERROR): Renamed from REG_NOERROR.
66481         (_REG_NOMATCH): Renamed from REG_NOMATCH.
66482         (_REG_BADPAT): Renamed from REG_BADPAT.
66483         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
66484         (_REG_ECTYPE): Renamed from REG_ECTYPE.
66485         (_REG_EESCAPE): Renamed from REG_EESCAPE.
66486         (_REG_ESUBREG): Renamed from REG_ESUBREG.
66487         (_REG_EBRACK): Renamed from REG_EBRACK.
66488         (_REG_EPAREN): Renamed from REG_EPAREN.
66489         (_REG_EBRACE): Renamed from REG_EBRACE.
66490         (_REG_BADBR): Renamed from REG_BADBR.
66491         (_REG_ERANGE): Renamed from REG_ERANGE.
66492         (_REG_ESPACE): Renamed from REG_ESPACE.
66493         (_REG_BADRPT): Renamed from REG_BADRPT.
66494         (_REG_EEND): Renamed from REG_EEND.
66495         (_REG_ESIZE): Renamed from REG_ESIZE.
66496         (_REG_ERPAREN): Renamed from REG_ERPAREN.
66497         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
66498         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
66499         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
66500         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
66501
66502         (_REG_RE_NAME, _REG_RM_NAME): New macros.
66503         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
66504         changed.  But support the old name if the new one is not defined
66505         and if _REGEX_SOURCE.
66506
66507         Change the following member names in struct re_pattern_buffer.
66508         The old names are still supported if !_REGEX_SOURCE.
66509         The new names are always supported, regardless of _REGEX_SOURCE.
66510         (re_buffer): Renamed from buffer.
66511         (re_allocated): Renamed from allocated.
66512         (re_used): Renamed from used.
66513         (re_syntax): Renamed from syntax.
66514         (re_fastmap): Renamed from fastmap.
66515         (re_translate): Renamed from translate.
66516         (re_can_be_null): Renamed from can_be_null.
66517         (re_regs_allocated): Renamed from regs_allocated.
66518         (re_fastmap_accurate): Renamed from fastmap_accurate.
66519         (re_no_sub): Renamed from no_sub.
66520         (re_not_bol): Renamed from not_bol.
66521         (re_not_eol): Renamed from not_eol.
66522         (re_newline_anchor): Renamed from newline_anchor.
66523
66524         Change the following member names in struct re_registers.
66525         The old names are still supported if !_REGEX_SOURCE.
66526         The new names are always supported, regardless of _REGEX_SOURCE.
66527         (rm_num_regs): Renamed from num_regs.
66528         (rm_start): Renamed from start.
66529         (rm_end): Renamed from end.
66530
66531         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
66532         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
66533         Prepend __ to parameter names.
66534
66535         Undo yesterday's changes.
66536
66537 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66538
66539         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
66540         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
66541         lib/regex.c.
66542
66543 2005-08-24  Jim Meyering  <jim@meyering.net>
66544
66545         Sync from coreutils.
66546         * m4/fcntl-safer.m4: New file.
66547
66548         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
66549         and object files for this module.
66550
66551 2005-08-24  Jim Meyering  <jim@meyering.net>
66552
66553         Sync from coreutils.
66554         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
66555
66556 2005-08-24  Jim Meyering  <jim@meyering.net>
66557
66558         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
66559         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
66560
66561 2005-08-24  Jim Meyering  <jim@meyering.net>
66562
66563         * modules/fcntl-safer: New module.
66564         * modules/fts (Depends-on): Add fcntl-safer.
66565         * MODULES.html.sh (File descriptor based Input/Output):
66566         Add fcntl-safer.
66567
66568 2005-08-24  Bruno Haible  <bruno@clisp.org>
66569
66570         Support for unit test modules.
66571         * modules/README: Mention tests modules.
66572         * modules/TEMPLATE-TESTS: New file.
66573         * gnulib-tool: New options --extract-tests-module, --with-tests and
66574         --tests-base (unused for the moment).
66575         (testsbase, inctests): New variables.
66576         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
66577         (func_verify_module): Exclude TEMPLATE-TESTS.
66578         (func_verify_nontests_module, func_verify_tests_module): New functions.
66579         (func_get_dependencies): Add implicit dependency for tests modules.
66580         (func_get_tests_module): New function.
66581         (func_modules_transitive_closure): When --with-tests was specified,
66582         include the unit tests as well, unless explicitly avoided.
66583         (func_emit_lib_Makefile_am): Ignore the tests modules here.
66584         (func_emit_tests_Makefile_am): New function.
66585         (func_create_testdir): When --with-tests was specified, emit a
66586         tests/ directory.
66587         * MODULES.html.sh (Future developments): Update.
66588
66589 2005-08-24  Bruno Haible  <bruno@clisp.org>
66590
66591         * modules/tls-tests: New file.
66592         * tests/test-tls.c: New file, from GNU gettext.
66593
66594 2005-08-24  Bruno Haible  <bruno@clisp.org>
66595
66596         * modules/lock-tests: New file.
66597         * tests/test-lock.c: New file, from GNU gettext.
66598
66599 2005-08-24  Bruno Haible  <bruno@clisp.org>
66600
66601         * lib/lock.h: Add multiple inclusion guard.
66602         * lib/tls.h: Add multiple inclusion guard.
66603
66604 2005-08-24  Bruno Haible  <bruno@clisp.org>
66605
66606         * gnulib-tool: Add support for the --aux-dir option to
66607         --create-testdir, --create-megatestdir, --test, --megatest.
66608         (func_create_testdir, func_create_megatestdir): Optionally emit a
66609         AC_CONFIG_AUX_DIR directive.
66610         (create-testdir, create-megatestdir, test, megatest): Provide a
66611         default value for $auxdir.
66612
66613 2005-08-24  Bruno Haible  <bruno@clisp.org>
66614
66615         * gnulib-tool (import): Use compound statement instead of subshell
66616         where possible.
66617
66618 2005-08-24  Bruno Haible  <bruno@clisp.org>
66619
66620         * gnulib-tool (import): Change --aux-dir default to "build-aux".
66621
66622 2005-08-24  Bruno Haible  <bruno@clisp.org>
66623
66624         * gnulib-tool (func_version): Update.
66625
66626 2005-08-24  Bruno Haible  <bruno@clisp.org>
66627
66628         * gnulib-tool (func_import, func_create_testdir,
66629         func_create_megatestdir): Quote all autoconf macro arguments.
66630
66631 2005-08-24  Bruno Haible  <bruno@clisp.org>
66632
66633         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
66634         option --force, because --force causes the aclocal.m4 of each
66635         subdirectory to be newer than the corresponding config.h.in.
66636
66637 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66638
66639         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
66640         All contents moved to gl_REGEX.
66641         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
66642         assume that it does.
66643
66644 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66645
66646         * lib/regex.h (REG_NOSYS)
66647         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
66648         Define, since POSIX requires it as of 2001.
66649         (_REG_ENOSYS)
66650         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
66651         New private symbol, used to keep the enum signed in all cases.
66652         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
66653         Youngman in
66654         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
66655
66656         * lib/regex_internal.c (re_string_skip_chars, register_state):
66657         (calc_state_hash):
66658         Remove forward decls; no longer needed now that we use prototypes.
66659         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
66660         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
66661         (clean_state_log_if_needed): Likewise.
66662
66663 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66664
66665         * config/srclist.txt: Add glibc bugs 1231-1233.
66666
66667 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66668
66669         Fix problems reported by Sam Steingold in
66670         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
66671         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
66672         assumed that reg_errcode_t is a signed type, which is not
66673         necessarily true if _XOPEN_SOURCE is not defined.
66674         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
66675         since some compilers warn about it otherwise.
66676
66677 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66678
66679         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
66680         (init_word_char, create_initial_state, duplicate_node_closure):
66681         (fetch_token, peek_token_bracket, build_range_exp):
66682         (build_collating_symbol): Remove forward decls; no longer needed
66683         now that we use prototypes.
66684
66685         * lib/regcomp.c:
66686         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
66687         (re_compile_fastmap_iter, regcomp, regerror, regfree):
66688         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
66689         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
66690         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
66691         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
66692         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
66693         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
66694         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
66695         (build_range_exp, build_collating_symbol, parse_bracket_exp):
66696         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
66697         (build_charclass, build_charclass_op, fetch_number, create_tree):
66698         (create_token_tree, mark_opt_subexp, duplicate_tree):
66699         Use prototypes rather than old-style definitions.
66700
66701         * lib/regex_internal.c:
66702         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
66703         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
66704         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66705         (re_string_reconstruct, re_string_peek_byte_case):
66706         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
66707         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66708         (re_node_set_init_copy, re_node_set_add_intersect):
66709         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66710         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66711         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66712         (re_acquire_state, re_acquire_state_context, register_state):
66713         (create_ci_newstate, create_cd_newstate, free_state):
66714         Likewise.
66715         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
66716         re_search_2):
66717         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
66718         (re_search_internal, prune_impossible_nodes):
66719         (acquire_init_state_context, check_matching, static):
66720         (check_halt_node_context, check_halt_state_context, proceed_next_node):
66721         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
66722         (update_regs, sift_states_backward, build_sifted_states):
66723         (clean_state_log_if_needed, merge_state_array):
66724         (update_cur_sifted_state, add_epsilon_src_nodes):
66725         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
66726         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
66727         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
66728         (find_recover_state, check_subexp_matching_top, transit_state_mb):
66729         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
66730         (check_arrival, check_arrival_add_next_nodes):
66731         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66732         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
66733         (check_node_accept_bytes, check_node_accept, extend_buffers):
66734         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
66735         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
66736         (sift_ctx_init):
66737         Likewise.
66738
66739         * lib/regex_internal.h:
66740         (re_string_allocate, re_string_construct, re_string_reconstruct):
66741         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
66742         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
66743         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
66744         (re_string_context_at, re_string_peek_byte_case):
66745         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
66746         is defined, since we now use prototypes always.
66747
66748         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
66749         C89 or better.  All uses removed.
66750
66751 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66752
66753         * config/srclist.txt: Add glibc bugs 1220-1227.
66754
66755 2005-08-20  Jim Meyering  <jim@meyering.net>
66756
66757         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
66758         of unused local, dfa.
66759
66760 2005-08-20  Bruno Haible  <bruno@clisp.org>
66761
66762         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
66763
66764 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66765
66766         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
66767         (re_node_set_insert_last, re_dfa_add_node):
66768         Rename local variables to avoid GCC shadowing warnings.
66769
66770 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66771
66772         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
66773         [defined lint]: Suppress bogus uninitialized-variable warnings.
66774
66775         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
66776         and let the caller return REG_ESPACE if out of space.  This
66777         removes an uninitialied-variable warning with GCC 4.0.1, and also
66778         avoids taking the address of a local variable.  All callers
66779         changed.
66780
66781 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66782
66783         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
66784         $LIBCSRC/posix/regexec.c.
66785         Add glibc bug 1217 for regcomp.c.
66786
66787 2005-08-19  Jim Meyering  <jim@meyering.net>
66788
66789         * lib/regexec.c (proceed_next_node): Redo local variables to
66790         avoid GCC shadowing warnings.
66791
66792 2005-08-18  Bruno Haible  <bruno@clisp.org>
66793
66794         * lib/strstr.c (strstr): Fix return value in multibyte case.
66795         * lib/strcasestr.c (strcasestr): Likewise.
66796
66797 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66798
66799         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
66800
66801 2005-08-17  Jim Meyering  <jim@meyering.net>
66802
66803         Make the %s format (seconds since the epoch) work for a negative
66804         number and when used with a zero-padded field width, e.g. %015s.
66805
66806         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
66807         label so that it precedes the code to set `digits'.  Otherwise,
66808         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
66809         print `00-22'.  Now, it prints `-0022', as it should.
66810
66811 2005-08-17  Bruno Haible  <bruno@clisp.org>
66812
66813         * modules/strstr (Files): Add m4/mbrtowc.m4.
66814         (Depends-on): Add mbuiter.
66815
66816 2005-08-17  Bruno Haible  <bruno@clisp.org>
66817
66818         * modules/strcasestr: New file.
66819         * MODULES.html.sh (String handling, based on ANSI C 89): Add
66820         strcasestr.
66821
66822 2005-08-17  Bruno Haible  <bruno@clisp.org>
66823
66824         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
66825
66826 2005-08-17  Bruno Haible  <bruno@clisp.org>
66827
66828         * modules/mbuiter: New file.
66829         * MODULES.html.sh (Extended multibyte and wide character utilities):
66830         Add mbuiter.
66831
66832 2005-08-17  Bruno Haible  <bruno@clisp.org>
66833
66834         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
66835         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
66836
66837 2005-08-17  Bruno Haible  <bruno@clisp.org>
66838
66839         * m4/strcasestr.m4: New file.
66840
66841 2005-08-17  Bruno Haible  <bruno@clisp.org>
66842
66843         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
66844         * lib/strstr.c: Completely rewritten, with multibyte locale support.
66845
66846 2005-08-17  Bruno Haible  <bruno@clisp.org>
66847
66848         * lib/strcasestr.h: New file.
66849         * lib/strcasestr.c: New file.
66850
66851 2005-08-17  Bruno Haible  <bruno@clisp.org>
66852
66853         * lib/strcasecmp.c: Use mbuiter.h.
66854
66855 2005-08-17  Bruno Haible  <bruno@clisp.org>
66856
66857         * lib/mbuiter.h: New file.
66858
66859 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
66860
66861         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
66862         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
66863         and gl_GETOPT are both invoked via different paths (as happens
66864         with GNU tar CVS because it uses both argp and getopt), the former
66865         wins.
66866
66867 2005-08-16  Bruno Haible  <bruno@clisp.org>
66868
66869         * modules/tls: New file.
66870         * MODULES.html.sh (Multithreading): Add tls.
66871
66872 2005-08-16  Bruno Haible  <bruno@clisp.org>
66873
66874         * modules/strnlen1: New file.
66875         * MODULES.html.sh (String handling): Add strnlen1.
66876
66877 2005-08-16  Bruno Haible  <bruno@clisp.org>
66878
66879         * modules/strcase (Files): Add m4/mbrtowc.m4.
66880         (Depends-on): Add strnlen1, mbchar.
66881
66882 2005-08-16  Bruno Haible  <bruno@clisp.org>
66883
66884         * modules/mbiter: New file.
66885         * MODULES.html.sh (Extended multibyte and wide character utilities):
66886         Add mbiter.
66887
66888 2005-08-16  Bruno Haible  <bruno@clisp.org>
66889
66890         * modules/mbfile: New file.
66891         * MODULES.html.sh (Extended multibyte and wide character utilities):
66892         Add mbfile.
66893
66894 2005-08-16  Bruno Haible  <bruno@clisp.org>
66895
66896         * modules/mbchar: New file.
66897         * MODULES.html.sh (Extended multibyte and wide character utilities):
66898         New section.
66899
66900 2005-08-16  Bruno Haible  <bruno@clisp.org>
66901
66902         * m4/tls.m4: New file, from GNU gettext.
66903
66904 2005-08-16  Bruno Haible  <bruno@clisp.org>
66905
66906         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
66907         always.
66908         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
66909
66910 2005-08-16  Bruno Haible  <bruno@clisp.org>
66911
66912         * m4/mbiter.m4: New file.
66913
66914 2005-08-16  Bruno Haible  <bruno@clisp.org>
66915
66916         * m4/mbfile.m4: New file.
66917
66918 2005-08-16  Bruno Haible  <bruno@clisp.org>
66919
66920         * m4/mbchar.m4: New file.
66921
66922 2005-08-16  Bruno Haible  <bruno@clisp.org>
66923
66924         * lib/tls.h: New file, from GNU gettext.
66925         * lib/tls.c: New file, from GNU gettext.
66926
66927 2005-08-16  Bruno Haible  <bruno@clisp.org>
66928
66929         * lib/strnlen1.h: New file.
66930         * lib/strnlen1.c: New file.
66931
66932 2005-08-16  Bruno Haible  <bruno@clisp.org>
66933
66934         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
66935         (mbi_init): Update.
66936         (mbi_avail, mbi_advance): Let the iteration end before the terminating
66937         NUL byte, not after it.
66938
66939 2005-08-16  Bruno Haible  <bruno@clisp.org>
66940
66941         * lib/strcase.h (strcasecmp): Add note in comments.
66942         * lib/strncasecmp.c: Use code from strcasecmp.c.
66943         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
66944         (strcasecmp): Work correctly in multibyte locales.
66945
66946 2005-08-16  Bruno Haible  <bruno@clisp.org>
66947
66948         * lib/mbiter.h: New file.
66949
66950 2005-08-16  Bruno Haible  <bruno@clisp.org>
66951
66952         * lib/mbfile.h: New file.
66953
66954 2005-08-16  Bruno Haible  <bruno@clisp.org>
66955
66956         * lib/mbchar.h: New file.
66957         * lib/mbchar.c: New file.
66958
66959 2005-08-16  Bruno Haible  <bruno@clisp.org>
66960
66961         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
66962         the valid ones. Makes the comparison operations transitive:
66963         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
66964         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
66965
66966 2005-08-15  Simon Josefsson  <jas@extundo.com>
66967
66968         * modules/ssize_t (License): Change to 'unlimited'.
66969
66970         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
66971
66972 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66973
66974         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
66975         Add comments for each pending glibc patch.
66976
66977 2005-08-15  Bruno Haible  <bruno@clisp.org>
66978
66979         * lib/regex.h (__restrict_arr): Don't define to __restrict if
66980         __cplusplus is defined.
66981
66982 2005-08-14  Jim Meyering  <jim@meyering.net>
66983
66984         Sync from coreutils.
66985
66986         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
66987         Use the hash-table-based cycle-detection code not just when
66988         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
66989         Reported by James Youngman in
66990         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
66991         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
66992         FTS_TIGHT_CYCLE_CHECK.
66993         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
66994         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
66995         once again.
66996         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
66997         * lib/fts.c (fd_safer): Remove decl.
66998         Include fcntl--.h rather than unistd-safer.h
66999         (fts_safe_changedir): Don't call fd_safer; no longer needed
67000         now that we include fcntl--.h.
67001
67002 2005-08-12  Simon Josefsson  <jas@extundo.com>
67003
67004         * modules/getndelim2: Use ssize_t module.
67005         * modules/getnline: Likewise.
67006         * modules/safe-read: Likewise.
67007         * modules/xreadlink: Likewise.
67008
67009         * modules/ssize_t: New file.
67010
67011 2005-08-12  Simon Josefsson  <jas@extundo.com>
67012
67013         * m4/readline.m4: Look for termcap, curses or ncurses if required.
67014
67015 2005-08-12  Simon Josefsson  <jas@extundo.com>
67016
67017         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67018         ssize_t.
67019
67020 2005-08-12  Simon Josefsson  <jas@extundo.com>
67021
67022         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
67023         readline, getdelim and check_version.
67024         (Support for systems lacking ISO C 99: Sizes of integer types):
67025         Add size_max.
67026
67027 2005-08-12  Bruno Haible  <bruno@clisp.org>
67028
67029         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
67030
67031 2005-08-11  Simon Josefsson  <jas@extundo.com>
67032
67033         * modules/readline: New file.
67034
67035         * modules/strnlen (Files): Add strnlen.h.
67036
67037 2005-08-11  Simon Josefsson  <jas@extundo.com>
67038
67039         * m4/readline.m4: New file.
67040
67041 2005-08-11  Simon Josefsson  <jas@extundo.com>
67042
67043         * lib/readline.h, readline.c: New file.
67044
67045 2005-08-11  Simon Josefsson  <jas@extundo.com>
67046
67047         * doc/gnulib.texi (Initial import, Finishing touches): Mention
67048         gl_AVOID.
67049
67050 2005-08-11  Bruno Haible  <bruno@clisp.org>
67051
67052         * lib/strnlen.h (strnlen): Change parameter name to match comment.
67053
67054 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
67055
67056         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
67057
67058 2005-08-10  Simon Josefsson  <jas@extundo.com>
67059
67060         * tests/test-iconvme.c: New file.
67061
67062 2005-08-10  Simon Josefsson  <jas@extundo.com>
67063
67064         * m4/strnlen.m4: New file.
67065
67066         * m4/strndup.m4: Don't check for strnlen declaration, done in
67067         strnlen.m4.
67068
67069 2005-08-10  Simon Josefsson  <jas@extundo.com>
67070
67071         * lib/strndup.c: Use strnlen.h.
67072
67073         * lib/strnlen.h: New file.
67074
67075 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67076
67077         * README: Typos.
67078
67079 2005-08-02  Simon Josefsson  <jas@extundo.com>
67080
67081         * modules/readline: New file.
67082
67083 2005-08-02  Simon Josefsson  <jas@extundo.com>
67084
67085         * modules/getdelim: New file.
67086
67087         * modules/getline: Rewrite, don't use getndelim2.
67088
67089 2005-08-02  Simon Josefsson  <jas@extundo.com>
67090
67091         * m4/getline.m4: Separate out getdelim stuff into separate module.
67092
67093         * m4/getdelim.m4: New file.
67094
67095 2005-08-02  Simon Josefsson  <jas@extundo.com>
67096
67097         * lib/getline.h, getline.c: Rewrite.
67098
67099         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
67100
67101 2005-07-31  Bruno Haible  <bruno@clisp.org>
67102
67103         * lib/lock.h (gl_lock_initializer): New macro.
67104         (gl_lock_define_initialized): Use it.
67105         (gl_rwlock_initializer): New macro.
67106         (gl_rwlock_define_initialized): Use it.
67107         (gl_recursive_lock_initializer): New macro.
67108         (gl_recursive_lock_define_initialized): Use it.
67109
67110 2005-07-30  Karl Berry  <karl@gnu.org>
67111
67112         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
67113         Report from Ben Pfaff, regarding getopt.
67114
67115 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
67116
67117         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
67118         normal way.
67119         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
67120         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
67121         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
67122         (gl_GETOPT): Use the new macros.  Most of the implementation
67123         is moved to the new macros.  This is for programs like Emacs
67124         that don't want all the functionality of gl_GETOPT.
67125
67126 2005-07-26  Bruno Haible  <bruno@clisp.org>
67127
67128         * m4/lock.m4: Update from GNU gettext.
67129
67130 2005-07-26  Bruno Haible  <bruno@clisp.org>
67131
67132         * lib/lock.h: Update from GNU gettext.
67133         * lib/lock.c: Update from GNU gettext.
67134
67135 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
67136
67137         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
67138         obsolescent AC_TRY_RUN.  Include the default includes files, for
67139         'exit'.
67140
67141 2005-07-24  Bruno Haible  <bruno@clisp.org>
67142
67143         * modules/visibility: New file.
67144         * MODULES.html.sh (Misc): Add visibility.
67145
67146 2005-07-24  Bruno Haible  <bruno@clisp.org>
67147
67148         * m4/visibility.m4: New file.
67149
67150 2005-07-24  Bruno Haible  <bruno@clisp.org>
67151
67152         * doc/visibility.texi: New file.
67153
67154 2005-07-22  Bruno Haible  <bruno@clisp.org>
67155
67156         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
67157         $(ALLOCA_H), redundant through BUILT_SOURCES.
67158         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
67159         redundant through BUILT_SOURCES.
67160         * modules/byteswap (Makefile.am): Remove explicit dependency on
67161         $(BYTESWAP_H), redundant through BUILT_SOURCES.
67162         * modules/fnmatch (Makefile.am): Remove explicit dependency on
67163         $(FNMATCH_H), redundant through BUILT_SOURCES.
67164         * modules/getopt (Makefile.am): Remove explicit dependency on
67165         $(GETOPT_H), redundant through BUILT_SOURCES.
67166         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
67167         redundant through BUILT_SOURCES.
67168         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
67169         redundant through BUILT_SOURCES.
67170         * modules/stdbool (Makefile.am): Remove explicit dependency on
67171         $(STDBOOL_H), redundant through BUILT_SOURCES.
67172         * modules/stdint (Makefile.am): Remove explicit dependency on
67173         $(STDINT_H), redundant through BUILT_SOURCES.
67174         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
67175         Remove explicit dependency on $(SYSEXITS_H).
67176         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
67177
67178 2005-07-18  Simon Josefsson  <jas@extundo.com>
67179
67180         * lib/check-version.c (check_version): Accept identical versions too.
67181
67182 2005-07-18  Bruno Haible  <bruno@clisp.org>
67183
67184         * modules/lock: New file.
67185         * MODULES.html.sh (Multithreading): New section.
67186
67187 2005-07-18  Bruno Haible  <bruno@clisp.org>
67188
67189         * m4/lock.m4: New file, from GNU gettext.
67190
67191 2005-07-18  Bruno Haible  <bruno@clisp.org>
67192
67193         * lib/lock.h: New file, from GNU gettext.
67194         * lib/lock.c: New file, from GNU gettext.
67195
67196 2005-07-18  Bruno Haible  <bruno@clisp.org>
67197
67198         * lib/lock.h (gl_once_t): New type.
67199         (gl_once_define, gl_once): New macros.
67200         * lib/lock.c (fresh_once): New variable.
67201         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
67202         functions.
67203
67204 2005-07-16  Simon Josefsson  <jas@extundo.com>
67205
67206         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
67207         workaround, suggested by Bruno.
67208
67209 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67210
67211         * modules/xalloc (Depends-on): Add xalloc-die.
67212         * modules/xvasprintf (Depends-on): Add xalloc-die.
67213
67214 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
67215
67216         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
67217         with a minor change.
67218
67219 2005-07-15  Bruno Haible  <bruno@clisp.org>
67220
67221         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
67222         When using lib/poll.c, define poll as rpl_poll.
67223
67224 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
67225
67226         * modules/argp (Depends-on): Remove unlocked-io.
67227
67228 2005-07-14  Derek Price  <derek@ximbiot.com>
67229
67230         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
67231         for glob symlink bug.
67232
67233 2005-07-14  Bruno Haible  <bruno@clisp.org>
67234
67235         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
67236         Instead, test for *_unlocked function declarations directly.
67237
67238 2005-07-11  Simon Josefsson  <jas@extundo.com>
67239
67240         * modules/size_max: New file.
67241
67242         * modules/xsize: Depend on size_max module for size_max.m4.
67243
67244 2005-07-11  Simon Josefsson  <jas@extundo.com>
67245
67246         * lib/size_max.h: New file.
67247
67248 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
67249
67250         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
67251         copyright symbol and the year.
67252         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
67253         (version_etc_va): Use parameterized copyright notice.
67254         Reword to conform to the current GNU coding standards.
67255
67256 2005-07-11  Karl Berry  <karl@gnu.org>
67257
67258         * doc/gnulib.texi (Quoting): new node.
67259         (Initial import): more info, from Patrice.
67260
67261 2005-07-11  Bruno Haible  <bruno@clisp.org>
67262
67263         * gnulib-tool (func_usage): Document option --avoid.
67264         (Command line options): Handle --avoid.
67265         (func_acceptable): New function.
67266         (func_modules_transitive_closure): Use it.
67267
67268 2005-07-11  Bruno Haible  <bruno@clisp.org>
67269
67270         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
67271         Reported by Jim Meyering.
67272
67273 2005-07-10  Bruno Haible  <bruno@clisp.org>
67274
67275         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
67276         Needed when size_t is smaller than 'unsigned int'.
67277         Reported by Paul Eggert.
67278
67279 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67280
67281         * modules/argp (Depends-on): Add unlocked-io
67282
67283 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67284
67285         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
67286         block of defines.
67287
67288 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67289
67290         * config/srclist.txt: Comment out regcomp.c, since we have a porting
67291         fix now.
67292
67293 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
67294         and Paul Eggert  <eggert@cs.ucla.edu>
67295
67296         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
67297         in wint_t, not wchar_t.  Remove now-unnecessary cast.
67298
67299 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67300
67301         * modules/regex (Files): Add lib/regex_internal.c,
67302         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
67303         (Depends-on): Add extensions.
67304         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
67305
67306 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67307
67308         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
67309         pathconf.
67310         * m4/same.m4 (gl_SAME): Likewise.
67311         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
67312
67313         * m4/regex.m4: Adjust to new libc regex implementation.
67314         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
67315         all the .c and .h parts of (the new) regex.
67316         Quote the m4 stuff better.
67317         Check for RE_ICASE bug of old gnulib.
67318         Check for REG_STARTEND of recent libc.
67319         Rename local variables from jm_* to gl_*.
67320         Quote operand of "test -f".
67321         Say "recent enough" version of libc, not "version 2".
67322         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
67323         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
67324         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
67325         Remove check for btowc, isascii.
67326         Require AM_LANGINFO_CODESET.
67327
67328 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67329
67330         * lib/regex.c, regex.h: Sync from libc.
67331         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
67332         * lib/regexec.c:
67333         New files, synced from libc, except that regex_internal.h
67334         currently has a small porting fix.
67335
67336 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
67337
67338         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
67339         regex_internal.c, regexec.c.
67340         Add regex_internal.h too, but as a comment, since the libc version
67341         is currently broken in gnulib mode.
67342
67343 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67344
67345         Support programs like Emacs that use gnulib but not gettext.
67346         * MODULES.html.sh (Internationalization functions): Add gettext-h.
67347         * modules/gettext-h: New file.
67348         * modules/gettext (Files): Remove lib/gettext.h.
67349         (Depends-on): Add gettext-h.
67350         (Makefile.am): Remove lib_SOURCES.
67351         * modules/argmatch, modules/c-stack, modules/closeout:
67352         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
67353         * modules/execute, modules/file-type, modules/getaddrinfo:
67354         * modules/getopt, modules/human, modules/javacomp:
67355         * modules/javaexec, modules/mkdir-p, modules/obstack:
67356         * modules/openat, modules/pagealign_alloc, modules/pipe:
67357         * modules/quotearg, modules/regex, modules/rpmatch:
67358         * modules/unicodeio, modules/userspec, modules/version-etc:
67359         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
67360         * modules/xsetenv:
67361         Depend on gettext-h, not gettext.
67362
67363 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67364
67365         * gnulib-tool (func_import): Add support for 'public domain' license.
67366         * modules/alloca, modules/atexit, modules/memmove:
67367         Now public domain, not GPL.
67368         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
67369         * modules/realloc, modules/strerror, modules/strtod:
67370         Now LGPL, not GPL.
67371
67372 2005-07-05  Bruno Haible  <bruno@clisp.org>
67373
67374         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
67375         autoconf CVS. Needed for mingw.
67376
67377 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67378
67379         Remove the dependency of the strftime module on the tzset module.
67380         * modules/strftime (Depends-on): Remove dependency on tzset.
67381
67382 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67383
67384         Remove the dependency of the strftime module on the tzset module.
67385         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
67386         gl_FUNC_TZSET_CLOBBER.
67387
67388 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67389
67390         Remove the dependency of the strftime module on the tzset module.
67391         * lib/strftime.c (my_strftime)
67392         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
67393         Copy the input structure, to work around some of the bug with
67394         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
67395         Solaris releases, you should also use the tzset module, but we won't
67396         require it as a dependency any more since we don't want LGPLed code
67397         to depend on GPLed code.
67398
67399 2005-07-02  Jim Meyering  <jim@meyering.net>
67400
67401         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
67402         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
67403         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
67404         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
67405
67406 2005-07-02  Jim Meyering  <jim@meyering.net>
67407
67408         * lib/backupfile.c (backup_args): Change a `0' to NULL.
67409
67410 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67411
67412         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
67413         declares only 'struct timespec;' (!).
67414
67415 2005-07-01  Jim Meyering  <jim@meyering.net>
67416
67417         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
67418         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
67419         * lib/save-cwd.c, tempname.c:
67420         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
67421         and don't include <sys/file.h>).
67422
67423 2005-06-29  Jim Meyering  <jim@meyering.net>
67424
67425         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
67426         type name.  Use the variable name instead.
67427         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
67428         Likewise.
67429
67430 2005-06-28  Simon Josefsson  <jas@extundo.com>
67431
67432         * modules/check-version (Files): Add check-version.m4.
67433
67434 2005-06-28  Simon Josefsson  <jas@extundo.com>
67435
67436         * m4/check-version.m4: New file, suggested by Jim Meyering
67437         <jim@meyering.net>.
67438
67439 2005-06-28  Simon Josefsson  <jas@extundo.com>
67440
67441         * lib/check-version.h, lib/check-version.c: New files.
67442
67443 2005-06-28  Simon Josefsson  <jas@extundo.com>
67444
67445         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
67446         collision with global variable.  Better indentation.  Don't
67447         increment buffer pointer beyond buffer end.  Based on comments
67448         from Paul Eggert <eggert@cs.ucla.edu>.
67449
67450         * lib/base64.h: Indent.
67451
67452 2005-06-28  Simon Josefsson  <jas@extundo.com>
67453
67454         * doc/gnulib.texi (Library version handling): New section.
67455
67456 2005-06-28  Jim Meyering  <jim@meyering.net>
67457
67458         * check-module (find_included_lib_files): Hard-code another
67459         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
67460         but modules/fts-lgpl (correctly) does not list those files.
67461
67462         * modules/canonicalize (Files): Add lib/pathmax.h.
67463
67464 2005-06-25  Simon Josefsson  <jas@extundo.com>
67465
67466         * modules/check-version: New file.
67467
67468 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
67469
67470         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
67471         initializer of struct addrinfo, as an indication that we don't
67472         care how many members the structure has.
67473
67474 2005-06-24  Derek Price  <derek@ximbiot.com>
67475         and Bruno Haible  <bruno@clisp.org>
67476
67477         Remove stat module & update lstat.
67478         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
67479         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67480         * m4/stat.m4: Remove this file.
67481
67482 2005-06-24  Derek Price  <derek@ximbiot.com>
67483         and Bruno Haible  <bruno@clisp.org>
67484
67485         Remove stat module & update lstat.
67486         * lib/stat.c: Remove this file...
67487         (slash_aware_lstat): ...moving this content and its support...
67488         * lib/lstat.c (rpl_lstat): ...into here.
67489         * lib/lstat.h: New file.
67490
67491 2005-06-24  Derek Price  <derek@ximbiot.com>
67492         and Bruno Haible  <bruno@clisp.org>
67493
67494         Remove stat module & update lstat.
67495         * config/srclist.txt (libc sources): Remove stat.
67496
67497 2005-06-24  Derek Price  <derek@ximbiot.com>
67498         and Bruno Haible  <bruno@clisp.org>
67499
67500         Remove stat module & update lstat.
67501         * MODULES.html.sh (stat): Remove.
67502         * MODULES.html: Regenerated.
67503         * modules/lstat (Description): Correct function name.
67504         (Files): Add "lstat.h".
67505         (Depends-on): Remove stat, add xalloc, stat-macros.
67506         * modules/stat: Remove this file.
67507         (Include): Add "lstat.h", remove <sys/stat.h>.
67508
67509 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67510
67511         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
67512         (ranged_convert): Don't save conversion in a temporary struct.
67513         This causes a warning with GCC 4.0.0, and anyway in the typical
67514         case it's not worth the extra 100 bytes or so of code.
67515         (ranged_convert, __mktime_internal): When calling a function via a
67516         pointer P, use P () rather than (*P) (), as we now assume C89 or
67517         better.
67518
67519 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67520
67521         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
67522         "who -r" failed to give output.  Problem reported by Tim Waugh.
67523
67524         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
67525         (xcalloc): Use it to avoid needless tests.
67526         Problem reported by Jim Meyering.
67527
67528 2005-06-20  Derek Price  <derek@ximbiot.com>
67529
67530         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
67531         unnecessary for Autoconfs > 2.59c.
67532
67533 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67534
67535         * lib/argp.h (__option_is_short): Check upper limit of
67536         __key. Isprint() requires its argument to have the value
67537         of an unsigned char or EOF.
67538
67539 2005-06-16  Jim Meyering  <jim@meyering.net>
67540
67541         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
67542         when either N or S is zero.
67543
67544 2005-06-16  Derek Price  <derek@ximbiot.com>
67545
67546         * m4/bison.m4: Declare YACC & YFLAGS precious.
67547
67548 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
67549
67550         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
67551         multibyte string or pattern, fall back on unibyte matching.
67552         Problem reported by James Youngman.
67553
67554 2005-06-08  Bruno Haible  <bruno@clisp.org>
67555
67556         * modules/csharpcomp: New file.
67557         * MODULES.html.sh (C#): Add csharpcomp.
67558
67559 2005-06-08  Bruno Haible  <bruno@clisp.org>
67560
67561         * m4/csharpcomp.m4: New file, from GNU gettext.
67562
67563 2005-06-08  Bruno Haible  <bruno@clisp.org>
67564
67565         * lib/csharpcomp.h: New file, from GNU gettext.
67566         * lib/csharpcomp.c: New file, from GNU gettext.
67567         * lib/csharpcomp.sh.in: New file, from GNU gettext.
67568
67569 2005-06-08  Bruno Haible  <bruno@clisp.org>
67570
67571         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
67572         warning on mingw.
67573
67574 2005-06-07  Derek Price  <derek@ximbiot.com>
67575
67576         Sync from CVS.
67577         * lib/glob_.h: Indent nested #ifdef.
67578
67579 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67580
67581         Sync from coreutils.
67582         Use "file name" when talking about file names, instead of "filename"
67583         or "path", as per the GNU coding standards.
67584         * lib/mkdir-p.c: Renamed from makepath.c.
67585         (make_dir_parents): Renamed from make_path.  All callers changed.
67586         * lib/mkdir-p.h: Likewise.  All includers changed.
67587         * lib/filenamecat.c: Renamed from path-concat.c.
67588         (file_name_concat): Renamed from path_concat.  All callers changed.
67589         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
67590         * lib/filenamecat.h: Likewise.  All includers changed.
67591         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
67592         in comments or local variable names.
67593         * lib/basename.c: Likewise.
67594         * lib/canonicalize.c, canonicalize.h: Likewise.
67595         * lib/dirname.c, dirname.h: Likewise.
67596         * lib/euidaccess.c: Likewise.
67597         * lib/exclude.c: Likewise
67598         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
67599         * lib/fsusage.c, fsuage.h: Likewise.
67600         * lib/fts.c, fts_.h: Likewise.
67601         * lib/getcwd.c: Likewise.
67602         * lib/getloadavg.c: Likewise.
67603         * lib/mkstemp.c: Likewise.
67604         * lib/mountlist.c, mountlist.h: Likewise.
67605         * lib/openat.c, openat.h: Likewise.
67606         * lib/readlink-stub.c: Likewise.
67607         * lib/readutmp.c, readutmp.h: Likewise.
67608         * lib/rename.c: Likewise.
67609         * lib/rmdir.c: Likewise.
67610         * lib/same.c: Likewise.
67611         * lib/savedir.c: Likewise.
67612         * lib/stripslash.c: Likewise.
67613         * lib/tempname.c: Likewise.
67614         * lib/xreadlink.c: Likewise.
67615         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
67616         All uses changed.
67617         * lib/exclude.h: Likewise.
67618
67619         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
67620         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67621         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
67622         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67623         * lib/pathmax.h: Include <limits.h> unconditionally, since other
67624         files have been getting away with it for years (MORE/BSD 4.3
67625         is extinct now).
67626         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
67627         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67628
67629         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
67630         Define to 256, not 255, as per modern POSIX.
67631
67632 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67633
67634         Sync from coreutils.
67635         Use "file name" when talking about file names, instead of "filename"
67636         or "path", as per the GNU coding standards.
67637         * MODULES.html.sh: mkdir-p renamed from makepath.
67638         filenamecat renamed from path-concat.
67639         * modules/filenamecat: Renamed from modules/path-concat.
67640         (Files): filenamecat.h and filenamecat.c renamed from
67641         path-concat.h and path-concat.c.
67642         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
67643         (Include): filenamecat.h, not path-concat.h.
67644         * modules/mkdir-p: Renamed from modules/makepath.
67645         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
67646         makepath.c.
67647         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
67648         (Include): mkdir-p.h, not makepath.h.
67649
67650 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67651
67652         Sync from coreutils.
67653         * m4/mkdir-p.m4: Renamed from makepath.m4.
67654         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
67655         Rename files from makepath.c to mkdir-p.c, and from
67656         makepath.h to mkdir-p.h.
67657         * m4/filenamecat.m4: Renamed from path-concat.m4.
67658         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
67659         Rename files from path-concat.c to filenamecat.c,
67660         and from path-concat.h to filenamecat.h.
67661         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
67662         "file name" in local variables or comments.
67663         * m4/rename.m4: Likewise.
67664
67665 2005-06-01  Bruno Haible  <bruno@clisp.org>
67666
67667         * modules/csharpexec: New file.
67668         * MODULES.html.sh (C#): New section.
67669
67670 2005-06-01  Bruno Haible  <bruno@clisp.org>
67671
67672         * m4/csharp.m4: New file, from GNU gettext.
67673         * m4/csharpexec.m4: New file, from GNU gettext.
67674
67675 2005-06-01  Bruno Haible  <bruno@clisp.org>
67676
67677         * lib/csharpexec.h: New file, from GNU gettext.
67678         * lib/csharpexec.c: New file, from GNU gettext.
67679         * lib/csharpexec.sh.in: New file, from GNU gettext.
67680
67681 2005-05-31  Derek Price  <derek@ximbiot.com>
67682             Paul Eggert  <eggert@cs.ucla.edu>
67683
67684         Sync from cvs.
67685         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67686
67687 2005-05-31  Derek Price  <derek@ximbiot.com>
67688             Paul Eggert  <eggert@cs.ucla.edu>
67689
67690         Sync from cvs.
67691         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67692
67693 2005-05-29  Derek Price  <derek@ximbiot.com>
67694
67695         * config/srclist.txt (glob_.h, glob.c): Add these files.
67696
67697 2005-05-29  Derek Price  <derek@ximbiot.com>
67698
67699         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
67700         * modules/glob: New file.
67701         * modules/getlogin_r: Add link to POSIX spec in description.
67702
67703 2005-05-29  Derek Price  <derek@ximbiot.com>
67704             Paul Eggert  <eggert@cs.ucla.edu>
67705
67706         * m4/glob.m4: New file.
67707
67708 2005-05-29  Derek Price  <derek@ximbiot.com>
67709             Paul Eggert  <eggert@cs.ucla.edu>
67710
67711         * lib/glob_.h, lib/glob.c: New files.
67712
67713 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67714
67715         * modules/fts (Files): Remove m4/inttypes-pri.m4.
67716         * modules/fts-lgpl (Depends-on): Remove gettext.
67717
67718 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67719
67720         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
67721         and don't require gt_INTTYPES_PRI.
67722
67723 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67724
67725         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
67726
67727         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
67728         the configuration hassle isn't worth it.
67729         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
67730         (LONGEST_MODIFIER, PRIuMAX): Remove.
67731
67732 2005-05-27  Bruno Haible  <bruno@clisp.org>
67733
67734         * lib/getlogin_r.h: Remove second include of <stddef.h>.
67735
67736 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
67737
67738         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
67739         _POSIX_PTHREAD_SEMANTICS for Solaris.
67740
67741 2005-05-25  Derek Price  <derek@ximbiot.com>
67742
67743         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
67744
67745 2005-05-25  Derek Price  <derek@ximbiot.com>
67746             Paul Eggert  <eggert@cs.ucla.edu>
67747
67748         * modules/getlogin_r, m4/getlogin_r.m4: New files.
67749         * lib/getlogin_r.c, getlogin_r.h: New files.
67750
67751 2005-05-25  Bruno Haible  <bruno@clisp.org>
67752             Derek Price  <derek@ximbiot.com>
67753
67754         * lib/getlogin_r.h: Simplify API documentation.
67755
67756 2005-05-23  Derek Price  <derek@ximbiot.com>
67757
67758         * modules/minmax (Files): Add m4/minmax.m4.
67759         (configure.ac): Add gl_MINMAX.
67760
67761 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
67762
67763         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
67764         so that unistd-safer.h (GPL'ed code) need not be included.
67765
67766 2005-05-22  Bruno Haible  <bruno@clisp.org>
67767
67768         * m4/minmax.m4: New file.
67769         Based on a patch by Derek Price <derek@ximbiot.com>.
67770
67771 2005-05-22  Bruno Haible  <bruno@clisp.org>
67772
67773         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
67774         (INT64_MIN): Fix definition.
67775         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
67776
67777         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
67778         NEED_SIGNED_INT_TYPES.
67779
67780         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
67781         HAVE_SYSTEM_INTTYPES.
67782
67783 2005-05-22  Bruno Haible  <bruno@clisp.org>
67784
67785         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
67786         Also include <sys/param.h> if it defines MIN, MAX.
67787         Based on a patch by Derek Price <derek@ximbiot.com>.
67788
67789 2005-05-21  Jim Meyering  <jim@meyering.net>
67790
67791         * modules/fts (Files): Add m4/inttypes-pri.m4.
67792         (Depends-on): Add lstat and remove gettext.  Alphabetize.
67793
67794 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67795
67796         New fts module.
67797         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
67798         (setup_dir, free_dir): New functions.
67799         (enter_dir, leave_dir): Define trivial
67800         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
67801         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
67802         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
67803         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
67804         Move to fts-cycle.c.
67805         (fts_open): Use setup_dir.
67806         (fts_close): Use free_dir.
67807         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
67808         This adds a label and some gotos, but the alternatives were messier.
67809         Check for memory allocation failure when entering a dir.
67810         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
67811         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
67812         (FTS): New member fts_cycle, that is a union that contains the
67813         old active_dir_ht and cycle_state.  All uses changed to mention
67814         fts_cycle.ht and fts_cycle.state.
67815         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
67816         fts.c, with the following changes:
67817         (setup_dir, free_dir): New functions.
67818         (enter_dir): Now returns bool.  Return true if successful, false
67819         if memory exhausted.  All callers changed.
67820         Do not bother partly cleaning up on
67821         memory allocation failure; that is free_dir's job.
67822         However, free ad if hash_insert fails, to avoid memory leak.
67823         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
67824         fts->fts_options to see which union member to use.
67825
67826 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67827
67828         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
67829         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
67830
67831 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67832
67833         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
67834
67835 2005-05-20  Jim Meyering  <jim@meyering.net>
67836
67837         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
67838         Now a macro, to pacify GCC.
67839
67840 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67841
67842         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
67843         of -1.
67844
67845 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67846
67847         * lib/chown.c (rpl_chown): Return -1 on failure.
67848
67849 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67850
67851         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
67852         Don't check for stddef.h.
67853         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
67854         don't use its results.
67855         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
67856         since we include them unconditionally.  Don't require
67857         AM_STDBOOL_H, since stdbool is a prerequisite.
67858         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
67859         since we assume C89 or better.
67860         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
67861         as we don't use their results.
67862         Don't check for fchdir, memmove, memset, strrchr, as we use
67863         them unconditionally.
67864         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
67865         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
67866
67867 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67868
67869         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
67870         Include <stddef.h> unconditionally, since we assume C89 now.
67871         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
67872         * lib/fts.c: Include fts_.h first, to check interface.
67873         Do not include intprops.h; no longer needed.
67874         Include cycle-check.h and hash.h, since fts_.h no longer does.
67875         Remove unnecessary casts of closedir to void.
67876         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
67877         decide whether to decrement nlinks.
67878         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
67879         (FTS): Use struct hash_table * instead of Hash_table, so that
67880         we no longer need to include hash.h here.
67881
67882 2005-05-18  Jim Meyering  <jim@meyering.net>
67883
67884         * modules/dirfd (License): Change to LGPL.  Most of the code
67885         is already in the public domain.
67886
67887 2005-05-18  Jim Meyering  <jim@meyering.net>
67888
67889         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
67890         Reported by Yoann Vandoorselaere.
67891
67892 2005-05-17  Jim Meyering  <jim@meyering.net>
67893
67894         * m4/fts.m4: New file, from coreutils.
67895
67896 2005-05-17  Jim Meyering  <jim@meyering.net>
67897
67898         * lib/fts.c, lib/fts_.h: New files, from coreutils.
67899
67900 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67901
67902         Sync from coreutils.
67903         * m4/unlinkdir.m4: New file.
67904
67905 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67906
67907         Sync from coreutils.
67908         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
67909         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
67910         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
67911         White space changes only.
67912         * lib/makepath.c (make_path): Port to hosts where leading "//" is
67913         special.
67914         * lib/yesno.c: Include getline.h, not ctype.h.
67915         (yesno): Don't remove leading white space; POSIX doesn't allow it.
67916         Use getline to remove arbitrary restriction on response length.
67917
67918 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67919
67920         * config/srclist-update: Spell out "Street" in FSF postal
67921         mail address; this is the style the FSF seems to prefer.
67922
67923         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
67924         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
67925         this updates FSF postal mail address.
67926
67927         Sync from coreutils.
67928         * modules/unlinkdir: New file.
67929         * modules/yesno (Depends-on): Add getline.
67930         * MODULES.html.sh (File system functions): Add unlinkdir.
67931
67932 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67933
67934         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
67935         lib/strsep.h:
67936         Change the initial comment to refer to GPL, not LGPL.
67937         gnulib-tool will change it to LGPL as needed.
67938
67939         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
67940         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
67941         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
67942         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
67943         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
67944         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
67945         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
67946         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
67947         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
67948         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
67949         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
67950         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
67951         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
67952         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
67953         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
67954         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
67955         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
67956         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
67957         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
67958         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
67959         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
67960         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
67961         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
67962         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
67963         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
67964         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
67965         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
67966         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
67967         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
67968         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
67969         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
67970         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
67971         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
67972         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
67973         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
67974         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
67975         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
67976         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
67977         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
67978         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
67979         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
67980         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
67981         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
67982         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
67983         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
67984         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
67985         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
67986         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
67987         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
67988         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
67989         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67990         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
67991         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
67992         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
67993         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
67994         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
67995         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
67996         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
67997         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
67998         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
67999         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
68000         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
68001         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
68002         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
68003         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
68004         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
68005         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
68006         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
68007         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
68008         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
68009         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
68010         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
68011         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
68012         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
68013         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
68014         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
68015         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
68016         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
68017         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
68018         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
68019         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
68020         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
68021         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
68022         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
68023         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
68024         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
68025         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
68026         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
68027         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
68028         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
68029         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
68030         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
68031         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
68032         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
68033         lib/yesno.c, lib/yesno.h:
68034         Update FSF postal mail address.
68035
68036 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68037
68038         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
68039         tests/test-memmem.c, tests/test-stpncpy.c:
68040         Update FSF postal mail address.
68041
68042 2005-05-13  Bruno Haible  <bruno@clisp.org>
68043
68044         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
68045         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
68046         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
68047         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
68048         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
68049         Add support for 64-bit integers in the MSVC compiler.
68050
68051 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68052
68053         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
68054
68055 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
68056
68057         * gnulib-tool (func_import): Sort and uniquify recommended includes.
68058
68059 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
68060
68061         * doc/getdate.texi (General date syntax): Don't say that date
68062         date --iso-8601=ns generates acceptable dates; it doesn't yet.
68063         Problem reported by Nic Ferrier.
68064
68065 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68066
68067         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
68068         specified in ai_socktype. Fix invalid ai_protocol
68069         check. ai_protocol is usually set to 0 or depending on
68070         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
68071         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
68072         ai_socktype / ai_protocol in the returned addrinfo structure.
68073
68074 2005-05-10  Simon Josefsson  <jas@extundo.com>
68075
68076         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
68077         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
68078
68079 2005-05-10  Karl Berry  <karl@gnu.org>
68080
68081         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
68082         (from http://www.gnu.org/licenses).
68083         * doc/COPYING.LIB: also rename to COPYING.LESSER.
68084         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
68085         fdl.texi suffices.
68086
68087 2005-05-10  Karl Berry  <karl@gnu.org>
68088
68089         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
68090         (COPYING.DOC): remove.
68091
68092         * config/srclist-update: new FSF address.
68093
68094 2005-05-10  Derek Price  <derek@ximbiot.com>
68095
68096         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
68097         possible.
68098
68099 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68100             Bruno Haible  <bruno@clisp.org>
68101
68102         * modules/inet_ntop: New file.
68103         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68104         inet_ntop.
68105
68106 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68107             Bruno Haible  <bruno@clisp.org>
68108
68109         * m4/inet_ntop.m4: New file.
68110
68111 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68112             Bruno Haible  <bruno@clisp.org>
68113
68114         * lib/inet_ntop.h: New file.
68115         * lib/inet_ntop.c: New file, from glibc with modifications.
68116
68117 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
68118
68119         * modules/time_r (License): Change to LGPL.
68120         * modules/extensions (License): Change to LGPL.  Actually,
68121         the license is more permissive than that, but currently gnulib-tool
68122         doesn't know how to handle more-permissive licenses.
68123
68124         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
68125         Problem reported by Dave Love.
68126
68127 2005-05-08  Jim Meyering  <jim@meyering.net>
68128
68129         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
68130         blank.
68131
68132 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68133
68134         * modules/argmatch (Depends-on): Add stdbool.
68135         * modules/backupfile (Depends-on): Likewise.
68136         * modules/chdir-long (Depends-on): Likewise.
68137         * modules/closeout (Depends-on): Likewise.
68138         * modules/cycle-check (Depends-on): Likewise.
68139         * modules/dirname (Depends-on): Likewise.
68140         * modules/fnmatch (Depends-on): Likewise.
68141         * modules/fsusage (Depends-on): Likewise.
68142         * modules/fwriteerror (Depends-on): Likewise.
68143         * modules/getcwd (Depends-on): Likewise.
68144         * modules/getloadavg (Depends-on): Likewise.
68145         * modules/hard-locale (Depends-on): Likewise.
68146         * modules/makepath (Depends-on): Likewise.
68147         * modules/mountlist (Depends-on): Likewise.
68148         * modules/nanosleep (Depends-on): Likewise.
68149         * modules/posixtm (Depends-on): Likewise.
68150         * modules/quotearg (Depends-on): Likewise.
68151         * modules/readtokens (Depends-on): Likewise.
68152         * modules/readtokens0 (Depends-on): Likewise.
68153         * modules/readutmp (Depends-on): Likewise.
68154         * modules/save-cwd (Depends-on): Likewise.
68155         * modules/strftime (Depends-on): Likewise.
68156         * modules/userspec (Depends-on): Likewise.
68157         * modules/utimecmp (Depends-on): Likewise.
68158         * modules/xgetcwd (Depends-on): Likewise.
68159         * modules/xnanosleep (Depends-on): Likewise.
68160         * modules/xstrtod (Depends-on): Likewise.
68161         * modules/yesno (Depends-on): Likewise.
68162
68163 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68164
68165         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
68166         needless checks.
68167
68168 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68169
68170         Merge from coreutils.  Among other things,
68171         add bulletproofing for cases where stdin, stdout, or stderr are closed.
68172         * lib/fd-safer.c: New file.
68173         * lib/fcntl-safer.h, open-safer.c: Remove.
68174         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
68175         * lib/dup-safer.c: Include unistd-safer.h first.
68176         Don't include errno.h.
68177         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
68178         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
68179         * lib/file-type.c: Rely on file-type.h change.
68180         * lib/getloadavg.c: Include unistd-safer.h.
68181         (getloadavg): Use safer open.
68182         * lib/getusershell.c: Include "stdio-safer.h".
68183         (getusershell): Use safer fopen.
68184         * lib/long-options.c (long_options): Use NULL rather than 0.
68185         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
68186         'free'.
68187         * lib/modechange.c: Likewise.
68188         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
68189         (MODE_DONE): New constant.
68190         (struct mode_change): Remove 'next' member.
68191         (make_node_op_equals): New function; like the old one of the
68192         same name, except it allocates an array.
68193         (mode_compile, mode_create_from_ref): Use it.
68194         (mode_compile): Allocate result as an array, not a linked list.
68195         Parse octal string ourself, so that we catch mistakes like "+0".
68196         (mode_adjust): Arg is an array, not a linked list.
68197         * lib/modechange.c: Include stat-macros.h, xalloc.h.
68198         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
68199         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
68200         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
68201         Remove.  This is now stat-macros.h's job.
68202         (talloc): Remove.  All callers replaced by xalloc, so that
68203         our invokers don't have to worry about reporting memory failures.
68204         (make_node_op_equals): Remove.
68205         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68206         New constants.
68207         (struct mode_change): Moved here from modechange.h.
68208         (mode_append_entry): Remove.
68209         (mode_compile): Remove MASKED_OPS arg, since it encouraged
68210         apps to have incorrect behavior.  Use simpler algorithm for head
68211         and tail.  Don't futz with umask; that's now the job of mode_adjust.
68212         Detect more invalid usages rather than having somewhat-random behavior.
68213         Don't insert an "a=" action, as that leads to incorrect behavior.
68214         (mode_compile, mode_create_from_ref): Return NULL on error instead
68215         of an enum, since now there's only one way to have an error.  All
68216         callers changed.
68217         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
68218         at the correct time.  Simplify calculation of "+u" and its ilk.
68219         Don't mishandle "+X".
68220         (mode_free): Remove "register" and localize decls.
68221         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
68222         (struct mode_change): Move to modechange.c; callers don't
68223         need to see this stuff.
68224         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
68225         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
68226         (mode_change, mode_adjust): Reflect the new signatures noted above.
68227         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
68228         that might redefine system include files.
68229         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
68230         (my_usleep): Use NULL rather than (void *) 0.
68231         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
68232         Use siginterrupt to specify that system calls should be interrupted.
68233         (rpl_nanosleep): Move initialization of suspended closer to call of
68234         my_usleep.
68235         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
68236         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
68237         (desirable_utmp_entry): New function.
68238         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
68239         using x2nrealloc, to simplify logic.
68240         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
68241         size calculation.  Do not assume utmp file is a regular file.
68242         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
68243         (READ_UTMP_CHECK_PIDS): New constant.
68244         * lib/save-cwd.c: Include unistd-safer.h.
68245         (save_cwd): Use fd_safer.
68246         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
68247         [!_LIBC] Include "stat-macros.h" instead.
68248         * lib/unistd-safer.h (fd_safer): New decl.
68249
68250 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68251
68252         * modules/getloadavg (Depends-on): Add unistd-safer.
68253         * modules/getusershell (Depends-on): Add stdio-safer.
68254         * modules/lstat (Depends-on): Remove xalloc.
68255         * modules/mkstemp (Depends-on): Add stat-macros.
68256         * modules/modechange (Depends-on): Remove xstrtol.
68257         Add stat-macros, xalloc.
68258         * modules/save-cwd (Depends-on): Add unistd-safer.
68259         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
68260         * modules/unistd-safer (Files): Add lib/fd-safer.c
68261         (Makefile.am): Remove lib_SOURCES.
68262
68263         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
68264         Remove fcntl-safer; unistd-safer supersedes it.
68265
68266 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68267
68268         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
68269         AC_HEADER_STAT.
68270         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
68271         (gl_PREREQ_CHOWN): Remove.
68272         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
68273         it.  Don't require AC_HEADER_STAT.
68274         (gl_PREREQ_LSTAT): Remove.
68275         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
68276         Don't require AC_HEADER_STAT.
68277         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
68278         (gl_PREREQ_RMDIR): Remove.
68279         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
68280         mention stat-macros.h or AC_HEADER_STAT, since we'll make
68281         the stat-macros module a prerequisite.
68282         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
68283         * m4/filemode.m4 (gl_FILEMODE): Likewise.
68284         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
68285         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
68286         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
68287         variable names.
68288         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
68289         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
68290         variable prefixes.
68291         * m4/fcntl-safer.m4: Remove.
68292         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
68293         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
68294         Invoke gl_PREREQ_FD_SAFER.
68295         (gl_PREREQ_FD_SAFER): New macro.
68296         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
68297         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
68298         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
68299         Remove duplicate call to AC_LIBOBJ(readutmp).
68300         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
68301
68302         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
68303         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
68304
68305 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
68306
68307         * MODULES.html.sh (Misc): Add byteswap.
68308
68309 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68310
68311         * modules/getcwd (Depends-on): Add extensions.
68312         * modules/openat (Depends-on): Likewise.
68313
68314 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68315
68316         * modules/byteswap: New file.
68317
68318 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68319
68320         * m4/byteswap.m4: New file.
68321
68322 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
68323
68324         * lib/byteswap_.h: New file.
68325
68326 2005-04-25  Karl Berry  <karl@gnu.org>
68327
68328         * m4/gettext.m4: Update from GNU gettext 0.14.4.
68329
68330 2005-04-25  Albert Chin  <china@thewrittenword.com>
68331
68332         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
68333         Toolkit C bug.
68334
68335 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
68336
68337         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
68338         (func_ln_if_changed): Remove forcibly for no error message
68339         in case file does not exist.
68340
68341 2005-04-19  Simon Josefsson  <jas@extundo.com>
68342
68343         * gnulib-tool (Options): Make --symlink mean --symbolic.
68344
68345 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
68346
68347         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
68348
68349 2005-04-16  Simon Josefsson  <jas@extundo.com>
68350
68351         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
68352
68353 2005-04-15  Simon Josefsson  <jas@extundo.com>
68354
68355         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
68356
68357 2005-04-15  Simon Josefsson  <jas@extundo.com>
68358
68359         * gnulib-tool: Rename --symlink to --symbolic.
68360
68361 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
68362
68363         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
68364         symbolic links to files instead of copying/moving.  Add --aux-dir,
68365         specifying directory relative --dir where auxiliary build tools
68366         are placed.
68367
68368 2005-04-14  Bruno Haible  <bruno@clisp.org>
68369
68370         * modules/allocsa (License): Change to LGPL.
68371         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
68372
68373 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68374
68375         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
68376         that "UTC +1 second" continues to work.  Problem reported
68377         by Dmitry V. Levin.
68378         (relunit_snumber): New rule.
68379         (relunit): Use it.
68380
68381 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
68382
68383         * lib/getdate.y (universal_time_zone_table): New constant.
68384         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
68385         universal_time_zone_table.
68386         (lookup_zone): Prefer universal_time_zone_table to
68387         local_time_zone_table, so that "GMT" time stamps are allowed in
68388         London during the summer.  Problem reported by Ian Abbott.
68389
68390 2005-04-12  Jim Meyering  <jim@meyering.net>
68391
68392         * lib/human.c (humblock): Set *options even when returning due to
68393         xstrtoumax conversion failure.  Thanks to a used-uninitialized
68394         warning from gcc-4.
68395
68396 2005-04-09  Jim Meyering  <jim@meyering.net>
68397
68398         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
68399         -Wuninitialized: initialize tm0.tm_year.
68400
68401 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68402
68403         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
68404         count, since there's no maximum.  All uses changed.
68405         Add member dsts_seen.
68406         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
68407         not being INT_MAX.
68408         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
68409         Use pc_rels_seen to decide whther a date is absolute.
68410
68411         * lib/getdate.y (number): Don't overwrite year.
68412         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
68413         check.
68414
68415 2005-04-02  Simon Josefsson  <jas@extundo.com>
68416
68417         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
68418         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
68419
68420 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
68421
68422         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
68423         where no absolute path name can be longer than PATH_MAX.
68424
68425 2005-03-27  Jim Meyering  <jim@meyering.net>
68426
68427         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
68428
68429 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
68430
68431         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
68432         "one's complement" -> "ones' complement" in comment, as per Knuth.
68433         "value of type" -> "type or expression" in comment.
68434         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
68435
68436 2005-03-26  Jim Meyering  <jim@meyering.net>
68437
68438         Comment nits.
68439         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
68440         Correct typos: s/or/of/.
68441
68442 2005-03-26  Jim Meyering  <jim@meyering.net>
68443
68444         * modules/check-include-files: Move to ../ and rename to...
68445         * check-module: ...this.
68446
68447 2005-03-25  Jim Meyering  <jim@meyering.net>
68448
68449         * modules/xvasprintf (Files): Add xalloc.h.
68450
68451 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68452
68453         * modules/gettext (Files): config/config.rpath ->
68454         build-aux/config.rpath
68455         * modules/iconv (Files): Likewise.
68456         Problem reported by Oskar Liljeblad.
68457
68458 2005-03-23  Jim Meyering  <jim@meyering.net>
68459
68460         * modules/check-include-files: New script to check for
68461         missing dependencies, multiple includes, etc.
68462
68463         * modules/c-strtold (Depends-on): Add xalloc.
68464         * modules/c-strtod (Depends-on): Add xalloc.
68465         * modules/hash (Depends-on): Add xalloc.
68466         (Files): Remove lib/xalloc.h.
68467
68468         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
68469         * modules/userspec (Files): Add lib/inttostr.h.
68470
68471 2005-03-23  Jim Meyering  <jim@meyering.net>
68472
68473         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
68474
68475 2005-03-22  Jim Meyering  <jim@meyering.net>
68476
68477         * modules/stat-macros: New module.
68478         * modules/canonicalize, modules/euidaccess, modules/file-type,
68479         * modules/filemode, modules/lchown, modules/makepath,
68480         * modules/rmdir, modules/stat: Depend on new stat-macros module
68481         rather than listing lib/stat-macros.h manually.
68482         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
68483
68484 2005-03-22  Jim Meyering  <jim@meyering.net>
68485
68486         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
68487
68488 2005-03-22  Bruno Haible  <bruno@clisp.org>
68489
68490         * config/srclist.txt: Replace target directory 'config' with
68491         'build-aux'.
68492         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
68493         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
68494         ../build-aux/.
68495
68496 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
68497
68498         * modules/chdir-long (Depends-on): Add mempcpy.
68499
68500         * modules/acl, modules/backupfile, modules/c-strtod,
68501         modules/c-strtold, modules/canon-host, modules/canonicalize,
68502         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
68503         modules/exclude, modules/exitfail, modules/file-type,
68504         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
68505         modules/getdate, modules/getline, modules/getpagesize,
68506         modules/getpass, modules/getugroups, modules/group-member,
68507         modules/hard-locale, modules/hash, modules/human, modules/idcache,
68508         modules/inttostr, modules/long-options, modules/makepath,
68509         modules/md5, modules/memcasecmp, modules/memcoll,
68510         modules/modechange, modules/mountlist, modules/path-concat,
68511         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
68512         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
68513         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
68514         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
68515         modules/strftime, modules/strndup, modules/strverscmp,
68516         modules/timespec, modules/unlocked-io, modules/userspec,
68517         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
68518         modules/yesno:
68519         Remove lib_SOURCES line from Makefile.am section, as this is now
68520         done automatically by the corresponding Autoconf macro.
68521
68522 2005-03-21  Jim Meyering  <jim@meyering.net>
68523
68524         Changes imported from coreutils.
68525
68526         * lib/cycle-check.c: Don't include xalloc.h.
68527
68528         * lib/path-concat.c: Don't include assert.h.
68529         (path_concat): Remove assertion that would have triggered
68530         for ABASE starting with more than one slash.
68531         Reported by Andreas Schwab.
68532
68533         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
68534         properly when ABASE is an absolute file name.
68535         Correct the description of this function.
68536         Include <assert.h>.
68537         Add an assertion and a test driver.
68538         This fixes a bug introduced on 2004-07-02.
68539         Andreas Schwab reported the resulting failure of cp --parents:
68540         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
68541
68542 2005-03-21  Jim Meyering  <jim@meyering.net>
68543
68544         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
68545         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
68546
68547 2005-03-21  Jim Meyering  <jim@meyering.net>
68548         and  Paul Eggert  <eggert@cs.ucla.edu>
68549
68550         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
68551         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
68552         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
68553         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
68554         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
68555         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
68556         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
68557         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
68558         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
68559         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
68560         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
68561         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
68562         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
68563         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
68564         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
68565         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
68566         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
68567         for these modules.
68568
68569 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
68570
68571         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
68572         (which shouldn't happen), generate nothing instead of returning 0
68573         immediately, so that nstrftime (NULL, ...) doesn't return 0.
68574
68575 2005-03-16  Bruno Haible  <bruno@clisp.org>
68576
68577         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
68578         HAVE_LONGLONG_64BIT.
68579
68580 2005-03-16  Bruno Haible  <bruno@clisp.org>
68581
68582         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
68583         HAVE_LONGLONG_64BIT.
68584
68585 2005-03-16  Bruno Haible  <bruno@clisp.org>
68586
68587         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
68588         HAVE_LONGLONG_64BIT.
68589
68590 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68591
68592         * lib/strftime.c (my_strftime): Prepend space to format so that we can
68593         reliably distinguish strftime failure from empty output on POSIX
68594         hosts.
68595
68596 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
68597
68598         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
68599         (iconv_string): Don't guess a size-zero buffer, as that might cause
68600         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
68601         result would be 'too large', where 'too large' is (heuristically)
68602         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
68603         overflow concerns.  This will prevent some unwanted malloc failures
68604         when the inputs are very large.
68605
68606 2005-03-15  Karl Berry  <karl@gnu.org>
68607
68608         * config/srclist.txt (config.rpath): from gettext.
68609         * config/config.rpath: update.
68610
68611 2005-03-15  Bruno Haible  <bruno@clisp.org>
68612
68613         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
68614         to 'negate'.
68615
68616         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
68617         variable.
68618
68619         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
68620         results.
68621
68622 2005-03-14  Simon Josefsson  <jas@extundo.com>
68623
68624         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
68625         <fx@gnu.org>.
68626
68627 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
68628
68629         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
68630         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
68631         intprops.h.
68632         * lib/strtol.c: Likewise.
68633
68634 2005-03-14  Jim Meyering  <jim@meyering.net>
68635
68636         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
68637         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
68638         to be nonzero so that we (and caller) can detect the difference
68639         between a valid zero-length expansion and an error return, even
68640         when the underlying strftime fails before writing anything into
68641         that location.
68642
68643 2005-03-14  Bruno Haible  <bruno@clisp.org>
68644
68645         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
68646         Update from GNU gettext 0.14.3.
68647
68648 2005-03-10  Jim Meyering  <jim@meyering.net>
68649
68650         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
68651
68652 2005-03-10  Jim Meyering  <jim@meyering.net>
68653
68654         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
68655         so that this module works on systems without fchdir.
68656
68657 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
68658
68659         Factor int-properties macros into a single file, except for
68660         glibc-related files.
68661         * lib/intprops.h: New file.
68662         * lib/getloadavg.c: Include it instead of limits.h.
68663         (INT_STRLEN_BOUND): Remove.
68664         * lib/human.c: Include intprops.h.
68665         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
68666         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
68667         302/1000.
68668         * lib/inttostr.h: Include intprops.h instead of limits.h.
68669         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
68670         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
68671         for consistency with intprops.h.
68672         (time_t_is_integer, twos_complement_arithmetic): Use them.
68673         * lib/sig2str.h: Include <signal.h>, intprops.h.
68674         (INT_STRLEN_BOUND): Remove.
68675         * lib/strftime.c (TYPE_SIGNED): Remove.
68676         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
68677         * lib/strtol.c: Adjust comments to match intprops.h.
68678         * lib/userspec.c: Include intprops.h.
68679         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
68680         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
68681         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
68682         instead of rolling our own expressions.
68683         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
68684
68685         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
68686         instead of int.
68687         (my_strftime): Do not mishandle years close to INT_MAX, by doing
68688         the right thing even if adding 1900 would overflow.  Similarly
68689         for tm_mon + 1 and tm_yday + 1.
68690         Make %Y always equivalent to %C%y, and similarly for %G and %g.
68691         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
68692         (DO_SIGNED_NUMBER): New macro.
68693         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
68694
68695 2005-03-07  Bruno Haible  <bruno@clisp.org>
68696
68697         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
68698
68699 2005-03-07  Bruno Haible  <bruno@clisp.org>
68700
68701         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
68702
68703 2005-03-04  Derek R. Price  <derek@ximbiot.com>
68704
68705         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
68706         (func_import): Only replace files via --import when they have actually
68707         changed.
68708
68709 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68710
68711         * m4/mmap-anon.m4: New file.
68712         * m4/pagealign_alloc.m4: New file.
68713
68714 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68715             Bruno Haible  <bruno@clisp.org>
68716
68717         * modules/pagealign_alloc: New file.
68718         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
68719
68720 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68721             Bruno Haible  <bruno@clisp.org>
68722
68723         * lib/pagealign_alloc.h: New file.
68724         * lib/pagealign_alloc.c: New file.
68725
68726 2005-03-03  Bruno Haible  <bruno@clisp.org>
68727
68728         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
68729         Use an all-permissive copyright notice, recommended by RMS.
68730
68731 2005-03-02  Bruno Haible  <bruno@clisp.org>
68732
68733         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
68734         of AIX, the replacement has to be done only after <string.h> is
68735         included, therefore not in config.h. stpncpy.h does the replacement,
68736         and stpncpy.c uses it.
68737
68738 2005-03-02  Bruno Haible  <bruno@clisp.org>
68739
68740         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
68741         stpncpy.c uses it.
68742
68743 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68744
68745         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
68746         The workaround isn't strictly needed for POSIX conformance, and
68747         it's too much of a pain to configure and maintain.  We'll ask
68748         people to fix their kernels instead.
68749         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
68750         (NANOSLEEP_BUG_WORKAROUND): Remove.
68751         (xnanosleep): Remove the workaround.
68752
68753 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68754
68755         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
68756         Reported by Derek Price.
68757         (Include): Add "timespec.h".
68758
68759         * modules/xnanosleep (Depends-on): Remove gethrxtime.
68760
68761 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68762
68763         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
68764         to detect nanosleep bug.
68765
68766 2005-03-01  Bruno Haible  <bruno@clisp.org>
68767
68768         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
68769
68770 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
68771
68772         * modules/gethrxtime: New file.
68773         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
68774         (Depends-on): Add gethrxtime.
68775         (configure.ac): Add gl_XNANOSLEEP.
68776         (Makefile.am): Remove lib_SOURCES line.
68777
68778 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68779
68780         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
68781         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
68782
68783 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68784
68785         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
68786         * lib/timespec.h (gettime): Return void, since it always
68787         succeeds now.  All uses changed.
68788         * lib/gettime.c (gettime): Likewise.
68789         [HAVE_NANOTIME]: Prefer nanotime.
68790         Assume gettimeofday succeeds, as POSIX requires.
68791         Assime time () succeeds, since other code already does.
68792         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
68793         (timespec_subtract): Remove.
68794         (NANOSLEEP_BUG_WORKAROUND): New constant.
68795         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
68796         things considerably.  Use it only on GNU/Linux hosts, since the
68797         workaround shouldn't be needed elsewhere.
68798
68799 2005-02-24  Bruno Haible  <bruno@clisp.org>
68800
68801         * modules/gettext (Files): Add m4/glibc2.m4.
68802
68803 2005-02-24  Bruno Haible  <bruno@clisp.org>
68804
68805         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
68806         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
68807         * m4/progtest.m4:
68808         Update from GNU gettext 0.14.2.
68809         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
68810
68811 2005-02-24  Bruno Haible  <bruno@clisp.org>
68812
68813         * lib/localcharset.c: Update from GNU gettext 0.14.2.
68814         * lib/config.charset: Update from GNU gettext 0.14.2.
68815
68816 2005-02-24  Bruno Haible  <bruno@clisp.org>
68817
68818         * lib/gettext.h: Update from GNU gettext 0.14.2.
68819
68820 2005-02-23  Simon Josefsson  <jas@extundo.com>
68821
68822         * m4/iconvme.m4: New file.
68823
68824 2005-02-23  Jim Meyering  <jim@meyering.net>
68825
68826         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
68827         change.
68828         Thanks to Bruno Haible for catching it.
68829
68830 2005-02-22  Simon Josefsson  <jas@extundo.com>
68831
68832         * modules/iconvme: New file.
68833
68834         * MODULES.html.sh: Add iconvme.
68835
68836 2005-02-22  Simon Josefsson  <jas@extundo.com>
68837
68838         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
68839
68840 2005-02-22  Simon Josefsson  <jas@extundo.com>
68841
68842         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
68843
68844 2005-02-22  Jim Meyering  <jim@meyering.net>
68845
68846         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
68847         s/ifndef/ifdef/.
68848
68849 2005-02-20  Neil Conway  <neilc@samurai.com>
68850
68851         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
68852         returned by OSX/Darwin if the specified buffer is not large
68853         enough for the hostname.
68854
68855 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68856
68857         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
68858         pass it to _help, otherwise the latter coredumps trying to
68859         dereference state.root_argp.
68860
68861 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68862
68863         * modules/chdir-long (Depends-on): Add memrchr.
68864         * modules/memrchr (Files): Add lib/memrchr.h.
68865         (Include): "memrchr.h".
68866
68867 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68868
68869         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
68870
68871 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68872
68873         * lib/memrchr.h: New file.
68874         * lib/chdir-long.c: Include it.
68875         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
68876         Don't bother including stddef.h.
68877
68878 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68879
68880         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
68881         inclusion.
68882         Include <sys/types.h>, for dev_t.
68883         (ME_DUMMY, ME_REMOTE): Move from here....
68884         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
68885         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
68886         Dmitry V. Levin.
68887         Include mountlist.h first, to test the interface.
68888
68889 2005-01-29  Bruno Haible  <bruno@clisp.org>
68890
68891         * lib/progname.c (program_name): Initialize.
68892         Needed when linking statically on MacOS X.
68893
68894 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68895
68896         Sync from coreutils.
68897         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
68898         (Depends-on): Add c-strtod.
68899         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
68900
68901 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68902
68903         Sync from coreutils.
68904         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
68905
68906         Remove files that are specific to coreutils.
68907         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
68908
68909 2005-01-28  Bruno Haible  <bruno@clisp.org>
68910
68911         * modules/javacomp: New file.
68912         * MODULES.html.sh (Java): Add javacomp.
68913
68914 2005-01-28  Bruno Haible  <bruno@clisp.org>
68915
68916         * m4/javacomp.m4: New file, from GNU gettext.
68917
68918 2005-01-28  Bruno Haible  <bruno@clisp.org>
68919
68920         * lib/javacomp.sh.in: New file, from GNU gettext.
68921         * lib/javacomp.h: New file, from GNU gettext.
68922         * lib/javacomp.c: New file, from GNU gettext.
68923
68924 2005-01-26  Simon Josefsson  <jas@extundo.com>
68925
68926         * lib/gai_strerror.c: Use GPL in header.
68927
68928 2005-01-26  Bruno Haible  <bruno@clisp.org>
68929
68930         * modules/javaexec: New file.
68931         * MODULES.html.sh (Java): Add javaexec.
68932
68933 2005-01-26  Bruno Haible  <bruno@clisp.org>
68934
68935         * m4/javaexec.m4: New file, from GNU gettext.
68936
68937 2005-01-26  Bruno Haible  <bruno@clisp.org>
68938
68939         * lib/javaexec.sh.in: New file, from GNU gettext.
68940         * lib/javaexec.h: New file, from GNU gettext.
68941         * lib/javaexec.c: New file, from GNU gettext.
68942
68943 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68944
68945         * modules/lchown (Depends-on): Remove lchown.h
68946
68947 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68948
68949         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
68950         must be defined if the header file was not found, in order
68951         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
68952
68953 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68954
68955         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
68956         initializers for struct pentry_state.
68957         (__argp_error): Check return value of __asprintf
68958         (__argp_failure): Translate error message
68959
68960         * lib/argp-parse.c: Removed braces around the expansion of N_()
68961
68962 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68963
68964         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
68965         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
68966         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
68967         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
68968         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
68969         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
68970         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
68971         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
68972         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
68973         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
68974         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
68975         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
68976         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
68977         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
68978         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
68979         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
68980         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
68981         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
68982         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
68983         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
68984         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
68985         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
68986         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
68987         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
68988         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
68989         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
68990         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
68991         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
68992         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
68993         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
68994         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
68995         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
68996         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
68997         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
68998         xstrtol.m4, xstrtoumax.m4, yesno.m4:
68999         Use an all-permissive copyright notice, recommended by RMS.
69000
69001 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
69002
69003         * modules/chdir-long (Depends-on): Remove mempcpy.
69004
69005 2005-01-21  Jim Meyering  <jim@meyering.net>
69006
69007         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
69008         same value as for Solaris 9.
69009
69010         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
69011         component length.  This included changing the parameter to be
69012         of type `char *' rather than `char const *'.
69013         * lib/chdir-long.h (chdir_long): Update prototype.
69014
69015         * lib/openat.c (fdopendir, fstatat): New functions.
69016         * lib/openat.h: Include headers required for use of DIR and struct
69017         stat.
69018         [AT_SYMLINK_NOFOLLOW]: Define.
69019         (fdopendir, fstatat): Add prototypes.
69020
69021 2005-01-21  Bruno Haible  <bruno@clisp.org>
69022
69023         * modules/classpath: New file.
69024         * MODULES.html.sh (Java): Add classpath.
69025
69026 2005-01-21  Bruno Haible  <bruno@clisp.org>
69027
69028         * lib/classpath.h: New file, from GNU gettext.
69029         * lib/classpath.c: New file, from GNU gettext.
69030
69031 2005-01-20  Simon Josefsson  <jas@extundo.com>
69032
69033         * modules/version-etc-fsf: New file.
69034
69035 2005-01-20  Simon Josefsson  <jas@extundo.com>
69036
69037         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
69038         * lib/version-etc.c: Remove version_etc_copyright.
69039         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
69040         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
69041
69042 2005-01-20  Simon Josefsson  <jas@extundo.com>
69043
69044         * lib/base64.h (isbase64): Add.
69045
69046         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
69047         using a unsigned prototype, don't inline.
69048         (base64_decode): Use it.
69049
69050 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69051
69052         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
69053         it.
69054
69055 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69056
69057         * lib/save-cwd.c (save_cwd): Remove code to support the case
69058         where fchdir is missing or flaky.
69059
69060 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69061
69062         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
69063
69064 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69065
69066         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
69067         AC_LIBSOURCES now does this.
69068         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
69069         with new ullong_max module.
69070
69071 2005-01-19  Bruno Haible  <bruno@clisp.org>
69072
69073         * modules/sh-quote: New file.
69074         * MODULES.html.sh (Executing programs): Add sh-quote.
69075
69076 2005-01-19  Bruno Haible  <bruno@clisp.org>
69077
69078         * lib/sh-quote.h: New file, from GNU gettext.
69079         * lib/sh-quote.c: New file, from GNU gettext.
69080
69081 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69082
69083         Merge from coreutils.
69084         * m4/ullong_max.m4: New file.
69085         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
69086         (gl_MACROS): Assume localeconv exists.
69087
69088 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69089
69090         Merge changes from coreutils, as described below in several
69091         changelogs dated today.
69092
69093         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
69094         (O_DIRECTORY): Remove; not needed here, since "." must be
69095         a directory.  All uses removed.
69096         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
69097         universal on Suns, and we also need to test for IRIX.
69098         Revamp code to use 'if' rather than '#if'.
69099         Avoid unnecessary comparison of cwd->desc to 0.
69100
69101         * lib/utimens.c (futimens): Robustify the previous patch, by checking
69102         for known valid error numbers rather than observed invalid ones.
69103
69104 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
69105
69106         * modules/ullong_max: New file.
69107
69108         * modules/chdir-long, modules/openat: New files.
69109         * modules/save-cwd (Depends-on): Depend on chdir-long.
69110         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
69111
69112 2005-01-18  Jim Meyering  <jim@meyering.net>
69113
69114         Merge from coreutils.
69115         * m4/chdir-long.m4, m4/openat.m4: New files.
69116         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
69117         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
69118         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
69119         is sane and DOES follow symlinks.  Besides, testing 20 different
69120         systems found no broken chown implementations.
69121         Prompted by a change in rsync's copy of this macro.
69122         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
69123
69124         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
69125
69126         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
69127         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
69128         NULL-means-set-to-current-time semantics.
69129         Remove temporary file immediately, rather than waiting
69130         for configure's at-exit trap code to do it.
69131
69132 2005-01-18  Jim Meyering  <jim@meyering.net>
69133
69134         * lib/version-etc.c (version_etc_copyright): Update copyright date.
69135
69136         * lib/utimens.c (futimens): Account for the fact that futimes
69137         can also fail with errno == ENOSYS or errno == ENOENT.
69138         Patch from Dmitry V. Levin.
69139
69140         Change the name of the robust chdir function from chdir to chdir_long.
69141         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
69142         (restore_cwd): Use chdir_long, not chdir.
69143         * lib/chdir-long.c: Renamed from chdir.c.
69144         * lib/chdir-long.h: Renamed from chdir.h.
69145         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
69146         Hurd.
69147
69148 2005-01-18  Bruno Haible  <bruno@clisp.org>
69149
69150         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
69151         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
69152         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
69153         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
69154         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
69155         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
69156         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
69157         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
69158         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
69159         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
69160         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
69161         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
69162         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
69163         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
69164         Use an all-permissive copyright notice, recommended by RMS.
69165
69166 2005-01-18  Bob Proulx  <bob@proulx.com>
69167
69168         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
69169         simplify offsetof() macro construct to avoid compile failure with
69170         native HP-UX 11.0 ANSI C compiler.
69171
69172 2005-01-17  Bruno Haible  <bruno@clisp.org>
69173
69174         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
69175         redundant because stpncpy.m4 takes care of it.
69176
69177 2005-01-17  Bruno Haible  <bruno@clisp.org>
69178
69179         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
69180
69181 2005-01-17  Bruno Haible  <bruno@clisp.org>
69182
69183         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
69184         used.
69185
69186 2005-01-17  Bruno Haible  <bruno@clisp.org>
69187
69188         * lib/fwriteerror.h (fwriteerror): Change specification to include
69189         fclose.
69190         * lib/fwriteerror.c: Include <stdbool.h>.
69191         (fwriteerror): At the end, close the file stream. Record whether
69192         stdout was already closed.
69193
69194 2005-01-17  Bruno Haible  <bruno@clisp.org>
69195
69196         * lib/execute.c (environ): Declare if needed.
69197         * lib/pipe.c (environ): Likewise.
69198         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
69199
69200 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69201
69202         * modules/argp: Depend on vsnprintf
69203
69204 2005-01-10  Jim Meyering  <jim@meyering.net>
69205
69206         * modules/closeout (Depends-on): Add atexit.
69207
69208 2005-01-06  Bruno Haible  <bruno@clisp.org>
69209
69210         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
69211
69212 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69213
69214         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
69215         definitions to be after all include files, to avoid collisions.
69216         Problem reported by Bob Proulx.
69217
69218 2005-01-04  Jim Meyering  <jim@meyering.net>
69219
69220         Changes imported from coreutils.
69221         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
69222         as the mkstemp template, use a temporary directory and an
69223         8.3-friendly template to avoid trouble on systems like DJGPP.
69224         Reported by Juan M. Guerrero via Stepan Kasal.
69225         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
69226         close. Remove the temporary directory right away, rather than waiting
69227         for configure's at-exit trap code to do it.
69228         Suggestion from Stepan Kasal.
69229
69230 2005-01-01  Simon Josefsson  <jas@extundo.com>
69231
69232         * gnulib-tool: Print #include directives when --import'ing.
69233
69234 2004-12-28  Simon Josefsson  <jas@extundo.com>
69235
69236         * tests/test-base64.c: Include required header files.  Remove
69237         unused variables.
69238
69239 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69240
69241         * modules/error (Depends-on): Remove gettext.
69242
69243 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69244
69245         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
69246         not needed.  This removes a dependency on the gettext module.
69247         [defined _LIBC]: Do not include <libintl.h>; not needed.
69248
69249 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69250
69251         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
69252         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
69253
69254 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
69255
69256         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
69257         HAVE_DECL_STRTOLD.
69258
69259 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69260
69261         * modules/getdate (Depends-on): Remove alloca-opt.
69262
69263 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69264
69265         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
69266
69267 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69268
69269         * lib/argp-parse.c: Include <stddef.h>.
69270         (alignof, alignto): New macros.
69271         (parser_init): Don't assume that void * is aligned sufficiently
69272         for struct option.
69273
69274         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
69275         need to extend the stack.
69276         (YYINITDEPTH): New macro, so that the initial stack isn't overly
69277         large.
69278
69279 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69280
69281         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
69282
69283 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69284
69285         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
69286         (2004-10-24) change.  Apparently this was a false alarm.
69287
69288         * modules/getdate: Depend on alloca-opt, not alloca.
69289
69290 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
69291
69292         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
69293         Remove now-obsolete comment about AIX.
69294         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
69295         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
69296         (YYMAXDEPTH): New macro.
69297
69298 2004-12-18  Simon Josefsson  <jas@extundo.com>
69299
69300         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
69301
69302 2004-12-18  Bruno Haible  <bruno@clisp.org>
69303
69304         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
69305
69306 2004-12-18  Bruno Haible  <bruno@clisp.org>
69307
69308         * lib/fatal-signal.c (fatal_signals): Make non-const.
69309         (init_fatal_signals): New function.
69310         (uninstall_handlers, install_handlers): Ignore signals that were set to
69311         SIG_IGN.
69312         (at_fatal_signal): Call init_fatal_signals.
69313         (init_fatal_signal_set): Likewise. Ignore signals that were set to
69314         SIG_IGN.
69315         Reported by Paul Eggert.
69316
69317 2004-12-18  Bruno Haible  <bruno@clisp.org>
69318
69319         * doc/alloca.texi: New file.
69320         * doc/alloca-opt.texi: New file.
69321
69322 2004-12-17  Jim Meyering  <jim@meyering.net>
69323
69324         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
69325         Otherwise, install-sh could exit with improper exit status when
69326         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
69327
69328 2004-12-16  Simon Josefsson  <jas@extundo.com>
69329
69330         * tests/test-base64.c: Add license.
69331
69332 2004-12-15  Stepan Kasal  <address@hidden>
69333
69334         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
69335
69336 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
69337
69338         * modules/getcwd (Files): Add m4/d-ino.m4.
69339         Suggested by Mark D. Baushke.
69340
69341 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69342
69343         * lib/getdate.y (textint): New member "negative".
69344         (time_zone_hhmm): New function.
69345         Expect 14 shift-reduce conflicts, not 13.
69346         (o_colon_minutes): New rule.
69347         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
69348         (yylex): Set the "negative" member of signed numbers.
69349
69350 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
69351
69352         * doc/getdate.texi (Time of day items, Time zone items):
69353         Describe new formats +00:00, UTC+00:00.
69354
69355 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69356
69357         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
69358         spurious "-l"s.  Problem reported by Stepan Kasal.
69359
69360 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
69361
69362         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
69363         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
69364
69365 2004-12-04  Simon Josefsson  <jas@extundo.com>
69366
69367         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
69368         Vandoorselaere <yoann@prelude-ids.org>.
69369
69370 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69371
69372         Changes imported from coreutils.
69373         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
69374         exist.
69375         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
69376
69377 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69378
69379         Changes imported from coreutils.
69380         * lib/hard-locale.c: Assume <locale.h> exists.
69381         Include "strdup.h".
69382         (GLIBC_VERSION): New macro.
69383         (hard_locale): Assume setlocale exists.
69384         Rewrite to avoid #ifdef.
69385         Use strdup rather than malloc + strcpy.
69386         * lib/human.c: Assume <locale.h> exists.
69387         (human_readable): Assume localeconv exists.
69388
69389 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
69390
69391         * modules/hard-locale (Depends-on): Add strdup.
69392
69393 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
69394
69395         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
69396         convert T2, not T.  (Imported from libc.)
69397
69398 2004-11-30  Simon Josefsson  <jas@extundo.com>
69399
69400         * modules/restrict (License): Change to LGPL.
69401
69402 2004-11-30  Simon Josefsson  <jas@extundo.com>
69403
69404         * m4/restrict.m4: Add copyright and copying conditions.
69405
69406 2004-11-30  Simon Josefsson  <jas@extundo.com>
69407
69408         * m4/base64.m4: New file.
69409
69410 2004-11-30  Simon Josefsson  <jas@extundo.com>
69411
69412         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
69413         base64.
69414
69415         * tests/test-base64.c: New file.
69416
69417         * modules/base64: New file.
69418
69419 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69420
69421         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
69422         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
69423
69424         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
69425
69426 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
69427
69428         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
69429         (__getcwd.c): Don't restore errno; glibc doesn't.
69430         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
69431         first, falling back to our code only if its results look suspicious.
69432         Ensure that the resulting buffer is only as large as necessary.
69433
69434         * lib/readutmp.c: Include readutmp.h first.
69435         Include <errno.h>, since readutmp.h no longer does that.
69436         * lib/readutmp.h: Don't include <errno.h>,
69437         <sys/param.h>, <time.h>; not needed to establish interface.
69438         (errno): Remove decl.
69439         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
69440         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
69441         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
69442
69443 2004-11-28  Simon Josefsson  <jas@extundo.com>
69444
69445         * lib/base64.h, base64.c: New file.
69446
69447 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69448
69449         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
69450
69451 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69452
69453         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
69454         (Depends-on): Remove pathmax, same.  Add mempcpy.
69455         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
69456         (Makefile.am): Append getcwd.h to lib_SOURCES.
69457         (Include): Add getcwd.h.
69458         (Maintainer): Change from Jim Meyering to "all, glibc",
69459         since getdate now uses intended-for-glibc code.
69460         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
69461         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
69462
69463 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69464
69465         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
69466         HP's ANSI C compiler.
69467         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
69468         Declaring int functions causes warnings on some modern systems and
69469         shouldn't be needed to compile on ancient ones.
69470         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
69471         defined.
69472
69473         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
69474         with the following changes.
69475         (__set_errno): Parenthesize properly.
69476         Include <stdbool.h>.
69477         (MIN, MAX, MATCHING_INO): New macros.
69478         (__getcwd): Define with prototype, not K&R form.
69479         Use heuristics to allocate default buffer on stack if possible.
69480         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
69481         behavior, and to avoid the PATH_MAX limit when computing
69482         ../../../../...
69483         Use MATCHING_INO to compare inode number to file.
69484         Check for arithmetic overflow in size calculations.
69485         Fix bug in reallocation of dot array that caused getcwd to fail
69486         on directories nested deeper than 75.
69487         Be more careful about saving errno on error.
69488         Do not use realloc; use only free+malloc, as this is a bit
69489         more flexible and avoids a needless copy operation.
69490         Do not inspect st_dev and st_ino for symbolic links; POSIX
69491         doesn't specify the latter.
69492         Check for closedir errors.
69493         Avoid needless casts.
69494         Use "#ifdef weak_alias" around weak_alias, to be like other
69495         glibc code.
69496         The following changes to getcwd.c have effect only when used in
69497         gnulib; they have no effect inside glibc proper.
69498         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
69499         as alloca isn't used.
69500         (alloca, __alloca): Likewise.
69501         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
69502         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
69503         unconditionally, as gnulib assumes C89 or better.
69504         Do not include <sys/param.h>.
69505         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
69506         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
69507         better.
69508         (NULL) [!defined NULL]: Remove; we assume C89 or better.
69509         Include <dirent.h> in a way that is compatible with modern Autoconf.
69510         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
69511         New macros, if not already defined.
69512         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
69513         Use "_LIBC", not "defined _LIBC", for consistency.
69514         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
69515         a mempcpy module.
69516         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
69517         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
69518         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
69519         credit only to Jim Meyering and adjust the copyright dates.
69520         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
69521         <stdlib.h>, <unistd.h>, "pathmax.h".
69522         Instead, include "xgetcwd.h" (first) and "getcwd.h".
69523         (INITIAL_BUFFER_SIZE): Remove.
69524         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
69525
69526 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69527
69528         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
69529         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
69530         Use the _ONCE methods, for efficiency.
69531         Check for fcntl.h.  In test program, include <errno.h>
69532         and <fcntl.h> if available.  Remove old K&R cruft from
69533         test program.  Check for common errors in GNU/Linux,
69534         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
69535         don't do AC_LIBOBJ, as that's getcwd.m4's job.
69536         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
69537         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
69538         name accordingly.
69539         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
69540         accommodate new getcwd.c.
69541         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
69542         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
69543         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
69544         that's all we need now.
69545
69546 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69547
69548         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
69549         argp-parse.c depends on getopt internals, that means we should
69550         always use our getopt, to be on the safe side.
69551         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
69552         order not to spoil the result of an eventual previous invocation
69553         of gl_GETOPT_SUBSTITUTE.
69554
69555 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69556
69557         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
69558         redefinition warnings. To avoid them, include the defines
69559         in `#if !defined __need_getopt ... #endif'. The only place
69560         where __getopt_argv_const is used is in definitions
69561         of getopt_long and getopt_long_only below, which are as well
69562         protected by `#ifndef __need_getopt'.
69563         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
69564         __need_getopt after including <stdio.h> and <unistd.h> These
69565         headers might have defined it.
69566
69567 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69568
69569         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
69570
69571 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
69572
69573         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
69574         (futimens): New function, which uses futimes if available.
69575         (futimens, utimens): Support timespec==NULL, with same semantics
69576         as utime and utimens.
69577         * lib/utimens.h (futimens): New decl.
69578
69579 2004-11-23  Jim Meyering  <jim@meyering.net>
69580
69581         * lib/getopt_.h: Remove trailing blanks.
69582
69583 2004-11-23  Jim Meyering  <jim@meyering.net>
69584
69585         * lib/__fpending.c: Add comment.
69586
69587 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
69588
69589         * modules/canonicalize (Depends-on): Add xreadlink.
69590         Problem reported by James Youngman.
69591
69592 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69593
69594         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
69595         New macros.
69596         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
69597         optopt): Use them instead of invoking ## directly; otherwise, the
69598         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
69599
69600 2004-11-19  Bruno Haible  <bruno@clisp.org>
69601
69602         * lib/strtok_r.c: Move comments from here...
69603         * lib/strtok_r.h: ... to here.
69604
69605 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69606
69607         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
69608         implementations that mishandle size_t overflow.
69609
69610 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69611
69612         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
69613         might fail.  Problem reported by Yoann Vandoorselaere.
69614         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
69615         implementations that mishandle size_t overflow.
69616
69617 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69618
69619         * modules/canon-host (Depends-on): Add strdup.
69620
69621 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69622
69623         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
69624
69625 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69626
69627         * lib/canon-host.c: Include "strdup.h".
69628         (canon_host): Use getaddrinfo if available, so that IPv6 works.
69629         Use strdup instead of malloc/strcpy to duplicate strings.
69630
69631         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
69632         (human_space_before_unit): New constant.
69633         * lib/human.c (human_readable): Support it.
69634
69635         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
69636         (xgetcwd): Set errno correctly when failing.
69637         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
69638         the failure is actually due to a PATH_MAX problem.
69639
69640         Further getopt changes to make it more likely that glibc will
69641         buy the changes back.
69642         * lib/getopt.c (POSIXLY_CORRECT): New constant.
69643         (getopt): Use it, so to preserve glibc semantic
69644         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
69645         when compiling for libc.
69646         * lib/getopt_.h (__getopt_argv_const): Bring it back.
69647         (getopt_long, getopt_long_only): Use it.
69648
69649         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69650         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
69651         (getopt): Argv is now char * const *, as per standard.
69652         (_getopt_internal_r, _getopt_internal): Argv is now char **,
69653         not char *__getopt_argv_const *.
69654         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69655         _getopt_long_only_r): Likewise.
69656         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
69657         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69658         _getopt_long_r, _getopt_long_only_r): Likewise.
69659         * lib/getopt_.h (__getopt_argv_const): Remove.
69660         (getopt): Argv is now char * const *, as per standard.
69661
69662         * lib/getdate.y (tORDINAL): New token.
69663         (day, relunit): Allow it for relative times.
69664         (relative_time_table): Use tORDINAL for ordinals.
69665
69666 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69667
69668         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
69669         Document that "second" isn't allowed as an ordinal number.
69670
69671 2004-11-16  Jim Meyering  <jim@meyering.net>
69672
69673         * modules/closeout (Depends-on): Add fpending.
69674
69675 2004-11-15  Jim Meyering  <jim@meyering.net>
69676
69677         * lib/closeout.c: Include "__fpending.h" once again.
69678         Include <stdbool.h>.
69679         (close_stdout): Don't fail just because stdout was closed initially,
69680         since some programs don't write to stdout in the normal course of
69681         operation (other than --version and --help), and we don't want this
69682         function to make e.g. `touch file >&-' fail.
69683         But do fail if it was closed and someone has tried to write to it.
69684         E.g., `printf foo >&-' must fail.
69685
69686 2004-11-13  Jim Meyering  <jim@meyering.net>
69687
69688         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
69689
69690 2004-11-12  Simon Josefsson  <jas@extundo.com>
69691
69692         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
69693         small doc fix is still pending.
69694
69695 2004-11-11  Simon Josefsson  <jas@extundo.com>
69696
69697         * modules/strtok_r: New file.
69698
69699         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69700         strtok_r.
69701
69702 2004-11-11  Simon Josefsson  <jas@extundo.com>
69703
69704         * m4/strtok_r.m4: New file.
69705
69706         * m4/getopt.m4: Replace opterr.
69707
69708 2004-11-11  Simon Josefsson  <jas@extundo.com>
69709
69710         * lib/strtok_r.h, strtok_r.c: New file.
69711
69712 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69713
69714         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
69715         of replacing opterr, getopt, etc.  This should handle the
69716         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
69717
69718 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69719
69720         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
69721         we can stop lying to compilers about the constness of argv when we
69722         are compiled outside glibc.
69723         (getopt, getopt_long, getopt_long_only): Use it.
69724         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69725         _getopt_internal, getopt): Likewise.
69726         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69727         _getopt_long_only_r): Likewise.
69728         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69729         _getopt_long_r, _getopt_long_only_r): Likewise.
69730
69731         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
69732         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
69733         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
69734         the other external symbols.
69735         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
69736         declaration, since the above renaming now works around collisions.
69737
69738 2004-11-11  Jim Meyering  <jim@meyering.net>
69739
69740         * lib/linebreak.c: Remove trailing blanks.
69741         * lib/alloca_.h: Likewise.
69742         * lib/acosl.c: Likewise.
69743         * lib/euidaccess.c: Likewise.
69744         * lib/allocsa.h: Likewise.
69745
69746 2004-11-10  Simon Josefsson  <jas@extundo.com>
69747
69748         * m4/getaddrinfo.m4: New file.
69749
69750 2004-11-10  Simon Josefsson  <jas@extundo.com>
69751
69752         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
69753
69754 2004-11-10  Simon Josefsson  <jas@extundo.com>
69755
69756         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69757         getaddrinfo.
69758
69759         * modules/getaddrinfo: New file.
69760
69761 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69762
69763         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
69764
69765 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69766
69767         * lib/mktime.c (SHR): New macro, which is a portable
69768         substitute for >> that should work even on Crays.
69769         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
69770         Problem reported by Mark D. Baushke in
69771         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
69772         * lib/getdate.y (SHR): Likewise.
69773         (tm_diff): Use it.
69774         * lib/strftime.c (SHR): Likewise.
69775         (tm_diff): Use it.
69776         * lib/quotearg.c (struct quoting_options): Use unsigned int for
69777         quote_these_too, so that right shifts are well defined.  All uses
69778         changed.
69779
69780 2004-11-10  Jim Meyering  <jim@meyering.net>
69781
69782         Ensure that no close failure goes unreported.
69783         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
69784         return early when it seems there's nothing to flush.
69785         Don't include __fpending.h.
69786
69787 2004-11-10  Jim Meyering  <jim@meyering.net>
69788
69789         * modules/closeout (Depends-on): Remove fpending.
69790
69791 2004-11-10  Jim Meyering  <jim@meyering.net>
69792
69793         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
69794
69795 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69796
69797         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
69798         gl_FUNC_STRFTIME.
69799         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
69800         and AC_REQUIRE when possible, to avoid duplicate checks.
69801         Check for <wchar.h>.
69802
69803 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69804
69805         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
69806
69807 2004-11-09  Bruno Haible  <bruno@clisp.org>
69808
69809         * m4/sockpfaf.m4: New file.
69810
69811 2004-11-05  Bruno Haible  <bruno@clisp.org>
69812
69813         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
69814         Reported by Mark D. Baushke <mdb@cvshome.org>.
69815
69816 2004-11-04  Bruno Haible  <bruno@clisp.org>
69817
69818         2004-09-11  Bruno Haible  <bruno@clisp.org>
69819                 * allocsa.valgrind: New file.
69820         2004-02-06  Bruno Haible  <bruno@clisp.org>
69821                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
69822                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
69823                 Reported by Christopher Seip <chris.seip@hp.com>.
69824
69825 2004-11-04  Bruno Haible  <bruno@clisp.org>
69826
69827         * modules/allocsa (Files): Add lib/allocsa.valgrind.
69828         (Makefile.am): Distribute it.
69829
69830 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69831
69832         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
69833         with errno == ERANGE if the buffer is too small.
69834         Problem reported by Mark D. Baushke.
69835
69836 2004-11-03  Albert Chin  <china@thewrittenword.com>
69837             Paul Eggert  <eggert@cs.ucla.edu>
69838
69839         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
69840         equivalent, substitute $ac_type for equivalent type rather than
69841         blindly using uint32_t *always* which won't work if uint32_t is not
69842         available.  Define _UINT32_T to work around typedef of uint32_t if
69843         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
69844         2.5.1.
69845
69846 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69847
69848         * m4/jm-macros.m4: Sync from coreutils.
69849         (gl_MACROS): Check for mbrlen, for pathchk.
69850         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
69851
69852 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69853
69854         * lib/xreadlink.c (MAXSIZE): New macro.
69855         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
69856         size does not exceed MAXSIZE.  Avoid cast.
69857         As suggested by Mark D. Baushke in
69858         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
69859         if readlink fails with buffer size just under MAXSIZE, try again
69860         with MAXSIZE.
69861
69862 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69863
69864         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
69865
69866 2004-11-02  Derek R. Price  <derek@ximbiot.com>
69867         and  Paul Eggert  <eggert@cs.ucla.edu>
69868
69869         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
69870         (get_date): Overparenthesize to avoid GCC warning.
69871
69872 2004-11-02  Bruno Haible  <bruno@clisp.org>
69873
69874         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
69875         returns void.
69876
69877 2004-11-02  Bruno Haible  <bruno@clisp.org>
69878
69879         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
69880         function returns void.
69881
69882 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69883
69884         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
69885         fflush_unlocked, flockfile, funlockfile, funlockfile,
69886         fputs_unlocked, putc_unlocked.
69887
69888 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69889
69890         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69891         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
69892         already declared.
69893
69894 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69895
69896         * modules/getdate (Files): Add doc/getdate.texi.
69897         (Depends-on): Add setenv, xalloc.
69898
69899 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69900
69901         * lib/getdate.y: Add support for TZ="foo" within a date string.
69902         Fix some bugs near time_t boundaries.  Reject dates with
69903         out-of-range components, e.g., "Sept 31".
69904         Include <stdlib.h>, "setenv.h", "xalloc.h".
69905         (ISDIGIT_LOCALE): Remove; unused.
69906         Note that the TZ and time functions used here are not reentrant.
69907         (mktime_ok, get_tz): New functions.
69908         (TZBUFSIZE): New constant.
69909         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
69910         This requires that we sometimes generate our own TZ="XXX..." setting.
69911
69912 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69913
69914         * doc/getdate.texi: New file, from coreutils with modifications for
69915         the new TZ parsing.
69916
69917 2004-10-27  Derek R. Price  <derek@ximbiot.com>
69918
69919         * lib/mktime.c (not_equal_tm): Remove redundant check.
69920
69921 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69922
69923         * modules/regex (lib_SOURCES): Add regex.c.
69924         Reported by James Youngman in
69925         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
69926
69927 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69928
69929         * lib/getdate.y: Use Bison 1.875 features, and some minor
69930         code cleanups.  This change does not affect semantics.
69931         Don't include <stdlib.h>; no longer needed.
69932         Don't include unlocked-io.h; only the "#if TEST" code uses
69933         stdio, and performance isn't crucial there.
69934         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
69935         Bison 1.875 features as described below.
69936         All uses of "PC." replaced by "pc->".
69937         (YYSTYPE): Add a forward declaration.
69938         (yylex, yyerror): Use full prototypes in forward decls.
69939         Use "%pure-parser" rather than obsolescent "%pure_parser".
69940         Use %parse-param and %lex-param instead of obsolescent
69941         YYPARSE_PARAM and YYLEX_PARAM.
69942         (meridian_table, month_and_day_table, time_units_table,
69943         relative_time_table, time_zone_table, military_table,
69944         lookup_zone, lookup_word, get_date):
69945         Use NULL instead of 0 where appropriate.
69946         (to_hour): Avoid abort (), to avoid a dependency on
69947         stdlib.h.
69948         (yyerror, yylex): Now accepts parser_control * arg.
69949         (main) [TEST]: Use '\0' rather than 0 for char.
69950
69951 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69952
69953         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
69954
69955 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69956
69957         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
69958         It's now the caller's responsibility to handle the case where
69959         !HAVE_GETPAGESIZE && !defined getpagesize.
69960
69961         * lib/mktime.c (leapyear): Arg is long int, not int.
69962
69963 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
69964
69965         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
69966
69967 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69968
69969         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
69970         missing.  Problem reported by James Youngman.
69971
69972 2004-10-16  Simon Josefsson  <jas@extundo.com>
69973
69974         * gnulib-tool: Fix comments.  Fix parse problem.
69975         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
69976
69977 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
69978
69979         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
69980         implementation of getopt_long.  Problem reported by Alexander Taler in:
69981         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
69982
69983 2004-10-15  Bruno Haible  <bruno@clisp.org>
69984
69985         * gnulib-tool: Untabify. Initialize supplied_libname.
69986         (func_usage): More homogenous output.
69987         (func_modules_transitive_closure, func_modules_to_filelist,
69988         func_emit_lib_Makefile_am): New functions.
69989         (func_import): New function, extracted from big case statement. Use
69990         func_get_license, func_modules_transitive_closure,
69991         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
69992         opt_lgpl. Don't use test -a, as it's not portable.
69993         (func_create_testdir): Use func_modules_transitive_closure,
69994         func_modules_to_filelist, func_emit_lib_Makefile_am.
69995
69996 2004-10-15  Bruno Haible  <bruno@clisp.org>
69997
69998         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
69999
70000 2004-10-15  Bruno Haible  <bruno@clisp.org>
70001
70002         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
70003         the portions belonging to each module.
70004         Suggested by Derek Robert Price <derek@ximbiot.com>.
70005
70006 2004-10-12  Simon Josefsson  <jas@extundo.com>
70007
70008         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
70009         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
70010         to real functions.
70011
70012 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70013
70014         * modules/vsnprintf: New file.
70015
70016 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70017
70018         * m4/vsnprintf.m4: New file.
70019
70020 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70021
70022         * lib/vsnprintf.h: New file.
70023         * lib/vsnprintf.c: New file.
70024
70025 2004-10-11  Bruno Haible  <bruno@clisp.org>
70026
70027         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
70028         vsnprintf.
70029
70030 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70031
70032         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
70033
70034 2004-10-07  Bruno Haible  <bruno@clisp.org>
70035
70036         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
70037         fits into the provided buffer.
70038
70039 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70040
70041         * lib/diacrit.c, diacrit.h: Add GPL notice.
70042
70043         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
70044         notice.
70045         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
70046         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
70047         This avoids a potential constant-folding bug.
70048
70049 2004-10-05  Bruno Haible  <bruno@clisp.org>
70050
70051         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
70052         for the declaration of strsep.
70053
70054 2004-10-05  Bruno Haible  <bruno@clisp.org>
70055
70056         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
70057
70058 2004-10-04  Simon Josefsson  <jas@extundo.com>
70059
70060         * modules/memmem: New file.
70061         * tests/test-memmem.c: New file.
70062         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
70063
70064 2004-10-04  Simon Josefsson  <jas@extundo.com>
70065
70066         * m4/memmem.m4: New file.
70067
70068 2004-10-04  Simon Josefsson  <jas@extundo.com>
70069
70070         * lib/memmem.h: New file.
70071         * lib/memmem.c: New file, taken from glibc.
70072
70073 2004-10-04  Simon Josefsson  <jas@extundo.com>
70074
70075         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
70076         '#ifdef USE_UNLOCKED_IO'.
70077
70078 2004-10-04  Simon Josefsson  <jas@extundo.com>
70079
70080         * config/srclist.txt: Add memmem from glibc.
70081
70082 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70083
70084         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
70085
70086         * modules/argmatch, modules/argp, modules/closeout, modules/error,
70087         modules/exclude, modules/getdate, modules/getline,
70088         modules/getndelim2, modules/getpass, modules/getpass-gnu,
70089         modules/getusershell, modules/linebuffer, modules/md5,
70090         modules/mountlist, modules/posixtm, modules/readtokens,
70091         modules/readutmp, modules/regex, modules/sha1,
70092         modules/version-etc, modules/yesno:
70093         Remove dependency on unlocked-io.
70094
70095 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70096
70097         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
70098
70099         * m4/unlocked-io.m4: Add copyright notice.
70100         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
70101
70102 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70103
70104         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
70105         * lib/xmalloc.c (xmemdup): Likewise.
70106         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
70107         XFREE): Remove these long-obsolescent macros.
70108         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
70109         * lib/xstrdup.c: Remove.
70110
70111         * lib/regex.c (re_comp): Cast gettext return value to char *,
70112         Problem reported by Martin Neitzel via Mark D. Baushke.
70113
70114 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
70115
70116         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
70117         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
70118         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
70119         regex.c, sha1.c, version-etc.c, yesno.c:
70120         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
70121         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
70122         the includer's responsibility.
70123
70124         Sync from coreutils.
70125
70126         * lib/modechange.c (mode_compile): Don't decrement a pointer that
70127         points to the start of a string, as the C Standard says the
70128         resulting behavior is undefined.
70129
70130         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
70131         simple -> simple_backups, numbered_existing ->
70132         numbered_existing_backups, numbered -> numbered_backups
70133         to avoid shadowing problems.  All uses changed.
70134         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
70135         * lib/backupfile.c (check_extension, numbered_backup):
70136         Rename locals to avoid shadowing 'basename'.
70137         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
70138         once.
70139
70140         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
70141         * lib/.cvsignore: Add getopt.h.
70142
70143 2004-10-04  Bruno Haible  <bruno@clisp.org>
70144
70145         * modules/README: New file.
70146         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
70147         not a module.
70148
70149 2004-10-02  Jim Meyering  <jim@meyering.net>
70150
70151         * lib/dirfd.h, getpagesize.h: Add copyright notice.
70152
70153 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70154
70155         * modules/strsep: New file.
70156
70157 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70158
70159         * m4/strsep.m4: New file.
70160
70161 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70162
70163         * lib/strsep.h: New file.
70164         * lib/strsep.c: New file.
70165
70166 2004-10-01  Simon Josefsson  <jas@extundo.com>
70167
70168         * lib/snprintf.c (snprintf): Handle size==0.
70169
70170 2004-10-01  Simon Josefsson  <jas@extundo.com>
70171             Bruno Haible  <bruno@clisp.org>
70172
70173         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
70174         (snprintf): Declare 'args'.
70175
70176 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
70177
70178         * lib/snprintf.c: Remove comments as to why each header is needed.
70179
70180 2004-10-01  Bruno Haible  <bruno@clisp.org>
70181
70182         * MODULES.html.sh: Add strsep.
70183
70184 2004-09-30  Simon Josefsson  <jas@extundo.com>
70185
70186         * modules/snprintf: New file.
70187
70188 2004-09-30  Simon Josefsson  <jas@extundo.com>
70189
70190         * m4/snprintf.m4: New file.
70191
70192 2004-09-30  Simon Josefsson  <jas@extundo.com>
70193
70194         * lib/snprintf.h, lib/snprintf.c: New files.
70195
70196 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70197
70198         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
70199         (hol_entry_help): Never translate an empty string.
70200         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
70201         * lib/argp.h (OPTION_NO_TRANS): New option.
70202
70203 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70204
70205         * modules/argp (Maintainer): Replace Simon Josefsson
70206         by Sergey Poznyakoff.
70207
70208 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70209
70210         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
70211         changes merged back into glibc.
70212
70213 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
70214
70215         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
70216
70217 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70218
70219         * lib/xvasprintf.c: Include xalloc.h.
70220         (xvasprintf): Use xalloc_die, not xmalloc_die.
70221
70222 2004-09-29  Bruno Haible  <bruno@clisp.org>
70223
70224         * modules/alloca-opt: New file, derived from modules/alloca.
70225         * modules/allocsa: Depend on alloca-opt instead of alloca.
70226         * modules/setenv: Likewise.
70227         * modules/vasnprintf: Likewise.
70228         * MODULES.html.sh: Add alloca-opt.
70229
70230 2004-09-28  Simon Josefsson  <jas@extundo.com>
70231
70232         * gnulib-tool: New parameter --lgpl, to asseert that modules are
70233         LGPL, and to replace license template from GPL to LGPL.
70234
70235 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70236
70237         * modules/dummy: Change license to LGPL.
70238
70239 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
70240
70241         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
70242
70243 2004-09-24  Simon Josefsson  <jas@extundo.com>
70244
70245         * modules/minmax (License): Change from GPL to LGPL.
70246
70247 2004-09-23  Simon Josefsson  <jas@extundo.com>
70248
70249         * gnulib-tool (--import): Typo.
70250
70251 2004-09-23  Simon Josefsson  <jas@extundo.com>
70252
70253         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
70254
70255 2004-09-22  Bruno Haible  <bruno@clisp.org>
70256
70257         * modules/*: Add 'License' field.
70258         * gnulib-tool: Accept --extract-license option.
70259         (func_get_license): New function.
70260
70261 2004-09-21  Bruno Haible  <bruno@clisp.org>
70262
70263         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
70264         Reported by Simon Josefsson.
70265
70266 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70267
70268         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
70269         gl_AC_TYPE_LONG_LONG.
70270
70271 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70272
70273         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
70274
70275 2004-09-18  Simon Josefsson  <jas@extundo.com>
70276         and  Paul Eggert  <eggert@cs.ucla.edu>
70277
70278         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
70279         calls with autoreconf.  Define GL_LIB.
70280
70281 2004-09-14  Karl Berry  <karl@gnu.org>
70282
70283         * config/srclist.txt: unsync setenv.c, sigh.
70284
70285 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70286
70287         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
70288         Problem reported by Bruno Haible in:
70289         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
70290
70291 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70292
70293         * config/srclist.txt: Comment out argp-pvh.c.
70294
70295 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
70296
70297         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
70298         in case some system header has #define'd it.  Problem reported by
70299         Soeren D. Schulze in
70300         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
70301
70302 2004-09-09  Karl Berry  <karl@gnu.org>
70303
70304         * regex.[ch]: delete from the root.  These were supposed to be
70305                 synced with emacs cvs, but this has not happened for about
70306                 a year, and anyway nothing else uses emacs regex.[ch].
70307                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
70308                 lib/regex[.ch] is untouched.
70309
70310 2004-09-09  Bruno Haible  <bruno@clisp.org>
70311
70312         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
70313
70314 2004-09-09  Bruno Haible  <bruno@clisp.org>
70315
70316         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
70317         modifications.
70318         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
70319
70320 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70321
70322         * modules/xvasprintf: New file.
70323         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
70324
70325 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
70326
70327         * lib/xvasprintf.h: New file.
70328         * lib/xvasprintf.c: New file.
70329         * lib/xasprintf.c: New file.
70330
70331 2004-09-08  Bruno Haible  <bruno@clisp.org>
70332
70333         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
70334
70335 2004-09-08  Bruno Haible  <bruno@clisp.org>
70336
70337         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
70338         length is > INT_MAX.
70339         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
70340         more.
70341
70342 2004-09-08  Bruno Haible  <bruno@clisp.org>
70343
70344         * lib/stdint_.h: New file, taken from GNU clisp.
70345
70346 2004-09-08  Bruno Haible  <bruno@clisp.org>
70347             Oskar Liljeblad  <oskar@osk.mine.nu>
70348
70349         * modules/stdint: New file.
70350         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
70351
70352 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70353
70354         Import from coreutils.
70355         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
70356         strings on unbounded length.  alloca's performance benefits aren't
70357         that important here.
70358         (V_STRDUP): Remove.
70359         (parse_with_separator): New function, with most of the internals
70360         of the old parse_user_spec.  Allow user to omit both user and group,
70361         for compatibility with FreeBSD.
70362         Clone only the user name, not the entire spec.
70363         Do not set *uid, *gid unless entirely successful.
70364         Avoid memory leak in some failing cases.
70365         Fix regression for USER.GROUP reported by Dmitry V. Levin in
70366         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
70367         (parse_user_spec): Rewrite to use parse_with_separator.
70368
70369 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70370
70371         * modules/userspec: Don't depend on alloca.
70372
70373 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70374
70375         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
70376
70377 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70378
70379         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
70380         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
70381         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
70382
70383 2004-08-16  Simon Josefsson  <jas@extundo.com>
70384
70385         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
70386         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
70387         Add --dry-run for --import.
70388         Let user provided command line parameters override configure.ac
70389         settings.
70390
70391 2004-08-12  Simon Josefsson  <jas@extundo.com>
70392
70393         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
70394         as discussed with Paul Eggert in threads rooted at
70395         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
70396         and
70397         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
70398         Before, the test was empty, and relied on ELIDE_CODE in source
70399         code.)
70400         (gl_PREREQ_GETOPT): New macro.
70401         (gl_GETOPT): Use them.
70402
70403 2004-08-12  Simon Josefsson  <jas@extundo.com>
70404
70405         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
70406         * lib/getopt_.h: Renamed from getopt.h.
70407
70408 2004-08-12  Simon Josefsson  <jas@extundo.com>
70409
70410         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
70411         Change default library name from libfoo to libgnu.
70412         Now, if you have a configure.ac that says:
70413                 gl_SOURCE_BASE(gl)
70414                 gl_M4_BASE(gl/m4)
70415                 gl_MODULES(error getopt etcetera)
70416                 gl_INIT
70417         you can import all you need by running:
70418                 ../gnulib/gnulib-tool --import
70419
70420         * modules/getopt (Files): Rename getopt.h to getopt_.h.
70421         (Makefile.am): Rewrite, use logic from argz.
70422         (Include): Use <getopt.h> instead of "getopt.h".
70423
70424 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70425
70426         * modules/argp (Files): Add m4/unlocked-io.m4.
70427         (Depends-on): Add extensions.
70428
70429 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70430
70431         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
70432         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
70433         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
70434         Check for program_invocation_name, program_invocation_short_name,
70435         flockfile, funlockfile, features.h, _getopt_long_only_r.
70436
70437 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70438
70439         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
70440         its complicated substitute.
70441         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
70442         and program_invocation_name.
70443         (__argp_basename) [!_LIBC]: Remove; the only use was
70444         replaced by its body.
70445         (__argp_short_program_name): Change condition from
70446         !defined __argp_short_program_name to
70447         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
70448         to match argp-namefrob.h.
70449         (__argp_failure): Don't assume strerror_r returns char *.
70450         * lib/argp-parse.c (N_): Define unconditionally.
70451         (argp_default_options): Fill out initializers with 0 to avoid
70452         gcc warnings.
70453
70454 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
70455
70456         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
70457         getopt1.c.
70458
70459 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70460
70461         Merge from coreutils.
70462
70463         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
70464
70465         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
70466         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
70467
70468 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70469
70470         Merge from coreutils.
70471
70472         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
70473         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
70474         for Reliant Unix 5.43.
70475
70476         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
70477         (union fooround): Use uintmax_t, not long int.
70478         The rest is a merge from libc:
70479         [defined _LIBC]: Include <shlib-compat.h>.
70480         (_obstack) [defined _LIBC]: Remove after 2.3.4.
70481
70482         * lib/settime.c (settime): Recode to avoid warning with
70483         Sun Forte C 6U2.
70484
70485         * lib/strverscmp.c: Convert to UTF-8.
70486
70487 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70488
70489         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70490         m4/uintmax_t.m4.
70491
70492 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70493
70494         * modules/xalloc-die: New file.
70495         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
70496
70497         * modules/md5 (Files): Add m4/uint32_t.m4.
70498         * modules/sha1: Renamed from modules/sha.
70499         (Files):
70500         Rename lib/sha.h to lib/sha1.h.
70501         Rename lib/sha.c to lib/sha1.c.
70502         Rename m4/sha.m4 to m4/sha1.m4.
70503         (lib_SOURCES): Likewise.
70504         (configure.ac): Rename gl_SHA to gl_SHA1.
70505         (Include): sha.h -> sha1.h.
70506
70507 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70508
70509         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
70510         * m4/sha1.m4: Renamed from sha.m4.
70511         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
70512
70513 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
70514
70515         * lib/obstack.h (obstack_empty_p):
70516         Don't assume that chunk->contents is suitably aligned.
70517         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
70518         Likewise. Problem reported by Benno in
70519         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
70520
70521         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
70522         readable.  This could be improved further but it'd take some work.
70523
70524 2004-08-08  Simon Josefsson  <jas@extundo.com>
70525
70526         * modules/xgethostname (Depends-on): Remove exit and error (not
70527         used).
70528
70529         * modules/getpass-gnu: Add getpass.h.
70530         (Depends-on): Add stdbool.
70531         * modules/getpass: Add getpass.h.
70532
70533 2004-08-08  Simon Josefsson  <jas@extundo.com>
70534
70535         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
70536         Check getpass declaration.
70537
70538 2004-08-08  Simon Josefsson  <jas@extundo.com>
70539
70540         * lib/xgethostname.c: Don't include error.h (not used).
70541
70542         * lib/getpass.h: Add.
70543         * lib/getpass.c: Include getpass.h first.
70544
70545 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
70546
70547         * lib/xalloc-die.c: New file.
70548         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
70549         All uses removed.
70550         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
70551         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
70552         xalloc-die.c.
70553         (_, N_, xalloc_die): Move to xalloc-die.c.
70554         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
70555         so that we needn't mess with xalloc_msg_memory_exhausted.
70556
70557         * lib/sha1.h: Renamed from sha.h.
70558         (SHA1_H): Renamed from _SHA_H.
70559         (sha1_ctx): Renamed from sha_ctx.
70560         (sha1_init_ctx): Renamed from sha_init_ctx.
70561         (sha1_process_block): Renamed from sha_process_block.
70562         (sha1_process_bytes): Renamed from sha_process_bytes.
70563         (sha1_finish_ctx): Renamed from sha_finish_ctx.
70564         (sha1_read_ctx): Renamed from sha_read_ctx.
70565         (sha1_stream): Renamed from sha_stream.
70566         (sha1_buffer): Renamed from sha_buffer.
70567         * lib/sha1.c: Likewise; renamed from sha.c.
70568         Do not include <sys/types.h>.
70569         Include <stddef.h> rather than <stdlib.h>.
70570
70571 2004-08-08  Bruno Haible  <bruno@clisp.org>
70572
70573         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
70574         FILESYSTEM_PREFIX_LEN.
70575         * lib/progreloc.c: Likewise.
70576         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
70577
70578 2004-08-06  Simon Josefsson  <jas@extundo.com>
70579
70580         * modules/progname (Depends-on): Don't depend on stdbool.
70581
70582 2004-08-06  Simon Josefsson  <jas@extundo.com>
70583
70584         * modules/getsubopt: New file.
70585         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70586         getsubopt.
70587
70588 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70589
70590         More merge from coreutils.
70591
70592         * m4/utimens.m4, m4/utimecmp.m4: New files.
70593         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
70594         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
70595         prereq.m4, sha.m4: Import changes from coreutils.
70596
70597 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70598
70599         More merge from coreutils.
70600         * modules/raise, modules/readtokens0, modules/utimens:
70601         * modules/utimecmp, module/xnanosleep: New files.
70602         * modules/strftime: Add lib/strftime.h.
70603         Change include from <time.h> to "strftime.h".
70604         * modules/yesno: Add lib/yesno.h.
70605         * modules/backupfile: Remove lib/addext.c.
70606         * modules/euidaccess: Add stat-macros.h.
70607         * modules/canonicalize, modules/euidaccess,
70608         modules/filemode, modules/lchown, modules/makepath,
70609         modules/rmdir, modules/stat: Likewise.
70610
70611 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
70612
70613         Merge from tar.
70614         * lib/argp-help.c (make_hol, hol_append): Don't assume that
70615         SIZE_MAX is a valid preprocessor constant.
70616         (__argp_basename): Change from "#ifndef _LIBC"
70617         to "#ifndef __argp_short_program_name", so that
70618         we don't compile these functions for tar.
70619
70620         More merges from coreutils.
70621         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
70622         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
70623         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
70624         * lib/addext.c: Remove; no longer needed.
70625         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
70626         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
70627         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
70628         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
70629         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
70630         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
70631         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
70632         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
70633         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
70634         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70635         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
70636         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
70637         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
70638         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
70639         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
70640         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
70641         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
70642         Import changes from coreutils.
70643
70644 2004-08-05  Simon Josefsson  <jas@extundo.com>
70645
70646         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
70647
70648 2004-08-05  Simon Josefsson  <jas@extundo.com>
70649
70650         * m4/getsubopt.m4: New file.
70651
70652 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70653
70654         Merge from coreutils.
70655
70656         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
70657         * m4/getcwd-path-max.m4: New files.
70658
70659         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
70660         FILESYSTEM_PREFIX_LEN ->
70661         FILE_SYSTEM_PREFIX_LEN.
70662         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
70663         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
70664         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
70665         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
70666
70667         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
70668         prerequisite modules now handle the DOS stuff.
70669         Don't check for unistd.h.
70670
70671 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70672
70673         Merge from coreutils.
70674
70675         * lib/.gdb-history: Remove; this doesn't belong here.
70676
70677         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
70678         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
70679         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
70680         * lib/getcwd.c: New files.
70681
70682         * lib/dirname.h: Include <stdbool.h>.
70683         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
70684         for consistency with POSIX terminology.  All uses changed.
70685         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
70686         (strip_trailing_slashes): Use bool for booleans.
70687         * lib/stripslash.c (strip_trailing_slashes): Likewise.
70688
70689         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
70690         sometimes returns a positive errno value even when it succeeds.
70691         (print_errno_message) [!LIBC]: Fall back on strerror if
70692         __strerror_r fails.
70693
70694         * lib/path-concat.c (mempcpy): Don't define if a system header defines
70695         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
70696         (longest_relative_suffix): New function.
70697         (path_concat): Use it.  Assume first argument is not NULL.
70698         Port to DOS.  Omit redundant separators.
70699         Report an error instead of returning NULL.
70700         Use mempcpy instead of memcpy.
70701         (xpath_concat): Remove: not declared or used.
70702
70703         * lib/same.h: Include <stdbool.h>
70704         (same_name): Return bool, not int.
70705         * lib/same.c (same_name): Likewise.
70706         (errno): Don't declare; we assume C89 or better now.
70707
70708         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
70709         if not already defined.
70710
70711         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
70712         * lib/dup-safer.c (errno): Likewise.
70713
70714 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70715
70716         Merge from coreutils.
70717         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
70718         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
70719         * modules/path-concat: Don't depend on strdup.
70720
70721 2004-08-03  Simon Josefsson  <jas@extundo.com>
70722
70723         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
70724         * lib/progname.h: Don't include stdbool.h.
70725
70726 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70727
70728         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
70729         * MODULES.html.sh (func_all_modules): Remove fatal.
70730
70731 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70732
70733         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
70734
70735 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70736
70737         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
70738         working.
70739
70740 2004-08-02  Simon Josefsson  <jas@extundo.com>
70741
70742         * lib/getsubopt.h: New file, with comments from Bruno Haible.
70743         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
70744         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
70745
70746 2004-08-01  Simon Josefsson  <jas@extundo.com>
70747
70748         * lib/xgetdomainname.c: Include stdlib.h, for free().
70749
70750 2004-07-19  Bruno Haible  <bruno@clisp.org>
70751
70752         * MODULES.html.sh (func_all_modules): Add dummy.
70753
70754 2004-07-16  Simon Josefsson  <jas@extundo.com>
70755
70756         * modules/dummy: New file.
70757
70758 2004-07-16  Simon Josefsson  <jas@extundo.com>
70759
70760         * lib/dummy.c: New file.
70761
70762 2004-07-16  Bruno Haible  <bruno@clisp.org>
70763
70764         * lib/backupfile.h: Add extern "C" for C++.
70765         * lib/closeout.h: Likewise.
70766         * lib/copy-file.h: Likewise.
70767         * lib/findprog.h: Likewise.
70768         * lib/full-write.h: Likewise.
70769         * lib/pathname.h: Likewise.
70770         * lib/progname.h: Likewise.
70771         * lib/stpcpy.h: Likewise.
70772         * lib/stpncpy.h: Likewise.
70773         * lib/strcase.h: Likewise.
70774         * lib/strstr.h: Likewise.
70775         * lib/xalloc.h: Likewise.
70776
70777         * lib/mbswidth.h: Add extern "C" for C++.
70778         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
70779
70780 2004-07-13  Robert Millan  <robertmh@gnu.org>
70781
70782         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
70783
70784 2004-07-09  Simon Josefsson  <jas@extundo.com>
70785
70786         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
70787         failed without this.)
70788
70789 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70790
70791         * modules/chown (Files): Add lib/fchown-stub.c, since
70792         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
70793
70794 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70795
70796         * lib/fchown-stub.c: New file.
70797
70798 2004-06-24  Jim Meyering  <jim@meyering.net>
70799
70800         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
70801
70802 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70803
70804         * modules/argz: Omit "#include".
70805
70806         * MODULES.html.sh (func_all_modules): Add calloc, to match
70807         2004-06-01 addition of calloc module.
70808
70809 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70810
70811         * m4/argz.m4: New file, which is autoupdated from libtool.
70812
70813 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70814
70815         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
70816         libtool.
70817
70818 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70819
70820         * config/srclist-update: Don't insist on "USA." before the
70821         close-comment, as libtool omits the period and puts the */ on a
70822         separate line.
70823         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
70824         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
70825
70826 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
70827
70828         * modules/argz: New file.
70829         * MODULES.html.sh (func_all_modules): Add argz.
70830
70831 2004-06-12  Jim Meyering  <jim@meyering.net>
70832         and  Paul Eggert  <eggert@cs.ucla.edu>
70833
70834         * modules/hash (Files): Add lib/xalloc.h.
70835         * modules/pipe (Depends-on): Add wait-process.
70836         * modules/stat (Depends-on): Add xalloc.
70837         * modules/userspec (Files): Add lib/userspec.h.
70838         * modules/xstrto
70839
70840         Upgrade from gettext-0.13.
70841         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
70842         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
70843         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
70844
70845 2004-06-10  Jim Meyering  <jim@meyering.net>
70846
70847         * lib/calloc.c: New file.
70848
70849 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
70850
70851         * lib/getdate.y (yylex): Allow space between sign and number.
70852         Problem reported by Dan Jacobson.
70853
70854 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70855
70856         Merge from coreutils CVS.
70857
70858         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
70859         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
70860         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
70861         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
70862         xstrtol.m4: Fix copyright date and/or serial number.
70863
70864         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
70865         See if we need an fchown replacement.
70866         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
70867         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
70868         and use the replacement function if we detect either defect.
70869
70870         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
70871         gl_UTIMECMP.
70872
70873 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70874         and  Jim Meyering  <jim@meyering.net>
70875
70876         Merge from coreutils CVS.
70877
70878         * lib/stat-macros.h: New file, with contents from file-type.h
70879         and coreutils' system.h.
70880         * lib/file-type.c: Include "stat-macros.h".
70881         * lib/file-type.h (file_type): Move all macro definitions to new file,
70882         stat-macros.h.
70883
70884         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
70885         Wrap old code with this conditional.
70886         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
70887         function that does not dereference symlinks.
70888         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
70889
70890         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
70891         dependency problems.
70892         (xreadlink): Accept new arg SIZE, for efficiency.
70893         All decls and uses changed.
70894         * lib/xreadlink.h: Include <stddef.h>, for size_t.
70895
70896         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
70897         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
70898
70899         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
70900         sysexits.h.
70901
70902 2004-06-01  Jim Meyering  <jim@meyering.net>
70903
70904         * m4/calloc.m4: New file.
70905
70906 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
70907
70908         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
70909         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
70910         Also, fix a typo in a diagnostic.
70911
70912 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70913
70914         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
70915         or AC_FUNC_REALLOC.
70916
70917 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70918
70919         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
70920         macros to be defined.
70921         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
70922         the allocator returns NULL because the requested size is zero.
70923
70924 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70925
70926         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
70927         var.  Add comment explaining why libc still defines it.  This
70928         merges the following patch from glibc:
70929         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
70930
70931 2004-05-20  Andreas Schwab  <schwab@suse.de>
70932
70933         * m4/free.m4: Replace free if it not known to work, not the other
70934         way round.
70935
70936 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70937
70938         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
70939         present in glibc since revision 1.1 of this file.
70940         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
70941         obstack_alignment_mask, obstack_alloc, obstack_base,
70942         obstack_blank, obstack_blank_fast, obstack_chunk_size,
70943         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
70944         obstack_grow0, obstack_init, obstack_int_grow,
70945         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
70946         obstack_next_free, obstack_object_size, obstack_ptr_grow,
70947         obstack_ptr_grow_fast, obstack_room): Remove declarations of
70948         nonexistent functions.
70949
70950 2004-05-18  Karl Berry  <karl@gnu.org>
70951
70952         * config/srclist.txt: break link for vasnprintf.c.
70953
70954 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70955
70956         Port obstack to the AS/400, where pointers are 16 bytes wide and
70957         you cannot cast an integer to a valid pointer.  This patch is
70958         currently waiting to be integrated into glibc; see
70959         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
70960
70961         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
70962         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
70963         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
70964         (struct obstack): temp member is now a union of a pointer and
70965         an integer, instead of an integer.  All integer uses changed.
70966         This does not affect the physical layout of struct obstack,
70967         except on hosts (like the AS/400) where the size or alignment of
70968         void * is greater than that of ptrdiff_t.
70969         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
70970         __STDC__)]: Store temporary in pointer member of union, not
70971         integer member.
70972         * lib/obstack.c: Include <stddef.h>, for offsetof.
70973         (struct fooalign): Remove; it doesn't need a name.
70974         (union fooround): Change double to long double, and add void *.
70975         (DEFAULT_ALIGNMENT): Use offsetof to compute.
70976         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
70977         not a macro.  Hence the values are always int; so remove all
70978         casts-to-int in uses.
70979
70980 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70981
70982         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
70983         we can get this patch merged into glibc.
70984
70985 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70986             Paul Eggert  <eggert@cs.ucla.edu>
70987
70988         * m4/argp: Depend on alloca.
70989
70990 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70991             Paul Eggert  <eggert@cs.ucla.edu>
70992
70993         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
70994         freecoding.
70995
70996 2004-05-17  Bruno Haible  <bruno@clisp.org>
70997
70998         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
70999         precision that consists of a '.' followed by an empty digit string.
71000         Patch by Tor Lillqvist <tml@iki.fi>.
71001
71002 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
71003
71004         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
71005         for backward compatibility with older code.  We need our own
71006         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
71007         it under some other name, and our alloca.h will define it.
71008
71009 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
71010             Derek Price  <derek@ximbiot.com>
71011
71012         * lib/alloca.c: Include <alloca.h>, to get our interface.
71013         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
71014         include <alloca.h> first.  Use C89 prototype for alloca; this
71015         requires including <stddef.h> for size_t.  Use extern "C" if C++.
71016         Use #elif for simplicity, since we can assume C89 now.
71017         Don't try to source the system alloca.h since it will not be found
71018         and to prevent recursively including its replacement.
71019         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
71020         * lib/regex.c: Likewise.
71021
71022 2004-05-16  Derek Price  <derek@ximbiot.com>
71023             Paul Eggert  <eggert@cs.ucla.edu>
71024
71025         getline cleanup.  This changes the getndelim2 API: both order of
71026         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
71027         no delimiter).
71028
71029         * lib/getline.c: Don't include stddef.h or stdio.h, since our
71030         interface does that.
71031         (getline): Always use getdelim, so that we don't have two
71032         copies of this code.
71033         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
71034         if available.
71035         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
71036         (GETNDELIM2_MAXIMUM): New macro.
71037         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
71038         instead of the old practice of delim2==0.  All callers changed.
71039         Return -1 on overflow, instead of returning junk.
71040         Do not set *linesize unless allocation succeeds.
71041         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
71042         that we include sys/types.h.
71043         * lib/getnline.h: Likewise.
71044         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
71045         (getndelim2): Reorder arguments.
71046         * lib/getnline.c (getnline, getndelim):
71047         Don't discard the NMAX argument.
71048         (getnline): Invoke getndelim, to avoid code duplication.
71049         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
71050         of (size_t) -1 by callers of the getnline family.
71051
71052 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71053
71054         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
71055         Check for gettimeofday.
71056         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
71057         Check for settimeofday, stime.
71058
71059 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71060
71061         * lib/nanosleep.c (suspended): Change its type from int to
71062         sig_atomic_t volatile.
71063         (first_call): Make it private to rpl_nanosleep, and have it
71064         be zero initially as that's a bit faster.
71065         (my_usleep): Round up fractional times instead of truncating them,
71066         as this is the usual meaning for 'sleep'.
71067
71068         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
71069         doesn't work.
71070         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
71071         (ENOSYS): Define if not defined.
71072         (settime): Fall back on stime if it exists and settimeofday fails.
71073         But don't bother with fallbacks if a method fails with errno == EPERM.
71074
71075 2004-05-11  Jim Meyering  <jim@meyering.net>
71076
71077         Prior to this change, the save_cwd caller required read access to the
71078         current directory on most systems (ones with the fchdir function).
71079
71080         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
71081         fails, try write-only, and finally, resort to using xgetcwd.
71082
71083 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
71084
71085         * lib/obstack.c, obstack.h: Import changes from libc.
71086
71087 2004-04-28  Bruno Haible  <bruno@clisp.org>
71088
71089         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
71090         also implicitly appends .exe to executables.
71091         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
71092         accepts Windows pathnames.
71093         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
71094         Treat Cygwin like Windows, since it now accepts Windows pathnames.
71095         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
71096         Treat Cygwin like Windows, since it now accepts Windows pathnames.
71097         Reported by Derek Robert Price <derek@ximbiot.com>.
71098
71099 2004-04-21  Karl Berry  <karl@gnu.org>
71100
71101         * config/srclist.txt (localcharset.c): break sync.
71102
71103 2004-04-20  Paul Eggert  <eggert@twinsun.com>
71104
71105         * m4/host-os.m4: Add a copyright notice.
71106
71107 2004-04-20  Jim Meyering  <jim@meyering.net>
71108
71109         Change UTILS_ to gl_ in AC_DEFINE'd names.
71110         Change utils_- and jm_-prefixed variables, too.
71111         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
71112         UTILS_FUNC_MKDIR_TRAILING_SLASH.
71113         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
71114
71115         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
71116         Don't emit trailing blanks.
71117         Also rename jm_-prefixed variables to have gl_ prefix.
71118
71119         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
71120         Also rename jm_-prefixed variables to have gl_ prefix.
71121
71122         * m4/jm-macros.m4: Reflect the renamings.
71123         * m4/prereq.m4: Likewise.
71124
71125 2004-04-20  Jim Meyering  <jim@meyering.net>
71126
71127         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
71128         memory.
71129
71130 2004-04-20  Jim Meyering  <jim@meyering.net>
71131             Bruno Haible  <bruno@clisp.org>
71132
71133         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
71134         memory when realloc fails.
71135
71136 2004-04-19  Jim Meyering  <jim@meyering.net>
71137
71138         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
71139         now that readutmp.c may call `free (0)'.
71140
71141 2004-04-19  Bruno Haible  <bruno@clisp.org>
71142
71143         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
71144         * m4/inttypes_h.m4: Likewise.
71145         * m4/stdint_h.m4: Likewise.
71146         * m4/intmax_t.m4: Likewise.
71147         * m4/uintmax_t.m4: Likewise.
71148
71149 2004-04-18  Jim Meyering  <jim@meyering.net>
71150
71151         * m4/prereq.m4: Don't forbid jm_ prefix.
71152
71153         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
71154         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
71155         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
71156         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
71157         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
71158         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
71159         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
71160         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
71161         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
71162         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
71163         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
71164         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
71165         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
71166         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
71167         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
71168         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
71169         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
71170         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
71171         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
71172
71173 2004-04-18  Jim Meyering  <jim@meyering.net>
71174
71175         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
71176         failure, don't leak memory and do call END_UTMP_ENT.
71177
71178 2004-04-16  Jim Meyering  <jim@meyering.net>
71179
71180         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
71181         coreutils' stat program.
71182         (gl_PREREQ): Don't require jm_PREREQ_STAT.
71183
71184 2004-04-11  Paul Eggert  <eggert@twinsun.com>
71185
71186         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
71187         C89.
71188         (CHAR_BIT): Remove, since we assume C89.
71189         Include <stdint.h> if available, as per current Autoconf CVS advice.
71190
71191 2004-03-31  Jim Meyering  <jim@meyering.net>
71192
71193         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
71194         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
71195         * m4/xalloc.m4: Likewise.
71196
71197 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71198
71199         Merge from coreutils.
71200
71201         * m4/inttostr.m4: New file.
71202         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
71203         Require AM_STDBOOL_H and gl_TIMESPEC instead.
71204         Require gl_CLOCK_TIME.
71205         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
71206
71207 2004-03-30  Paul Eggert  <eggert@twinsun.com>
71208
71209         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
71210         not bool, to be more consistent with Unix conventions.
71211         Suggested by Bruno Haible.
71212
71213         Merge from coreutils.
71214
71215         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
71216         * lib/umaxtostr.c: New files.
71217
71218         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
71219         the usual <time.h> dance.
71220         (get_date): Change signature to support fractional time stamps.
71221         All callers changed.
71222         * lib/getdate.y: Include "getdate.h" first, as we can now
71223         assume C89 and don't need to worry about 'const'.
71224         Similarly, include "unlocked-io.h" near start, not in middle.
71225         Include <limits.h>.
71226         (textint.value): Use long int rather than int.
71227         (textint.digits): Use size_t rather than int.
71228         (BILLION, LOG10_BILLION): New constants.
71229         (parser_control): New member rel_ns.  Members day_ordinal,
71230         time_zone, month, day, hour, minutes, rel_year, rel_month,
71231         rel_day, rel_hour, rel_minutes, rel_seconds
71232         are now long int, not int.  Member seconds is now struct timespec,
71233         not int.  New member timespec_seen.  Members dates_seen, days_seen,
71234         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
71235         not int.
71236         (%union.intval): Now long int, not int.
71237         New member timespec.
71238         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
71239         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
71240         (spec): Now is a timespec or an item list.
71241         (timespec, items): New nonterminals.
71242         (time, rel, relunit, number, get_date):
71243         Add support for fractional seconds.
71244         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
71245         (gmtime, localtime, mktime): Remove decls; not needed with C89.
71246         (to_hour): First arg is now long int, not int.
71247         (to_year): Returns long int, not int.
71248         Don't treat year -70 like 70.
71249         (tm_diff): Returns long int, not int.
71250         (lookup_word): Use bool instead of int when appropriate.
71251         (yylex): Use size_t for count, not int.
71252         Detect overflow when parsing large integer constants.
71253         Add support for fractions.
71254         (get_date): Make pointers 'const' if possible.
71255         Use more-portable code to detect integer overflow.
71256         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
71257         Don't use ctime; it's not reliable if the year has >4 digits.
71258
71259         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
71260         This is for compatibility with BSD.
71261
71262         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
71263         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
71264         From coreutils' system.h.
71265
71266         * lib/userspec.c: Don't include "posixver.h".
71267         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
71268         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
71269         compatible extension.  Simplify code by removing a boolean int
71270         that was always nonzero if a string was nonnull.
71271
71272 2004-03-30  Jim Meyering  <jim@meyering.net>
71273
71274         Merge from coreutils.
71275
71276         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
71277         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
71278         on some systems one must include <grp.h> before it.
71279         Reported by Christian Krackowizer.
71280
71281 2004-03-30  Jim Meyering  <jim@meyering.net>
71282
71283         Merge from coreutils.
71284
71285         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
71286
71287         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
71288         an empty input stream.
71289
71290         * lib/readtokens.c: Include <stdbool.h>.
71291         (readtoken): Use `size_t' rather than int/long.
71292         All callers adjusted.
71293         Use `bool' rather than `int' where appropriate.
71294         Use memset rather than an explicit loop.
71295         Use x2nrealloc rather than xrealloc.
71296         Allow the use of `\0' as a delimiter.
71297         (readtokens): Likewise.
71298         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
71299
71300 2004-03-30  Jim Meyering  <jim@meyering.net>
71301
71302         * m4/realloc.m4: Remove file, since now it does no more than
71303         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
71304         the `configure.ac' section of module/realloc.
71305         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
71306
71307 2004-03-30  Bruno Haible  <bruno@clisp.org>
71308
71309         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
71310         nonnull.
71311
71312 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71313
71314         Merge changes to getloadavg.c from coreutils and Emacs.
71315
71316         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
71317         Define to an expression, not to the empty string.
71318         Include cloexec.h and xalloc.h.
71319         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
71320         Use set_cloexec_flag rather than rolling our own.
71321         * lib/cloexec.c, lib/cloexec.h: New files.
71322
71323 2004-03-29  Paul Eggert  <eggert@twinsun.com>
71324
71325         * m4/cloexec.m4: New file.
71326
71327 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71328
71329         * lib/getopt.h: Sync with libc CVS.
71330
71331 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71332             Bruno Haible  <bruno@clisp.org>
71333
71334         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
71335         mbswidth.
71336
71337 2004-03-18  Paul Eggert  <eggert@twinsun.com>
71338             Bruno Haible  <bruno@clisp.org>
71339
71340         * lib/mbswidth.h: Include <wchar.h> only if
71341         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
71342         <wchar.h>.
71343         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
71344
71345 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71346
71347         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
71348         Sync with libc CVS.
71349         * lib/getopt_int.h: New file, also synced from libc.
71350
71351 2004-03-09  Paul Eggert  <eggert@twinsun.com>
71352
71353         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
71354         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
71355         Bring back getopt.c, getopt.h, getopt1.c.
71356
71357 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71358
71359         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
71360         All uses changed.  Check for sa_sigaction member; this fixes
71361         a bug first reported by Jason Andrade in
71362         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71363
71364 2004-03-07  Paul Eggert  <eggert@twinsun.com>
71365
71366         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
71367         '#if' expressions.  Unlike the code it replaces, it does not
71368         depend on (defined _SC_PAGESIZE).  However, it does depend on
71369         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
71370         first reported by Jason Andrade in
71371         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
71372
71373 2004-02-25  Simon Josefsson  <jas@extundo.com>
71374
71375         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
71376
71377 2004-02-25  Simon Josefsson  <jas@extundo.com>
71378
71379         * lib/strdup.h: New file.
71380         * lib/strdup.c: Include it.
71381         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
71382         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
71383
71384 2004-02-23  Karl Berry  <karl@gnu.org>
71385
71386         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
71387         (from fencepost.gnu.org:/gd/gnuorg).
71388
71389 2004-02-23  Karl Berry  <karl@gnu.org>
71390
71391         * config/srclistvars.sh (GNUORG) [karl]: redefine.
71392         * config/srclist.txt: add maintain/standards documents.
71393
71394 2004-02-18  Bruno Haible  <bruno@clisp.org>
71395
71396         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
71397         Reported by Derek Robert Price <derek@ximbiot.com>.
71398
71399 2004-02-16  Karl Berry  <karl@gnu.org>
71400
71401         * config/mkinstalldirs, install-sh: update from automake.
71402
71403 2004-02-06  Karl Berry  <karl@gnu.org>
71404
71405         * m4/po.m4: update from gettext 0.14.1.
71406
71407 2004-02-06  Karl Berry  <karl@gnu.org>
71408
71409         * lib/config.charset: update from gettext 0.14.1.
71410
71411 2004-02-05  Paul Eggert  <eggert@twinsun.com>
71412
71413         Add comments and code, prompted by suggestions from Bruno Haible
71414         for sh-quote.
71415         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
71416         describing the enum quoting_style values.
71417         * lib/quotearg.c (quotearg_alloc): New function.
71418         (quotearg_buffer_restyled): Treat lone { and } as special.
71419         Treat = as special.  Work around bug with older shells
71420         that "see" a '\' that is really the 2nd byte of a multibyte char.
71421         Quote empty string with shell_quoting_style.
71422
71423 2004-02-03  Bruno Haible  <bruno@clisp.org>
71424
71425         * m4/pipe.m4: New file, from GNU gettext.
71426
71427 2004-02-03  Bruno Haible  <bruno@clisp.org>
71428
71429         * lib/pipe.h: New file, from GNU gettext.
71430         * lib/pipe.c: New file, from GNU gettext.
71431
71432 2004-01-27  Bruno Haible  <bruno@clisp.org>
71433
71434         * m4/execute.m4: New file, from GNU gettext.
71435
71436 2004-01-27  Bruno Haible  <bruno@clisp.org>
71437
71438         * lib/execute.h: New file, from GNU gettext.
71439         * lib/execute.c: New file, from GNU gettext.
71440         * lib/w32spawn.h: New file, from GNU gettext.
71441
71442 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71443
71444         Merge from diffutils.
71445
71446         * lib/file-type.c (file_type): Add typed memory objects.
71447         * lib/file-type.h (S_TYPEISTMO): New macro.
71448
71449         * lib/c-stack.h (c_stack_action): Remove argv argument.
71450         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
71451         (die): Don't calculate message unless segv_action returns.
71452         (get_stack_location, min_address_from_argv, max_address_from_argv,
71453         volatile stack_base, volatile_stack_size): Remove.
71454         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
71455         that every segmentation violation is a stack overflow.  (Ouch!)
71456         See Debian bug 136249 (still outstanding) for more info about why
71457         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
71458
71459 2004-01-24  Paul Eggert  <eggert@twinsun.com>
71460
71461         Exit-status fix from coreutils.
71462
71463         Use exit_failure consistently in place of EXIT_FAILURE,
71464         so that program exit statuses are consistent on failure.
71465
71466         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
71467         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
71468         * lib/argmatch.h: Comment fix to match the above.
71469         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
71470         Now a macro referring to exit_failure, instead of a separate
71471         variable.  Include "exitfail.h" to get it.
71472         * lib/xstrtol.h: Include "exitfail.h".
71473         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
71474
71475         * lib/long-options.c (parse_long_options): Use prototype
71476         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
71477         for clarity.
71478
71479 2004-01-21  Jim Meyering  <jim@meyering.net>
71480
71481         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
71482         so as not to conflict with a different-sized __mktime_internal
71483         function in GNU libc.
71484         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
71485         Problem building statically-linked `ls' reported by Michael Brunnbauer.
71486
71487 2004-01-20  Karl Berry  <karl@gnu.org>
71488
71489         * config/config.guess: update from config.
71490
71491         * config/srclistvars.sh: GNUWWWLICENSES for karl.
71492
71493 2004-01-20  Bruno Haible  <bruno@clisp.org>
71494
71495         Safer stack allocation.
71496         * lib/setenv.c: Include allocsa.h.
71497         (alloca): Remove fallback definition.
71498         (freea): Remove macro.
71499         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
71500         instead of freea.
71501
71502 2004-01-20  Bruno Haible  <bruno@clisp.org>
71503
71504         * m4/eealloc.m4: New file, from GNU gettext.
71505
71506 2004-01-20  Bruno Haible  <bruno@clisp.org>
71507
71508         * m4/allocsa.m4: New file, from GNU gettext.
71509
71510 2004-01-20  Bruno Haible  <bruno@clisp.org>
71511
71512         * lib/xallocsa.h: New file, from GNU gettext.
71513         * lib/xallocsa.c: New file, from GNU gettext.
71514
71515 2004-01-20  Bruno Haible  <bruno@clisp.org>
71516
71517         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
71518
71519 2004-01-20  Bruno Haible  <bruno@clisp.org>
71520
71521         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
71522         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
71523         specially.
71524
71525 2004-01-20  Bruno Haible  <bruno@clisp.org>
71526
71527         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
71528         patch.
71529
71530 2004-01-20  Bruno Haible  <bruno@clisp.org>
71531
71532         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
71533
71534 2004-01-20  Bruno Haible  <bruno@clisp.org>
71535
71536         * lib/eealloc.h: New file.
71537
71538 2004-01-20  Bruno Haible  <bruno@clisp.org>
71539
71540         * lib/binary-io.h: Avoid warnings on Cygwin.
71541
71542 2004-01-20  Bruno Haible  <bruno@clisp.org>
71543
71544         * lib/allocsa.h: New file, from GNU gettext.
71545         * lib/allocsa.c: New file, from GNU gettext.
71546
71547 2004-01-18  Karl Berry  <karl@gnu.org>
71548
71549         * doc/gpl.texi, doc/lgpl.texi: new files.
71550
71551 2004-01-18  Karl Berry  <karl@gnu.org>
71552
71553         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
71554         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
71555
71556 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71557
71558         Merge from coreutils.
71559
71560         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
71561         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
71562         (gl_DEFAULT_POSIX2_VERSION): Move
71563         the documentation from 'configure' into 'config.hin',
71564         so that 'configure --help' isn't burdened by it and
71565         we don't have to worry about its formatting there.
71566         Reword the documentation so that it's more succinct
71567         and can be run together into a single paragraph.
71568         * m4/same.m4 (gl_SAME): Check for pathconf.
71569
71570 2004-01-15  Paul Eggert  <eggert@twinsun.com>
71571
71572         Merge from coreutils.
71573
71574         * lib/posixver.c: Include posixver.h.
71575
71576         * lib/same.c: Include <stdbool.h>, <limits.h>.
71577         (_POSIX_NAME_MAX): Define if not defined.
71578         (MIN): New macro.
71579         (same_name): If file names are silently truncated, report
71580         that the file names are the same if they are the same after
71581         the silent truncation.
71582
71583         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
71584         conversion function.
71585         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
71586         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
71587         longer needed.
71588
71589 2004-01-15  Jim Meyering  <jim@meyering.net>
71590
71591         Merge from coreutils.
71592
71593         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
71594         if no library is required.
71595         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
71596         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
71597         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
71598         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
71599         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
71600         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
71601         value, $ac_cv_search_crypt, if it's "none required".
71602         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
71603         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
71604         not gl_FUNC_GETLOADAVG.
71605         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
71606         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
71607
71608 2004-01-15  Jim Meyering  <jim@meyering.net>
71609
71610         Merge from coreutils.
71611
71612         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
71613         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
71614         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
71615
71616         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
71617         optional configure-time default.
71618
71619         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71620
71621         * lib/xreadlink.c (xreadlink): Correct outdated comment.
71622
71623 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
71624
71625         Merge from coreutils.
71626
71627         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
71628         value, $ac_cv_search_nanosleep, if it's "none required".
71629
71630 2004-01-14  Paul Eggert  <eggert@twinsun.com>
71631
71632         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
71633         with like-named macro in fnmatch.c.
71634         (EXT): Use an internal constant instead.
71635
71636         Merge fnmatch patches from glibc.
71637         * lib/fnmatch.c (mbsinit): Remove define.
71638         Add libc_hidden_ver (__fnmatch, fnmatch).
71639         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
71640         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
71641
71642 2004-01-14  Karl Berry  <karl@gnu.org>
71643
71644         * config/install-sh: update from automake.
71645
71646 2004-01-13  Karl Berry  <karl@gnu.org>
71647
71648         * config/install-sh: update from automake.
71649
71650 2004-01-09  Karl Berry  <karl@gnu.org>
71651
71652         * config/install-sh: update from automake.
71653
71654 2004-01-05  Karl Berry  <karl@gnu.org>
71655
71656         * config/config.{sub,guess}: update from config.
71657
71658 2003-12-31  Karl Berry  <karl@gnu.org>
71659
71660         * config/depcomp: update from automake.
71661
71662 2003-12-14  Karl Berry  <karl@gnu.org>
71663
71664         * lib/config.charset: update from gettext-runtime.
71665
71666 2003-12-03  Paul Eggert  <eggert@twinsun.com>
71667
71668         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
71669         Bug reported by Alfred M. Szmidt.
71670
71671 2003-12-03  Bruno Haible  <bruno@clisp.org>
71672
71673         * m4/gettext.m4: Upgrade from gettext-0.13.
71674         * m4/po.m4: Upgrade from gettext-0.13.
71675         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
71676         * m4/intmax.m4: New file, from gettext-0.13.
71677         * m4/printf-posix.m4: New file, from gettext-0.13.
71678
71679 2003-11-29  Karl Berry  <karl@gnu.org>
71680
71681         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
71682
71683 2003-11-25  Paul Eggert  <eggert@twinsun.com>
71684             Bruno Haible  <bruno@clisp.org>
71685
71686         * lib/printf-parse.h: Don't include sys/types.h.
71687         (ARG_NONE): New macro.
71688         (char_directive): Change type of *arg_index fields to size_t.
71689         * lib/printf-parse.c: Don't include sys/types.h.
71690         (SSIZE_MAX): Remove macro.
71691         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
71692         Remove unnecessary overflow check.
71693         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
71694         fields.
71695
71696 2003-11-25  Bruno Haible  <bruno@clisp.org>
71697
71698         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
71699
71700 2003-11-25  Bruno Haible  <bruno@clisp.org>
71701
71702         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
71703         gt_TYPE_SSIZE_T.
71704
71705 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71706
71707         * modules/alloca: Remove dependency on xalloc.
71708
71709 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71710
71711         * lib/alloca.c: Remove dependency on xalloc module.
71712         (xalloc_die): Remove.
71713         (memory_full) [!defined emacs]: New macro.
71714         [!defined emacs]: Don't include xalloc.h.
71715         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
71716         address arithmetic overflows.  Change datatypes a bit to avoid
71717         unnecessary casts.
71718
71719 2003-11-22  Jim Meyering  <jim@meyering.net>
71720
71721         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
71722         s/size/size_t/.
71723
71724 2003-11-21  Karl Berry  <karl@gnu.org>
71725
71726         * config/config.{sub,guess}: update from config.
71727
71728 2003-11-18  Karl Berry  <karl@gnu.org>
71729
71730         * config/config.{sub,guess}: update from config.
71731
71732         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
71733
71734 2003-11-17  Paul Eggert  <eggert@twinsun.com>
71735
71736         * README: Mention that S+T cannot overflow if S is the size of
71737         an existing object and T is sufficiently small.
71738
71739 2003-11-17  Jim Meyering  <jim@meyering.net>
71740
71741         On systems without utime and without a utimes function capable of
71742         dealing with a NULL struct utimbuf* argument, this utime replacement
71743         could -- in unusual circumstances -- leak a file descriptor.
71744         * lib/utime.c: Include <unistd.h> and <errno.h>.
71745         (utime_null): Be sure to close `fd' and to preserve errno.
71746         Reported by Geoff Collyer via Arnold Robbins.
71747
71748 2003-11-17  Bruno Haible  <bruno@clisp.org>
71749
71750         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
71751         (Depends-on): Add xsize.
71752
71753 2003-11-17  Bruno Haible  <bruno@clisp.org>
71754
71755         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
71756
71757 2003-11-17  Bruno Haible  <bruno@clisp.org>
71758
71759         * lib/vasnprintf.c (alloca): Remove fallback definition.
71760         (freea): Remove definition.
71761         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
71762         Reported by Paul Eggert.
71763
71764 2003-11-16  Paul Eggert  <eggert@twinsun.com>
71765             Bruno Haible  <bruno@clisp.org>
71766
71767         Protect against address arithmetic overflow.
71768         * lib/printf-args.h: Include stddef.h.
71769         (arguments): Change type of field 'count' to size_t.
71770         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
71771         'unsigned int' where appropriate.
71772         * lib/printf-parse.h: Include sys/types.h.
71773         (char_directive): Change type of *arg_index fields to ssize_t.
71774         (char_directives): Change type of fields 'count', max_*_length to
71775         size_t.
71776         * lib/printf-parse.c: Include sys/types.h and xsize.h.
71777         (SSIZE_MAX): Define fallback value.
71778         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
71779         instead of 'int' where appropriate. Check a_allocated, d_allocated
71780         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
71781         * lib/vasnprintf.c: Include xsize.h.
71782         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
71783         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
71784         overflow. Avoid wraparound when converting a width or precision from
71785         decimal to binary.
71786
71787 2003-11-16  Bruno Haible  <bruno@clisp.org>
71788
71789         Update from GNU gettext.
71790         * lib/printf-parse.c: Generalize to it can be compiled for wide
71791         strings.
71792         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
71793         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
71794         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
71795         SNPRINTF): New macros.
71796         Don't include <alloca.h> if the file is used inside libintl.
71797         (local_wcslen): New function, for Solaris 2.5.1.
71798         (VASNPRINTF): Use it instead of wcslen.
71799
71800 2003-11-16  Bruno Haible  <bruno@clisp.org>
71801
71802         * lib/xsize.h (xmax): New function.
71803         (xsum, xsum3, xsum4): Declare as "pure" functions.
71804
71805 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71806
71807         * modules/xalloc (Files): Undo latest change, since xalloc.h
71808         no longer needs SIZE_MAX or PTRDIFF_MAX.
71809
71810 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71811
71812         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
71813         gl_PTRDIFF_MAX.
71814
71815 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71816
71817         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
71818         "return", to pacify some unknown compiler.  Problem reported
71819         by Joerg Schilling.
71820
71821 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71822
71823         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
71824         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
71825         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
71826         heuristic is just as accurate as far as we know, and it removes a
71827         dependency on size_max.m4 and ptrdiff_max.m4.
71828
71829 2003-11-11  Bruno Haible  <bruno@clisp.org>
71830
71831         * modules/xsize (Files): Add m4/size_max.m4.
71832         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
71833
71834 2003-11-11  Bruno Haible  <bruno@clisp.org>
71835
71836         * m4/size_max.m4: New file.
71837         * m4/ptrdiff_max.m4: New file.
71838         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
71839         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
71840         (gl_XALLOC): Invoke it.
71841
71842 2003-11-11  Bruno Haible  <bruno@clisp.org>
71843
71844         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
71845         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
71846         defined.
71847
71848 2003-11-10  Paul Eggert  <eggert@twinsun.com>
71849
71850         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
71851         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
71852         rejected some allocations of exactly SIZE_MAX - 2 bytes.
71853         From Bruno Haible.
71854         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
71855         not (size_t) -1, since it's defined here.
71856
71857 2003-11-09  Karl Berry  <karl@gnu.org>
71858
71859         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
71860
71861 2003-11-06  Paul Eggert  <eggert@twinsun.com>
71862
71863         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
71864         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
71865         Reject sizes of exactly SIZE_MAX bytes.
71866         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
71867         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
71868
71869 2003-11-05  Bruno Haible  <bruno@clisp.org>
71870
71871         * lib/xsize.h: Include limits.h, to avoid a possible collision with
71872         SIZE_MAX defined in <limits.h> on Solaris.
71873
71874 2003-11-04  Jim Meyering  <jim@meyering.net>
71875
71876         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
71877         variable names, rather than @VAR@.
71878         * modules/poll: Likewise.
71879
71880 2003-11-04  Bruno Haible  <bruno@clisp.org>
71881
71882         * modules/xsize: New file.
71883         * modules/linebreak: Depend on xsize.
71884         * MODULES.html.sh (func_all_modules): Add xsize.
71885
71886 2003-11-04  Bruno Haible  <bruno@clisp.org>
71887
71888         * m4/xsize.m4: New file.
71889
71890 2003-11-04  Bruno Haible  <bruno@clisp.org>
71891
71892         * lib/xsize.h: New file.
71893         * lib/linebreak.c: Include xsize.h.
71894         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
71895         argument for overflow.
71896         Suggested by Paul Eggert.
71897
71898 2003-11-03  Karl Berry  <karl@gnu.org>
71899
71900         * config/config.{guess,sub}: update from config.
71901
71902 2003-11-03  Jim Meyering  <jim@meyering.net>
71903
71904         * modules/userspec (lib_SOURCES): Add userspec.h.
71905         (Include): Add "userspec.h".
71906         Improve description.
71907
71908 2003-11-03  Jim Meyering  <jim@meyering.net>
71909
71910         * lib/userspec.c: Include "userspec.h".
71911         * lib/userspec.h: New file.
71912
71913 2003-11-03  Bruno Haible  <bruno@clisp.org>
71914
71915         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
71916
71917 2003-11-03  Bruno Haible  <bruno@clisp.org>
71918
71919         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
71920         available, to avoid (extremely rare) race condition.
71921         Suggested by Paul Eggert.
71922
71923 2003-11-02  Karl Berry  <karl@gnu.org>
71924
71925         * config/srclist.txt (vasprintf.c): sync broken, sigh.
71926
71927 2003-10-31  Paul Eggert  <eggert@twinsun.com>
71928
71929         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
71930         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
71931         (read_filesystem_list): Set and use me_type_malloced.
71932         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
71933         whatever the type happens to be), for brevity and consistency.
71934         Check for size calculation overflow on Alphas running OSF/1.
71935
71936 2003-10-31  Jim Meyering  <jim@meyering.net>
71937
71938         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
71939
71940         * lib/linebuffer.c: Include <string.h> for declaration of memset.
71941
71942 2003-10-30  Paul Eggert  <eggert@twinsun.com>
71943             Bruno Haible  <bruno@clisp.org>
71944
71945         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
71946         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
71947
71948 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
71949
71950         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
71951         netbsd*-gnu*.  Suggested by Robert Millan.
71952
71953 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71954
71955         * modules/group-member: Depend on stdbool.
71956
71957 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71958
71959         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
71960
71961 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71962
71963         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
71964         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
71965         after the 'gnu' in these cases.  This fixes some bugs in the
71966         previous change, and is based on suggestions by Robert Millan.
71967
71968 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71969
71970         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
71971         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
71972         no longer needed.
71973         * lib/quotearg.c (quotearg_n_options): Use it.
71974         * lib/group-member.c: Include <stdbool.h>.
71975         (free_group_info): Arg is now const *; don't free arg.
71976         (get_group_info): Now returns bool and accepts struct group_info *,
71977         rather than returning a malloc'ed struct group_info *.
71978         All uses changed.  Check for overflow in internal size calculation.
71979
71980         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
71981         rather than xmalloc/xrealloc.
71982         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
71983         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
71984         conformance bug: the old code used a pointer after freeing the
71985         storage that it addressed.
71986         * lib/hash.c (hash_initialize): Simplify the code by using
71987         xalloc_oversized rather than doing it by hand.
71988         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
71989         the buffer preserved.  Use free and xmalloc instead.
71990         * lib/quotearg.c (quotearg_n_options): Likewise.
71991         Use a simpler test for size overflow.  Don't use xalloc_oversized
71992         because unsigned int might be wider than size_t (!); this suggests
71993         that we should switch from unsigned int to size_t for slot numbers.
71994
71995 2003-10-28  Paul Eggert  <eggert@twinsun.com>
71996
71997         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
71998         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
71999         NetBSD kernels.  Requested by Richard Stallman.
72000
72001 2003-10-27  Paul Eggert  <eggert@twinsun.com>
72002
72003         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
72004         to allocate the returned structure.  Do not allocate a subarray,
72005         as x2nrealloc will do that.
72006         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
72007         instead of xnrealloc.
72008         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
72009
72010 2003-10-27  Bruno Haible  <bruno@clisp.org>
72011
72012         * lib/stdbool_.h: Better support for BeOS.
72013
72014 2003-10-26  Paul Eggert  <eggert@twinsun.com>
72015
72016         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
72017         now uses inline.
72018
72019 2003-10-26  Paul Eggert  <eggert@twinsun.com>
72020
72021         * lib/xalloc.h (xalloc_oversized): New static inline function, for
72022         callers that want to do their own size-overflow checking.  Include
72023         <stdbool.h>, since xalloc_oversized returns bool.
72024         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
72025         to use xalloc_oversized.
72026
72027         Add two functions x2realloc, x2nrealloc, for programs that grow
72028         arrays dynamically by doubling their sizes.
72029         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
72030         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
72031         New functions.
72032
72033         Port to C99 semantics for 'inline' of external functions.
72034         Bug reported by Bruno Haible.
72035         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
72036         with the old contents of xnmalloc.
72037         (xnmalloc, xmalloc): Use it.
72038         (xnrealloc_inline): New static inline function,
72039         with the old contents of xnrealloc.
72040         (xnrealloc, xrealloc): Use it.
72041
72042         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
72043         that.
72044
72045 2003-10-26  Karl Berry  <karl@gnu.org>
72046
72047         * config/srclist.txt (COPYING.DOC): no longer available from
72048         /gd/gnuorg; don't know where the ultimate source is.
72049
72050 2003-10-25  Paul Eggert  <eggert@twinsun.com>
72051
72052         Fix several address-calculation bugs in the hash modules,
72053         plus some minor code cleanup.
72054
72055         * lib/hash.h: Include <stdbool.h>, for bool.
72056         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
72057         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
72058         hash_get_n_entries, hash_get_max_bucket_length,
72059         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
72060         hash_rehash): Use size_t rather than unsigned.
72061         * lib/hash.c (struct hash_table, hash_get_n_buckets,
72062         hash_get_n_buckets_used, hash_get_n_entries,
72063         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
72064         hash_get_entries, hash_do_for_each, hash_string, is_prime,
72065         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
72066         Likewise.
72067         (SIZE_MAX): Define if not defined.
72068         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
72069         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
72070         hash_print):
72071         Use const * when possible.
72072         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
72073         (check_tuning): Fix bug: if tuning parameters were very close to
72074         0 or 1, rounding errors could have caused subscript violations.
72075         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
72076         (hash_initialize): Add 'fail:' label
72077         to free table and return NULL, and use it to simplify code.
72078         Use calloc rather than clearing the storage ourself.
72079         (hash_initialize, hash_rehash): Check for arithmetic overflow in
72080         buffer size calculations.
72081         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
72082         Include <stddef.h>, for size_t.
72083         * lib/hash-pjw.c (hash_pjw): Likewise.
72084         Switch to method described by Bruno Haible.
72085         Include <limits.h>, for CHAR_BIT.
72086         (SIZE_BITS): New macro.
72087
72088 2003-10-23  Paul Eggert  <eggert@twinsun.com>
72089
72090         * m4/getline.m4 (AM_FUNC_GETLINE):
72091         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
72092         hosts.  Problem reported by Derek Robert Price in
72093         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
72094         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
72095         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
72096
72097 2003-10-21  Paul Eggert  <eggert@twinsun.com>
72098
72099         * lib/getndelim2.c (getndelim2): When size calculation overflows,
72100         ceiling the allocation at NMAX bytes rather than silently
72101         discarding input bytes before NMAX is reached.  This makes
72102         a difference only if NMAX exceeds SIZE_MAX / 2.
72103
72104         * lib/obstack.c: Merge from glibc.
72105         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
72106         Add libc_hidden_def (_obstack_newchunk).
72107         (_obstack_free) [! defined _LIBC]: Remove.
72108         [defined _LIBC]: Make a strong alias from obstack_free, rather than
72109         a clone of the function body.
72110         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
72111         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
72112
72113         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
72114         glibc.
72115         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
72116         arg to memcpy.
72117
72118         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
72119         (obstack_ptr_grow_fast, obstack_int_grow_fast):
72120         Don't use lvalue casts, as GCC plans to remove support for them
72121         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
72122         was also present in the non-GCC version, indicating that this
72123         code had always been buggy and had never been widely used.
72124         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
72125         Use the fast variant of each macro, rather than copying the
72126         definiens of the fast variant; that way, we'll be more likely to
72127         catch future bugs in the fast variants.
72128
72129 2003-10-20  Bruno Haible  <bruno@clisp.org>
72130
72131         * modules/wait-process: New file.
72132         * MODULES.html.sh (func_all_modules): Add wait-process.
72133
72134 2003-10-20  Bruno Haible  <bruno@clisp.org>
72135
72136         * m4/wait-process.m4: New file.
72137
72138 2003-10-20  Bruno Haible  <bruno@clisp.org>
72139
72140         * lib/wait-process.h: New file, from GNU gettext.
72141         * lib/wait-process.c: New file, from GNU gettext.
72142
72143 2003-10-19  Jim Meyering  <jim@meyering.net>
72144
72145         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
72146         HPUX 10.20.
72147
72148 2003-10-18  Karl Berry  <karl@gnu.org>
72149
72150         * config/config.guess: update from config.
72151
72152 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72153
72154         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
72155         (getgroups): First arg is int, not size_t.
72156         Don't let 'free' mangle errno.
72157
72158 2003-10-16  Paul Eggert  <eggert@twinsun.com>
72159
72160         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
72161
72162 2003-10-16  Karl Berry  <karl@gnu.org>
72163
72164         * config/config.{guess,sub}: update from config.
72165
72166 2003-10-16  Jim Meyering  <jim@meyering.net>
72167
72168         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
72169         memcpy.
72170
72171 2003-10-15  Paul Eggert  <eggert@twinsun.com>
72172
72173         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
72174         (SIZE_MAX): Remove.
72175         (new_exclude, add_exclude_file): Initial size no longer needs to
72176         be a power of 2.
72177         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
72178         our own address arithmetic overflow checking.
72179
72180         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
72181         (fnmatch): Do not alloca more than 2000 wide characters;
72182         instead, use malloc for large buffers.
72183         Check for address arithmetic overflow, and return -1
72184         with errno set to ENOMEM in that case.
72185         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
72186         (NEW_PATTERN): Do not alloca more than 8000 bytes;
72187         instead, return -1.  Check for address arithmetic overflow.
72188
72189 2003-10-14  Paul Eggert  <eggert@twinsun.com>
72190
72191         Handle invalid suffixes and overflow independently, so that
72192         callers can treat them independently as needed.  Fix some bugs in
72193         suffix handling, e.g., "100k@" was not diagnosed as an invalid
72194         suffix for a human-readable blocksize.  The major caller-visible
72195         change is the addition of a new
72196         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
72197         that both overflow and suffix chars were found.
72198
72199         * lib/human.c (humblock): Don't check separately for invalid suffix
72200         char; that is xstrtoumax's job (now that its bug is fixed).
72201         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
72202         INTMAX_MAX]: New macros.
72203         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
72204         TYPE_MAXIMUM): New macros.
72205         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
72206         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
72207         if overflow occurs, as it's what __strtol does and it's more useful
72208         in practice.
72209         (__xstrtol): If __strtol reports some error other than ERANGE,
72210         reflect it to the caller as LONGINT_INVALID.  If it reports
72211         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
72212         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
72213         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
72214         value.
72215         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
72216         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
72217         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
72218         [defined UINTMAX_MAX]: New macros.
72219
72220 2003-10-14  Bruno Haible  <bruno@clisp.org>
72221
72222         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
72223
72224 2003-10-14  Bruno Haible  <bruno@clisp.org>
72225
72226         * m4/sig_atomic_t: New file, from GNU gettext.
72227         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
72228
72229 2003-10-14  Bruno Haible  <bruno@clisp.org>
72230
72231         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
72232         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
72233         Also use volatile where needed.
72234
72235 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72236
72237         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
72238         Change maintainer from Bruno Haible to 'all'.
72239
72240 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72241
72242         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
72243
72244 2003-10-12  Paul Eggert  <eggert@twinsun.com>
72245
72246         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
72247         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
72248         and define in terms of the other primitives.
72249         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
72250         (SIZE_MAX): Define if not already defined.
72251         (array_size_overflow): New function.
72252         (xalloc_die): Abort instead of exiting if 'error' returns.
72253         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
72254         (xmalloc, xrealloc): Use them.
72255         (xcalloc): Check for address arithmetic overflow.
72256         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
72257         a bit faster than strcpy.
72258
72259 2003-10-10  Simon Josefsson  <jas@extundo.com>
72260
72261         * modules/argp (Depends-on): Add restrict and strcase.
72262
72263 2003-10-10  Simon Josefsson  <jas@extundo.com>
72264
72265         * m4/argp.m4: Add AC_C_INLINE.
72266
72267 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72268
72269         Merge getpass from libc, plus a few fixes.
72270
72271         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
72272         Include <stdbool.h>.
72273         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
72274         __fsetlocking to empty.
72275         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
72276         do include <bits/libc-lock.h>.
72277         Do not include <fcntl.h>; not needed.
72278         [_LIBC]: Include <wchar.h>.
72279         (NOTCANCEL_MODE): New macro.
72280         (flockfile, funlockfile) [_LIBC]: New macros.
72281         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
72282         [!_LIBC]: New macros.
72283         (call_fclose): New function.
72284         (getpass): Use it.  Save tty stream separately; this simplifies the
72285         code and makes it more reliable if stdin happens to equal stdout.
72286         Invoke __fsetlocking on tty.
72287         Handle thread cancellation if needed.
72288         Namespace cleanup (use __tcgetattr, __getline).
72289         Use bool for Booleans.
72290         [USE_IN_LIBIO]: Handle wide streams.
72291         [!_LIBC]: Unconditionally do the fseek, since we don't know what
72292         stream might go where.
72293
72294         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
72295         doesn't have to include <stdio.h> before us.
72296         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
72297         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
72298         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
72299         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
72300         if not declared, so that we can use getpass.c code from libc without
72301         rewriting it.
72302         (flockfile, ftrylockfile, funlockfile): New macros.
72303
72304 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72305
72306         * modules/getpass: Depend on stdbool.
72307
72308 2003-10-08  Paul Eggert  <eggert@twinsun.com>
72309
72310         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
72311
72312 2003-10-07  Karl Berry  <karl@gnu.org>
72313
72314         * config/config.{guess,sub}: update from config.
72315
72316 2003-10-06  Jim Meyering  <jim@meyering.net>
72317             Bruno Haible  <bruno@clisp.org>
72318
72319         This lets translators provide better translations for the
72320         "Written by ..." part of --version output.
72321         * lib/version-etc.h: Include stdarg.h.
72322         (version_etc_copyright): Declare as readonly.
72323         (version_etc): Make this function variadic with a NULL-terminated list
72324         of author name strings.
72325         (version_etc_va): New declaration.
72326         * lib/version-etc.c: Include stdarg.h, stdlib.h.
72327         (version_etc_copyright): Declare as readonly.
72328         (version_etc_va): New function. Provide a different translatable string
72329         for each possible number of authors < 10. Abbreviate when there are 10
72330         authors or more.
72331         (version_etc): Make this function variadic. Call version_etc_va.
72332         Suggestion from Gary V. Vaughan.
72333
72334         * lib/long-options.h (parse_long_options): Change prototype: the
72335         authors string is moved to the end and becomes variadic.
72336         * lib/long-options.c: Include stdarg.h.
72337         (parse_long_options): Make this function variadic, too.
72338         Call version_etc_va, not version_etc.
72339
72340 2003-10-06  Bruno Haible  <bruno@clisp.org>
72341
72342         * modules/version-etc-2: Remove file.
72343         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
72344
72345 2003-10-06  Bruno Haible  <bruno@clisp.org>
72346
72347         * modules/fatal-signal: New file.
72348         * MODULES.html.sh (func_all_modules): Add fatal-signal.
72349
72350 2003-10-06  Bruno Haible  <bruno@clisp.org>
72351
72352         * m4/fatal-signal.m4: New file.
72353         * m4/signalblocking.m4: New file, from GNU gettext.
72354
72355 2003-10-06  Bruno Haible  <bruno@clisp.org>
72356
72357         * lib/version-etc-2.h: Remove file.
72358         * lib/version-etc-2.c: Remove file.
72359
72360 2003-10-06  Bruno Haible  <bruno@clisp.org>
72361
72362         * lib/fatal-signal.h: New file, from GNU gettext.
72363         * lib/fatal-signal.c: New file, from GNU gettext.
72364
72365 2003-10-05  Paul Eggert  <eggert@twinsun.com>
72366
72367         * README: Rework advice for preventing empty .o files.
72368         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
72369         not <sys/types.h>.
72370
72371 2003-10-04  Karl Berry  <karl@gnu.org>
72372
72373         * lib/argp*: update from libc.
72374
72375 2003-10-04  Karl Berry  <karl@gnu.org>
72376
72377         * config/config.{guess,sub}: update from config.
72378
72379 2003-10-02  Bruno Haible  <bruno@clisp.org>
72380
72381         * modules/lchown (Include): Add lchown.h.
72382         * modules/time_r (Include): Use "..." syntax.
72383         * modules/xgetdomainname (Include): Add xgetdomainname.h.
72384
72385 2003-10-01  Simon Josefsson  <jas@extundo.com>
72386
72387         * MODULES.html.sh (func_all_modules): Move gethostname from section
72388         'based on' to section 'lacking' POSIX:2001.
72389
72390 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
72391
72392         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
72393         to output mode on the same stream.
72394
72395 2003-09-29  Paul Eggert  <eggert@twinsun.com>
72396
72397         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
72398         Fix arg typo in previous patch.
72399
72400 2003-09-28  Jim Meyering  <jim@meyering.net>
72401
72402         * lib/error.c: Correct cpp indentation.
72403
72404 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72405
72406         * modules/free: New file.
72407
72408 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72409
72410         * m4/free.m4: New file.
72411
72412 2003-09-27  Paul Eggert  <eggert@twinsun.com>
72413
72414         * lib/minmax.h (MIN, MAX)
72415         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
72416         Omit the special code that used __typeof__, since we worry that
72417         it could be more trouble than it's worth.  See:
72418         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
72419         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
72420
72421         * lib/free.c: New file.
72422
72423 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
72424
72425         Trivial fixes to Makefile.am parts of module listings.
72426         * modules/strstr: Append strstr.h to lib_SOURCES.
72427         * modules/strcase: Likewise, for strcase.h.
72428
72429 2003-09-27  Karl Berry  <karl@gnu.org>
72430
72431         * config/mkinstalldirs: update from automake.
72432
72433 2003-09-26  Paul Eggert  <eggert@twinsun.com>
72434
72435         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
72436         (error_tail): Do not loop, reallocating temporary buffer, since
72437         the output cannot contain more wide characters than the input
72438         contains bytes, the size must be big enough already.  This avoids
72439         one potential size overflow calculation.  Check for size overflow
72440         when calculating temporary buffer size.  Free temporary buffer
72441         when done, if it was allocated with malloc; this plugs a memory
72442         leak.  Remove casts from void * to pointers, that are no longer
72443         needed now that we're assuming C89 or better.
72444
72445         Merge error changes from glibc.
72446
72447         * lib/error.c, error.h: Update copyright notice header to match glibc.
72448         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
72449         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
72450         Disable cancellation while printing error.
72451         * lib/error.h: Prepend __ to parameter names.
72452
72453 2003-09-26  Jim Meyering  <jim@meyering.net>
72454
72455         * lib/error.c (error_tail): Move some declarations
72456         into inner scope where the local variables are used.
72457
72458 2003-09-26  Bruno Haible  <bruno@clisp.org>
72459
72460         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
72461         stpncpy().
72462         Don't define stpncpy through config.h; it's now done through stpncpy.h.
72463
72464 2003-09-26  Bruno Haible  <bruno@clisp.org>
72465
72466         * lib/stpncpy.h (gnu_stpncpy): New declaration.
72467         (stpncpy): Define as alias for gnu_stpncpy.
72468         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
72469
72470 2003-09-25  Simon Josefsson  <jas@extundo.com>
72471
72472         * lib/xgetdomainname.h: New file.
72473         * lib/xgetdomainname.c: New file.
72474
72475 2003-09-25  Simon Josefsson  <jas@extundo.com>
72476             Bruno Haible  <bruno@clisp.org>
72477
72478         * modules/getdomainname: New file.
72479         * modules/xgetdomainname: New file.
72480         * MODULES.html.sh (func_all_modules): Add getdomainname,
72481         xgetdomainname.
72482
72483 2003-09-25  Simon Josefsson  <jas@extundo.com>
72484             Bruno Haible  <bruno@clisp.org>
72485
72486         * m4/getdomainname.m4: New file.
72487
72488 2003-09-25  Simon Josefsson  <jas@extundo.com>
72489             Bruno Haible  <bruno@clisp.org>
72490
72491         * lib/getdomainname.h: New file.
72492         * lib/getdomainname.c: New file.
72493
72494 2003-09-25  Karl Berry  <karl@gnu.org>
72495
72496         * lib/argp-fmtstream.c, argp-help.c: update from libc.
72497
72498 2003-09-25  Karl Berry  <karl@gnu.org>
72499
72500         * config/install-sh: update from automake.
72501
72502 2003-09-25  Bruno Haible  <bruno@clisp.org>
72503
72504         * modules/version-etc-2: New file, from modules/version-etc with
72505         modifications.
72506         * MODULES.html.sh (func_all_modules): Add version-etc-2.
72507
72508 2003-09-25  Bruno Haible  <bruno@clisp.org>
72509
72510         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
72511         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
72512
72513 2003-09-24  Simon Josefsson  <jas@extundo.com>
72514
72515         * modules/xgethostname: Add xgethostname.h.
72516
72517 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72518
72519         * lib/linebuffer.c (freebuffer): Don't free the argument, just
72520         the buffer associated with the argument.  Bug reported by
72521         Simon Josefsson.
72522
72523 2003-09-24  Paul Eggert  <eggert@twinsun.com>
72524
72525         * README: Document assumptions that 'int' is at least 32 bits
72526         wide, that integer arithmetic is 2's complement without overflow,
72527         that there are no holes in integer values, that adding sizes of
72528         two nonoverlapping objects can't overflow, and that all-bits-zero
72529         yields scalar zero.  Fix spelling and capitalization typos.
72530
72531 2003-09-19  Karl Berry  <karl@gnu.org>
72532
72533         * lib/argp.h: update from libc.
72534
72535 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72536
72537         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
72538         to avoid spurious warnings like "AC_RUN_IFELSE was called before
72539         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
72540
72541 2003-09-17  Paul Eggert  <eggert@twinsun.com>
72542
72543         * gnulib-tool: Use "test -h", not "test -L", for portability
72544         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
72545         (tags_regexp): Remove, since \| doesn't conform to POSIX.
72546         (sed_extract_prog): Issue s commands one-by-one, rather than
72547         using \| in one s command.
72548
72549 2003-09-16  Paul Eggert  <eggert@twinsun.com>
72550
72551         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
72552         input error, instead of returning NULL the next time we are called
72553         (and therefore losing track of errno).
72554
72555 2003-09-16  Bruno Haible  <bruno@clisp.org>
72556
72557         * gnulib-tool (func_create_testdir): Warn about duplicated
72558         dependencies.
72559
72560 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72561
72562         * modules/argmatch, modules/fatal, modules/obstack,
72563         modules/xalloc, modules/xgethostname: Sort dependencies by
72564         importance, not alphabetically.
72565
72566 2003-09-15  Paul Eggert  <eggert@twinsun.com>
72567
72568         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
72569         fails, so that the caller gets the proper errno.
72570
72571         * lib/readutmp.c (read_utmp): Likewise.
72572         Check for fstat error.  Close stream and free storage
72573         when failing.
72574
72575 2003-09-14  Karl Berry  <karl@gnu.org>
72576
72577         * config/srclist.txt (strdup.c): disable for c89 changes.
72578
72579 2003-09-14  Jim Meyering  <jim@meyering.net>
72580
72581         * lib/getloadavg.c: Correct cpp indentation.
72582         * lib/strdup.c: Likewise.
72583         * lib/vasnprintf.c: Likewise.
72584
72585 2003-09-14  Bruno Haible  <bruno@clisp.org>
72586
72587         * modules/fwriteerror: New file.
72588         * MODULES.html.sh (func_all_modules): Add fwriteerror.
72589
72590 2003-09-14  Bruno Haible  <bruno@clisp.org>
72591
72592         * lib/fwriteerror.h: New file.
72593         * lib/fwriteerror.c: New file.
72594
72595 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72596
72597         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
72598         modules/xgethostname, modules/xalloc: Depend on exit.
72599
72600 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72601
72602         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
72603
72604         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
72605         and AC_MINIX, too, so that their extensions are available.
72606
72607         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
72608         This macro has been superseded by gl_BACKUPFILE.
72609
72610         More patches to assume C89 or better.
72611
72612         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
72613
72614         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
72615         unconditionally.
72616         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
72617         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
72618         Include <string.h>, <stdlib.h> unconditionally.
72619         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
72620         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
72621         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
72622         headers or for string.h.
72623         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
72624         or strtoul.
72625
72626         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
72627         headers.
72628         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
72629         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72630         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
72631         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
72632         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72633         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
72634         memcpy, memset.
72635         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
72636         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
72637         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
72638         strtol.
72639         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
72640         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
72641         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
72642         strtoul.
72643
72644 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72645
72646         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
72647         * lib/obstack.c [!defined _LIBC]: Likewise.
72648         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
72649         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
72650         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
72651
72652         More changes to assume C89 or better.
72653
72654         * lib/error.c (error_tail): Assume vprintf.
72655
72656         * lib/argmatch.c (getenv): Remove decl.
72657         * lib/progreloc.c (get_full_program_name): Define via prototype.
72658         * lib/setenv.c (clearenv): Likewise.
72659         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
72660         needed.
72661         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
72662         (malloc, memcpy): Remove decls.
72663         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
72664         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
72665         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72666         (memcpy): Remove macro.
72667         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
72668         (__P): Remove.  All uses removed.
72669         (PTR): Remove.  All uses changed to void *.
72670         (CHAR_BIT, NULL): Remove.
72671         (spaces, zeros, memset_space, memset_zero)
72672         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
72673         Remove.
72674         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
72675         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
72676         Define with prototype.
72677         Remove now-unnecessary prototype decl.
72678         (extra_args_spec): Assume ANSI C.  All uses changed.
72679         (extra_args_spec_iso): Remove.
72680         (my_strftime, emacs_strftimeu): Define via prototype.
72681         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
72682         unconditionally.
72683         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
72684         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
72685         (strtoul, strtol): Remove decls.
72686         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
72687         LONG_MAX): Remove.
72688         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72689         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
72690         (LOCALE_PARAM_PROTO): New macro.
72691         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
72692         (INTERNAL (strtol), strtol): Define with a prototype.
72693         (PARAMS): Remove.  All uses removed.
72694         * lib/tempname.c: Include <string.h> unconditionally.
72695         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
72696         * lib/xgethostname.c (main): Define with a prototype.
72697         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
72698         Include <stdlib.h> unconditionally.
72699         (calloc, malloc, realloc, free): Remove decls.
72700         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
72701         Include <stdlib.h> unconditionally.  Sort include file names.
72702         (strtod): Remove.
72703         (xstrtod): Define with a prototype.
72704         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
72705         (strtol, strtoul): Remove decls.
72706
72707 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72708
72709         More patches to assume C89 or better.
72710         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
72711         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
72712         string.h, memchr, STDC_HEADERS.
72713
72714 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72715
72716         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
72717         Include <stdlib.h>, <string.h> unconditionally.
72718         Remove now-unnecessary cast to char *.
72719         * lib/strnlen.c: Include <string.h> unconditionally.
72720         * lib/yesno.c (yesno): Define with a prototype.
72721
72722 2003-09-11  Bruno Haible  <bruno@clisp.org>
72723
72724         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
72725
72726 2003-09-10  Jim Meyering  <jim@meyering.net>
72727
72728         * lib/error.c: Correct indentation of cpp directives.
72729
72730 2003-09-10  Bruno Haible  <bruno@clisp.org>
72731
72732         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
72733         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
72734         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
72735         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
72736         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
72737         <stdlib.h> and <string.h> checks.
72738         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
72739         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
72740
72741 2003-09-10  Bruno Haible  <bruno@clisp.org>
72742
72743         * lib/strcspn.c: Include <string.h> unconditionally.
72744         * lib/strpbrk.c: Include <string.h> unconditionally.
72745         * lib/strstr.c: Include <string.h> unconditionally.
72746         * lib/unicodeio.c: Include <string.h> unconditionally.
72747         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
72748         * lib/unsetenv.c: Likewise.
72749         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
72750         * lib/yesno.c: Include <stdlib.h> unconditionally.
72751         (rpmatch): Add prototype.
72752
72753 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72754
72755         More patches to assume C89 or better.
72756         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
72757         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
72758         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
72759         or for string.h.
72760         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
72761         stdlib.h.
72762         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
72763         C headers.
72764         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
72765         string.h.
72766         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
72767         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
72768         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
72769         or for string.h.
72770         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
72771         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
72772         C headers.
72773         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
72774         memcpy.
72775         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
72776         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
72777         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
72778         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
72779         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
72780         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
72781         string.h, free.
72782         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
72783         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
72784         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
72785         C headers, or for string.h.
72786         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
72787         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
72788         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
72789         headers, memory.h, stdlib.h, string.h, strings.h.
72790         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
72791         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
72792         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
72793         strchr.
72794         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
72795         headers, memory.h, string.h.
72796         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
72797         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
72798         free.
72799         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
72800         headers.
72801         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
72802         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
72803         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
72804         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
72805         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
72806
72807 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72808
72809         More K&R removal.
72810
72811         * lib/acosl.c (main): Use a prototype.
72812         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
72813         tanl.c: Likewise.
72814
72815         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
72816
72817         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
72818         (getopt, etopt_long, getopt_long_only, _getopt_internal)
72819         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
72820         with a prototype.
72821         * lib/getopt.c (const): Remove macro.
72822         Include <string.h> unconditionally.
72823         (my_index): Remove; all uses changed to strchr.
72824         (strlen): Remove decl.
72825         (exchange): Remove forward decl; no longer needed.
72826         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
72827         Define with prototype.
72828         * lib/getopt1.c (const): Remove macro.
72829         (getopt_long, getopt_long_only, main): Define with prototype.
72830
72831         * lib/getugroups.c: Include <string.h> unconditionally.
72832
72833         * lib/getusershell.c: Include <stdlib.h> unconditionally.
72834         (getusershell, setusershell, endusershell, readname, main):
72835         Define with prototypes.
72836
72837         * lib/group-member.c: Include group-member.h first.
72838         Include <stdlib.h> unconditionally.
72839
72840         * lib/hard-locale.c: Include hard-locale.h first.
72841         Include <stdlib.h>, <string.h> unconditionally.
72842
72843         * lib/hash.c (free, malloc): Remove decls.
72844         Include <stdlib.h> unconditionally.
72845
72846         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
72847         (getenv): Do not declare.
72848
72849         * lib/idcache.c: Include <string.h> unconditionally.
72850
72851         * lib/long-options.c: Include long-options.h first, to test interface.
72852         Include <stdlib.h> unconditionally.
72853
72854         * lib/makepath.c: Include makepath.h first, to test interface.
72855         Include <stdlib.h> and <string.h> unconditionally.
72856
72857         * lib/linebuffer.c: Include <stdlib.h>.
72858         (free): Remove decl.
72859
72860         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
72861         stddef.h. rpl_malloc returns void *, not char *.
72862         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
72863         prototype.
72864
72865         * lib/md5.h: Include <limits.h> unconditionally.
72866         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
72867         (__P): Remove; all uses removed.
72868         * lib/md5.c: Include "md5.h" first.
72869         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
72870         md5_buffer, md5_process_bytes, md5_process_block):
72871         Define with prototypes.
72872         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
72873         * lib/sha.c: Include "sha.h" first.
72874         Include <stdlib.h>, <string.h> unconditionally.
72875
72876         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
72877         * lib/memcmp.c (__ptr_t): Likewise.
72878         * lib/memrchr.c (__ptr_t): Likewise.
72879         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
72880         Include <string.h> unconditionally.
72881         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
72882         * lib/memchr.c: Include <stdlib.h> unconditionally.
72883         * lib/memchr.c (LONG_MAX): Remove.
72884         * lib/memrchr.c (LONG_MAX): Likewise.
72885         * lib/memchr.c (__memchr): Define via a prototype.
72886         * lib/memrchr.c (__memrchr): Likewise.
72887         * lib/memcmp.c (__P): Remove, and remove all uses.
72888         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
72889         Remove forward decls; no longer needed.
72890         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
72891         Use types required by C89 in prototype.
72892
72893         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
72894         * lib/savedir.c: Likewise.
72895         * lib/mkdir.c (free): Remove decl.
72896         * lib/rmdir.c (rmdir): Define with a prototype.
72897         * lib/savedir.c: Include savedir.h first, to test interface.
72898
72899         * lib/mktime.c (STDC_HEADERS): Remove.
72900         Include <stdlib.h>, <string.h> unconditionally.
72901
72902         * lib/modechange.c: Include <stdlib.h> unconditionally.
72903         (malloc): Remove decl.
72904
72905         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
72906         (free): Remove decl.
72907
72908         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
72909         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
72910         (This type really should be intptr_t, but that's a C99ism.)
72911         (_obstack_memcpy): Remove: all uses changed to memcpy.
72912         Include <string.h> unconditionally.
72913         (struct obstack): Assume __STDC__ for types of members
72914         chunkfun, freefun, extra_arg.
72915         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
72916         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
72917         obstack_begin, obstack_specify_allocation,
72918         obstack_specify_allocation_with_arg, obstack_chunkfun,
72919         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
72920         Remove unprototyped decls and the macros that use them.
72921         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
72922         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
72923         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
72924         (defined __STDC__ && __STDC__)]:
72925         Remove nonprototyped code.
72926         Include <stdlib.h> unconditionally.
72927         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
72928         _obstack_allocated_p, _obstack_free, obstack_free,
72929         _obstack_memory_used, print_and_abort):
72930         Define using prototypes.
72931         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
72932         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
72933         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
72934         obstack_next_free, obstack_object_size, obstack_room) [0]:
72935         Remove unused, unprototyped code.
72936
72937         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
72938
72939         * lib/physmem.c (physmem_total, physmem_available, main): Define
72940         with prototypes.
72941
72942         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
72943         (main): Define with a prototype.
72944
72945         * lib/posixver.c (getenv): Remove decl.
72946
72947         * lib/putenv.c (malloc): Returns void *, not char *.
72948         Include <string.h> unconditionally.
72949         (strchr, memcpy, NULL): Do not define.
72950
72951         * lib/readtokens.c: Include readtokens.h first, to test interface.
72952         Include <stdlib.h>, <string.h> unconditionally.
72953         (init_tokenbuffer): Define with a prototype.
72954
72955         * lib/regex.c (PARAMS): Remove.  All uses removed.
72956         All uses of _RE_ARGS removed, too.
72957         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
72958         unconditionally.
72959         (bzero): Assume memset exists.
72960         (memcmp, memcpy, NULL): Remove.
72961         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
72962         char, or assignments to local vars of type signed char.
72963         (init_syntax_once, PREFIX(extract_number_and_incr),
72964         PREFIX(print_partial_compiled_pattern),
72965         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
72966         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
72967         PREFIX(regex_grow_registers), PREFIX(regex_compile),
72968         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
72969         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
72970         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
72971         wcs_compile_range, byte_compile_range, truncate_wchar,
72972         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
72973         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
72974         count_mbs_length, wcs_re_match_2_internal,
72975         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
72976         PREFIX(alt_match_null_string_p),
72977         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
72978         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
72979         regfree, PREFIX(extract_number)): Define with prototype.  Remove
72980         now-unnecessary declaration, if any.
72981         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
72982         regcomp, regexec):
72983         Remove now-unnecessary casts among pointer types.
72984         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
72985
72986         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
72987         (free): Remove decl.
72988
72989         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
72990
72991         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
72992         (free): Remove decl.
72993
72994         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
72995         * lib/xgetcwd.c: Likewise.
72996
72997         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
72998         (free): Remove decl.
72999
73000         * lib/strchrnul.c (strchrnul): Define with a prototype.
73001         Fix bug: c_in was not converted to char before searching.
73002
73003         The following changes are not K&R related:
73004
73005         * lib/group-member.h: Include <sys/types.h>, so that this file is
73006         self-contained.
73007         * lib/makepath.h: Likewise.
73008
73009         * lib/getusershell.c (readname, default_index, line_size, readname):
73010         Use size_t, not int, for sizes.
73011         (readname): If the size overflows, report an error instead of
73012         looping forever.
73013
73014 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73015
73016         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
73017         libc.
73018
73019 2003-09-09  Paul Eggert  <eggert@twinsun.com>
73020
73021         * README: New section: portability guidelines.
73022
73023 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
73024
73025         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
73026         C89 spec.
73027
73028 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
73029
73030         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
73031
73032 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73033
73034         Assume C89 or better; remove K&R cruft.
73035         A few of these changes were first proposed by Derek Robert Price
73036         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
73037
73038         * lib/addext.c: Include <string.h> unconditionally.
73039         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
73040         Don't declare getenv or malloc.
73041
73042         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
73043         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
73044         (NULL): Remove.
73045         (find_stack_direction, alloca): Use prototypes.
73046
73047         * lib/atexit.c (atexit): Define using a prototype.
73048
73049         * lib/basename.c, dirname.c, stripslash.c:
73050         Include <string.h> unconditionally.
73051
73052         * lib/bcopy.c: Include <stddef.h>.
73053         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
73054
73055         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
73056
73057         * lib/error.h (error, error_at_line, error_print_progname)
73058         [! (defined (__STDC__) && __STDC__)]: Remove decls.
73059         * lib/error.c: Include error.h first, to check interface.
73060         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73061         (VA_START): Remove; all uses changeed to va_start.
73062         (exit, strerror): Remove decls.
73063         (error_print_progname): Prototype uncondionally.
73064         Don't include <errno.h>; no longer needed.
73065         (private_strerror): Remove.
73066         (error_tail): Always define.
73067         (error, error_at_line): Assume C89 or better; always use prototypes.
73068         * lib/fatal.c: Include "fatal.h" first, to test interface.
73069         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
73070         (VA_START): Remove; all uses changed to va_start.
73071         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
73072         this case.
73073         (exit): Remove decl.
73074         (fatal): Prototype unconditionally.  Assume va_start works.
73075         Abort at end, to pacify gcc.
73076
73077         * lib/euidaccess.c (main): Define with a prototype.
73078
73079         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
73080
73081         * lib/exitfail.c: Include <stdlib.h> unconditionally.
73082
73083         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
73084         prototypes.
73085         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
73086         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
73087         (getenv): Remove decl.
73088         (fnmatch): Define using a prototype.
73089         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
73090         (FCT): Define using a prototype.
73091
73092         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
73093
73094         * lib/gethostname.c: Include <stddef.h>.
73095         (gethostname): Define with prototype.  Length is size_t, not int.
73096
73097 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73098
73099         Assume C89 or better; remove K&R cruft.
73100         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
73101         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
73102         string.h, getenv, malloc.
73103         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
73104         headers.
73105         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
73106         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
73107         do not check for strerror.
73108         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
73109         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
73110         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
73111         do not check for doprnt or vprintf.
73112         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
73113         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
73114
73115 2003-09-08  Paul Eggert  <eggert@twinsun.com>
73116
73117         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
73118         getversion.c should have been removed then, but was accidentally
73119         preserved.
73120
73121         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
73122         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
73123
73124 2003-09-08  Karl Berry  <karl@gnu.org>
73125
73126         * config/config.sub, config.guess, srclistvars.sh: update from savannah
73127                 config, forget about prep.
73128
73129         * config/depcomp, missing: update from automake.
73130
73131 2003-09-07  Paul Eggert  <eggert@twinsun.com>
73132
73133         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
73134         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
73135
73136 2003-09-07  Paul Eggert  <eggert@twinsun.com>
73137
73138         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
73139         copy_tm_result.  Bug reported by Simon Josefsson in
73140         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
73141
73142 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73143
73144         * m4/time_r.m4: New file.
73145         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
73146         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
73147         is. Check for timegm declaration.
73148         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
73149         Do not check for gmtime_r.
73150         Replace mktime if __mktime_internal does not exist and if mktime
73151         hasn't been replaced already.
73152
73153 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73154
73155         * lib/time_r.c, lib/time_r.h: New files.
73156
73157         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
73158         __localtime_r.
73159         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
73160         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
73161
73162         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
73163         __gmtime_r.
73164         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
73165         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
73166         Include <time_r.h>.
73167
73168         * lib/timegm.c: Switch to glibc implementation, with the following
73169         changes:
73170         [defined HAVE_CONFIG_H]: Include <config.h>.
73171         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
73172         (__mktime_internal) [!defined _LIBC]: New decl.
73173         (__gmtime_r) [!defined _LIBC]: New macro and function.
73174         (timegm): Use a prototype, since gnulib assumes C89.
73175         Do not bother declaring tmp to be const, as it's not really usefu.
73176         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
73177         (timegm): Declare only if HAVE_DECL_TIMEGM.
73178
73179 2003-09-06  Paul Eggert  <eggert@twinsun.com>
73180
73181         * MODULES.html.sh (func_all_modules): Add time_r.
73182         * modules/time_r: New file.
73183         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
73184         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
73185
73186 2003-09-03  Paul Eggert  <eggert@twinsun.com>
73187
73188         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
73189         Bug reported by Lute Kamstra in
73190         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
73191
73192         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
73193         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
73194         course with correspondingly smaller numbers for tomorrow and
73195         yesterday.  From Tadayoshi Funaba.  Originally installed into
73196         sh-utils on 1999-08-07, but the patch got lost (I guess during the
73197         coreutils merge?).
73198
73199 2003-08-31  Simon Josefsson  <jas@extundo.com>
73200
73201         * modules/timegm: New file.
73202         * MODULES.html.sh (func_all_modules): Add timegm.
73203
73204 2003-08-31  Simon Josefsson  <jas@extundo.com>
73205
73206         * m4/timegm.m4: New file.
73207
73208 2003-08-31  Simon Josefsson  <jas@extundo.com>
73209
73210         * lib/timegm.h: New file.
73211         * lib/timegm.c: New file.  Based on
73212         wget-1.8.2/src/http.c:mktime_from_utc.
73213
73214 2003-08-31  Karl Berry  <karl@gnu.org>
73215
73216         * lib/argp.h: update from libc.
73217
73218 2003-08-28  Bruno Haible  <bruno@clisp.org>
73219
73220         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
73221         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
73222         followed by '#define fnmatch fnmatch_posix' gives an error.
73223
73224 2003-08-28  Bruno Haible  <bruno@clisp.org>
73225
73226         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
73227         warning on QNX, which defines O_BINARY to 000000.
73228
73229 2003-08-27  Jim Meyering  <jim@meyering.net>
73230
73231         * m4/mkstemp.m4: Require that the system mkstemp be able to create
73232         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
73233         would fail after 32.  Reported by Danny Levinson.  Details here:
73234         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
73235
73236 2003-08-24  Bruno Haible  <bruno@clisp.org>
73237
73238         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
73239         MSVC7 <stdio.h> is included later.
73240
73241 2003-08-22  Simon Josefsson  <jas@extundo.com>
73242
73243         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
73244
73245 2003-08-20  Karl Berry  <karl@gnu.org>
73246
73247         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
73248
73249 2003-08-20  Bruno Haible  <bruno@clisp.org>
73250
73251         * modules/progname: New file.
73252         * MODULES.html.sh (func_all_modules): Add progname.
73253
73254 2003-08-20  Bruno Haible  <bruno@clisp.org>
73255
73256         * lib/progname.h: New file, from GNU gettext.
73257         * lib/progname.c: New file, from GNU gettext.
73258         * lib/progreloc.c: New file, from GNU gettext.
73259
73260 2003-08-19  Jim Meyering  <jim@meyering.net>
73261
73262         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
73263         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
73264
73265 2003-08-19  Bruno Haible  <bruno@clisp.org>
73266
73267         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
73268         more.
73269
73270 2003-08-19  Bruno Haible  <bruno@clisp.org>
73271
73272         * lib/xstrdup.c: Assume <string.h> exists.
73273
73274 2003-08-18  Paul Eggert  <eggert@twinsun.com>
73275
73276         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
73277         in makefile rules.
73278
73279 2003-08-18  Jim Meyering  <jim@meyering.net>
73280
73281         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
73282         * m4/lib-ld.m4: Likewise.
73283
73284 2003-08-18  Jim Meyering  <jim@meyering.net>
73285
73286         * lib/setenv.h: Indent nested cpp directive.
73287         * lib/vasnprintf.c: Remove trailing blanks.
73288
73289 2003-08-17  Simon Josefsson  <jas@extundo.com>
73290
73291         * modules/xstrndup: New file.
73292         * MODULES.html.sh (func_all_modules): Add xstrndup.
73293
73294 2003-08-17  Simon Josefsson  <jas@extundo.com>
73295
73296         * modules/argp: Fix autoconf macro name. Add more dependencies.
73297
73298 2003-08-17  Simon Josefsson  <jas@extundo.com>
73299
73300         * m4/xstrndup.m4: New file.
73301
73302 2003-08-17  Simon Josefsson  <jas@extundo.com>
73303
73304         * m4/argp.m4: New file.
73305
73306 2003-08-17  Simon Josefsson  <jas@extundo.com>
73307             Bruno Haible  <bruno@clisp.org>
73308
73309         * lib/xstrndup.h: New file.
73310         * lib/xstrndup.c: New file.
73311
73312 2003-08-17  Bruno Haible  <bruno@clisp.org>
73313
73314         * modules/strndup (Files, Include): Add lib/strndup.h.
73315
73316 2003-08-17  Bruno Haible  <bruno@clisp.org>
73317
73318         * modules/euidaccess (Files): Add lib/euidaccess.h.
73319
73320 2003-08-17  Bruno Haible  <bruno@clisp.org>
73321
73322         * lib/strndup.h: New file.
73323
73324 2003-08-17  Bruno Haible  <bruno@clisp.org>
73325
73326         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
73327         like AC_GNU_SOURCE.
73328         * modules/extensions (configure.ac): Comment out the invocation of
73329         gl_USE_SYSTEM_EXTENSIONS.
73330
73331 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73332
73333         Merges from coreutils, etc.
73334         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
73335         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
73336         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
73337         fixing a typo.
73338         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
73339         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
73340
73341 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73342
73343         Document merge from coreutils.
73344         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
73345         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
73346         * modules/utime: Add m4/utimes-null.m4.
73347
73348 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73349
73350         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
73351         space, undoing this 2003-08-12 change:
73352         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73353
73354 2003-08-16  Paul Eggert  <eggert@twinsun.com>
73355
73356         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
73357         strtoul.c from libc, undoing this 2003-08-12 change:
73358         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
73359
73360 2003-08-16  Jim Meyering  <jim@meyering.net>
73361
73362         Merges from coreutils.
73363         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
73364         prefix.  Adjust cache variables similarly.  Create 500 rather than
73365         just 300 files, to exercise bug on Darwin6.5, too.
73366         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
73367         $missing_dir.
73368         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
73369         AM_SYS_POSIX_TERMIOS.
73370         Reported by mkc@mathdogs.com.
73371         Also change use of $am_cv_sys_posix_termios
73372         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
73373         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
73374         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
73375         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
73376         in /proc/mounts until it finds one with matching device number.  This
73377         is unnecessary when the FILE argument *is* a mount point.  No stat call
73378         is necessary in that case.  So, disable the statvfs-testing code on
73379         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
73380         as RedHat bug# 84846.
73381         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73382         to 1MB, so as not to render systems with no stack size limit (e.g.,
73383         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73384         Include <unistd.h>.  On some systems,
73385         it is required for the definition of _SC_PAGESIZE.
73386
73387 2003-08-16  Jim Meyering  <jim@meyering.net>
73388
73389         Merge from coreutils.
73390         * lib/xstrtoimax.c: #else #if -> #elif.
73391         * lib/xstrtoumax.c: Likewise.
73392
73393 2003-08-16  Jim Meyering  <jim@meyering.net>
73394
73395         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
73396         * m4/utimes.m4: Removed.
73397         * m4/utimes-null.m4: Renamed from utimes.m4.
73398
73399         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
73400         to 1MB, so as not to render systems with no stack size limit (e.g.,
73401         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
73402         Include <unistd.h>.  On some systems,
73403         it is required for the definition of _SC_PAGESIZE.
73404
73405 2003-08-16  Jim Meyering  <jim@meyering.net>
73406         and Paul Eggert  <eggert@cs.ucla.edu>
73407
73408         Merges from coreutils, etc.
73409
73410         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
73411         using the latest version from cvs.  This avoids problems with #line
73412         directives using a vendor (Sun) compiler.
73413         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
73414         Don't set GETGROUPS_LIB here; now it's
73415         done via getgroups.m4's wrapper function.
73416         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
73417         rather than just in sh-util/configure.in, so that the
73418         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
73419         same.
73420         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
73421         AC_FUNC_GETLOADAVG where to find getloadavg.c.
73422         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
73423         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
73424         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
73425         Remove code that is now done by the newly-required macros.
73426         Append $(EXEEXT) to DF_PROG.
73427         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
73428         Do not invoke or require the following here,
73429         since prereq.m4 or some gnulib .m4 now does this for us:
73430         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
73431         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
73432         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
73433         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
73434         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
73435         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
73436         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
73437         AC_FUNC_OBSTACK.
73438         Do not replace the following functions, as this is now the job
73439         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
73440         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
73441         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
73442         atexit getpass, strdup, getpagesize.
73443         Replace 'raise'.
73444         Do not check for the following functions, as this is now the job
73445         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
73446         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
73447         setregid.
73448         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
73449         Check for sys/sysctl.h.
73450         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
73451         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
73452         of checking for ssize_t ourselves.
73453
73454         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
73455         Require every macro that gnulib/modules/* suggests for us.
73456         (jm_PREREQ_ADDEXT): New macro.
73457         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
73458         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
73459
73460         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
73461         (gl_PHYSMEM): Use it.
73462         Also check for `table' function.
73463         Check for new headers and functions.
73464         Add check for sys/sysmp.h.
73465         With suggestions from Kaveh Ghazi.
73466         Ignore headers that are present but cannot be compiled.  This
73467         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
73468         C 5.4.
73469
73470 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73471
73472         Document merge from coreutils.
73473         * modules/userspec: Depend on posixver.
73474         * modules/strftime: Depend on tzset.
73475
73476 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73477
73478         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
73479         rather than tab, after '#' in shell-script copyright notices.
73480         Suggested by Bruno Haible.
73481
73482 2003-08-15  Paul Eggert  <eggert@twinsun.com>
73483
73484         * config/srclist-update: Use three spaces, rather than tab, after '#'
73485         in shell-script copyright notices.  Suggested by Bruno Haible.
73486         Remove unnecessary parenthesization in regular expression.
73487
73488 2003-08-15  Jim Meyering  <jim@meyering.net>
73489
73490         Merge from coreutils.
73491         * lib/xgethostname.c: Include <stdlib.h>.
73492         (xghostname): Don't exit for anything other than memory-related
73493         failure; just return NULL.
73494         * lib/userspec.c: Include "posixver.h".
73495         (parse_user_spec): Accept `.' as a separator only
73496         in pre-POSIX-200112 mode.
73497         * lib/strtoimax.c: Use #elif rather than #else #if.
73498         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
73499         Remove function, now that we can rely on a working tzset function.
73500         [!_LIBC]: Ensure that the required autoconf test has been run.
73501         [!defined _NL_CURRENT && HAVE_STRFTIME]:
73502         Use underlying_strftime for %r.
73503         * lib/sha.c: Merge in some clean-up and optimization changes from
73504         glibc.
73505         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
73506         Ensure that it is a multiple of 64.
73507         Rearrange loop exit tests so as to avoid performing an
73508         additional fread after encountering an error or EOF.
73509         * lib/realloc.c: Update copyright date.
73510
73511 2003-08-15  Jim Meyering  <jim@meyering.net>
73512         and Paul Eggert  <eggert@twinsun.com>
73513
73514         Merge from coreutils.
73515         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
73516         member but strut utmpx does not.  Needed for AIX 4.3.3.
73517         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
73518
73519 2003-08-15  Jim Meyering  <jim@meyering.net>
73520         and Paul Eggert  <eggert@cs.ucla.edu>
73521
73522         Merges from coreutils, etc.
73523         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
73524         Require gl_FUNC_TZSET_CLOBBER.
73525         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
73526         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
73527         members.
73528
73529 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73530
73531         Help the merge from coreutils.
73532         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
73533         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
73534         * m4/tzset.m4: Use it too.
73535
73536 2003-08-14  Paul Eggert  <eggert@twinsun.com>
73537
73538         * modules/tzset: New file.
73539
73540 2003-08-14  Jim Meyering  <jim@meyering.net>
73541
73542         Merges from coreutils.
73543         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
73544         variable names, rather than @FNMATCH_H@.
73545         * modules/alloca: Likewise for $(ALLOCA_H).
73546
73547         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
73548         the three copies of the literal target, `fnmatch.h'.
73549         * modules/alloca (alloca.h): Likewise.
73550
73551 2003-08-14  Jim Meyering  <jim@meyering.net>
73552
73553         Merge from coreutils.
73554         * m4/tzset.m4: New file.
73555         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
73556         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
73557         otherwise, AIX 5.1 systems would end up using the latter.
73558         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
73559         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
73560         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
73561         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
73562
73563 2003-08-14  Jim Meyering  <jim@meyering.net>
73564
73565         Merge from coreutils.
73566         * lib/obstack.h: Whitespace changes.
73567         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
73568         and xcalloc return values.
73569         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
73570         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
73571         hang on OSF/1 5.1 for DIR on both local and remote file systems.
73572         Reported by (and fix confirmed by) Nelson H. F. Beebe.
73573         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73574         error from mntctl.
73575         Use mntctl's return value to drive the entry-processing loop, since
73576         we can't rely on the value of the vmt_length member in the last
73577         entry.  On some systems doing so could result in exhausting
73578         virtual memory.  Based in part on a patch from Mike Jetzer.
73579
73580 2003-08-14  Jim Meyering  <jim@meyering.net>
73581         and Paul Eggert  <eggert@twinsun.com>
73582
73583         Merges from coreutils, plus other fixes.
73584         * lib/physmem.c: Merge in portability changes from gcc/libiberty
73585         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
73586         for credits and details.  Thanks to Kaveh Ghazi for helping
73587         to keep these files in sync.
73588         (ARRAY_SIZE): Define it.
73589         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
73590         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
73591         (memcasecmp): Don't assume size_t fits in unsigned int.
73592         Remove casts and duplicate code.
73593         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
73594         (memcpy): Remove definition.
73595         Merge in some clean-up and optimization changes from glibc.
73596         [BLOCKSIZE]: Move definition to top of file.
73597         Ensure that it is a multiple of 64.
73598         Rearrange loop exit tests so as to avoid performing an
73599         additional fread after encountering an error or EOF.
73600         * lib/md5.h (md5_uintptr): Define.
73601         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
73602         return to the initial working directory.  Preserve errno
73603         for caller.
73604         * lib/idcache.c: Include "xalloc.h".
73605         (xmalloc, xrealloc): Remove decls.
73606         (getuser): Remove casts no longer required in C89.
73607         * lib/human.c: Include stdio.h, for sprintf.
73608         * lib/group-member.c: Include "xalloc.h".
73609         (xmalloc, xrealloc): Remove decls.
73610         (get_group_info): Remove casts no longer required in C89.
73611         * lib/getusershell.c (readname): Remove casts no longer required in
73612         C89.
73613         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
73614         * lib/getline.c: Whitespace fix, from coreutils.
73615
73616 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73617
73618         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
73619         Check for isascii.
73620
73621         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73622         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73623         Undo previous (whitespace-only) change.
73624
73625 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73626
73627         * lib/exclude.c: Include <ctype.h>
73628         (IN_CTYPE_DOMAIN): New macro.
73629         (is_space): New fn.
73630         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
73631         and empty lines.
73632
73633         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73634         Undo previous (whitespace-only) change.
73635
73636 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73637
73638         * config/srclist-update: Change update back to the old behavior,
73639         leaving whitespace alone.  Use one 'sed' command rather than a
73640         pipeline.
73641         (fixlicense): Now a variable, not a function.
73642         (remove_trailing_blanks): Remove.
73643         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
73644         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73645         Undo previous (whitespace-only) change.
73646
73647 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73648
73649         Merge from coreutils.
73650         * modules/euidaccess: Add lib_SOURCES, include for new
73651         file euidaccess.h
73652
73653 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73654
73655         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73656         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73657         Normalize leading white space and remove trailing white space.
73658
73659         Merge from coreutils
73660         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
73661
73662         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
73663         0.12.1.  These files are now being upgraded automatically by
73664         ../config/srclist-update.
73665
73666 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73667
73668         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73669         Normalize leading white space and remove trailing white space.
73670         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
73671         notice, as per ../config/srclist-update.
73672
73673         Merge from coreutils.
73674         * lib/euidaccess.h: New file.
73675         * lib/euidaccess.c: Include it.
73676         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
73677         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
73678         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
73679
73680 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73681
73682         * config/srclist-update: Add copyright notice.
73683         (remove_id_lines, remove_trailing_blanks): New constants.
73684         (fixfile): Use them to normalize spacing a bit in copied files.
73685         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73686         Normalize leading white space and remove trailing white space.
73687
73688         * config/texinfo.tex: Sync with texinfo.
73689
73690         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
73691         strtoul.c from libc, to merge coreutils whitespace changes.
73692
73693         * config/srclist.txt: Get the following m4 files from gettext:
73694         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
73695         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
73696         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
73697         wint_t.m4.
73698
73699 2003-08-12  Karl Berry  <karl@gnu.org>
73700
73701         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
73702         been made.
73703
73704 2003-08-11  Paul Eggert  <eggert@twinsun.com>
73705
73706         * modules/gnu-source, m4/gnu-source.m4:
73707         Remove; we're assuming Autoconf 2.54 or later now.
73708         Suggested by Bruno Haible.
73709         * MODULES.html.sh (func_all_modules): Remove gnu-source.
73710
73711 2003-08-11  Bruno Haible  <bruno@clisp.org>
73712
73713         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
73714
73715 2003-08-11  Bruno Haible  <bruno@clisp.org>
73716
73717         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
73718         (vasnprintf): Use it instead of wcslen.
73719
73720 2003-08-11  Bruno Haible  <bruno@clisp.org>
73721
73722         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
73723         value to ensure that _Bool promotes to int. Use #define for _Bool when
73724         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
73725
73726 2003-08-10  Karl Berry  <karl@gnu.org>
73727
73728         * lib/regex.h: update from libc (whitespace fix).
73729
73730 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73731
73732         Merge some files from coreutils.  These changes were
73733         originally made by Jim Meyering.
73734         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
73735         many older Unixes require this.
73736         * lib/alloca.c (alloca): Remove cast to argument of free;
73737         no longer needed in C89.
73738         * lib/alloca_.h, regex.h: Fix white space to match
73739         what GNU indent does.
73740
73741 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73742
73743         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
73744         apparently Emacs's Unicode mode got confused before my 2003-08-05
73745         checkin.
73746
73747 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73748
73749         * m4/extensions.m4: New file.
73750         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
73751         Require gl_USE_SYSTEM_EXTENSIONS.
73752         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
73753         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
73754
73755 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73756
73757         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
73758         * modules/extensions, modules/gnu-source: New files.
73759         * modules/timespec, modules/unlocked-io: Depend on extensions.
73760
73761 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73762
73763         * modules/restrict: New file.
73764         * MODULES.html.sh (func_all_modules): Add restrict.
73765         * modules/regex: Depend on restrict.
73766
73767 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73768
73769         * m4/restrict.m4: New file.
73770         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
73771
73772 2003-08-07  Bruno Haible  <bruno@clisp.org>
73773
73774         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
73775         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
73776
73777 2003-08-07  Bruno Haible  <bruno@clisp.org>
73778
73779         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
73780         makes the module 'getndelim2' compatible with the module 'getline'.
73781
73782 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73783
73784         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
73785         byte with "\201" to avoid glitches when editing that source file
73786         with multi-gnome-terminal.
73787
73788 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73789
73790         * lib/bumpalloc.h: Remove.
73791
73792 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73793
73794         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
73795         * modules/bumpalloc: Remove.
73796
73797 2003-08-04  Paul Eggert  <eggert@twinsun.com>
73798
73799         * lib/getloadavg.c: Change copyright notice and spacing to conform to
73800         GNU coding style.
73801
73802         Merge from coreutils.
73803         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
73804         1. From glibc.
73805         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
73806         from Karl Berry, implemented by Jim Meyering.
73807         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
73808         from Dmitry V. Levin.
73809         Remove anachronistic cast of xrealloc.
73810         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
73811         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
73812         type. Otherwise, it wouldn't compile with at least /bin/cc on
73813         ymp-cray-unicos9.0.2.X.
73814         Combine two mostly-identical uses of alloca into one.
73815         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
73816
73817 2003-08-04  Dave Love  <d.love@dl.ac.uk>
73818
73819         [From Emacs.]
73820
73821         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
73822         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
73823         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
73824         obsolete NLIST_NAME_UNION.
73825         [__GNU__]: Undef BSD and FSCALE.
73826         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
73827
73828 2003-08-03  Paul Eggert  <eggert@twinsun.com>
73829
73830         * lib/stdbool_.h (_Bool): Make it signed char, instead of
73831         an enum type, so that it's guaranteed to promote to int.  See:
73832         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
73833
73834 2003-08-03  Karl Berry  <karl@gnu.org>
73835
73836         * config/depcomp: update from automake.
73837
73838 2003-07-31  Paul Eggert  <eggert@twinsun.com>
73839
73840         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
73841         (strerror): Don't assume that a printable int fits in 14 bytes.
73842
73843 2003-07-31  Bruno Haible  <bruno@clisp.org>
73844
73845         * modules/getpass-gnu: New file.
73846         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
73847
73848 2003-07-31  Bruno Haible  <bruno@clisp.org>
73849
73850         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
73851
73852 2003-07-24  Karl Berry  <karl@gnu.org>
73853
73854         * config/missing: update from automake.
73855
73856 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
73857             Bruno Haible  <bruno@clisp.org>
73858
73859         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
73860         * lib/getline.c (getline, getdelim): Likewise.
73861         Remove _GNU_SOURCE define; now it's defined in config.h through
73862         m4/getline.m4.
73863
73864 2003-07-23  Karl Berry  <karl@gnu.org>
73865
73866         * config/config.sub: update from prep.
73867
73868 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73869
73870         * modules/xalloc (Depends-on): Add exitfail.
73871         * modules/xmemcoll: Likewise.
73872
73873 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73874
73875         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
73876         over-parenthesization in macros.
73877
73878         Sync with coreutils.
73879
73880         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
73881         required by C99.
73882
73883         Use `exit_failure' for xalloc and xmemcoll instead of their own
73884         private exit-failure variables.
73885         * lib/xalloc.h (xalloc_exit_failure): Remove.
73886         * lib/xmalloc.c: Likewise.  Include exitfail.h.
73887         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
73888         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
73889         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
73890         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
73891
73892 2003-07-20  Jim Meyering  <jim@meyering.net>
73893
73894         * modules/closeout (Depends-on): Add exitfail.
73895         Suggestion from Bruno Haible.
73896
73897 2003-07-19  Karl Berry  <karl@gnu.org>
73898
73899         * config/config.sub: update from prep.
73900
73901 2003-07-18  Paul Eggert  <eggert@twinsun.com>
73902
73903         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
73904         Remove.
73905         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
73906         to test that it can stand by itself.  Include "exitfail.h".
73907         Clients should set exit_failure instead.
73908         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
73909
73910 2003-07-18  Bruno Haible  <bruno@clisp.org>
73911
73912         * modules/getndelim2: New file.
73913         * modules/getline: Share files with module getndelim2.
73914         * modules/getnline: Depend on getndelim2 instead of sharing files with
73915         it. Add getnline.c to lib_SOURCES.
73916         * MODULES.html.sh (func_all_modules): Add getndelim2.
73917
73918 2003-07-18  Bruno Haible  <bruno@clisp.org>
73919
73920         * m4/getndelim2.m4: New file.
73921         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
73922         invoke gl_PREREQ_GETNDELIM2.
73923         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
73924         gl_PREREQ_GETNDELIM2.
73925         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
73926         gl_GETNDELIM2.
73927
73928 2003-07-18  Bruno Haible  <bruno@clisp.org>
73929
73930         * lib/getndelim2.h: New file.
73931         * lib/getndelim2.c: Make into a module of its own. Include config.h,
73932         getndelim2.h.
73933         (getndelim2): Make non-static. Change return type to ssize_t.
73934         * lib/getline.h: Change argument names.
73935         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
73936         * lib/getnline.c: Include getndelim2.h.
73937
73938 2003-07-18  Andreas Schwab  <schwab@suse.de>
73939
73940         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
73941
73942 2003-07-17  Karl Berry  <karl@gnu.org>
73943
73944         * config/config.sub: update from prep.
73945
73946 2003-07-17  Bruno Haible  <bruno@clisp.org>
73947
73948         * modules/getnline: New file.
73949         * modules/getline: Add lib/getndelim2.c to source file list.
73950         * MODULES.html.sh (func_all_modules): Add getnline.
73951
73952 2003-07-17  Bruno Haible  <bruno@clisp.org>
73953
73954         * m4/getnline.m4: New file.
73955
73956 2003-07-17  Bruno Haible  <bruno@clisp.org>
73957
73958         * m4/Makefile.am.in: Remove file.
73959         * m4/Makefile.am: Remove file.
73960         * m4/Makefile.in: Remove file.
73961
73962 2003-07-17  Bruno Haible  <bruno@clisp.org>
73963
73964         * lib/getnline.h: New file.
73965         * lib/getnline.c: New file.
73966         * lib/getndelim2.c: New file, extracted from getline.c.
73967         (getndelim2): Renamed from getdelim2, with added nmax argument.
73968         * lib/getline.c: Include getndelim2.c.
73969         (getdelim2): Moved out to getndelim2.c.
73970         (getline, getdelim): Update.
73971
73972 2003-07-17  Bruno Haible  <bruno@clisp.org>
73973
73974         * lib/Makefile.am: Remove file.
73975         * lib/Makefile.in: Remove file.
73976
73977 2003-07-17  Bruno Haible  <bruno@clisp.org>
73978
73979         * configure.in: Remove file.
73980         * Makefile.in: Remove file.
73981
73982 2003-07-17  Bruno Haible  <bruno@clisp.org>
73983
73984         * MODULES.html.sh: Put the </BODY> right before </HTML>.
73985
73986 2003-07-16  Karl Berry  <karl@gnu.org>
73987
73988         * config/srclist-update: was running fixlicense twice, which caused
73989                 texinfo.tex to be nullified for some reason.  Simplify,
73990                 $gplsrc is no longer needed as far as I can see?
73991
73992 2003-07-16  Jim Meyering  <jim@meyering.net>
73993
73994         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
73995
73996 2003-07-15  Paul Eggert  <eggert@twinsun.com>
73997
73998         * config/srclist.txt: Get the following files from gettext-runtime/intl
73999         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
74000         ref-del.sin.  From Bruno Haible.
74001         * config/srclist-update (fixfile): Change grep pattern again, since the
74002         previous fix didn't work (there was another trailing $).  Use
74003         '[$]' to escape the $s.
74004
74005 2003-07-15  Karl Berry  <karl@gnu.org>
74006
74007         * lib/vasnprintf.c: update from gettext.
74008
74009 2003-07-15  Karl Berry  <karl@gnu.org>
74010
74011         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
74012         gets expanded when surrounded by '$'.
74013
74014 2003-07-15  Jim Meyering  <jim@meyering.net>
74015
74016         * modules/save-cwd: Don't depend on error.  From Derek Price.
74017
74018 2003-07-15  Jim Meyering  <jim@meyering.net>
74019
74020         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
74021
74022 2003-07-14  Simon Josefsson  <jas@extundo.com>
74023
74024         * modules/mempcpy: New file.
74025         * MODULES.html.sh (func_all_modules): Add mempcpy.
74026
74027 2003-07-14  Simon Josefsson  <jas@extundo.com>
74028
74029         * m4/mempcpy.m4: New file.
74030
74031 2003-07-14  Simon Josefsson  <jas@extundo.com>
74032
74033         * lib/mempcpy.h: New file.
74034         * lib/mempcpy.c: New file.
74035
74036 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74037
74038         * modules/getdate, modules/posixtm: Depend on mktime.
74039
74040 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74041
74042         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
74043         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
74044         unicodeio.c, unicodeio.h, unlocked-io.h:
74045         Switch from LGPL to GPL.
74046
74047 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74048
74049         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
74050         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
74051         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
74052         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
74053         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
74054         updated automatically by ../config/srclist-update.  This changes
74055         their license from LPGL to GPL.
74056
74057 2003-07-14  Paul Eggert  <eggert@twinsun.com>
74058
74059         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
74060         assumed to refer to the root of the most recent stable gettext version.
74061         * config/srclistvars.sh: Add defaults for eggert.
74062         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
74063         Match "This program" as well as "The program".  This is needed
74064         for gettext.
74065
74066 2003-07-14  Jim Meyering  <jim@meyering.net>
74067
74068         Don't emit diagnostics.  Let callers do that.
74069         * lib/save-cwd.c: Don't include "error.h".
74070         (save_cwd): Don't call error.  Ensure that errno is valid
74071         when returning nonzero.
74072
74073         * lib/save-cwd.h (restore_cwd): Update prototype.
74074         * lib/save-cwd.c (restore_cwd): Remove two parameters.
74075         Simplify.  Don't call error upon failure.  Let callers do that.
74076         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
74077         when auditing is enabled.  But don't bother updating the #if.
74078
74079 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
74080
74081         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
74082         it breaks C++ compilation.
74083         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
74084
74085 2003-07-10  Simon Josefsson  <jas@extundo.com>
74086
74087         * modules/strchrnul (Makefile.am): Add strchrnul.h.
74088
74089 2003-07-10  Jim Meyering  <jim@meyering.net>
74090
74091         * m4/clock_time.m4: Remove trailing blank.
74092         * m4/intmax_t.m4: Likewise.
74093
74094 2003-07-10  Jim Meyering  <jim@meyering.net>
74095
74096         * lib/vasnprintf.c: Remove trailing blanks.
74097         Make cpp indentation consistent.
74098
74099 2003-07-09  Paul Eggert  <eggert@twinsun.com>
74100
74101         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
74102         posixver.c, strftime.c, strnlen.c, strverscmp.c:
74103         Switch from LGPL to GPL.
74104
74105 2003-07-09  Paul Eggert  <eggert@twinsun.com>
74106
74107         * config/srclist.txt: Sort sublists.  Add
74108         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
74109         that differ from gnulib for one reason or another; we'd like this list
74110         to be smaller but for now let's document what we have.
74111
74112 2003-07-08  Paul Eggert  <eggert@twinsun.com>
74113
74114         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
74115         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
74116         and sweeter "eval x=$x".
74117         * config/srclist.txt: Get lib/argp* from glibc.
74118
74119 2003-07-07  Paul Eggert  <eggert@twinsun.com>
74120
74121         * lib/mktime.c: Fix some boundary cases and remove need for floating
74122         point.
74123
74124         Issue a compile-time diagnostic if time_t is floating point, or if
74125         two's complement arithmetic is not in effect, or if arithmetic
74126         right shift does not propagate the sign.  These assumptions were
74127         all in the original code but they weren't checked.
74128
74129         (TIME_T_MIDPOINT, verify): New macros.
74130         (__isleap): Remove; it has integer overflow problems.
74131         (leapyear): New function, without those problems.
74132         (ydhms_tm_diff): Remove; splitting into two parts.
74133         (ydhms_diff): New function, containing the arithmetic part of
74134         the old ydhms_tm_diff function.  Issue a compile-time
74135         diagnostic if we are not using C99 integer division.
74136         Avoid casts when possible.
74137         (guess_time_tm): New function, containing the checking part of
74138         the old ydhms_tm_diff function.  Return the new value, rather than
74139         the difference between it and the old.  Accept a new argument T
74140         so that *T specifies the old value.  Check for overflow in the result.
74141
74142         (__mktime_internal): Use a time_t offset, not a long int offset.
74143         This undoes the 2003-06-04 change, which is no longer needed now
74144         that we have better overflow checking.
74145         (localtime_offset): Likewise.
74146
74147         (__mktime_internal): Avoid harmful overflow on hosts where time_t
74148         and long are 64-bit but int is only 32-bit.
74149         (ydhms_diff): Use long int to store year1 and yday1.
74150         Issue a compile-time diagnostic if long int is not wide enough.
74151
74152         (__mktime_internal): Use long int to store adjusted year and yday.
74153         Use plain C rather than preprocessor commands, if that doesn't
74154         affect efficiency.
74155         Check for overflow (and try to repair) after each probe
74156         rather than checking only at the very end.  This avoids some bugs
74157         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
74158         does not equal GMT offset at maximum time).
74159         Use integer to check for overflow rather than floating point; this
74160         is more portable to non-IEEE hosts, and is a tad faster.
74161         When we detect that we are oscillating between two values,
74162         don't check whether tm_isdst has the requested value, since
74163         we already know the answer.  When tm_isdst has the wrong value,
74164         use a different heuristic to find the right one, based on the
74165         extreme values actually observed in practice in tz2003a,
74166         rather than the (overly optimistic) "previous 3 calendar quarters".
74167
74168         (not_equal_tm, print_tm, check_result): Use "const T" rather than
74169         "T const" to accommodate glibc style.
74170         (check_result): Use less-confusing report format.  "long" -> "long int.
74171         (main): Likewise.
74172         Don't loop if the iteration overflows time_t.
74173         Allow a negative step in the iteration.
74174
74175 2003-07-06  Karl Berry  <karl@gnu.org>
74176
74177         * config/depcomp: update from automake.
74178         * config/config.sub: update from prep.
74179
74180 2003-07-03  Karl Berry  <karl@gnu.org>
74181
74182         * config/config.guess: update from prep.
74183
74184 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74185
74186         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
74187         xreadlink.c now includes it unconditionally.
74188
74189 2003-07-01  Paul Eggert  <eggert@twinsun.com>
74190
74191         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
74192         having it depend on HAVE_SYS_TYPES_H.
74193
74194 2003-07-01  Bruno Haible  <bruno@clisp.org>
74195
74196         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
74197         <sys/types.h> should be sufficient.
74198         Reported by Paul Eggert.
74199
74200 2003-06-26  Karl Berry  <karl@gnu.org>
74201
74202         * config/depcomp: update from automake.
74203
74204 2003-06-26  Bruno Haible  <bruno@clisp.org>
74205
74206         * modules/human: Depend on module stdbool.
74207
74208 2003-06-25  Bruno Haible  <bruno@clisp.org>
74209
74210         * modules/readlink: New file.
74211         * modules/xreadlink: Depend on it.
74212         * MODULES.html.sh (func_all_modules): Add readlink.
74213
74214 2003-06-25  Bruno Haible  <bruno@clisp.org>
74215
74216         * m4/readlink.m4: New file.
74217
74218 2003-06-25  Bruno Haible  <bruno@clisp.org>
74219
74220         * lib/readlink.c: New file.
74221
74222 2003-06-22  Karl Berry  <karl@gnu.org>
74223
74224         * config/srclist.txt: update mkinstalldirs from automake.
74225         * config/mkinstalldirs: update.
74226
74227 2003-06-22  Bruno Haible  <bruno@clisp.org>
74228
74229         Portability to mingw32.
74230         * m4/ssize_t.m4: New file, from GNU gettext.
74231         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
74232         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
74233
74234 2003-06-22  Bruno Haible  <bruno@clisp.org>
74235
74236         * modules/safe-read: Add m4/ssize_t.m4.
74237         * modules/xreadlink: Add m4/ssize_t.m4.
74238
74239 2003-06-20  Bruno Haible  <bruno@clisp.org>
74240
74241         Assume C89, so PARAMS isn't needed.
74242         * lib/unicodeio.h (PARAMS): Remove.
74243         * lib/unicodeio.c: Don't use PARAMS.
74244
74245 2003-06-18  Karl Berry  <karl@gnu.org>
74246
74247         * config/config.{guess,sub}: update from prep.
74248
74249 2003-06-18  Jim Meyering  <jim@meyering.net>
74250
74251         Merge changes from coreutils.
74252         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
74253         Remove explicit declarations of xmalloc and realloc.
74254         Include xalloc.h.
74255         (read_utmp): Remove anachronistic cast of xmalloc.
74256
74257 2003-06-17  Paul Eggert  <eggert@twinsun.com>
74258
74259         Assume C89, so PARAMS isn't needed.
74260         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
74261         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
74262         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
74263         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
74264         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
74265         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
74266         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
74267         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
74268         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
74269         lib/xstrtod.h, lib/xstrtol.h: Likewise.
74270         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
74271         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
74272         no longer needed. Anyway, config.h should always be included before any
74273         other file.
74274
74275 2003-06-11  Simon Josefsson  <jas@extundo.com>
74276
74277         * modules/sysexits: New file.
74278         * MODULES.html.sh (func_all_modules): Add sysexits.
74279
74280 2003-06-11  Simon Josefsson  <jas@extundo.com>
74281
74282         * lib/sysexit_.h: New file.
74283
74284 2003-06-11  Derek Price  <derek@ximbiot.com>
74285
74286         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
74287         necessary.
74288
74289 2003-06-11  Bruno Haible  <bruno@clisp.org>
74290
74291         * m4/sysexits.m4: New file.
74292
74293 2003-06-10  Simon Josefsson  <jas@extundo.com>
74294
74295         * lib/argp.h: New file, from glibc.
74296         * lib/argp-ba.c: New file, from glibc.
74297         * lib/argp-eexst.c: New file, from glibc.
74298         * lib/argp-fmtstream.c: New file, from glibc.
74299         * lib/argp-fmtstream.h: New file, from glibc.
74300         * lib/argp-fs-xinl.c: New file, from glibc.
74301         * lib/argp-help.c: New file, from glibc.
74302         * lib/argp-namefrob.h: New file, from glibc.
74303         * lib/argp-parse.c: New file, from glibc.
74304         * lib/argp-pv.c: New file, from glibc.
74305         * lib/argp-pvh.c: New file, from glibc.
74306         * lib/argp-xinl.c: New file, from glibc.
74307
74308 2003-06-10  Simon Josefsson  <jas@extundo.com>
74309
74310         * modules/strchrnul: New file.
74311
74312 2003-06-10  Simon Josefsson  <jas@extundo.com>
74313
74314         * modules/argp: New file.
74315
74316 2003-06-10  Simon Josefsson  <jas@extundo.com>
74317
74318         * m4/strchrnul.m4: New file.
74319
74320 2003-06-10  Simon Josefsson  <jas@extundo.com>
74321
74322         * lib/strchrnul.h: New file.
74323         * lib/strchrnul.c: New file.
74324
74325 2003-06-10  Bruno Haible  <bruno@clisp.org>
74326
74327         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
74328
74329 2003-06-07  Karl Berry  <karl@gnu.org>
74330
74331         * config/config.{guess,sub}: update from prep.
74332
74333 2003-06-07  Jim Meyering  <jim@meyering.net>
74334
74335         * modules/strtod: Use $(...) notation, not @...@ for
74336         AC_REPLACE'd variables.
74337         * modules/localcharset: Likewise.
74338
74339 2003-06-07  Jim Meyering  <jim@meyering.net>
74340
74341         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
74342         in place of my name in the copyright comment.
74343         Remove definition and uses of __P.
74344
74345         From coreutils.
74346         * lib/stat.c: Don't declare xmalloc explicitly.
74347         Instead, include "xalloc.h".
74348         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
74349         xrealloc, and xcalloc return values.
74350         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
74351         Improve comment.
74352         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
74353
74354 2003-06-07  Bruno Haible  <bruno@clisp.org>
74355
74356         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
74357         avoid AC_CONFIG_LINKS.
74358         * modules/fnmatch (Makefile.am): Use explicit creation rule for
74359         fnmatch.h, to avoid AC_CONFIG_LINKS.
74360         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
74361
74362 2003-06-07  Bruno Haible  <bruno@clisp.org>
74363
74364         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
74365         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
74366         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74367         directory.
74368         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
74369         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
74370         directory.
74371
74372 2003-06-06  Jim Meyering  <jim@meyering.net>
74373
74374         Merge from coreutils.
74375         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
74376         Consolidate declarations and initializations of *_base* locals.
74377
74378         Merge from coreutils.
74379         This avoids a core dump on systems without GNU putenv,
74380         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
74381         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
74382         (unsetenv): New static function, from GNU libc.
74383         (rpl_putenv): Use it.
74384
74385         * lib/modechange.c: Remove trailing blanks.
74386
74387         Merge from coreutils.
74388         * lib/fsusage.c: Remove declaration of statfs.
74389         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
74390
74391         * lib/posixtm.c: Include <stdbool.h> unconditionally.
74392
74393 2003-06-06  Jim Meyering  <jim@meyering.net>
74394
74395         * lib/stdbool_.h: Renamed from stdbool.h.in.
74396
74397 2003-06-06  Jim Meyering  <jim@meyering.net>
74398             Bruno Haible  <bruno@clisp.org>
74399
74400         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
74401         Adjust Makefile.am snippet not to redirect directly to target.
74402         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
74403
74404 2003-06-05  Paul Eggert  <eggert@twinsun.com>
74405
74406         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
74407         mismatch, look in future quarters as well as past.  This fixes a
74408         bug when processing fall-backwards gaps immediately after a long
74409         period of daylight-saving time.
74410
74411         * lib/mktime.c: Assume freestanding C89 or better.
74412         (HAVE_LIMITS_H): Remove.  Assume it's 1.
74413         (__P): Remove; not used.
74414         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
74415         (mktime, not_equal_tm, print_tm, check_result,
74416         main): Use prototypes.  Use const * where appropriate.
74417         (main): Fix typo in testing code that uncovered by above changes.
74418         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
74419
74420 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74421
74422         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
74423         locale.h, localeconv.  This merges changes from coreutils.
74424
74425         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
74426         It can be removed after the next Autoconf is released.
74427         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
74428         needed.
74429
74430 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74431
74432         * lib/mktime.c: Fix Debian bug 177940
74433         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
74434         (localtime_offset): Now long int, not time_t, because we want it
74435         to be guaranteed to be signed.  All uses changed.
74436         (__mktime_internal): If overflow would occur when adding offset,
74437         don't add it.
74438
74439         Merge 'human' changes from coreutils.  Rewrite to support
74440         locale-specific notations like thousands separators.
74441         * lib/human.c: Simplify authorship notice.
74442         Include human.h immediately after config.h.
74443         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
74444         <limits.h>: Do not include, since human.h does.
74445         (SIZE_MAX, UINTMAX_MAX): New macros.
74446         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
74447         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
74448         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
74449         (power_letter): Renamed from suffixes.
74450         (generate_suffix_backwards): Remove.
74451         (adjust_value): Now takes int style (because of human.h changes)
74452         and long double value (for greater precision on some platforms).
74453         (group_number): New function.
74454         (human_readable): Use it.  Use integer options, not enum.
74455         Put the options before the sizes in the arg list.
74456         Support all the new options.
74457         The old human_readable function has been removed;
74458         use inttostr.h instead.
74459         (human_readable, default_block_size, humblock):
74460         Use uintmax_t, not int, for block sizes.
74461         (human_readable_inexact, block_size_types): Remove.
74462         (block_size_opts): New constant.
74463         (human_options): Renamed from human_block_size, with new signature
74464         that allows block sizes up to UINTMAX_MAX.  All callers changed.
74465         * lib/human.h: Add copyright and authorship notice.
74466         Include <limits.h> and <stdbool.h> unconditionally.
74467         (PARAMS): Remove.  All uses removed.
74468         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
74469         (enum human_inexact_style): Remove tag; now a nameless enum.
74470         (human_floor, human_ceiling, human_round_to_even): Now have
74471         values 2, 0, 1 rather than -1, 1, 0.
74472         (human_group_digits, human_suppress_point_zero, human_autoscale,
74473         human_base_1024, human_SI, human_B): New constants.
74474         (human_readable_inexact, human_block_size): Remove.
74475         (human_readable): Size args are now uintmax_t, not int.
74476         (human_options): New decl.
74477
74478         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
74479         unnecessary now that we assume C89 or better.  This change
74480         imported from coreutils.
74481
74482         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74483         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
74484         in the 2003-05-30 sync from glibc.
74485
74486         .h files should stand alone, but we shouldn't include <sys/types.h>
74487         if we can get away with just <stddef.h>.
74488
74489         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
74490         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
74491         rather than <sys/types.h>, as we merely need size_t.
74492         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
74493         to get size_t.
74494         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
74495         Include <stdio.h>, to get FILE.
74496         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
74497         memcasecmp.h has included <stddef.h> and all we need is size_t.
74498         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
74499         our interface, instead of including <sys/types.h>
74500
74501 2003-06-04  Paul Eggert  <eggert@twinsun.com>
74502
74503         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
74504         now, as glibc mktime is buggy on non-glibc systems.
74505
74506 2003-06-03  Karl Berry  <karl@gnu.org>
74507
74508         * config/config.sub: update from prep.
74509
74510 2003-06-02  Paul Eggert  <eggert@twinsun.com>
74511
74512         [from coreutils]
74513         Fix some minor time-related bugs with POSIX time arguments.
74514         Some valid time stamps were being rejected (notably -1, and
74515         time stamps before 1900 on 64-bit hosts).  And some invalid
74516         time stamps were being accepted, e.g. September 31.
74517
74518         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
74519         that we can return (time_t) -1 successfully.
74520         * lib/posixtm.c: Likewise.
74521         [HAVE_STDBOOL_H]: Include <stdbool.h>.
74522         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
74523         (t): Remove static var.
74524         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
74525         of static var.  All uses changed.
74526         (year): Do not reject years before 1900; they can occur with
74527         64-bit time_t.
74528         (posix_time_parse): Do not check for out-of-range components;
74529         that is now the caller's responsibility, since our checks were
74530         only approximations.
74531         (posixtime): Use mktime to check for out-of-range components,
74532         since it knows them exactly.
74533         If mktime returns (time_t) -1, check whether an error actually occurred
74534         by invoking localtime on -1.
74535         (main) [TEST_POSIXTIME]: Check for input data errors, and report
74536         posixtime failures better.
74537         Improve the test data (in comments only).
74538
74539 2003-06-02  Karl Berry  <karl@gnu.org>
74540
74541         * config/mkinstalldirs (version): new variable.
74542         (--version): new option.
74543         (usage): improve message.
74544
74545 2003-05-30  Karl Berry  <karl@gnu.org>
74546
74547         * lib/mktime.c: update from libc.
74548
74549 2003-05-30  Bruno Haible  <bruno@clisp.org>
74550
74551         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
74552         * config/config.rpath: Upgrade to gettext-0.12.1.
74553
74554 2003-05-30  Bruno Haible  <bruno@clisp.org>
74555
74556         * m4/gettext.m4: Upgrade to gettext-0.12.1.
74557         * m4/nls.m4: New file, from gettext-0.12.1.
74558         * m4/po.m4: New file, from gettext-0.12.1.
74559         * m4/progtest.m4: Upgrade to gettext-0.12.1.
74560
74561 2003-05-30  Bruno Haible  <bruno@clisp.org>
74562
74563         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
74564         * lib/localcharset.h: Likewise.
74565         * lib/localcharset.c: Likewise.
74566
74567 2003-05-29  Karl Berry  <karl@gnu.org>
74568
74569         * config/config.rpath: update from gettext.
74570
74571 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74572
74573         Assume the headers required for C89 freestanding compilers.
74574         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
74575         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
74576         * m4/human.m4 (gl_HUMAN): Likewise.
74577         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
74578         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
74579         * m4/userspec.m4 (gl_USERSPEC): Likewise.
74580         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
74581         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74582         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
74583
74584 2003-05-28  Paul Eggert  <eggert@twinsun.com>
74585
74586         Assume the headers required for C89 freestanding compilers.
74587         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
74588         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
74589         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
74590         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
74591         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
74592         define, since <limits.h> is guaranteed to do that.
74593         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
74594         * lib/exclude.c: Include <stdbool.h> unconditionally.
74595         * lib/tempname.c: Include <stddef.h> unconditionally.
74596         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
74597         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
74598         <stddef.h> does that.
74599         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
74600         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
74601         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
74602         needed.
74603         * lib/xstrtol.c: Likewise.
74604         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
74605         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
74606
74607         * lib/addext.c (addext): Use assignment rather than cast, to avoid
74608         warnings on some platforms.
74609
74610         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
74611         arbitrarily.
74612
74613 2003-05-26  Jim Meyering  <jim@meyering.net>
74614
74615         Merge in a change from coreutils:
74616         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
74617         that is guaranteed to be `no'.  Use `no_such_member' to indicate
74618         that condition, rather than `-1' which is slightly misleading.
74619         Change the name of the cache variable to have the gl_ prefix.
74620         Prompted by a patch from Richard Dawe for DJGPP.
74621
74622 2003-05-24  Karl Berry  <karl@gnu.org>
74623
74624         * config/config.guess: update from prep.
74625
74626 2003-05-22  Karl Berry  <karl@gnu.org>
74627
74628         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
74629
74630 2003-05-20  Karl Berry  <karl@gnu.org>
74631
74632         * config/config.guess: update from prep.
74633
74634 2003-05-18  Karl Berry  <karl@gnu.org>
74635
74636         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
74637         might actually be set by the user.
74638
74639         * config/depcomp, install-sh, mdate-sh: update from automake.
74640
74641 2003-05-17  Bruno Haible  <bruno@clisp.org>
74642
74643         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
74644         invalid expansion for AC_EGREP_CPP.
74645         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
74646         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
74647         Suggested by Akim Demaille <akim@epita.fr> in
74648         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
74649
74650 2003-05-12  Jim Meyering  <jim@meyering.net>
74651
74652         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
74653         the space-padded-by-default conversion specifiers, %e, %k, %l.
74654
74655 2003-05-12  Bruno Haible  <bruno@clisp.org>
74656
74657         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
74658         the string is longer than 4 KB.
74659
74660 2003-05-11  Karl Berry  <karl@gnu.org>
74661
74662         * config/config.{guess,sub}: update from prep.
74663
74664 2003-05-09  Bruno Haible  <bruno@clisp.org>
74665
74666         * modules/error: Add m4/strerror_r.m4 to file list.
74667
74668 2003-05-03  Bruno Haible  <bruno@clisp.org>
74669
74670         Upgrade to Unicode-4.0.
74671         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
74672         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
74673         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
74674         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
74675         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
74676         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
74677         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
74678         Change width of U+E0100..U+E01EF from 1 to 0.
74679
74680 2003-04-25  Jim Meyering  <jim@meyering.net>
74681
74682         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
74683         of type size_t, not int.
74684
74685 2003-04-25  Bruno Haible  <bruno@clisp.org>
74686
74687         * lib/copy-file.c: Include <stddef.h>, for size_t.
74688
74689 2003-04-21  Paul Eggert  <eggert@twinsun.com>
74690
74691         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
74692         code which expansion is under static control.  Patch imported from
74693         Akim Demaille's patch to Bison; see
74694         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
74695
74696 2003-04-14  Bruno Haible  <bruno@clisp.org>
74697
74698         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
74699
74700 2003-04-11  Jim Meyering  <jim@meyering.net>
74701
74702         Merge changes from Coreutils.
74703
74704         2003-03-22  Jim Meyering  <jim@meyering.net>
74705
74706         * lib/strftime.c (widen): Cast alloca return value to proper type.
74707
74708         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
74709
74710         From GNU libc.
74711         * lib/strftime.c (my_strftime): Handle very large width
74712         specifications for numeric values correctly.  Improve checks for
74713         overflow.
74714
74715         2003-01-19  Jim Meyering  <jim@meyering.net>
74716
74717         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
74718         definitions.
74719         (nl_get_alt_digit) [! defined my_strftime]: Define.
74720         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
74721         _nl_get_alt_digit and _nl_get_walt_digit.
74722
74723         * lib/strftime.c (my_strftime): Merge in locale-related changes from
74724         libc. These changes have no effect outside of _LIBC.
74725
74726 2003-04-10  Bruno Haible  <bruno@clisp.org>
74727
74728         * modules/findprog: New file.
74729         * MODULES.html.sh (func_all_modules): Add it.
74730
74731 2003-04-10  Bruno Haible  <bruno@clisp.org>
74732
74733         * m4/findprog.m4: New file.
74734         * m4/eaccess.m4: New file.
74735
74736 2003-04-10  Bruno Haible  <bruno@clisp.org>
74737
74738         * lib/findprog.h: New file, from GNU gettext.
74739         * lib/findprog.c: New file, from GNU gettext.
74740
74741 2003-04-05  Jim Meyering  <jim@meyering.net>
74742
74743         Merge changes from Coreutils.
74744
74745         * lib/exclude.h (PARAMS): Remove definition and uses.
74746         * lib/exclude.c: Remove uses of `PARAMS'.
74747
74748         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
74749         Add test-cases for DOS filenames. Declare program_name.
74750         (main): Set up program_name.  Patch by Rich Dawe.
74751
74752         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
74753         error from mntctl.
74754         Use mntctl's return value to drive the entry-processing loop, since
74755         we can't rely on the value of the vmt_length member in the last
74756         entry.  On some systems doing so could result in exhausting
74757         virtual memory.  Based in part on a patch from Mike Jetzer.
74758
74759 2003-04-04  Bruno Haible  <bruno@clisp.org>
74760
74761         * modules/linebreak: New file.
74762         * MODULES.html.sh (func_all_modules): Add it.
74763
74764 2003-04-04  Bruno Haible  <bruno@clisp.org>
74765
74766         * m4/linebreak.m4: New file.
74767
74768 2003-04-04  Bruno Haible  <bruno@clisp.org>
74769
74770         * lib/linebreak.h: New file, from GNU gettext.
74771         * lib/linebreak.c: New file, from GNU gettext with slight
74772         modifications.
74773         * lib/lbrkprop.h: New file, from GNU gettext.
74774
74775 2003-04-03  Bruno Haible  <bruno@clisp.org>
74776
74777         * modules/utf8-ucs4: New file.
74778         * modules/utf16-ucs4: New file.
74779         * modules/ucs4-utf8: New file.
74780         * modules/ucs4-utf16: New file.
74781         * MODULES.html.sh (func_all_modules): Add them.
74782
74783 2003-04-03  Bruno Haible  <bruno@clisp.org>
74784
74785         * m4/utf-ucs4.m4: New file.
74786         * m4/ucs4-utf.m4: New file.
74787
74788 2003-04-03  Bruno Haible  <bruno@clisp.org>
74789
74790         * lib/utf8-ucs4.h: New file, from GNU gettext.
74791         * lib/utf16-ucs4.h: New file, from GNU gettext.
74792         * lib/ucs4-utf8.h: New file, from GNU gettext.
74793         * lib/ucs4-utf16.h: New file, from GNU gettext.
74794
74795 2003-04-02  Bruno Haible  <bruno@clisp.org>
74796
74797         * modules/binary-io: New file.
74798         * MODULES.html.sh (func_all_modules): Add it.
74799
74800 2003-04-02  Bruno Haible  <bruno@clisp.org>
74801
74802         * lib/binary-io.h: New file, from GNU gettext.
74803
74804 2003-04-01  Bruno Haible  <bruno@clisp.org>
74805
74806         * modules/pathname: New file.
74807         * MODULES.html.sh (func_all_modules): Add it.
74808
74809 2003-04-01  Bruno Haible  <bruno@clisp.org>
74810
74811         * lib/pathname.h: New file, from GNU gettext.
74812         * lib/concatpath.c: New file, from GNU gettext.
74813
74814 2003-03-30  Bruno Haible  <bruno@clisp.org>
74815
74816         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
74817
74818 2003-03-30  Bruno Haible  <bruno@clisp.org>
74819
74820         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
74821         function chown() doesn't exist.
74822
74823 2003-03-28  Bruno Haible  <bruno@clisp.org>
74824
74825         * modules/copy-file: New file.
74826         * MODULES.html.sh (func_all_modules): Add it.
74827
74828 2003-03-28  Bruno Haible  <bruno@clisp.org>
74829
74830         * m4/copy-file.m4: New file.
74831
74832 2003-03-28  Bruno Haible  <bruno@clisp.org>
74833
74834         * lib/copy-file.h: New file, from GNU gettext.
74835         * lib/copy-file.c: New file, from GNU gettext.
74836
74837 2003-03-18  Jim Meyering  <jim@meyering.net>
74838
74839         * lib/quote.c (quote_n): Fix typo in comment.
74840
74841 2003-03-18  Bruno Haible  <bruno@clisp.org>
74842
74843         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
74844         checking.
74845         * m4/onceonly_2_57.m4: Likewise.
74846
74847 2003-03-17  Bruno Haible  <bruno@clisp.org>
74848
74849         * m4/onceonly.m4: Require autoconf 2.54 or newer.
74850         (m4_quote): Remove macro.
74851         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
74852
74853 2003-03-14  Jim Meyering  <jim@meyering.net>
74854
74855         Merge changes from Coreutils.
74856         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
74857         to be const, in order to avoid warnings.
74858         (obstack_room): Likewise.
74859         (obstack_empty_p): Likewise.
74860
74861 2003-03-14  Bruno Haible  <bruno@clisp.org>
74862
74863         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
74864         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
74865
74866 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74867
74868         Merge changes from Bison.
74869         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
74870         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
74871         when compiling Bison 1.875's `bitset bset = obstack_alloc
74872         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
74873         * lib/hash.c: Include <stdbool.h> unconditionally.
74874
74875 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74876
74877         * m4/onceonly.m4 (m4_quote): New macro.
74878         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
74879         Quote AC_FOREACH variable-expansions properly.
74880
74881 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74882
74883         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
74884
74885 2003-03-09  Paul Eggert  <eggert@twinsun.com>
74886
74887         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
74888         Reported by Bruce Becker; see:
74889         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
74890
74891 2003-03-03  Paul Eggert  <eggert@twinsun.com>
74892             Bruno Haible  <bruno@clisp.org>
74893
74894         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
74895         Reported by John Hughes, see
74896         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
74897
74898 2003-02-20  Bruno Haible  <bruno@clisp.org>
74899
74900         * MODULES.html.sh (func_all_modules): Add poll.
74901
74902 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74903
74904         * modules/poll: New file.
74905
74906 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74907
74908         * lib/poll_.h: New file.
74909         * lib/poll.c: New file.
74910
74911 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74912
74913         * m4/poll.m4: New file.
74914
74915 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74916
74917         * modules/mathl: New file.
74918
74919 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74920
74921         * lib/mathl.h: New file.
74922         * lib/acosl.c: New file.
74923         * lib/asinl.c: New file.
74924         * lib/atanl.c: New file.
74925         * lib/ceill.c: New file.
74926         * lib/cosl.c: New file.
74927         * lib/expl.c: New file.
74928         * lib/floorl.c: New file.
74929         * lib/frexpl.c: New file.
74930         * lib/ldexpl.c: New file.
74931         * lib/logl.c: New file.
74932         * lib/sincosl.c: New file.
74933         * lib/sinl.c: New file.
74934         * lib/sqrtl.c: New file.
74935         * lib/tanl.c: New file.
74936         * lib/trigl.c: New file.
74937         * lib/trigl.h: New file.
74938
74939 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74940
74941         * m4/mathl.m4: New file.
74942
74943 2003-02-18  Bruno Haible  <bruno@clisp.org>
74944
74945         * MODULES.html.sh (func_all_modules): Add mathl.
74946
74947 2003-02-17  Bruno Haible  <bruno@clisp.org>
74948
74949         * modules/mkdtemp: New module.
74950         * MODULES.html.sh (func_all_modules): Add it.
74951
74952 2003-02-17  Bruno Haible  <bruno@clisp.org>
74953
74954         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
74955
74956 2003-02-17  Bruno Haible  <bruno@clisp.org>
74957
74958         * lib/mkdtemp.h: New file, from GNU gettext.
74959         * lib/mkdtemp.c: New file, from GNU gettext.
74960
74961 2003-02-02  Jim Meyering  <jim@meyering.net>
74962
74963         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
74964         e.g. glibc-2.2.93.
74965
74966 2003-01-31  Bruno Haible  <bruno@clisp.org>
74967
74968         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
74969         'rpl_rename'.
74970         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
74971         'rpl_strnlen'.
74972         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
74973         'rpl_strtod'.
74974         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
74975         'rpl_utime'.
74976
74977 2003-01-31  Bruno Haible  <bruno@clisp.org>
74978
74979         * lib/rename.c: #undef rename before defining rpl_rename.
74980         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
74981
74982 2003-01-30  Bruno Haible  <bruno@clisp.org>
74983
74984         * modules/vasnprintf, modules/vasprintf: New modules.
74985         * MODULES.html.sh (func_all_modules): Add them.
74986
74987 2003-01-30  Bruno Haible  <bruno@clisp.org>
74988
74989         * m4/signed.m4: New file, from GNU gettext.
74990         * m4/longdouble.m4: New file, from GNU gettext.
74991         * m4/wchar_t.m4: New file, from GNU gettext.
74992         * m4/wint_t.m4: New file, from GNU gettext.
74993         * m4/vasnprintf.m4: New file.
74994         * m4/vasprintf.m4: New file.
74995
74996 2003-01-30  Bruno Haible  <bruno@clisp.org>
74997
74998         * lib/printf-args.h: New file, from GNU gettext.
74999         * lib/printf-args.c: New file, from GNU gettext.
75000         * lib/printf-parse.h: New file, from GNU gettext.
75001         * lib/printf-parse.c: New file, from GNU gettext.
75002         * lib/vasnprintf.h: New file, from GNU gettext.
75003         * lib/vasnprintf.c: New file, from GNU gettext.
75004         * lib/asnprintf.c: New file, from GNU gettext.
75005         * lib/vasprintf.h: New file, from GNU gettext with modifications.
75006         * lib/vasprintf.c: New file, from GNU gettext.
75007         * lib/asprintf.c: New file, from GNU gettext.
75008
75009 2003-01-29  Bruno Haible  <bruno@clisp.org>
75010
75011         * modules/stpncpy: New module.
75012         * MODULES.html.sh (func_all_modules): Add it.
75013
75014 2003-01-29  Bruno Haible  <bruno@clisp.org>
75015
75016         * m4/stpncpy.m4: New file.
75017
75018 2003-01-29  Bruno Haible  <bruno@clisp.org>
75019
75020         * lib/stpncpy.h: New file, from GNU gettext with modifications.
75021         * lib/stpncpy.c: New file, from GNU gettext with modifications.
75022
75023 2003-01-28  Bruno Haible  <bruno@clisp.org>
75024
75025         * modules/c-ctype: New module.
75026         * MODULES.html.sh (func_all_modules): Add it.
75027
75028 2003-01-28  Bruno Haible  <bruno@clisp.org>
75029
75030         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
75031         Paul Eggert.
75032         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
75033         Paul Eggert.
75034
75035 2003-01-27  Bruno Haible  <bruno@clisp.org>
75036
75037         * modules/xsetenv: New module.
75038         * MODULES.html.sh (func_all_modules): Add it.
75039
75040 2003-01-27  Bruno Haible  <bruno@clisp.org>
75041
75042         * lib/xsetenv.h: New file, from GNU gettext.
75043         * lib/xsetenv.c: New file, from GNU gettext.
75044
75045 2003-01-23  Jim Meyering  <jim@meyering.net>
75046
75047         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
75048         from working on systems without dirfd (at least Irix and OSF1/Tru64).
75049
75050 2003-01-23  Bruno Haible  <bruno@clisp.org>
75051
75052         * modules/minmax: New module.
75053         * MODULES.html.sh (func_all_modules): Add it.
75054
75055 2003-01-23  Bruno Haible  <bruno@clisp.org>
75056
75057         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
75058         Eggert.
75059
75060 2003-01-22  Bruno Haible  <bruno@clisp.org>
75061
75062         * modules/exit: New module.
75063         * MODULES.html.sh (func_all_modules): Add it.
75064
75065 2003-01-22  Bruno Haible  <bruno@clisp.org>
75066
75067         * lib/exit.h: New file, from GNU gettext.
75068
75069 2003-01-19  Bruno Haible  <bruno@clisp.org>
75070
75071         * gnulib-tool: Recognize option --extract-maintainer.
75072         (func_get_maintainer): New function.
75073         * modules/*: Add Maintainer entry.
75074
75075 2003-01-16  Jim Meyering  <jim@meyering.net>
75076
75077         * m4/regex.m4: The `regex' struct is both input and output.
75078         Initialize it before each use.  Patch by Tim Waugh.
75079
75080 2003-01-16  Bruno Haible  <bruno@clisp.org>
75081
75082         * MODULES.html.sh: Add a table of contents. Add the module name as
75083         leftmost column. Add hyperlinks.
75084
75085 2003-01-15  Bruno Haible  <bruno@clisp.org>
75086
75087         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
75088
75089 2003-01-15  Bruno Haible  <bruno@clisp.org>
75090
75091         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
75092         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
75093         suffix.
75094
75095 2003-01-15  Bruno Haible  <bruno@clisp.org>
75096
75097         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
75098
75099 2003-01-15  Bruno Haible  <bruno@clisp.org>
75100
75101         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
75102         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
75103
75104 2003-01-14  Jim Meyering  <jim@meyering.net>
75105
75106         * lib/same.c (same_name): Tweak a comment.
75107
75108 2003-01-14  Bruno Haible  <bruno@clisp.org>
75109
75110         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
75111         when a string comparison is sufficient.
75112
75113 2003-01-14  Bruno Haible  <bruno@clisp.org>
75114
75115         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
75116         'unsigned int'.
75117
75118 2003-01-14  Bruno Haible  <bruno@clisp.org>
75119
75120         * lib/hash-pjw.c: Add comment about low quality of this function.
75121
75122 2003-01-13  Bruno Haible  <bruno@clisp.org>
75123
75124         * modules/stpcpy: Distribute lib/stpcpy.h.
75125         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
75126
75127 2003-01-13  Bruno Haible  <bruno@clisp.org>
75128
75129         * modules/*: Add a description.
75130         * modules/strpbrk: Fix Makefile.am snippet.
75131         * modules/strtoimax: Fix dependencies.
75132         * modules/strtoumax: Likewise.
75133
75134 2003-01-13  Bruno Haible  <bruno@clisp.org>
75135
75136         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
75137         * modules/alloca (Makefile.am): All object files depend on alloca.h.
75138         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
75139
75140 2003-01-13  Bruno Haible  <bruno@clisp.org>
75141
75142         * gnulib-tool (func_create_testdir): Store config/* files in the main
75143         directory.
75144         * config.rpath: Move to ...
75145         * config/config.rpath: ... here.
75146         * modules/gettext: Contains config/config.rpath, not config.rpath.
75147         * modules/iconv: Likewise.
75148
75149 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75150
75151         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75152         to avoid collisions with libcurses and libreadline.
75153
75154         * m4/getstr.m4: Remove.
75155         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
75156
75157 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75158
75159         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75160         to avoid collisions with libcurses and libreadline.
75161
75162         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
75163         * lib/getstr.h, getstr.c: Remove.
75164         * lib/getline.c: Include "getline.h", to check interface.
75165         Move body of old getstr.c here: this defines MIN_CHUNK and
75166         declares getdelim2, which is renamed from getstr.
75167         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
75168
75169         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
75170         All uses changed.
75171         * lib/linebuffer.h: Likewise.
75172         (readline): Remove backward-compatibility macro.
75173
75174 2003-01-12  Paul Eggert  <eggert@twinsun.com>
75175
75176         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
75177         to avoid collisions with libcurses and libreadline.
75178         * getstr: Remove.
75179         * MODULES.html.sh: Remove getstr.
75180         * modules/getline: Depend on unlocked-io, not getstr.
75181
75182 2003-01-12  Jim Meyering  <jim@meyering.net>
75183
75184         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
75185
75186 2003-01-10  Bruno Haible  <bruno@clisp.org>
75187
75188         * modules/alloca: Change Makefile.am requirements. Simplify Include
75189         requirements. Add lib/alloca_.h to file list.
75190
75191 2003-01-10  Bruno Haible  <bruno@clisp.org>
75192
75193         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
75194
75195 2003-01-10  Bruno Haible  <bruno@clisp.org>
75196
75197         * lib/alloca_.h: New file.
75198         * lib/getdate.y: Unconditionally include alloca.h.
75199         * lib/makepath.c: Likewise.
75200         * lib/setenv.c: Likewise.
75201         * lib/userspec.c: Likewise.
75202
75203 2003-01-09  Karl Berry  <karl@gnu.org>
75204
75205         * MODULES.html.sh: include `dirname $0` in PATH, to find
75206         gnulib-tool.
75207
75208 2003-01-09  Bruno Haible  <bruno@clisp.org>
75209
75210         * modules/stdbool: Change configure.ac, Makefile.am requirements.
75211         Simplify Include requirements. Add lib/stdbool.h.in to file list.
75212
75213 2003-01-09  Bruno Haible  <bruno@clisp.org>
75214
75215         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
75216
75217 2003-01-09  Bruno Haible  <bruno@clisp.org>
75218
75219         * lib/stdbool.h.in: New file.
75220
75221 2003-01-09  Bruno Haible  <bruno@clisp.org>
75222
75223         * gnulib-tool (func_all_modules): Ignore files ending in ~.
75224         * MODULES.html.sh: Likewise.
75225
75226 2003-01-08  Jim Meyering  <jim@meyering.net>
75227
75228         * lib/full-write.c: Undefine and define-away `const' after inclusion
75229         of errno.h, not before.  Suggestion from Bruno Haible.
75230
75231 2003-01-08  Bruno Haible  <bruno@clisp.org>
75232
75233         * modules/full-read: Depend on full-write.
75234
75235 2003-01-08  Bruno Haible  <bruno@clisp.org>
75236
75237         * lib/safe-read.c: Include specification header first, to ensure its
75238         selfcontainedness.
75239         * lib/full-write.c: Likewise.
75240
75241 2003-01-07  Jim Meyering  <jim@meyering.net>
75242
75243         * lib/full-write.c: Rework so that it may serve to define full_read,
75244         too.
75245         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
75246
75247 2003-01-07  Bruno Haible  <bruno@clisp.org>
75248
75249         * lib/strtoimax.c: Include <stdint.h> as an alternative to
75250         <inttypes.h>.
75251         * lib/xstrtol.h: Likewise.
75252         * lib/xstrtoimax.c: Likewise.
75253         * lib/xstrtoumax.c: Likewise.
75254         * lib/human.h: Likewise.
75255
75256         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
75257         on systems that have <inttypes.h> but not <stdint.h>.
75258
75259 2003-01-07  Bruno Haible  <bruno@clisp.org>
75260
75261         * MODULES.html.sh: Add copyright notice.
75262         (missed_files): Omit CVS directory entries.
75263         (func_module): Make it work with sed-3.02.
75264         * MODULES.txt: Remove file.
75265
75266 2003-01-06  Jim Meyering  <jim@meyering.net>
75267
75268         * lib/version-etc.c: Update year in translatable copyright string.
75269
75270 2003-01-03  Karl Berry  <karl@gnu.org>
75271
75272         * config/config.{guess,sub}: update from prep.
75273
75274 2003-01-02  Karl Berry  <karl@gnu.org>
75275
75276         * doc/COPYING.DOC: belatedly updated to 1.2.
75277
75278 2003-01-01  Karl Berry  <karl@gnu.org>
75279
75280         * gnulib-tool (func_verify_module): report module name $module in
75281         error message, not $1.
75282         * gnulib-tool (create-testdir): don't complain if destdir couldn't
75283         be created, only if it doesn't exist.
75284         * gnulib-tool (last_checkin_date): don't expand the $Date here.
75285
75286 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75287
75288         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
75289
75290 2002-12-31  Paul Eggert  <eggert@twinsun.com>
75291
75292         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
75293         memcmp if strcoll doesn't work.
75294
75295 2002-12-31  Bruno Haible  <bruno@clisp.org>
75296
75297         * lib/utime.c (utime_null): No need to call ftruncate if the file was
75298         nonempty.
75299
75300 2002-12-31  Bruno Haible  <bruno@clisp.org>
75301
75302         * lib/memcoll.c (STRCOLL): New macro.
75303         (memcoll): Use it.
75304
75305 2002-12-31  Bruno Haible  <bruno@clisp.org>
75306
75307         * lib/localcharset.h: New file.
75308         * lib/localcharset.c: Include it.
75309         * lib/unicodeio.c: Likewise.
75310
75311 2002-12-31  Bruno Haible  <bruno@clisp.org>
75312
75313         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
75314         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
75315
75316 2002-12-31  Bruno Haible  <bruno@clisp.org>
75317
75318         * lib/getline.h: Include <stddef.h>, for size_t.
75319
75320         * lib/unicodeio.h: Include <stddef.h>, for size_t.
75321         * lib/unicodeio.c: Don't include <stddef.h>.
75322
75323 2002-12-31  Bruno Haible  <bruno@clisp.org>
75324
75325         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
75326         HAVE_TM_ZONE.
75327
75328 2002-12-24  Karl Berry  <karl@gnu.org>
75329
75330         * config/config.guess: update from prep.
75331
75332 2002-12-24  Bruno Haible  <bruno@clisp.org>
75333
75334         General infrasructure.
75335         * m4/README: Rewritten.
75336         * m4/onceonly.m4: New file.
75337         * m4/onceonly_2_57.m4: New file.
75338
75339         Module atexit.
75340         * m4/atexit.m4: New file.
75341
75342         Module strtod.
75343         * m4/strtod.m4: New file.
75344
75345         Module strtol.
75346         * m4/strtol.m4: New file.
75347
75348         Module strtoul.
75349         * m4/strtoul.m4: New file.
75350
75351         Module memchr.
75352         * m4/memchr.m4: New file.
75353
75354         Module memcmp.
75355         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
75356         (jm_FUNC_MEMCMP): Invoke it.
75357
75358         Module memcpy.
75359         * m4/memcpy.m4: New file.
75360
75361         Module memmove.
75362         * m4/memmove.m4: New file.
75363
75364         Module memset.
75365         * m4/memset.m4: New file.
75366
75367         Module strcspn.
75368         * m4/strcspn.m4: New file.
75369
75370         Module strpbrk.
75371         * m4/strpbrk.m4: New file.
75372
75373         Module strstr.
75374         * m4/strstr.m4: New file.
75375
75376         Module strerror.
75377         * m4/strerror.m4: New file.
75378
75379         Module mktime.
75380         * m4/mktime.m4: Renamed from jm-mktime.m4.
75381         (gl_PREREQ_MKTIME): New macro.
75382         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
75383
75384         Module malloc.
75385         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
75386         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
75387         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
75388
75389         Module realloc.
75390         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
75391         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
75392         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
75393
75394         Module strftime.
75395         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
75396         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
75397         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
75398         gl_TM_GMTOFF.
75399         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
75400
75401         Module xalloc.
75402         * m4/xalloc.m4: New file.
75403
75404         Module alloca.
75405         * m4/alloca.m4: New file.
75406
75407         Module putenv.
75408         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
75409         (jm_FUNC_PUTENV): Invoke it.
75410
75411         Module setenv.
75412         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
75413         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
75414         when invoked twice.
75415         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
75416         gt_FUNC_SETENV.
75417
75418         Module memrchr.
75419         * m4/memrchr.m4: New file.
75420
75421         Module stpcpy.
75422         * m4/stpcpy.m4: New file.
75423
75424         Module strcase.
75425         * m4/strcase.m4: New file.
75426
75427         Module strdup.
75428         * m4/strdup.m4: New file.
75429
75430         Module strnlen.
75431         * m4/strnlen.m4: New file.
75432
75433         Module strndup.
75434         * m4/strndup.m4: New file.
75435
75436         Module xstrtod.
75437         * m4/xstrtod.m4: New file.
75438
75439         Module xstrtol.
75440         * m4/xstrtol.m4: New file.
75441
75442         Module getdate.
75443         * m4/getdate.m4: New file.
75444
75445         Module unlocked-io.
75446         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
75447         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
75448         * m4/jm-glibc-io.m4n: Remove file.
75449
75450         Module long-options.
75451         * m4/long-options.m4: New file.
75452
75453         Module md5.
75454         * m4/md5.m4: New file.
75455
75456         Module sha.
75457         * m4/sha.m4: New file.
75458
75459         Module getstr.
75460         * m4/getstr.m4: New file.
75461
75462         Module getline.
75463         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
75464         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
75465         <sys/types.h>, for size_t. Use the function name gnu_getline, not
75466         simply getline. Infoke gl_PREREQ_GETLINE.
75467
75468         Module obstack.
75469         * m4/obstack.m4: New file.
75470
75471         Module hash.
75472         * m4/hash.m4: New file.
75473
75474         Module readtokens.
75475         * m4/readtokens.m4: New file.
75476
75477         Module strverscmp.
75478         * m4/strverscmp.m4: New file.
75479
75480         Module stdbool.
75481         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
75482         OSF/1.
75483
75484         Module strtoll.
75485         * m4/strtoll.m4: New file.
75486
75487         Module strtoull.
75488         * m4/strtoull.m4: New file.
75489
75490         Module strtoimax.
75491         * m4/strtoimax.m4: New file.
75492
75493         Module strtoumax.
75494         * m4/strtoumax.m4: New file.
75495
75496         Module xstrtoimax.
75497         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
75498         jm_AC_PREREQ_XSTRTOIMAX.
75499         Moved the strtol prerequisites to strtol.m4.
75500         Moved the strtoll prerequisites to strtoll.m4.
75501         Moved the strtoimax prerequisites to strtoimax.m4.
75502
75503         Module xstrtoumax.
75504         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
75505         jm_AC_PREREQ_XSTRTOUMAX.
75506         Moved the strtoul prerequisites to strtoul.m4.
75507         Moved the strtoull prerequisites to strtoull.m4.
75508         Moved the strtoumax prerequisites to strtoumax.m4.
75509
75510         Module chown.
75511         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
75512         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
75513
75514         Module dup2.
75515         * m4/dup2.m4: New file.
75516
75517         Module ftruncate.
75518         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
75519         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
75520
75521         Module getgroups.
75522         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
75523         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
75524
75525         Module gettimeofday.
75526         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
75527         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
75528         gl_PREREQ_GETTIMEOFDAY.
75529
75530         Module mkdir.
75531         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
75532         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
75533
75534         Module mkstemp.
75535         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
75536         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
75537         jm_AC_TYPE_UINTMAX_T.
75538         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
75539
75540         Module stat.
75541         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
75542         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
75543
75544         Module lstat.
75545         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
75546         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
75547
75548         Module timespec.
75549         * m4/timespec.m4 (gl_TIMESPEC): New macro.
75550         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
75551         * m4/st_mtim.m4: Indentation.
75552
75553         Module nanosleep.
75554         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
75555         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
75556         gl_PREREQ_NANOSLEEP.
75557
75558         Module regex.
75559         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
75560         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
75561         (gl_REGEX): New macro.
75562
75563         Module rename.
75564         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
75565         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
75566
75567         Module rmdir.
75568         * m4/rmdir.m4: New file.
75569
75570         Module utime.
75571         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
75572         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
75573         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
75574
75575         Module dirname.
75576         * m4/dirname.m4: New file.
75577
75578         Module getopt.
75579         * m4/getopt.m4: New file.
75580
75581         Module unistd-safer.
75582         * m4/unistd-safer.m4: New file.
75583
75584         Module fnmatch.
75585         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
75586         declaration.
75587         (gl_PREREQ_FNMATCH_EXTRA): New macro.
75588         (gl_FUNC_FNMATCH_POSIX): New macro.
75589         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
75590         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
75591         simply fnmatch.
75592
75593         Module exclude.
75594         * m4/exclude.m4: New file.
75595
75596         Module human.
75597         * m4/human.m4: New file.
75598
75599         Module acl.
75600         * m4/acl.m4: Nop.
75601
75602         Module backupfile.
75603         * m4/backupfile.m4: New file.
75604         * m4/d-ino.m4: Indentation.
75605
75606         Module fsusage.
75607         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
75608         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
75609         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
75610
75611         Module dirfd.
75612         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
75613         requirements.
75614
75615         Module euidaccess.
75616         * m4/euidaccess.m4: New file.
75617
75618         Module file-type.
75619         * m4/file-type.m4: New file.
75620
75621         Module fileblocks.
75622         * m4/fileblocks.m4: New file.
75623
75624         Module filemode.
75625         * m4/filemode.m4: New file.
75626
75627         Module isdir.
75628         * m4/isdir.m4: New file.
75629
75630         Module lchown.
75631         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
75632         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
75633
75634         Module makepath.
75635         * m4/makepath.m4: New file.
75636
75637         Module modechange.
75638         * m4/modechange.m4: New file.
75639
75640         Module mountlist.
75641         * m4/mountlist.m4: New file.
75642         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
75643         Indentation.
75644
75645         Module path-concat.
75646         * m4/path-concat.m4: New file.
75647
75648         Module pathmax.
75649         * m4/pathmax.m4: New file.
75650
75651         Module same.
75652         * m4/same.m4: New file.
75653
75654         Module save-cwd.
75655         * m4/save-cwd.m4: New file.
75656
75657         Module savedir.
75658         * m4/savedir.m4: New file.
75659
75660         Module xgetcwd.
75661         * m4/xgetcwd.m4: New file.
75662         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
75663
75664         Module xreadlink.
75665         * m4/xreadlink.m4: New file.
75666
75667         Module safe-read.
75668         * m4/safe-read.m4: New file.
75669
75670         Module safe-write.
75671         * m4/safe-write.m4: New file.
75672
75673         Module closeout.
75674         * m4/closeout.m4: New file.
75675
75676         Module stdio-safer.
75677         * m4/stdio-safer.m4: New file.
75678
75679         Module getpass.
75680         * m4/getpass.m4: New file.
75681
75682         Module getugroups.
75683         * m4/getugroups.m4: New file.
75684
75685         Module group-member.
75686         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
75687         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
75688
75689         Module idcache.
75690         * m4/idcache.m4: New file.
75691
75692         Module userspec.
75693         * m4/userspec.m4: New file.
75694
75695         Module gettime.
75696         * m4/clock_time.m4: New file.
75697         * m4/gettime.m4: New file.
75698
75699         Module settime.
75700         * m4/settime.m4: New file.
75701
75702         Module posixtm.
75703         * m4/posixtm.m4: New file.
75704
75705         Module gethostname.
75706         * m4/gethostname.m4: New file.
75707
75708         Module canon-host.
75709         * m4/canon-host.m4: New file.
75710
75711         Module gettext.
75712         * m4/codeset.m4: New file, from gettext-0.11.5.
75713         * m4/gettext.m4: New file, from gettext-0.11.5.
75714         * m4/glibc21.m4: New file, from gettext-0.11.5.
75715         * m4/iconv.m4: New file, from gettext-0.11.5.
75716         * m4/intdiv0.m4: New file, from gettext-0.11.5.
75717         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
75718         * m4/inttypes.m4: New file, from gettext-0.11.5.
75719         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
75720         * m4/isc-posix.m4: New file, from gettext-0.11.5.
75721         * m4/lcmessage.m4: New file, from gettext-0.11.5.
75722         * m4/lib-ld.m4: New file, from gettext-0.11.5.
75723         * m4/lib-link.m4: New file, from gettext-0.11.5.
75724         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
75725         * m4/progtest.m4: New file, from gettext-0.11.5.
75726         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
75727         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
75728         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
75729
75730         Module localcharset.
75731         * m4/localcharset.m4: New file.
75732
75733         Module hard-locale.
75734         * m4/hard-locale.m4: New file.
75735
75736         Module mbswidth.
75737         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
75738         onceonly macros.
75739         * m4/mbrtowc.m4: Add comment.
75740
75741         Module memcasecmp.
75742         * m4/memcasecmp.m4: New file.
75743
75744         Module memcoll.
75745         * m4/memcoll.m4: New file.
75746
75747         Module unicodeio.
75748         * m4/unicodeio.m4: New file.
75749
75750         Module rpmatch.
75751         * m4/rpmatch.m4: New file.
75752
75753         Module yesno.
75754         * m4/yesno.m4: New file.
75755
75756         Module exitfail.
75757         * m4/exitfail.m4: New file.
75758
75759         Module c-stack.
75760         * m4/c-stack.m4 (gl_C_STACK): New macro.
75761         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
75762
75763         Module error.
75764         * m4/error.m4 (gl_ERROR): New macro.
75765         (jm_PREREQ_ERROR): Use onceonly macros.
75766
75767         Module fatal.
75768         * m4/fatal.m4: New file.
75769
75770         Module getloadavg.
75771         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
75772         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
75773
75774         Module getpagesize.
75775         * m4/getpagesize.m4: New file.
75776
75777         Module getusershell.
75778         * m4/getusershell.m4: New file.
75779
75780         Module physmem.
75781         * m4/physmem.m4: New file.
75782
75783         Module posixver.
75784         * m4/posixver.m4: New file.
75785
75786         Module quotearg.
75787         * m4/quotearg.m4: New file.
75788
75789         Module quote.
75790         * m4/quote.m4: New file.
75791
75792         Module readutmp.
75793         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
75794
75795         Module sig2str.
75796         * m4/sig2str.m4: New file.
75797
75798         Other.
75799         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
75800         ulonglong.m4.
75801         * m4/intmax_t.m4: New file.
75802         * m4/d-type.m4: Indentation.
75803         * m4/jm-macros.m4: Update.
75804         * m4/prereq.m4 (jm_PREREQ): Update.
75805         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
75806         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
75807         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
75808         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
75809         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
75810         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
75811         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
75812         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
75813         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
75814         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
75815         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
75816         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
75817         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
75818         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
75819         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
75820         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
75821         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
75822         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
75823         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
75824
75825 2002-12-24  Bruno Haible  <bruno@clisp.org>
75826
75827         * MODULES.txt: Update according to m4/ changes.
75828
75829         Module gettext.
75830         * config.rpath: New file, from gettext-0.11.5.
75831
75832         * modules/*: New module descriptions.
75833         * gnulib-tool: New file.
75834         * MODULES.html.sh: New file.
75835
75836 2002-12-21  Karl Berry  <karl@gnu.org>
75837
75838         * doc/fdl.texi: update to version 1.2.
75839
75840 2002-12-19  Karl Berry  <karl@gnu.org>
75841
75842         * config/config.guess: update from prep.
75843
75844 2002-12-18  Bruno Haible  <bruno@clisp.org>
75845
75846         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
75847         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
75848
75849 2002-12-17  Bruno Haible  <bruno@clisp.org>
75850
75851         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
75852         stdlib.h, string.h.
75853
75854 2002-12-17  Bruno Haible  <bruno@clisp.org>
75855
75856         * lib/canon-host.c (strdup): Remove unused declaration.
75857
75858         * lib/fsusage.c: Include full_read.h.
75859         (get_fs_usage): Use full_read instead of safe_read.
75860
75861         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
75862
75863 2002-12-12  Karl Berry  <karl@gnu.org>
75864
75865         * config/config.guess: update from prep.
75866
75867 2002-12-11  Bruno Haible  <bruno@clisp.org>
75868
75869         * m4/setenv.m4: New file, from gettext-0.11.5.
75870
75871 2002-12-11  Bruno Haible  <bruno@clisp.org>
75872
75873         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
75874         not unsetenv().
75875         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
75876         modifications:
75877
75878         2002-12-11  Bruno Haible  <bruno@clisp.org>
75879
75880                 * setenv.c (alloca): Fall back to malloc.
75881                 (freea): New macro.
75882                 (setenv): Use freea() to free memory allocated with alloca().
75883
75884         2002-11-13  Bruno Haible  <bruno@clisp.org>
75885
75886                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
75887                 function declarations.
75888                 * unsetenv.c (unsetenv): Likewise.
75889
75890         2002-03-04  Bruno Haible  <bruno@clisp.org>
75891
75892                 Portability to AIX 4.3.3.
75893                 * unsetenv.c: New file, extracted from setenv.c.
75894                 * setenv.c: Move the unsetenv() function to unsetenv.c.
75895
75896         2001-12-20  Bruno Haible  <bruno@clisp.org>
75897
75898                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
75899                 use malloc instead. For SunOS 4.
75900
75901         2001-12-11  Bruno Haible  <bruno@clisp.org>
75902
75903                 * setenv.c: Declare alloca.
75904                 (compar_fn_t): New typedef.
75905                 (KNOWN_VALUE, STORE_VALUE): Use it.
75906
75907         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
75908         setenv.h.
75909
75910 2002-12-10  Paul Eggert  <eggert@twinsun.com>
75911
75912         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
75913         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
75914         Choose values that are less likely to collide with system fnmatch
75915         options.
75916         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
75917         defined (e.g., a pure POSIX system).
75918         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
75919         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
75920
75921 2002-12-06  Paul Eggert  <eggert@twinsun.com>
75922
75923         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
75924         a pain in practice to deal with generated m4 files.  This change
75925         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
75926
75927         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
75928         and jm-glibc-io.m4, as they are no longer a special case.
75929         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
75930         kludge and the auto-generation stuff.  Check only whether the
75931         functions are declared, not whether they exist, since older hosts
75932         that don't declare the functions can't use the optimization anyway.
75933
75934 2002-12-06  Jim Meyering  <jim@meyering.net>
75935
75936         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
75937
75938         Merge in changes from libc's misc/error.c, in preparation
75939         for the merge of gnulib's changes back into libc.
75940
75941         * lib/error.c (_): Define only if not already defined.
75942         Move definition to follow all #include directives.
75943         Include unlocked-io.h only if !_LIBC.
75944         [_LIBC]: Include <libio/libioP.h>.
75945         [USE_IN_LIBIO]: Include <libio/iolibio.h>
75946         (fflush): Tweak definition to use INTUSE.
75947         (putc): Define.
75948
75949 2002-12-05  Paul Eggert  <eggert@twinsun.com>
75950
75951         * lib/alloca.c [defined emacs]: Include "lisp.h".
75952         (xalloc_die) [defined emacs]: New macro.
75953         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
75954         [! defined emacs]: Include <xalloc.h>.
75955         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
75956         (pointer): Typedef to POINTER_TYPE *.
75957         (malloc): Remove decl; we now always use xmalloc.
75958         (alloca): Use old-style definition, since Emacs needs this.
75959         Check for arithmetic overflow when computing combined size.
75960
75961 2002-12-04  Paul Eggert  <eggert@twinsun.com>
75962
75963         Do not generate unlocked-io.h automatically, since it's easier to
75964         maintain it by hand.
75965
75966         * lib/unlocked-io.h: New file, from GNU diffutils,
75967         but with proper copyright notice and attribution.
75968         * lib/gen-uio: Remove.
75969         * lib/Makefile.am: Add copyright notice.
75970         (libfetish_a_SOURCES): Add unlocked-io.h.
75971         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
75972         (DISTCLEANFILES, io_functions): Remove macros.
75973         (EXTRA_DIST): Remove gen_uio.
75974         (unlocked-io.h): Remove rule.
75975
75976 2002-12-04  Jim Meyering  <jim@meyering.net>
75977
75978         Reflect the fact that stat.c and lstat.c are no longer generated.
75979         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
75980         (DISTCLEANFILES): Likewise.
75981         (EXTRA_DIST): Likewise.
75982         (all_local): Don't depend on stat.c or lstat.c.
75983         (stat.c, lstat.c): Remove rules.
75984         (EXTRA_DIST): Remove xstat.in.
75985
75986         * lib/xstat.in: Remove file.  Contents moved into stat.c.
75987         * lib/stat.c: New file.  Contents mostly from xstat.in.
75988         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
75989         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
75990
75991         * lib/safe-read.c: Rework so that it may serve to define safe_write,
75992         too.
75993         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
75994
75995 2002-12-03  Jim Meyering  <jim@meyering.net>
75996
75997         * lib/safe-read.c, safe-write.c: Change variable names and comments,
75998         but not semantics, to minimize the differences between these two files.
75999         (safe_read): Change comment to mention SAFE_READ_ERROR.
76000
76001         * lib/safe-read.c (IS_EINTR): Define.
76002         (safe_read): Use IS_EINTR in place of in-function cpp directives.
76003
76004 2002-12-02  Jim Meyering  <jim@meyering.net>
76005
76006         * lib/safe-read.c (EINTR): Define.
76007         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
76008         (INT_MAX): Provide fallback.
76009         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
76010
76011         * lib/safe-read.h (SAFE_READ_ERROR): Define.
76012
76013 2002-12-02  Bruno Haible  <bruno@clisp.org>
76014
76015         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
76016         Define, taken from safe-read.c.
76017         (INT_MAX): Provide fallback.
76018         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
76019         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
76020
76021         * lib/safe-read.c (EINTR): Remove definition.
76022         (safe_read): Don't use EINTR if it is absent.
76023
76024 2002-12-01  Jim Meyering  <jim@meyering.net>
76025
76026         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
76027         zero.
76028         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
76029
76030 2002-11-27  Paul Eggert  <eggert@twinsun.com>
76031
76032         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
76033         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
76034         with `if (! (value < limit)) abort ();', for readability.
76035
76036 2002-11-26  Karl Berry  <karl@gnu.org>
76037
76038         * lib/strdup.c: copy from libc again, with jim's ok.
76039         * lib/.cppi-disable: re-add strdup.c
76040
76041 2002-11-25  Karl Berry  <karl@gnu.org>
76042
76043         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
76044         instead of "strtol.c".
76045
76046 2002-11-25  Karl Berry  <karl@gnu.org>
76047
76048         * config/install-sh: update from automake for variable quoting, $0 in
76049         error msgs, etc.
76050
76051         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
76052         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
76053         entry.
76054
76055 2002-11-25  Jim Meyering  <jim@meyering.net>
76056
76057         * lib/mktime.c: Sync from libc, now that it has the latest fix.
76058
76059 2002-11-24  Karl Berry  <karl@gnu.org>
76060
76061         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
76062         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
76063
76064 2002-11-24  Jim Meyering  <jim@meyering.net>
76065
76066         Update from coreutils:
76067
76068         * lib/mktime.c: Merge in changes from libc.
76069
76070         Avoid a link-time failure on some Linux systems.
76071         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
76072         (otherwise).
76073         (__mon_yday): Declare with the STATIC attribute.
76074         (__mktime_internal): Likewise.
76075         Based on a report from Greg Schafer.
76076
76077 2002-11-23  Jim Meyering  <jim@meyering.net>
76078
76079         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
76080         Use `unsigned', not `int', as type of index.
76081
76082         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
76083
76084         * lib/fsusage.c: Remove unneeded parentheses around operands of
76085         `defined'.
76086
76087 2002-11-22  Paul Eggert  <eggert@twinsun.com>
76088
76089         * lib/quotearg.h: Allow multiple inclusion by surrounding with
76090         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
76091         so that we can be included first.
76092         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
76093         * lib/quotearg.c: Include quotearg.h immediately after config.h.
76094         No need to include stddef.h or sys/types.h any more.
76095         Surround local include files with "", not "<>".
76096         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
76097         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
76098         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
76099         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
76100         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
76101         (ISPRINT): Remove; no longer needed now that we assume C89.
76102
76103         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
76104         Preserve errno.
76105
76106         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
76107         quotearg_char): Use SIZE_MAX rather than
76108         (size_t) -1 when we are talking about "infinity".
76109
76110         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
76111
76112 2002-11-22  Paul Eggert  <eggert@twinsun.com>
76113
76114         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
76115         hint that one should use `if (! x) abort ();' rather than `assert
76116         (x);', and anyway it's one less thing to worry about configuring.
76117         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
76118         hash_rehash, hash_insert): Use abort rather than assert.
76119
76120 2002-11-22  Bruno Haible  <bruno@clisp.org>
76121
76122         * lib/safe-read.h: Assume C89. Add comments.
76123         (safe_read): Change return type to size_t.
76124         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
76125         byte counts > SSIZE_MAX correctly.
76126         * lib/safe-write.h: New file.
76127         * lib/safe-write.c: New file.
76128         * lib/full-read.h: New file.
76129         * lib/full-read.c: New file.
76130         * lib/full-write.h: Assume C89. Add comments.
76131         * lib/full-write.c: Include safe-write.h.
76132         (full_write): Rewritten to use safe_write.
76133         Suggested by Jim Meyering and Paul Eggert.
76134
76135 2002-11-21  Jim Meyering  <jim@meyering.net>
76136
76137         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
76138
76139         Merge in changes from the coreutils.
76140
76141         2002-09-25  Paul Eggert  <eggert@twinsun.com>
76142         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
76143         <stdint.h>.
76144         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
76145         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
76146         int.  Work more efficiently if X is the same width as uintmax_t.
76147         Do not compare X to -1, to avoid bogus compiler warning.
76148         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
76149         Don't assume that f_frsize and f_bsize are the same type.
76150
76151         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
76152         warning on FreeBSD.
76153
76154         * lib/makepath.c (make_path): Restore umask *before* creating the final
76155         component.
76156         (make_path): Minor reformatting.
76157
76158         * lib/xmalloc.c: Adjust to work with new autoconf macros,
76159         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
76160         HAVE_MALLOC/HAVE_REALLOC.
76161
76162         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
76163         dummy ones.  At least on GNU/Linux systems, `auto' means something
76164         else.
76165         From Michael Stone.
76166
76167 2002-11-21  Bruno Haible  <bruno@clisp.org>
76168
76169         Remove case insensitive option matching.
76170         * lib/argmatch.h (argcasematch): Remove declaration.
76171         (ARGCASEMATCH): Remove macro.
76172         (__xargmatch_internal): Remove case_sensitive argument.
76173         (XARGMATCH): Update.
76174         (XARGCASEMATCH): Remove macro.
76175         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
76176         case_sensitive argument.
76177         (argcasematch): Remove function.
76178         (__xargmatch_internal): Remove case_sensitive argument.
76179         (main): Use XARGMATCH instead of XARGCASEMATCH.
76180
76181         * lib/xmalloc.c: Change compile-time error message. Add comment about
76182         required autoconf version.
76183
76184 2002-11-20  Paul Eggert  <eggert@twinsun.com>
76185
76186         Merge argmatch cleanups from Bison.  Assume C89.
76187
76188         * lib/argmatch.c: Include config.h here, not in argmatch.h.
76189         Include stdlib.h, for EXIT_FAILURE.
76190         Always include <string.h>, since we assume C89.
76191         (EXIT_FAILURE): Remove pre-C89 bug workaround.
76192         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
76193         Include <stddef.h> instead, since it's all we need for size_t.
76194         (PARAMS): Remove.  All uses removed.
76195         (ARRAY_CARDINALITY): Do not bother to #undef.
76196         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
76197         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76198         Remove unnecessary parentheses.
76199         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
76200         Insert necessary parentheses.
76201         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
76202         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
76203
76204 2002-11-19  Bruno Haible  <bruno@clisp.org>
76205
76206         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
76207         * lib/mbswidth.h: Include <stddef.h>, for size_t.
76208
76209         * lib/mbswidth.h (PARAMS): Remove macro.
76210         (mbswidth, mbsnwidth): Use ANSI C function declarations.
76211         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
76212
76213         * lib/gcd.h (PARAMS): Remove macro.
76214         (gcd): Use ANSI C function declarations.
76215         * lib/gcd.c (gcd): Likewise.
76216
76217 2002-11-15  Bruno Haible  <bruno@clisp.org>
76218
76219         * lib/strcspn.c: Include <stddef.h>.
76220         (strcspn): Use ANSI C function declaration. Change return type to
76221         size_t. Use NULL.
76222         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
76223         (strpbrk): Use NULL.
76224         * lib/strpbrk.h (PARAMS): Remove macro.
76225         (strpbrk): Use ANSI C function declaration.
76226         * lib/strstr.c: Don't include <sys/types.h>.
76227         * lib/strstr.h (PARAMS): Remove macro.
76228         (strstr): Use ANSI C function declarations.
76229
76230 2002-11-14  Karl Berry  <karl@gnu.org>
76231
76232         * config/mkinstalldirs: `do' on separate line, instead of
76233         `for var; do'.
76234
76235 2002-11-06  Bruno Haible  <bruno@clisp.org>
76236
76237         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
76238         * lib/gcd.c (gcd): Likewise.
76239
76240 2002-11-05  Bruno Haible  <bruno@clisp.org>
76241
76242         * lib/gcd.h: New file, from gettext-0.11.5.
76243         * lib/gcd.c: New file, from gettext-0.11.5.
76244
76245 2002-11-05  Bruno Haible  <bruno@clisp.org>
76246
76247         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76248         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76249         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76250         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
76251
76252         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
76253         <libintl.h>.
76254         * lib/makepath.c: Include gettext.h instead of <locale.h> and
76255         <libintl.h>.
76256
76257         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
76258         * lib/human.c: Include gettext.h instead of <libintl.h>.
76259         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
76260         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
76261         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
76262         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
76263         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
76264         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
76265         (textdomain): Remove definition.
76266         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
76267
76268         * lib/long-options.c: Remove include of <libintl.h> and definition of
76269         _.
76270         * lib/same.c: Remove include of <libintl.h> and definition of _.
76271
76272 2002-11-04  Owen Taylor  <otaylor@redhat.com>
76273
76274         * lib/config.charset: A few additions for Solaris.
76275
76276 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76277
76278         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
76279         * lib/localcharset.c (locale_charset): Declare as extern "C".
76280
76281 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
76282
76283         * lib/config.charset: msdos in uk_UA uses CP1125.
76284
76285 2002-11-04  Bruno Haible  <bruno@clisp.org>
76286
76287         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
76288         * lib/strcase.h: New file, from GNU gettext-0.11.5.
76289         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
76290         * lib/strstr.h: New file, from GNU gettext-0.11.5.
76291         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
76292
76293 2002-11-04  Bruno Haible  <bruno@clisp.org>
76294
76295         * lib/localcharset.c (locale_charset): Don't return an empty string.
76296
76297 2002-11-04  Bruno Haible  <bruno@clisp.org>
76298
76299         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
76300         aliases.
76301
76302 2002-11-04  Bruno Haible  <bruno@clisp.org>
76303
76304         * lib/config.charset: Update for newest glibc. Add canonical names
76305         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
76306
76307 2002-11-04  Bruno Haible  <bruno@clisp.org>
76308
76309         * lib/config.charset: Add support for NetBSD.
76310
76311 2002-11-04  Bruno Haible  <bruno@clisp.org>
76312
76313         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
76314
76315 2002-11-01  Bruno Haible  <bruno@clisp.org>
76316
76317         * configure.in: Add AC_CONFIG_AUX_DIR call.
76318         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
76319         test/Makefile.
76320         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
76321
76322 2002-09-28  Karl Berry  <karl@gnu.org>
76323
76324         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
76325         installed automake until the next release, since changes have been
76326         made.
76327
76328 2002-09-25  Karl Berry  <karl@gnu.org>
76329
76330         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
76331         * lib/getopt*: copy from libc/posix.
76332         * lib/gettext.h: copy from gettext.
76333         * lib/.cppi-disable: add strdup.c, gettext.h.
76334
76335 2002-09-25  Karl Berry  <karl@gnu.org>
76336
76337         * config/srclist.txt: enable gettext.h check.
76338         * config/config.{guess,sub}: update from prep.
76339         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
76340                 from automake 1.6.3.
76341         See srclist*.
76342
76343 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
76344
76345         * regex.c (PATFETCH): Remove the translating fetch.
76346         (PATFETCH_RAW): Rename to PATFETCH.
76347         (set_image_of_range): New fun.
76348         (SET_RANGE_TABLE_WORK_AREA): Use it.
76349         (regex_compile): Don't translate the pattern chars so eagerly.
76350         Only do it when inserting an `exactn' bytecode or when handling
76351         a char-range.
76352         (mutually_exclusive_p): Avoid empty statement.
76353
76354 2002-07-06  Jim Meyering  <meyering@lucent.com>
76355
76356         * m4/README: Don't mention Makefile.am.in.
76357         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
76358
76359 2002-07-01  Jim Meyering  <meyering@lucent.com>
76360
76361         * lib/c-stack.c: Include sys/time.h.
76362         From Volker Borchert.
76363
76364 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76365
76366         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
76367
76368 2002-06-26  Paul Eggert  <eggert@twinsun.com>
76369
76370         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
76371         New macro.  Use it uniformly instead of
76372         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
76373         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
76374         reported by Vin Shelton.
76375
76376 2002-06-22  Paul Eggert  <eggert@twinsun.com>
76377
76378         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
76379         Do not assume SA_SIGINFO behavior.
76380         Bug reported by Jim Meyering on NetBSD 1.5.2.
76381
76382 2002-06-22  Jim Meyering  <meyering@lucent.com>
76383
76384         * m4/c-stack.m4: New file, from diffutils-2.8.2.
76385         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
76386
76387         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
76388         now that configure.ac uses AC_GNU_SOURCE.
76389         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
76390         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
76391
76392         Update to latest tools.  Suggestions from Paul Eggert.
76393         * m4/stdbool.m4: New file, from diffutils-2.8.2.
76394         * m4/gnu-source.m4: Update from diffutils-2.8.2.
76395         * m4/fnmatch.m4: Likewise.
76396         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
76397         to AC_HEADER_STDBOOL
76398
76399 2002-06-22  Jim Meyering  <meyering@lucent.com>
76400
76401         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
76402         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
76403
76404 2002-06-22  Jim Meyering  <meyering@lucent.com>
76405
76406         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
76407
76408         * lib/exitfail.c, exitfail.h: Likewise.
76409         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
76410
76411         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
76412         of fnmatch.h.
76413         (EXTRA_DIST): Add fnmatch_loop.c.
76414         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
76415
76416         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
76417         * lib/fnmatch.c: Update from diffutils-2.8.2.
76418         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
76419         * lib/fnmatch.h: Remove file.
76420
76421 2002-06-21  Jim Meyering  <meyering@lucent.com>
76422
76423         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
76424         * m4/mbrtowc.m4: Likewise.
76425
76426         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
76427         * m4/mbswidth.m4: Reflect name change:
76428         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
76429         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76430
76431         * m4/lib-link.m4: Update from gettext-0.11.2.
76432         * m4/gettext.m4: Likewise.
76433
76434         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
76435         From Alfred M. Szmidt.
76436
76437 2002-06-18  Paul Eggert  <eggert@twinsun.com>
76438
76439         * lib/file-type.h: Report an error if neither S_ISREG nor
76440         S_IFREG is defined, instead of using a test specific to glibc
76441         2.2.  This should be safe, since POSIX requires S_ISREG and
76442         Unix Version 7 had S_IFREG.  We don't need to check for
76443         <sys/types.h> since we don't use any symbols that it defines.
76444
76445 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
76446
76447         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
76448         $@-t, so that each temporary file name is unique and valid in the first
76449         8 characters, for operation under DOS.
76450
76451 2002-06-15  Paul Eggert  <eggert@twinsun.com>
76452
76453         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
76454
76455 2002-06-15  Jim Meyering  <meyering@lucent.com>
76456
76457         Work even with DJGPP 2.03, which lacks support for symlinks.
76458         From Richard Dawe.
76459         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
76460         is defined.
76461         * lib/lchown.c (S_ISLNK): Likewise.
76462
76463 2002-06-15  Jim Meyering  <meyering@lucent.com>
76464
76465         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
76466         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
76467         have been included before this file.
76468
76469 2002-06-14  Jim Meyering  <meyering@lucent.com>
76470
76471         * lib/file-type.h: Use the version from diffutils-2.8.2.
76472         * lib/file-type.c: Likewise.
76473
76474 2002-06-07  Jim Meyering  <meyering@lucent.com>
76475
76476         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
76477         They're needed at least for NetBSD 1.5.2.
76478         ($statxfs_includes): Include those same headers.
76479         ($statxfs_includes): Include sys/vfs.h if available.
76480         ($statxfs_includes): Likewise for sys/statvfs.h.
76481         Check for the following members in both structs statfs and statvfs:
76482         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
76483
76484 2002-06-01  Jim Meyering  <meyering@lucent.com>
76485
76486         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
76487         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
76488
76489 2002-05-28  Jim Meyering  <meyering@lucent.com>
76490
76491         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
76492         Reported by Volker Borchert.
76493
76494 2002-05-27  Jim Meyering  <meyering@lucent.com>
76495
76496         Fix a problem seen only on nonconforming systems whereby ls.c's
76497         use of localtime, and then of gettimeofday would cause trouble:
76498         the localtime call used to initialize rpl_gettimeofday's save
76499         mechanism would clobber ls's current local time information so
76500         that in any long listing the first file would always be listed
76501         with date 1970-01-01.  Analysis by Volker Borchert.
76502
76503         * lib/gettimeofday.c (localtime): Undefine.
76504         (rpl_localtime): New function.
76505
76506 2002-05-27  Jim Meyering  <meyering@lucent.com>
76507
76508         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
76509         localtime.
76510
76511         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
76512         use the replacement function; it wouldn't resolve at link time.
76513         Reported by Volker Borchert.
76514
76515 2002-05-22  Jim Meyering  <meyering@lucent.com>
76516
76517         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
76518         file-type.h.
76519         * lib/file-type.h: New file.
76520         * lib/file-type.c (file_type): New file/function.  Extracted from
76521         diffutils.
76522
76523 2002-04-30  Jim Meyering  <meyering@lucent.com>
76524
76525         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
76526
76527 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76528
76529         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
76530
76531 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76532
76533         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
76534         Do not check for alloca.h (no longer used) or stdbool.h (was never
76535         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
76536
76537 2002-04-29  Paul Eggert  <eggert@twinsun.com>
76538
76539         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
76540
76541 2002-04-29  Jim Meyering  <meyering@lucent.com>
76542
76543         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
76544         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
76545         Use AC_FUNC_STRNLEN here instead.
76546
76547         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
76548         With autoconf-2.53a, it's part of AC_PROG_CC.
76549
76550 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76551
76552         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
76553         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
76554
76555 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76556
76557         * lib/sig2str.h, lib/sig2str.c: New files.
76558         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
76559
76560 2002-04-28  Paul Eggert  <eggert@twinsun.com>
76561
76562         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
76563         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
76564         of 127, since 64 is the largest conceivable number for ancient
76565         nonstandard hosts.
76566         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
76567
76568 2002-04-28  Jim Meyering  <meyering@lucent.com>
76569
76570         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
76571
76572 2002-04-24  Jim Meyering  <meyering@lucent.com>
76573
76574         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
76575         (jm_PREREQ): Use it.
76576
76577         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
76578         mach/mach.h fcntl.h.
76579         Check for this function: setlocale.
76580
76581 2002-04-24  Jim Meyering  <meyering@lucent.com>
76582
76583         * lib/gettext.h: New file, from Gettext.
76584         * lib/Makefile.am (INCLUDES): Remove -I../intl.
76585         (libfetish_a_SOURCES): Add gettext.h.
76586
76587 2002-04-16  Jim Meyering  <meyering@lucent.com>
76588
76589         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
76590         ut_pid, ut_id, ut_exit.
76591
76592 2002-04-16  Jim Meyering  <meyering@lucent.com>
76593
76594         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
76595         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
76596         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
76597
76598 2002-04-12  Jim Meyering  <meyering@lucent.com>
76599
76600         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
76601         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
76602         existence of the getmntinfo function.  Needed for Darwin 5.3.
76603
76604         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
76605         This is necessary at least on Darwin 5.3.
76606
76607         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
76608         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
76609         strnlen.o in the library, and that makes some versions of ranlib
76610         object.
76611
76612 2002-04-12  Jim Meyering  <meyering@lucent.com>
76613
76614         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
76615
76616 2002-04-09  Jim Meyering  <meyering@lucent.com>
76617
76618         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
76619         to be more precise.  Rather than saying we're checking whether the
76620         function `works', say what we're testing.
76621         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
76622         Reported by Bruno Haible.
76623
76624 2002-03-10  Jim Meyering  <meyering@lucent.com>
76625
76626         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
76627         Suggestion from Santiago Vila.
76628
76629 2002-03-08  Jim Meyering  <meyering@lucent.com>
76630
76631         * lib/rename.c: Mention that this wrapper is needed also on
76632         mips-dec-ultrix4.4 systems.
76633
76634 2002-03-02  Jim Meyering  <meyering@lucent.com>
76635
76636         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
76637         not HAVE_CLOCK_SETTIME.
76638
76639 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76640
76641         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
76642         Check for clock_settime.
76643
76644 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76645
76646         * lib/nanosleep.h: Rename to....
76647         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
76648
76649         * lib/gettime.c: New file.
76650         * lib/settime.c: New file.
76651         * lib/stime.c: Remove.
76652
76653         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
76654         timespec.h.  Remove nanosleep.h.
76655
76656 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76657
76658         * m4/acl.m4: New file.
76659         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
76660         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
76661
76662 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76663
76664         * lib/acl.c, lib/acl.h: New files.
76665         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
76666
76667 2002-02-24  Jim Meyering  <meyering@lucent.com>
76668
76669         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
76670         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
76671         cause trouble.  Reported by Nelson Beebe.
76672
76673 2002-02-23  Paul Eggert  <eggert@twinsun.com>
76674
76675         * lib/path-concat.c (xpath_concat): Reorder code to pacify
76676         compilers that don't know that xalloc_die never returns.
76677
76678 2002-02-20  Jim Meyering  <meyering@lucent.com>
76679
76680         * lib/getdate.c: Regenerate using bison-1.33.
76681
76682 2002-02-17  Jim Meyering  <meyering@lucent.com>
76683
76684         * config/config.guess (main): Don't use `head -1'; it's no longer
76685         portable. Use `sed 1q' instead.
76686
76687 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
76688
76689         * m4/codeset.m4: Upgrade to gettext-0.11.
76690         * m4/gettext.m4: Upgrade to gettext-0.11.
76691         * m4/glibc21.m4: Upgrade to gettext-0.11.
76692         * m4/iconv.m4: Upgrade to gettext-0.11.
76693         * m4/isc-posix.m4: Upgrade to gettext-0.11.
76694         * m4/lcmessage.m4: Upgrade to gettext-0.11.
76695         * m4/lib-ld.m4: New file, from gettext-0.11.
76696         * m4/lib-link.m4: New file, from gettext-0.11.
76697         * m4/lib-prefix.m4: New file, from gettext-0.11.
76698         * m4/progtest.m4: Upgrade to gettext-0.11.
76699
76700 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76701
76702         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
76703         (jm_PREREQ): Use it.
76704
76705 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76706
76707         * lib/posixver.c, lib/posixver.h: New files.
76708         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76709
76710 2002-02-02  Paul Eggert  <eggert@twinsun.com>
76711             Bruno Haible  <bruno@clisp.org>
76712
76713         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
76714         (fwrite_success_callback): New declaration.
76715         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
76716         print_unicode_char. Call failure callback instead of error.
76717         (fwrite_success_callback): New function.
76718         (exit_failure_callback): New function.
76719         (fallback_failure_callback): New function.
76720         (print_unicode_char): Call unicode_to_mb.
76721
76722 2002-01-26  Jim Meyering  <meyering@lucent.com>
76723
76724         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
76725         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
76726
76727 2002-01-26  Jim Meyering  <meyering@lucent.com>
76728
76729         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
76730
76731 2002-01-22  Paul Eggert  <eggert@twinsun.com>
76732
76733         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
76734
76735 2002-01-22  Jim Meyering  <meyering@lucent.com>
76736
76737         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
76738         Otherwise, some versions of automake would omit the rule that makes
76739         Makefile from Makefile.in.
76740
76741 2002-01-21  Paul Eggert  <eggert@twinsun.com>
76742
76743         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
76744         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76745         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
76746         (memcoll): Set errno to zero if there is no error.
76747
76748         * lib/quotearg.c (quotearg_buffer_restyled):
76749         Fix bug with quoting buffers containing NUL when backslashing escapes.
76750         This bug was exposed by the other changes in this patch.
76751         (quotearg_n_options): New arg ARGSIZE.
76752         All callers changed.
76753         (quoting_options_from_style): New function.
76754         (quotearg_n_style): Use it.
76755         (quotearg_n_style_mem): New function.
76756
76757         * lib/quotearg.h (quotearg_n_style_mem): New function.
76758
76759 2002-01-19  Jim Meyering  <meyering@lucent.com>
76760
76761         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
76762         Remove useless quotes: DF_PROG="df".
76763         * m4/strnlen.m4: New file.
76764
76765 2002-01-16  Paul Eggert  <eggert@twinsun.com>
76766
76767         * lib/backupfile.c (ISDIGIT): Comment fix.
76768         * lib/getdate.y (ISDIGIT): Likewise.
76769         * lib/posixtm.c (ISDIGIT, year): Likewise.
76770         * lib/strverscmp.c (ISDIGIT): Likewise.
76771         * lib/userspec.c (ISDIGIT): Likewise.
76772
76773 2002-01-16  Jim Meyering  <meyering@lucent.com>
76774
76775         * lib/getdate.y: Add three semicolons, each just before a closing
76776         brace. Bison (as of version 1.31) no longer papers over that mistake.
76777
76778 2002-01-05  Jim Meyering  <meyering@lucent.com>
76779
76780         * lib/version-etc.c (version_etc_copyright): Update copyright year.
76781
76782 2001-12-19  Paul Eggert  <eggert@twinsun.com>
76783
76784         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
76785         not silently exit merely because the output buffer happens to
76786         have nothing pending.
76787
76788 2001-12-18  Paul Eggert  <eggert@twinsun.com>
76789
76790         See the big note in ../ChangeLog.
76791         * lib/human.c (suffixes): Prefer K to k for 1024.
76792         (generate_suffix_backwards): New function.
76793         (human_readable_inexact): Use it.
76794         * lib/xstrtol.c (__xstrtol): If there is no number but there
76795         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
76796         Accept 'K' as well as 'k'.
76797
76798 2001-12-15  Jim Meyering  <meyering@lucent.com>
76799
76800         * lib/regex.h (__restrict_arr): Update from libc.
76801
76802         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
76803         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
76804         (STREQ): Define.
76805
76806 2001-12-14  Jim Meyering  <meyering@lucent.com>
76807
76808         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
76809         Suggestion from Bruno Haible.
76810
76811 2001-12-10  Jim Meyering  <meyering@lucent.com>
76812
76813         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
76814         xrealloc, Instead, include "xalloc.h".
76815         (initbuffer): Don't cast xmalloc return value to char*.
76816         (readline): Reword comment.
76817         Don't cast xrealloc return value to char*
76818         Return NULL, not 0.
76819
76820 2001-12-09  Jim Meyering  <meyering@lucent.com>
76821
76822         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
76823         about `signed and unsigned type in conditional expression'.
76824         * lib/posixtm.c (posix_time_parse): Likewise.
76825
76826         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
76827
76828         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
76829         to avoid a pedantic warning.
76830
76831         * lib/getstr.c: Don't include assert.h.
76832         (getstr): Remove warning-evoking assertions.
76833         Return -1 if offset parameter is out of bounds.
76834         Change the type of a local from int to size_t.
76835
76836         * lib/strftime.c (my_strftime_localtime_r): Include this function
76837         definition in the `#if ! HAVE_TM_GMTOFF' block.
76838
76839         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
76840         Include xalloc.h instead.
76841
76842 2001-12-02  Jim Meyering  <meyering@lucent.com>
76843
76844         * lib/tempname.c: Don't declare getenv, thus reverting the change of
76845         2001-11-18.  It's no longer necessary, now that stdlib.h is always
76846         included.
76847
76848         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
76849         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
76850
76851 2001-11-30  Akim Demaille  <akim@epita.fr>
76852
76853         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
76854         before being defined.
76855
76856 2001-11-27  Paul Eggert  <eggert@twinsun.com>
76857
76858         * lib/quotearg.h (quotearg_n, quotearg_n_style):
76859         First arg is int, not unsigned.
76860         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
76861         (SIZE_MAX, UINT_MAX): New macros.
76862         (quotearg_n_options): Abort if N is negative.
76863         Avoid overflow check on hosts where size_t is 64 bits and int
76864         is 32 bits, as overflow is impossible there.
76865         Fix off-by-one typo that caused unnecessary reallocation.
76866
76867 2001-11-27  Jim Meyering  <meyering@lucent.com>
76868
76869         * lib/tempname.c: Merge with version from libc.
76870         * lib/regex.c: Likewise.
76871
76872         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
76873         systems for which STDC_HEADERS is 0, it was not included, resulting in
76874         a warning about an integer-to-pointer conversion problem with getenv.
76875         Reported by Volker Borchert.
76876
76877 2001-11-26  Jim Meyering  <meyering@lucent.com>
76878
76879         * lib/gtod.h: Remove file.
76880         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
76881         * lib/gettimeofday.c: Don't include gtod.h.
76882         (GTOD_init): Remove function.
76883         (rpl_gettimeofday): Do its job here instead, rather than aborting.
76884         Suggestion from Volker Borchert.
76885
76886 2001-11-23  Jim Meyering  <meyering@lucent.com>
76887
76888         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
76889         it.
76890         * lib/hash.c (struct hash_table): Define it here instead.
76891
76892 2001-11-22  Jim Meyering  <meyering@lucent.com>
76893
76894         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
76895
76896 2001-11-20  Jim Meyering  <meyering@lucent.com>
76897
76898         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
76899         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
76900
76901 2001-11-19  Jim Meyering  <meyering@lucent.com>
76902
76903         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
76904         directory.  Use "conftestXXXXXX" as the template.
76905         Suggestion from Paul Eggert.
76906
76907         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
76908         immediately, so the test doesn't mistakenly hit the max-open-files
76909         limit.
76910
76911 2001-11-18  Paul Eggert  <eggert@twinsun.com>
76912
76913         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
76914         (TEMPORARIES): New macro.
76915         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
76916         removes an artificial limitation (e.g. HP-UX 10.20, where
76917         TMP_MAX is 17576).
76918
76919 2001-11-18  Jim Meyering  <meyering@lucent.com>
76920
76921         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
76922
76923 2001-11-18  Jim Meyering  <meyering@lucent.com>
76924
76925         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
76926         on SunOS 4.
76927
76928         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
76929         files will be created before anything else.
76930
76931 2001-11-17  Paul Eggert  <eggert@twinsun.com>
76932
76933         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
76934         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
76935
76936 2001-11-17  Jim Meyering  <meyering@lucent.com>
76937
76938         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
76939         Prompted by a report from Bob Proulx.
76940
76941         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
76942         Instead, require UTILS_FUNC_MKSTEMP.
76943
76944 2001-11-17  Jim Meyering  <meyering@lucent.com>
76945
76946         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
76947         Now, that's done as part of AC_FUNC_STRTOD.
76948
76949 2001-11-17  Jim Meyering  <meyering@lucent.com>
76950
76951         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
76952         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
76953         rather than group writable.  Patch by Juan F. Codagnone.
76954
76955         * lib/readtokens.c: Remove explicit declarations of xmalloc and
76956         xrealloc, Instead, include "xalloc.h".
76957
76958         * lib/mountlist.c: Include unlocked-io.h after all system headers.
76959         Remove explicit declarations of xmalloc, xrealloc,
76960         and xstrdup.  Instead, include "xalloc.h".
76961
76962         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
76963         unlocked-io.h.
76964         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
76965         Likewise.
76966         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
76967
76968         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
76969         Reported by Padraig Brady.
76970
76971         * lib/mkstemp.c: #undef mkstemp.
76972         Include config.h.
76973         (rpl_mkstemp): Rename from mkstemp.
76974         Protoize.
76975
76976 2001-11-16  Jim Meyering  <meyering@lucent.com>
76977
76978         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
76979         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
76980         determine the amount of total physical memory, use pstat_getstatic.
76981         HPUX-11 doesn't define _SC_PHYS_PAGES.
76982         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
76983         If sysconf couldn't be used to determine the amount of available
76984         physical memory, use both pstat_getstatic and pstat_getdynamic.
76985         Based on a patch from Bob Proulx.
76986
76987 2001-11-10  Jim Meyering  <meyering@lucent.com>
76988
76989         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
76990         (jm_PREREQ): Use it.
76991
76992 2001-11-09  Jim Meyering  <meyering@lucent.com>
76993
76994         * m4/jm-macros.m4: Require autoconf-2.52f.
76995         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
76996         Use these AC_-prefixed names, not the AM_-prefixed ones.
76997
76998         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
76999
77000 2001-11-05  Jim Meyering  <meyering@lucent.com>
77001
77002         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
77003
77004 2001-11-04  Jim Meyering  <meyering@lucent.com>
77005
77006         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
77007         $DEFS.
77008
77009 2001-11-03  Jim Meyering  <meyering@lucent.com>
77010
77011         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
77012         of AC_DEFUN.
77013
77014         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
77015         know the name of the variable in the macro definition.
77016
77017 2001-11-03  Jim Meyering  <meyering@lucent.com>
77018
77019         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
77020         in argmatch_to_argument call.
77021
77022         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
77023         argument.
77024
77025         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
77026         e.g., a fault due to an attempt to free a NULL pointer.
77027
77028 2001-11-01  Jim Meyering  <meyering@lucent.com>
77029
77030         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
77031         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
77032
77033 2001-11-01  Jim Meyering  <meyering@lucent.com>
77034
77035         * lib/dirfd.c, lib/dirfd.h: New files.
77036         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
77037
77038         * lib/hash.c (hash_print) [TESTING]: Clean up.
77039
77040 2001-10-22  Paul Eggert  <eggert@twinsun.com>
77041
77042         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
77043         to avoid a warning if -Wall.
77044
77045 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
77046
77047         * README: New file
77048         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
77049         (per RMS's instructions, this is now the canonical source)
77050         * lgpl/, gpl/: New directories.
77051
77052 2001-10-21  Paul Eggert  <eggert@twinsun.com>
77053
77054         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
77055
77056 2001-10-21  Jim Meyering  <meyering@lucent.com>
77057
77058         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
77059         this code would end up calling gettext even in packages built
77060         with --disable-nls.
77061         * lib/getopt.c (_): Likewise.
77062         * lib/regex.c (_): Likewise.
77063
77064 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77065
77066         * m4/error.m4 (jm_PREREQ_ERROR):
77067         Do not invoke AC_CHECK_FUNCS with strerror_r, as
77068         AC_FUNC_STRERROR_R does that.
77069         Check for strerror declaration.
77070
77071         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
77072         are supposed to have them these days.
77073         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
77074         Merge changes from latest Autoconf CVS.
77075         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
77076         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
77077         POSIX decided to standardize on the int flavor of strerror_r.
77078
77079 2001-10-20  Paul Eggert  <eggert@twinsun.com>
77080
77081         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
77082         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
77083         Use strerror_r that is only a macro, even if it is not a function.
77084         (strerror): Check for HAVE_DECL_STRERROR before declaring.
77085         (private_strerror): Use prototypes, not old-style function definition.
77086         (print_errno_message): New function.
77087         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
77088         char*-flavored one.
77089         (error_tail, error, error_at_line): Use it.
77090
77091 2001-10-11  Jim Meyering  <meyering@lucent.com>
77092
77093         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
77094         and quote_n (1, ... to avoid clobbering a buffer.
77095
77096 2001-10-05  Jim Meyering  <meyering@lucent.com>
77097
77098         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
77099         hash-pjw.h.
77100         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
77101         * lib/hash-pjw.h: New file.
77102
77103 2001-09-30  Jim Meyering  <meyering@lucent.com>
77104
77105         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
77106         `struct fsstat' has the `f_fstypename' member.
77107         Use that to define FS_TYPE, which is now used to make
77108         the getfsstat link test tighter.
77109
77110 2001-09-30  Jim Meyering  <meyering@lucent.com>
77111
77112         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
77113         Include <sys/ucred.h>, for Apple Darwin.
77114         Include sys/mount.h and sys/fs_types.h only if available.
77115         (FS_TYPE): Define.
77116         (read_filesystem_list): Use FS_TYPE.
77117
77118 2001-09-29  Paul Eggert  <eggert@twinsun.com>
77119
77120         * lib/exclude.c (excluded_filename): 0 -> false, since it's
77121         a boolean context.
77122
77123 2001-09-29  Jim Meyering  <meyering@lucent.com>
77124
77125         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
77126         [one-argument getmntent function]): Include stdio.h before mntent.h.
77127         SunOS 4.1.x needs it for the declaration of `FILE'.
77128         Patch by Volker Borchert.
77129
77130         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
77131         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
77132         sys/fs_types.h, and make the link-test for getfsstat guard #include
77133         directives with appropriate #if HAVE_*_H tests so that we can
77134         detect getfsstat on Apple Darwin1.3.7 systems.
77135         Reported by Nelson Beebe.
77136         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
77137
77138 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77139
77140         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77141         #defines strtoimax.  Also treat the other strto* functions
77142         like strtoimax.
77143
77144         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77145         Check for strtoul and strtoumax,
77146         as those declarations are made even in the signed case.
77147         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
77148         Likewise, for strtol and strtoimax.
77149
77150 2001-09-28  Paul Eggert  <eggert@twinsun.com>
77151
77152         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
77153         #defines strtoimax.  Also treat the other strto* functions
77154         like strtoimax.
77155
77156         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
77157         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
77158         (strtoimax, strtoumax): Do not declare if already defined as a macro.
77159
77160 2001-09-26  Jim Meyering  <meyering@lucent.com>
77161
77162         Most macros in unlocked-io.h had the wrong number of arguments.
77163         * lib/gen-uio: New script.
77164         (USE_UNLOCKED_IO): Define to 1 if not already defined.
77165         * lib/unlocked-io.hin: Remove file.
77166         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
77167         rather than trying to embed it here.
77168         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
77169         Reported by Padraig Brady.
77170
77171 2001-09-25  Volker Borchert  <bt@teknon.de>
77172
77173         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
77174         `result'.
77175
77176 2001-09-24  Jim Meyering  <meyering@lucent.com>
77177
77178         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
77179
77180 2001-09-23  Jim Meyering  <meyering@lucent.com>
77181
77182         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
77183         instead of the mere test for existence of mntent.h.  The latter
77184         would get a false-positive on AIX 3.4 systems.
77185         In the outer getmntent if-block, don't die if neither of the getmntent
77186         tests succeeds.  Instead, just fall through and continue with the
77187         remaining tests.
77188
77189 2001-09-23  Jim Meyering  <meyering@lucent.com>
77190
77191         * lib/mountlist.c: Remove useless parentheses in #if directives.
77192         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
77193         the deprecated MOUNTED symbol is no longer defined in mntent.h.
77194
77195 2001-09-22  Jim Meyering  <meyering@lucent.com>
77196
77197         * m4/gettext.m4: New file.  From gettext.
77198         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
77199         * m4/progtest.m4: Likewise
77200         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
77201         * m4/glibc21.m4: Likewise.
77202
77203         * m4/libintl.m4: Remove.  No longer used.
77204
77205 2001-09-22  Jim Meyering  <meyering@lucent.com>
77206
77207         * lib/localcharset.c: Update from latest gettext.
77208         * lib/config.charset: Likewise.
77209
77210 2001-09-20  Jim Meyering  <meyering@lucent.com>
77211
77212         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
77213         strtoimax.
77214         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
77215         strtoumax.
77216
77217 2001-09-20  Jim Meyering  <meyering@lucent.com>
77218
77219         * lib/xstrtol.c (strtoimax): Guard declaration with
77220         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
77221         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
77222         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
77223         (strtoumax): Likewise, for completeness (it wasn't necessary).
77224
77225 2001-09-17  Paul Eggert  <eggert@twinsun.com>
77226
77227         * lib/strtoimax.c (HAVE_LONG_LONG):
77228         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
77229         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
77230         to work around bug in IBM C compiler.
77231
77232 2001-09-17  Jim Meyering  <meyering@lucent.com>
77233
77234         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
77235         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
77236         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
77237         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
77238         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
77239         whenever the right hand side need not be expanded by the shell.
77240
77241 2001-09-16  Paul Eggert  <eggert@twinsun.com>
77242
77243         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
77244         library.  It's not correct, as some older glibcs are buggy.
77245         fnmatch wasn't fixed until glibc 2.2.
77246
77247         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
77248         special shell magic here.
77249
77250 2001-09-16  Jim Meyering  <meyering@lucent.com>
77251
77252         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
77253         * m4/jm-macros.m4: Require it.
77254
77255 2001-09-16  Jim Meyering  <meyering@lucent.com>
77256
77257         * lib/mkdir.c: New file.
77258
77259 2001-09-15  Jim Meyering  <meyering@lucent.com>
77260
77261         * m4/jm-macros.m4: Check for help2man.
77262
77263 2001-09-11  Jim Meyering  <meyering@lucent.com>
77264
77265         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
77266         The body, by Paul Eggert, was moved here from configure.in.
77267         * m4/jm-macros.m4: Require UTILS_HOST_OS.
77268
77269 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77270
77271         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
77272         (jm_PREREQ): Use it.
77273
77274 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77275
77276         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
77277         Use ssize_t, not int, to store result of readlink.
77278         Check for ssize_t overflow as well as size_t overflow,
77279         as POSIX says the result of readlink is implementation-defined
77280         when ssize_t overflows.
77281         Remove unnecessary cast to char*.
77282         Use free+malloc instead of realloc, as the storage doesn't need
77283         to be preserved and it's clearer and can be more efficient that way.
77284         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
77285         * lib/xreadlink.h (xreadlink): Update prototype.
77286
77287 2001-09-04  Paul Eggert  <eggert@twinsun.com>
77288
77289         * lib/xgetcwd.c: Revert some of the previous change; intead,
77290         fix the HAVE_GETCWD_NULL code to behave more like the
77291         !HAVE_GETCWD_NULL code used to.
77292
77293         Include "xalloc.h".
77294         (xgetcwd): Do not return NULL when memory is exhausted; instead,
77295         invoke xalloc_die.
77296
77297 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77298
77299         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
77300         sys/param.h, as pathmax.h includes them.
77301
77302 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77303
77304         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
77305         (jm_PREREQ_XGETCWD): New macro.
77306
77307         * m4/getcwd.m4: New file.
77308
77309 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77310
77311         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
77312         like the HAVE_GETCWD_NULL code.
77313         Include pathmax.h if not HAVE_GETCWD.
77314         Do not include xalloc.h.
77315         (INITIAL_BUFFER_SIZE): New symbol.
77316         Do not use xmalloc / xrealloc, since the caller is responsible for
77317         handling errors.  Preserve errno around `free' during failure.
77318         Do not overrun buffer when using getwd.
77319
77320 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77321
77322         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
77323         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
77324         getcwd (NULL, 0).
77325
77326 2001-09-03  Paul Eggert  <eggert@twinsun.com>
77327
77328         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
77329         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
77330         spotted by Jim Meyering.
77331
77332 2001-09-03  Jim Meyering  <meyering@lucent.com>
77333
77334         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
77335         failure.
77336
77337 2001-09-02  Jim Meyering  <meyering@lucent.com>
77338
77339         * lib/error.c: Update from GNU libc.
77340
77341 2001-09-01  Jim Meyering  <meyering@lucent.com>
77342
77343         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
77344         Used by df.
77345
77346 2001-09-01  Jim Meyering  <meyering@lucent.com>
77347
77348         * lib/xreadlink.c: New file.
77349         * lib/xreadlink.h: New file.
77350         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
77351         xreadlink.h.
77352
77353         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
77354         doesn't conflict with sparc Solaris 7's definition in
77355         /usr/include/sys/int_types.h.
77356
77357         * lib/exclude.c: Use `""', not `<>' to #include non-system header
77358         files.
77359         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
77360         and strncasecmp as r-values.  Unixware didn't have declarations.
77361
77362 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77363
77364         * lib/xstrtol.h: Add copyright notice.
77365         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
77366         LONGINT_INVALID_SUFFIX_CHAR.
77367
77368 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77369
77370         * lib/xstrtol.c (strtoimax): New decl.
77371
77372 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77373
77374         * lib/xgetcwd.c: Don't include pathmax.h.
77375         Include stdlib.h and unistd.h if available.
77376         Include xalloc.h.
77377         (xmalloc, xstrdup, free): Remove decls.
77378         (xgetcwd): Don't assume sizes fit in unsigned.
77379         Check for overflow when computing sizes.
77380         Simplify reallocation code.
77381
77382 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77383
77384         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
77385         a directory's st_size can have an arbitrary value, so the old
77386         usage could waste an arbitrary amount of memory.  All uses
77387         changed.
77388         * lib/savedir.h: Update prototype.
77389
77390 2001-08-31  Paul Eggert  <eggert@twinsun.com>
77391
77392         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
77393
77394         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
77395         old strtoimax.c.
77396
77397         Also, make the following further changes to make this file's
77398         configuration more similar to that of strtol.c:
77399         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
77400         (strtoumax, uintmax_t, strtoull, strtol): Remove.
77401         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
77402         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
77403         changed to signed values.
77404
77405         And make the following changes as well:
77406         Fix copyright notice, as 1999 was missing.
77407         (verify): New macro.
77408         (strtoimax): Check sizes at compile-time, not run-time.
77409         Prefer strtol to strtoll if both work.
77410         (main): Remove; it was not that useful and was a pain to maintain.
77411
77412         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
77413
77414 2001-08-31  Jim Meyering  <meyering@lucent.com>
77415
77416         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
77417         Use an initial, malloc'd, buffer of length 128 rather than
77418         a statically allocated one of length 1024.
77419
77420 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77421
77422         Simplify code, partly by assuming autoconf 2.52 semantics.
77423
77424         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
77425
77426         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
77427         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
77428         All uses removed.
77429         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
77430         Move AC_REQUIRE to next-to-top level, to avoid confusion.
77431         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
77432         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
77433         jm_AC_HEADER_INTTYPES_H.
77434         * m4/jm-macros.m4 (jm_MACROS): Likewise.
77435
77436         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
77437
77438         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
77439         Quote first arg of AC_DEFUN.
77440         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
77441         since they are needed to parse the include file even if we need
77442         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
77443         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
77444         but with opposite signedness.
77445
77446 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77447
77448         Merge 'exclude' changes from tar 1.13.22.
77449         This fixes one or two unlikely storage allocation overflow bugs,
77450         but doesn't change user-visible behavior otherwise.
77451
77452 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77453
77454         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
77455         (jm_PREREQ_EXCLUDE): New macro.
77456
77457 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77458
77459         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
77460         tm to be declared.
77461
77462 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77463
77464         * lib/hash.c: Remove '2001' from copyright notice.
77465
77466 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77467
77468         * lib/full-write.h: New file.
77469         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
77470         * lib/full-write.c: Correct credits, as cccp.c no longer
77471         exists and anyway it was so heavily changed from the old cccp
77472         code as to be unrecognizable.  Include full-write.h.
77473         (full_write): Return size_t, with short writes meaning failure.
77474         All callers changed.  This fixes a bug with large buffers
77475         on 64-bit hosts.
77476         * lib/utime.c: Include full-write.h.
77477
77478 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77479
77480         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
77481         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
77482         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
77483         Include if available.
77484         (<xalloc.h>): Include
77485         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
77486         (verify): New macro.  Use it to verify that EXCLUDE macros do not
77487         collide with FNM macros.
77488         (struct patopts): New struct.
77489         (struct exclude): Use it, as exclude patterns now come with options.
77490         (new_exclude): Support above changes.
77491         (new_exclude, add_exclude_file):
77492         Initial size must now be a power of two to simplify overflow checking.
77493         (free_exclude, fnmatch_no_wildcards): New function.
77494         (excluded_filename): No longer requires options arg, as the options
77495         are determined by add_exclude.  Now returns bool, not int.
77496         (excluded_filename, add_exclude):
77497         Add support for the fancy new exclusion options.
77498         (add_exclude, add_exclude_file): Now takes int options arg.
77499         Check for arithmetic overflow when computing sizes.
77500         (add_exclude_file): xrealloc might modify errno, so don't
77501         realloc until after errno might be used.
77502
77503         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
77504         New macros.
77505         (free_exclude): New decl.
77506         (add_exclude, add_exclude_file): Now takes int options arg.
77507         (excluded_filename): No longer requires options arg, as the options
77508         are determined by add_exclude.  Now returns bool, not int.
77509
77510 2001-08-30  Paul Eggert  <eggert@twinsun.com>
77511
77512         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
77513
77514 2001-08-27  Jim Meyering  <meyering@lucent.com>
77515
77516         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
77517
77518         * lib/version-etc.c (N_): Remove definition.
77519         Revert most of last change.
77520         Instead, simply don't mark the `Copyright...' string for translation.
77521         Based on advice from Paul Eggert.
77522
77523         * lib/strtoxmax.c: Tweak comment.
77524
77525 2001-08-26  Jim Meyering  <meyering@lucent.com>
77526
77527         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
77528
77529         * m4/xstrtoimax.m4: New file.
77530         * m4/xstrtoumax.m4: Add comments explaining why we
77531         AC_REPLACE_FUNCS(strtol).
77532
77533 2001-08-26  Jim Meyering  <meyering@lucent.com>
77534
77535         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
77536         of copyright with `%s' so translators don't get an untranslated
77537         message in 2002.
77538         (COPYRIGHT_YEAR): Define.
77539         (version_etc): Use fprintf rather than fputs.
77540         Suggestion from Ulrich Drepper.
77541
77542         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
77543
77544         * lib/strtoll.c: New file, from GNU libc.
77545         * lib/xstrtoimax.c: New file.
77546
77547         * lib/xstrtol.h: Add xstrtoimax.
77548         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
77549         * lib/strtoimax.c: New file.  Likewise, but first define
77550         STRTOUXMAX_SIGNED.
77551
77552         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
77553         ...
77554         * lib/strtoxmax.c: ... then renamed to this.
77555
77556 2001-08-18  Paul Eggert  <eggert@twinsun.com>
77557
77558         * m4/inttypes.m4: Add AC_PREREQ(2.13).
77559         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
77560         (jm_AC_TYPE_INTMAX_T): New macro.
77561         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
77562
77563         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
77564
77565         * m4/longlong.m4: Renamed from ulonglong.m4.
77566         * m4/inttypes.m4: Renamed from inttypes_h.m4.
77567         * m4/uintmax_t.m4: Removed.
77568
77569 2001-08-13  Paul Eggert  <eggert@twinsun.com>
77570
77571         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
77572         Port to Solaris 8, where 'sed' requires a space after the 'r'
77573         command, and where sh dislikes "$/".  Clean up the spacing a bit.
77574         Redirect output to $tmp just once.
77575
77576 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
77577
77578         * lib/addext.c (<errno.h>): Include.
77579         (errno): Declare if not defined.
77580         (addext): Work correctly when pathconf returns -1 and leaves
77581         errno alone because there is no limit.  Also, work even if
77582         pathconf returns a value greater than SIZE_MAX.
77583
77584 2001-08-12  Jim Meyering  <meyering@lucent.com>
77585
77586         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
77587         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
77588         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
77589         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
77590         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
77591         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
77592         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
77593         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
77594         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
77595         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
77596         utime.m4, utimes.m4, xstrtoumax.m4:
77597         Quote the first argument in each use of AC_DEFUN.
77598
77599 2001-08-12  Jim Meyering  <meyering@lucent.com>
77600
77601         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
77602         Simply `return getcwd (NULL, 0);'.
77603         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
77604         Use 1300 as initial value for length, not PATH_MAX.
77605
77606         * lib/pathmax.h: Clean up cpp syntax.
77607
77608 2001-08-12  Jim Meyering  <meyering@lucent.com>
77609
77610         * lib/gettimeofday.c: New file.
77611         * lib/gtod.h: New file.
77612         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
77613
77614 2001-08-05  Jim Meyering  <meyering@lucent.com>
77615
77616         * m4/jm-macros.m4: Require autoconf-2.52.
77617
77618 2001-08-04  Jim Meyering  <meyering@lucent.com>
77619
77620         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
77621         stmt, to get in sync with glibc.
77622
77623 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77624
77625         The following changes are from gettext 0.10.39 as maintained by
77626         Bruno Haible.
77627
77628         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
77629         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
77630         with inverted sense.  All uses changed.
77631
77632         * lib/mbswidth.c: Don't include <limits.h>.
77633         Include <stdlib.h> and <string.h> unconditionally.
77634         (iswcntrl, mbsinit, ISCNTRL): New macros.
77635         (mbsnwidth): Use K&R style function declarations.
77636         Don't bother checking for MB_LEN_MAX == 1, since the compiler
77637         can optimize it when MB_CUR_MAX == 1.
77638         The width of control characters is zero, not 1.
77639
77640 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77641
77642         The following changes are from gettext 0.10.39 as maintained by
77643         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
77644
77645         * m4/codeset.m4: Upgrade to serial AM1.
77646         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
77647         all uses changed.  Quote first arg of AC_DEFUN.
77648         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
77649
77650         * m4/iconv.m4: Upgrade to serial AM2.
77651         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
77652         Add --with-libconv-prefix.
77653         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
77654         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
77655         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
77656         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
77657         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
77658
77659         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
77660         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
77661         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
77662         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
77663         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
77664         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
77665         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
77666         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
77667         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77668
77669         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
77670         string.h any more.
77671
77672         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
77673         not the default value.
77674
77675         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
77676         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
77677         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
77678         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
77679         Also check for iswcntrl, used for wcwidth fallback.
77680         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
77681         to Autoconf 2.13.
77682
77683 2001-08-03  Jim Meyering  <meyering@lucent.com>
77684
77685         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
77686         as it was in the original.  Reported by Paul Eggert.
77687
77688 2001-07-16  Jim Meyering  <meyering@lucent.com>
77689
77690         * m4/gettimeofday.m4: New file.
77691         Prompted by a report from Bernhard Baehr.
77692
77693 2001-07-15  Jim Meyering  <meyering@lucent.com>
77694
77695         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
77696         stuff. Now it's in ../Makefile.cfg.
77697
77698 2001-07-15  Jim Meyering  <meyering@lucent.com>
77699
77700         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
77701         (BUILT_SOURCES): Add unlocked-io.h.
77702         (io_functions): Define.
77703         (unlocked-io.h): New rule.
77704         (DISTCLEANFILES): Add unlocked-io.h.
77705         (all-local): Depend on unlocked-io.h, to ensure it is created.
77706
77707         * lib/unlocked-io.hin: New file
77708
77709         * lib/regex.c: Update from glibc.
77710
77711 2001-07-05  Jim Meyering  <meyering@lucent.com>
77712
77713         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
77714         recommendation.
77715         (libfetish_a_SOURCES): Put all .h files here instead.
77716         Remove a thus-exposed (better checks in automake) duplicate and
77717         two unnecessary .h files.
77718
77719 2001-07-04  Jim Meyering  <meyering@lucent.com>
77720
77721         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
77722         that generates jm-glibc-io.m4 so that it doesn't trigger any make
77723         distcheck failure.
77724
77725 2001-07-02  Jim Meyering  <meyering@lucent.com>
77726
77727         The following changes were prompted by suggestions from Bruno Haible.
77728
77729         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
77730         is now generated.
77731         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
77732         definition of EXTRA_DIST.
77733         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
77734         ensure that the generated file is created/updated whenever the list
77735         of $(unlocked_functions) is changed.
77736         (jm-glibc-io.m4): New rule.
77737         (unlocked-io.h): New rule -- currently unused.
77738
77739 2001-06-24  Jim Meyering  <meyering@lucent.com>
77740
77741         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
77742         unmatched right bracket, rather than kludging it with an extra,
77743         falsely-matching quote in a comment.  Patch by Akim Demaille.
77744
77745 2001-06-11  Jim Meyering  <meyering@lucent.com>
77746
77747         * lib/regex.c: Update from GNU libc.
77748
77749 2001-05-27  Jim Meyering  <meyering@lucent.com>
77750
77751         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
77752         Check for ut_type in struct utmp.
77753
77754 2001-05-27  Jim Meyering  <meyering@lucent.com>
77755
77756         * lib/readutmp.h (UT_TYPE): Define.
77757
77758 2001-05-24  Jim Meyering  <meyering@lucent.com>
77759
77760         * lib/argmatch.c: Include "quote.h".
77761         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
77762         quote function.  Reported by Göran Uddeborg.
77763
77764 2001-05-22  Jim Meyering  <meyering@lucent.com>
77765
77766         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
77767         now that we use the package-supplied version unconditionally.
77768         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
77769
77770 2001-05-21  Jim Meyering  <meyering@lucent.com>
77771
77772         * m4/regex.m4: Change a couple backticks to single quotes to avoid
77773         shell syntax errors.
77774
77775 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77776
77777         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
77778
77779 2001-05-20  Paul Eggert  <eggert@twinsun.com>
77780
77781         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
77782         Don't bother to check library strftime, since
77783         we'll be using our own my_strftime function anyway.
77784         Define my_strftime instead of strftime.
77785
77786 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
77787
77788         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
77789         which is not yet declared.
77790
77791 2001-05-15  Jim Meyering  <meyering@lucent.com>
77792
77793         * m4/regex.m4: Use proper quoting so brackets appear in the test
77794         program.
77795         Reported by, and with help from, Bruno Haible.
77796
77797 2001-05-13  Jim Meyering  <meyering@lucent.com>
77798
77799         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
77800         undefined.
77801
77802 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77803
77804         dirname code cleanup.  base_name now behaves more compatibly
77805         with POSIX basename when given file names that have trailing
77806         slashes, and similarly for dir_name.  Add new primitives
77807         base_len and dir_len.  Put the directory-name-related decls
77808         into dirname.h.
77809
77810         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
77811         * lib/backupfile.c (base_name): Likewise.
77812         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
77813         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
77814         * lib/makepath.c (strip_trailing_slashes): Likewise.
77815         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
77816         ISSLASH): Likewise.
77817         * lib/rename.c (strip_trailing_slashes): Likewise.
77818         * lib/same.c (base_name): Likewise.
77819         * lib/stripslash.c (ISSLASH): Likewise.
77820
77821         * lib/addext.c: Include <dirname.h> after size_t is defined.
77822         * lib/backupfile.c: Likewise.
77823
77824         * lib/addext.c (addext): Use base_len to trim redundant
77825         trailing slashes instead of doing it ourselves.
77826         But do not trim the last slash if it is not redundant.
77827
77828         * lib/backupfile.c (find_backup_file_name,
77829         max_backup_version): Use base_len instead of rolling it ourselves.
77830         Handle the case of "" and (on DOS) "C:" correctly.
77831
77832         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
77833         needed. Include <string.h>, <dirname.h>.
77834         (base_name): Allow file names ending in slashes, other than names
77835         that are all slashes.  In this case, return the basename followed
77836         by the slashes.  This is more general, and can be used in places
77837         where the original base_name purposely had an assertion failure.
77838         (base_len): New function.
77839
77840         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
77841         Do not include <assert.h>; no longer needed.
77842         Include xalloc.h.
77843         (memrchr): Remove decl.
77844         (dir_name_r): Remove.
77845         (dir_len): Renamed from dirlen.  All callers changed.
77846         Rewrite in terms of base_name, for simplicity and consistency.
77847         (dir_name): Never return NULL.  All callers changed.
77848         Do not include <stdlib.h> in test program; no longer needed.
77849         return 0; is fine for test program.
77850
77851         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
77852         New macros.
77853         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
77854
77855         * lib/path-concat.c (path_concat): Use base_len to compute
77856         base length, not strlen; this means we cannot rely on memcpy
77857         to null-terminate.
77858
77859         * lib/same.c (STREQ): Remove.
77860         (same_name): Handle the case where the basename ends in trailing '/'.
77861
77862         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
77863         a slash was stripped.  Do not strip the last slash after a
77864         file system prefix.
77865
77866 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77867
77868         * lib/Makefile.am (libfetish_a_SOURCES):
77869         Add strftime.c, since we now compile it on all hosts.
77870
77871         * lib/strftime.c (my_strftime):
77872         Define to nstrftime if emacs, but only if my_strftime is not defined.
77873         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
77874         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
77875         Add one more extra argument: a nanoseconds value.
77876         All uses changed.
77877         (ns): New macro.
77878         (my_strftime function): Add %N format.
77879         (emacs_strftimeu): Renamed from emacs_strftime,
77880         with extra ut argument.
77881
77882 2001-05-09  Paul Eggert  <eggert@twinsun.com>
77883
77884         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
77885
77886 2001-04-21  Jim Meyering  <meyering@lucent.com>
77887
77888         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
77889         doesn't interfere.
77890
77891 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77892
77893         * m4/ftruncate.m4: Check for chsize.
77894         Link with ftruncate.o unconditionally if ftruncate is missing.
77895         This was required when cross-compiling to i586-mingw32msvc.
77896
77897 2001-04-08  Jim Meyering  <meyering@lucent.com>
77898
77899         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
77900         recomputed; that's necessary when the offset spans a DST transition.
77901         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
77902
77903 2001-04-02  Jim Meyering  <meyering@lucent.com>
77904
77905         * lib/regex.h, regex.c: Update from GNU libc.
77906
77907 2001-03-24  Jim Meyering  <meyering@lucent.com>
77908
77909         * m4/jm-macros.m4: Require autoconf-2.49d.
77910
77911 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
77912
77913         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
77914
77915 2001-03-19  Paul Eggert  <eggert@twinsun.com>
77916
77917         * lib/version-etc.c (version_etc_copyright): Update to 2001.
77918
77919 2001-03-17  Jim Meyering  <meyering@lucent.com>
77920
77921         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
77922         now that the version in autoconf is equivalent.
77923         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
77924
77925         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
77926         Suggestion from Akim Demaille.
77927
77928         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
77929         (jm_PREREQ_TEMPNAME): New function.
77930
77931 2001-03-16  Paul Eggert  <eggert@twinsun.com>
77932
77933         * lib/tempname.c (uint64_t): Define to uintmax_t if
77934         not defined, and if UINT64_MAX is not defined.
77935         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
77936         Reported by John David Anglin.
77937
77938 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
77939
77940         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
77941         resolve alias if codeset is empty.
77942         * lib/config.charset (BeOS): Use wildcard syntax.
77943
77944 2001-03-13  Jim Meyering  <meyering@lucent.com>
77945
77946         * lib/path-concat.c (path_concat)
77947         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
77948         concatenating e.g., `C:' and `foo'.
77949         From Bruno Haible.
77950
77951 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77952
77953         * lib/localcharset.c (locale_charset): Don't use
77954         setlocale(LC_CTYPE,NULL). Don't return NULL.
77955         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
77956
77957 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77958
77959         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
77960         support for DOS/DJGPP.
77961
77962 2001-03-01  Paul Eggert  <eggert@twinsun.com>
77963
77964         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
77965         lacks mkstemp.  Compile our own tempname.c if we compile our own
77966         mkstemp.c, as mkstemp relies on tempname.
77967
77968 2001-03-01  Jim Meyering  <meyering@lucent.com>
77969
77970         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
77971         AH_VERBATIM really does output its argument verbatim.
77972
77973 2001-02-28  Paul Eggert  <eggert@twinsun.com>
77974
77975         * lib/Makefile.am (libfetish_a_SOURCES):
77976         Add dup-safer.c, fopen-safer.c.
77977         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
77978
77979         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
77980         * lib/unistd-safer.h: New files.
77981
77982 2001-02-25  Paul Eggert  <eggert@twinsun.com>
77983
77984         The mkstemp replacement is taken from glibc 2.2.2, with some
77985         portability fixes for use outside glibc, as follows:
77986
77987         * lib/tempname.c (struct_stat64): New macro.
77988         (direxists, __gen_tempname): Use it.
77989         This avoids a portability problem with Solaris 8.
77990
77991         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
77992         (<stddef.h>, <stdint.h>, <string.h>):
77993         Include only if STDC_HEADERS || _LIBC.
77994         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
77995         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
77996         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
77997         (__set_errno): Define this macro if <errno.h> doesn't.
77998         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
77999         Define these macros if <stdio.h> doesn't.
78000         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
78001         Define these macros if <sys/stat.h>
78002         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
78003         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
78004         __xstat64): Define if not _LIBC.
78005         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
78006         (__gen_tempname): Invoke gettimeofday only if
78007         HAVE_GETTIMEOFDAY || _LIBC;
78008         otherwise, fall back on plain "time".
78009         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
78010
78011         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
78012
78013         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
78014
78015 2001-02-18  Paul Eggert  <eggert@twinsun.com>
78016
78017         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
78018
78019 2001-02-17  Paul Eggert  <eggert@twinsun.com>
78020
78021         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
78022         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
78023         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
78024         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
78025
78026 2001-02-17  Paul Eggert  <eggert@twinsun.com>
78027
78028         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
78029         Remove workaround macros for hosts that have mbrtowc but not
78030         mbstate_t, as we now insist on proper declarations for both
78031         before using mbrtowc.
78032
78033 2001-02-17  Jim Meyering  <meyering@lucent.com>
78034
78035         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
78036         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
78037         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
78038         UnixWare 7.1.1.
78039
78040         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
78041         rather than AC_CACHE_VAL.
78042
78043 2001-02-17  Jim Meyering  <meyering@lucent.com>
78044
78045         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
78046         around included file name.
78047
78048         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
78049
78050         * lib/strftime.c: Update from GNU libc (the only changes were to
78051         comments).
78052
78053 2001-02-17  Jim Meyering  <meyering@lucent.com>
78054
78055         * lib/regex.c: Update from libc.
78056
78057 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
78058
78059         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
78060         clash.
78061
78062 2001-02-16  Paul Eggert  <eggert@twinsun.com>
78063
78064         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
78065         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
78066         Reported by Mark Hounschell via Paul Eggert.
78067
78068 2001-02-07  Jim Meyering  <meyering@lucent.com>
78069
78070         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
78071
78072 2001-02-05  Jim Meyering  <meyering@lucent.com>
78073
78074         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
78075         it includes the patch required for `large file' support with at least
78076         HP-UX's 10.20 /bin/cc.
78077
78078 2001-02-03  Jim Meyering  <meyering@lucent.com>
78079
78080         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
78081         AS_IF, now that it works once again (mysteriously).
78082         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
78083
78084 2001-01-30  Jim Meyering  <meyering@lucent.com>
78085
78086         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
78087         * m4/chown.m4: Rename conftestchown to conftest.chown.
78088         * m4/rename.m4: s/conftestdir/conftest.d1/ and
78089         s/conftestdir2/conftest.d2/.
78090         * m4/utimes.m4: s/conftestdata/conftest.data/
78091         Inspired by Pavel Roskin's change in autoconf.
78092
78093 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
78094
78095         * lib/config.charset: Update for FreeBSD 4.2.
78096
78097 2001-01-27  Jim Meyering  <meyering@lucent.com>
78098
78099         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
78100         a use of AS_IF.
78101         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
78102
78103 2001-01-26  Jim Meyering  <meyering@lucent.com>
78104
78105         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
78106         quotearg.c includes it.
78107
78108 2001-01-26  Jim Meyering  <meyering@lucent.com>
78109
78110         * lib/quotearg.c: Include stddef.h.
78111         * lib/quote.c: Include stddef.h.
78112         Reported by Axel Kittenberger.
78113
78114         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
78115         line in double quotes so that it evokes a better diagnostic.
78116         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
78117         Reported by Axel Kittenberger.
78118
78119 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
78120
78121         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
78122         as if it was a `charset'.
78123
78124 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
78125
78126         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
78127         has const.
78128
78129 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
78130
78131         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
78132         to avoid a warning.  Add back 'const' to inptr.
78133
78134 2001-01-20  Jim Meyering  <meyering@lucent.com>
78135
78136         Be sure that headers are checked before used in code compiled
78137         for the type checks.
78138         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
78139         In place of that, invoke jm_CHECK_ALL_TYPES.
78140         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
78141         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
78142         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
78143         The check for ssize_t was mistakenly run before the test for unistd.h.
78144
78145         The configure-time check for stdbool.h was missing.
78146         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
78147         (jm_PREREQ_HASH): New function.
78148
78149 2001-01-17  Jim Meyering  <meyering@lucent.com>
78150
78151         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
78152         for autoconf-2.49c.
78153         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
78154
78155 2001-01-16  Jim Meyering  <meyering@lucent.com>
78156
78157         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
78158         From Bruno Haible.
78159
78160 2001-01-14  Jim Meyering  <meyering@lucent.com>
78161
78162         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
78163         foo and bar.  Create conftestdir/ in the script, not in the C code.
78164         Remove directories in the script, not in the C code.
78165         Remove conftestdir{,2} before trying to create the directory.
78166         Make the entire configure script fail if the mkdir fails.
78167
78168 2001-01-14  Jim Meyering  <meyering@lucent.com>
78169
78170         * lib/rename.c: New file.  From Volker Borchert.
78171         Include stdlib.h, string.h or strings.h, and xalloc.h.
78172         Use strip_trailing_slashes rather than open-coding it.
78173
78174 2001-01-03  Paul Eggert  <eggert@twinsun.com>
78175
78176         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
78177
78178 2001-01-03  Jim Meyering  <meyering@lucent.com>
78179
78180         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
78181         of local `inptr' to avoid warning with some system declarations of
78182         iconv.
78183
78184 2001-01-02  Volker Borchert  <bt@teknon.de>
78185
78186         * m4/rename.m4: New file.
78187         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
78188
78189 2001-01-01  Jim Meyering  <meyering@lucent.com>
78190
78191         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
78192         even on systems with utmpx.h.  It's necessary for the declaration of
78193         utmp's ut_user member.  Reported by Andreas Jaeger.
78194
78195         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
78196         available. They are required for the declarations of getgrgid and
78197         getpwuid resp.
78198         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
78199         Reported by Andreas Jaeger.
78200
78201 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
78202
78203         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
78204         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
78205         so `make install' also works in VPATH builds.
78206
78207 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
78208
78209         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
78210         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
78211         can be used in subdirectories.
78212
78213 2000-12-29  Paul Eggert  <eggert@twinsun.com>
78214
78215         * lib/modechange.c: Do not assume that mode_t uses the
78216         traditional octal encoding.  E.g. "chmod 1 FOO" should set
78217         the other-execute bit of FOO even if S_IXOTH != 1.
78218
78219         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
78220         WOTH, XOTH, ALLM): New macros.
78221         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
78222          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
78223         Use them.
78224         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
78225         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
78226         (mode_compile):
78227         No need to use uintmax_t; unsigned long is long enough.
78228         Don't bother to get suffix since we don't use it.
78229
78230 2000-12-26  Jim Meyering  <meyering@lucent.com>
78231
78232         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
78233         better with autoheader.
78234
78235 2000-12-24  Jim Meyering  <meyering@lucent.com>
78236
78237         * lib/hash.c (is_prime): Return explicit boolean values.
78238         (hash_get_first): Return NULL to appease Irix5.6's 89.
78239         Reported by Nelson Beebe.
78240
78241 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
78242
78243         * lib/localcharset.c (locale_charset): Add support for Win32.
78244
78245 2000-12-18  Paul Eggert  <eggert@twinsun.com>
78246
78247         * lib/physmem.h, lib/physmem.c: New files.
78248
78249         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
78250         (noinst_HEADERS): Add physmem.h.
78251
78252         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
78253         't' for compatibility with Solaris 8 sort.
78254
78255 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
78256
78257         * lib/config.charset: Add support for BeOS.
78258
78259 2000-12-17  Jim Meyering  <meyering@lucent.com>
78260
78261         * m4/dos.m4 (jm_AC_DOS): New file and macro.
78262         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
78263
78264 2000-12-16  Jim Meyering  <meyering@lucent.com>
78265
78266         This bug had a serious impact on chown: `chown N:M FILE' (for integer
78267         N and M) would have treated it like `chown N:N FILE'.
78268
78269         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
78270
78271 2000-12-16  Jim Meyering  <meyering@lucent.com>
78272
78273         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
78274         SHELLS_FILE to a file name that's useful on djgpp systems.
78275         Include stdlib.h.
78276         (ADDITIONAL_DEFAULT_SHELLS): Define.
78277         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
78278         Based mostly on a patch from Prashant TR.
78279
78280 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
78281
78282         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
78283         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
78284         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
78285
78286 2000-12-08  Andreas Schwab  <schwab@suse.de>
78287
78288         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
78289         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
78290
78291 2000-12-07  Jim Meyering  <meyering@lucent.com>
78292
78293         * lib/stripslash.c (ISSLASH): Define.
78294         (strip_trailing_slashes): Use ISSLASH rather than comparing against
78295         `/'.
78296         From Prashant TR.
78297
78298         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
78299         (dir_name_r): Declare this function as static.
78300         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
78301         manifest itself on a name containing a mix of slashes and
78302         backslashes.
78303         Make this function work with names starting with a DOS-style
78304         drive letter and colon prefix.
78305         (dir_name): Append `.' if necessary.
78306         Based mostly on patches from Prashant TR and Eli Zaretskii.
78307
78308         * lib/dirname.h (dir_name_r): Remove prototype.
78309
78310 2000-12-06  Paul Eggert  <eggert@twinsun.com>
78311
78312         * m4/off_t-format.m4: Remove this file.
78313         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
78314
78315 2000-12-06  Jim Meyering  <meyering@lucent.com>
78316
78317         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
78318         replacement strtoull, we may well need the replacement strtoul, too.
78319         Check for declarations of strtoul and strtoull.
78320         Check for strtol.  Mainly as a cue to cause automake to include
78321         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
78322         Check for limits.h -- strtol.c needs it.
78323
78324 2000-12-05  Jim Meyering  <meyering@lucent.com>
78325
78326         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
78327
78328 2000-12-04  Jim Meyering  <meyering@lucent.com>
78329
78330         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
78331         Also include memory.h, stdlib.h, unistd.h if appropriate.
78332         Reported by Andreas Jaeger (conflicting declaration of malloc).
78333
78334 2000-12-02  Jim Meyering  <meyering@lucent.com>
78335
78336         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
78337         * m4/jm-macros.m4 (jm_MACROS): require it.
78338
78339 2000-12-02  Jim Meyering  <meyering@lucent.com>
78340
78341         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
78342
78343 2000-12-01  Paul Eggert  <eggert@twinsun.com>
78344
78345         * lib/memrchr.c: Include <config.h> before any system include file.
78346
78347 2000-11-30  Jim Meyering  <meyering@lucent.com>
78348
78349         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
78350
78351 2000-11-30  Jim Meyering  <meyering@lucent.com>
78352
78353         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
78354
78355 2000-11-29  Paul Eggert  <eggert@twinsun.com>
78356
78357         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
78358
78359 2000-11-26  Jim Meyering  <meyering@lucent.com>
78360
78361         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
78362
78363 2000-11-22  Paul Eggert  <eggert@twinsun.com>
78364
78365         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
78366         size of (size_t) -1; it's not portable.
78367
78368 2000-11-17  Jim Meyering  <meyering@lucent.com>
78369
78370         * lib/strstr.c: Update from GNU libc.
78371
78372 2000-11-17  Akim Demaille  <akim@epita.fr>
78373
78374         * lib/obstack.h: Formatting changes.
78375         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
78376         prevent type checking.
78377         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
78378         cast the value to (void *): assigning a `foo *' to a `void *'
78379         variable is valid.
78380         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
78381
78382 2000-11-16  Jim Meyering  <meyering@lucent.com>
78383
78384         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
78385
78386 2000-11-11  Jim Meyering  <meyering@lucent.com>
78387
78388         * lib/error.c: Add a couple #includes, merging from GNU libc version.
78389
78390 2000-11-10  Jim Meyering  <meyering@lucent.com>
78391
78392         * lib/obstack.h: Update from GNU libc.
78393         * lib/obstack.c: Likewise.
78394
78395 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
78396
78397         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
78398
78399 2000-11-06  Paul Eggert  <eggert@twinsun.com>
78400
78401         * lib/getusershell.c (setusershell): Use rewind rather than
78402         fseek/fseeko, to avoid configuration hassles with fseeko.
78403         Don't bother opening SHELLS_FILE if shellstream is NULL;
78404         it's not necessary.
78405
78406 2000-11-05  Jim Meyering  <meyering@lucent.com>
78407
78408         * lib/makepath.h (make_dir): Declare.
78409         * lib/makepath.c (make_dir): Remove `static' attribute.
78410         Tweak a comment.
78411
78412 2000-11-04  Jim Meyering  <meyering@lucent.com>
78413
78414         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
78415
78416 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
78417
78418         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
78419         last one in a bucket, advance to the next bucket.
78420
78421 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
78422
78423         * lib/fnmatch.c: Do not comment out all the code if we are using
78424         the GNU C library, because in some cases we are replacing buggy
78425         code in the GNU C library itself.
78426
78427 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
78428
78429         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
78430         (regex_compile): Catch bogus \(\1\).
78431
78432 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78433
78434         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
78435         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
78436         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
78437
78438 2000-10-30  Paul Eggert  <eggert@twinsun.com>
78439
78440         * lib/error.h, getline.h, modechange.h:
78441         Remove "2000" from Copyright line, as the file hasn't been
78442         changed this year other than in the copyright notice.
78443
78444         * lib/xalloc.h: Add "2000" to Copyright line, as this file
78445         was changed this year.
78446
78447 2000-10-29  Jim Meyering  <meyering@lucent.com>
78448
78449         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
78450         renaming.
78451         * m4/ls-mntd-fs.m4: Likewise
78452
78453 2000-10-29  Jim Meyering  <meyering@lucent.com>
78454
78455         * lib/xstat.in: Fix grammar in comment.
78456
78457 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
78458
78459         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
78460         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
78461         doesn't define __restrict_arr.
78462
78463 2000-10-28  Jim Meyering  <meyering@lucent.com>
78464
78465         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
78466         (jm_PREREQ_MEMCHR): New function.
78467
78468 2000-10-28  Jim Meyering  <meyering@lucent.com>
78469
78470         * lib/memchr.c: Update from libc.
78471         Adjust for portability:
78472         [HAVE_STDLIB_H]: Include stdlib.h.
78473         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
78474         Undef __memchr, too.
78475         [!weak_alias]: Define __memchr to memchr.
78476
78477         * lib/regex.c: Update from libc.
78478         * lib/regex.h: Likewise.
78479         * lib/getopt1.c: Likewise.
78480         * lib/memcmp.c: Likewise.
78481
78482         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
78483         Avoid using fseek, when possible -- it's broken by design.
78484         Patch by Ulrich Drepper.
78485
78486 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
78487
78488         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
78489         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
78490         Giving in to popular pressure to shut up the compiler with casts.
78491
78492 2000-10-26  Jim Meyering  <meyering@lucent.com>
78493
78494         * lib/strftime.c: Update from libc.
78495
78496 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
78497
78498         * regex.c: More `unsigned char' -> `re_char' changes.
78499         Also change several `int' into `re_wchar_t'.
78500         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
78501         (PUSH_FAILURE_POINTER): Don't cast any more.
78502         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
78503         We want GCC to complain, since this piece of code makes
78504         re_match non-reentrant, which *should* be fixed.
78505         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
78506         (EXTEND_BUFFER): Use RETALLOC.
78507         (SET_LIST_BIT): Don't cast.
78508         (re_wchar_t): New type.
78509         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
78510         that those two functions will always properly return.
78511         (IMMEDIATE_QUIT_CHECK): Cast to void.
78512         (analyse_first): Use recursion rather than an explicit stack.
78513         (re_compile_fastmap): Can't fail anymore.
78514         (re_search_2): Don't check re_compile_fastmap for failure.
78515         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
78516         Now also sets the new value (passed in a new argument).
78517         (re_match_2_internal): Use it.
78518         Also, use a new var `reg' of type size_t when looping through regs
78519         rather than reuse the inappropriate `mcnt'.
78520
78521 2000-10-25  Jim Meyering  <meyering@lucent.com>
78522
78523         * lib/obstack.c: Update from libc.
78524
78525 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
78526
78527         * regex.c (regex_compile): Change the way of handling a range from
78528         a char less than 256 to a char not less than 256.
78529
78530 2000-10-24  Andrew Innes  <andrewi@gnu.org>
78531
78532         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
78533         NT-Emacs only.
78534         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
78535         so that re_search functions only quit when callers expect them to.
78536
78537 2000-10-23  Jim Meyering  <meyering@lucent.com>
78538
78539         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
78540         wrong.  That set_locale call must not have any side effects.
78541         From Paul Eggert.
78542
78543 2000-10-22  Jim Meyering  <meyering@lucent.com>
78544
78545         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
78546         [CYCLIC]: Remove now-unused definition.
78547
78548         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
78549         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
78550         Suggestion from Ulrich Drepper.
78551
78552 2000-10-21  Jim Meyering  <meyering@lucent.com>
78553
78554         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
78555         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
78556         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
78557
78558 2000-10-21  Jim Meyering  <meyering@lucent.com>
78559
78560         * lib/dirname.c (memrchr): Declare if necessary.
78561         (dir_name): Remove the restriction that there be no
78562         trailing slashes.  Now, this code skips past them, effectively
78563         ignoring them.
78564         [TEST_DIRNAME] (main): New unit tests.
78565
78566         * lib/memrchr.c: New file from GNU libc.
78567         Undef __memrchr, too.
78568         [!weak_alias]: Define __memrchr to memrchr.
78569         Guard weak_alias use with `#ifdef weak_alias'.
78570
78571 2000-10-21  Jim Meyering  <meyering@lucent.com>
78572
78573         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
78574         (dir_name): Use dir_name_r.
78575         * lib/dirname.h (dir_name_r): Declare it.
78576
78577 2000-10-17  Jim Meyering  <meyering@lucent.com>
78578
78579         * lib/quote.h (PARAMS): Define and use.
78580         Reported by Akim Demaille.
78581
78582         * lib/getopt.c: Update from libc.
78583
78584 2000-10-16  Jim Meyering  <meyering@lucent.com>
78585
78586         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
78587         setlocale.
78588         From Jan Fedak.
78589
78590 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
78591
78592         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
78593
78594 2000-09-25  Jim Meyering  <meyering@lucent.com>
78595
78596         * lib/md5.h (rol): Define (from GnuPG).
78597
78598         * lib/sha.c: Give credit (GnuPG) where due.
78599         (M): Use rol rather than open-coding it.
78600         Add a FIXME comment.
78601
78602 2000-09-21  Jim Meyering  <meyering@lucent.com>
78603
78604         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
78605         Reported by Michael Stone.
78606
78607 2000-09-20  Jim Meyering  <meyering@lucent.com>
78608
78609         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
78610         (noinst_HEADERS): Add sha.h.
78611         Based on code from Scott G. Miller and from GnuPG.
78612
78613 2000-09-18  Jim Meyering  <meyering@lucent.com>
78614
78615         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
78616         LIBS. Otherwise, everyone ends up linking with -lelf for some
78617         configurations.
78618         Reported by Mike Stone.
78619
78620 2000-09-15  Jim Meyering  <meyering@lucent.com>
78621
78622         * lib/regex.c: Update from libc.
78623
78624 2000-09-10  Jim Meyering  <meyering@lucent.com>
78625
78626         * lib/getopt.c (_getopt_internal): Update from glibc.
78627
78628 2000-09-09  Jim Meyering  <meyering@lucent.com>
78629
78630         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
78631         think it should be used as a general replacement for isascii.
78632         * lib/fnmatch.c: Likewise.
78633         * lib/mbswidth.c: Likewise
78634         * lib/regex.c: Likewise.
78635
78636         Don't use atoi.
78637         * lib/userspec.c: Include sys/param.h and limits.h.
78638         Include xstrtol.h.
78639         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78640         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
78641         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
78642         UID, GID.  Check range.
78643
78644 2000-09-06  Jim Meyering  <meyering@lucent.com>
78645
78646         * lib/getopt.c (_getopt_internal): Update from glibc.
78647
78648 2000-08-30  Jim Meyering  <meyering@lucent.com>
78649
78650         * lib/strftime.c: Merge in changes from GNU libc.
78651
78652 2000-08-26  Jim Meyering  <meyering@lucent.com>
78653
78654         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
78655         * m4/fpending.m4: New file.
78656
78657 2000-08-26  Jim Meyering  <meyering@lucent.com>
78658
78659         * lib/closeout.c: Include "__fpending.h".
78660         (close_stdout_status): Return right away if there's nothing to flush.
78661
78662         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
78663         * lib/__fpending.c: New file.
78664         * lib/__fpending.h: New file.
78665
78666 2000-08-20  Jim Meyering  <meyering@lucent.com>
78667
78668         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
78669         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
78670         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
78671
78672 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
78673
78674         Improve fileutils installation on systems where running
78675         programs (like install) can't be unlinked.
78676         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
78677         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
78678
78679 2000-08-07  Paul Eggert  <eggert@twinsun.com>
78680
78681         Standardize on "memory exhausted" instead of "Memory exhausted"
78682         or "virtual memory exhausted".
78683         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
78684         "virtual memory exhausted".
78685         * lib/same.c (same_name): Invoke xalloc_die instead of printing
78686         our own message.
78687         * lib/userspec.c (parse_user_spec): Likewise.
78688         * lib/bumpalloc.h: comment fix
78689         * lib/same.c, userspec.c: Include xalloc.h.
78690
78691         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
78692         not char *const and pointing to a constant array.
78693         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
78694         (xrealloc): Comment fix.
78695
78696         * lib/userspec.c (parse_user_spec):
78697         Don't translate a message until just before returning,
78698         to avoid unnecessary translation.
78699
78700 2000-08-07  Jim Meyering  <meyering@lucent.com>
78701
78702         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
78703         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
78704         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
78705         getgroups.c, gethostname.c, getopt.h, group-member.c,
78706         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
78707         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
78708         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
78709         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
78710         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
78711         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
78712         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
78713         yesno.c: Back out Copyright date changes for each file with no change
78714         this year.  This eases coordination with other programs using the same
78715         source code modules.  From Paul Eggert.
78716
78717 2000-08-06  Paul Eggert  <eggert@twinsun.com>
78718
78719         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
78720         not char, for compatibility with glibc 2.1.3 strftime.c.
78721
78722 2000-08-03  Greg McGary  <greg@mcgary.org>
78723
78724         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
78725         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
78726         (EXTEND_BUFFER): Use them.
78727
78728 2000-08-01  Jim Meyering  <meyering@lucent.com>
78729
78730         * lib/dirname.c (ISSLASH): Define.
78731         (BACKSLASH_IS_PATH_SEPARATOR): Define.
78732         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
78733         both `\' and `/' may be use as path separators.
78734         Based on a patch from Prashant TR.
78735
78736 2000-07-31  Paul Eggert  <eggert@twinsun.com>
78737
78738         * lib/quotearg.c (quotearg_n_options): Don't make the initial
78739         slot vector a constant, since it might get modified.
78740
78741 2000-07-31  Jim Meyering  <meyering@lucent.com>
78742
78743         * lib/xmalloc.c: Use `virtual memory exhausted', not
78744         `Memory exhausted'.
78745         * lib/obstack.c (print_and_abort): Likewise.
78746
78747 2000-07-30  Paul Eggert  <eggert@twinsun.com>
78748
78749         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
78750         buffer, so that the caller can always quote one small
78751         component of a "memory exhausted" message in slot 0.
78752         From a suggestion by Jim Meyering.
78753
78754 2000-07-30  Jim Meyering  <meyering@lucent.com>
78755
78756         * lib/makepath.c (make_path): Quote the other instance, too.
78757
78758         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
78759         (STATIC_BUF_SIZE): Define.
78760         (quotearg_n_options): Use only statically allocated storage when
78761         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
78762         than STATIC_BUF_SIZE.
78763
78764 2000-07-29  Jim Meyering  <meyering@lucent.com>
78765
78766         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
78767         * lib/dirname.c (dir_name): Likewise.
78768
78769         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
78770         `/'.
78771
78772         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
78773         (dir_name): Assert that there are no trailing slashes.
78774
78775 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
78776
78777         * lib/mbswidth.h (mbswidth): Add a flags argument.
78778         (mbswidth): New declaration.
78779         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
78780         * lib/mbswidth.c (mbswidth): Add a flags argument.
78781         (mbsnwidth): New function.
78782
78783 2000-07-24  Jim Meyering  <meyering@lucent.com>
78784
78785         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
78786
78787 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78788
78789         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
78790
78791 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78792
78793         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
78794         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
78795         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
78796         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
78797         invoke multibyte primitives.
78798
78799 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78800
78801         * lib/quotearg.c:
78802         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
78803         so that mbstate_t is always defined.
78804
78805         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
78806         be 1 in at least one GCC installation, and this configuration
78807         error is likely to be common.  Ignoring MB_LEN_MAX hurts
78808         performance on hosts that have mbrtowc but have only unibyte
78809         locales, but I assume these hosts are rare.
78810
78811 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78812
78813         * lib/mbswidth.c (_XOPEN_SOURCE):
78814         Don't define; this causes problems on Solaris 7.
78815         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
78816
78817 2000-07-23  Jim Meyering  <meyering@lucent.com>
78818
78819         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
78820         too: getgrgid, getpwuid, getuid.
78821
78822 2000-07-23  Jim Meyering  <meyering@lucent.com>
78823
78824         * lib/basename.c (base_name): Add an assertion.
78825
78826 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
78827
78828         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
78829         shadow its mbsinit function.
78830
78831 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78832
78833         * lib/mbswidth.h: New file.
78834         * lib/mbswidth.c: New file.
78835         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
78836         (noinst_HEADERS): Add mbswidth.h.
78837
78838 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78839
78840         * lib/config.charset: Add support for FreeBSD. Improve support for
78841         HP-UX and IRIX 6.
78842
78843 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
78844
78845         * m4/mbswidth.m4: New file.
78846         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
78847
78848 2000-07-15  Jim Meyering  <meyering@lucent.com>
78849
78850         * lib/makepath.c: Include quote.h.
78851         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
78852         corresponding argument in a `quote (...)' call.
78853         Give better diagnostics.
78854
78855         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
78856         (noinst_HEADERS): Add quote.h.
78857
78858         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
78859         from tar's src/misc.c.
78860         * lib/quote.h: New file.  Prototypes for same.
78861
78862 2000-07-14  Paul Eggert  <eggert@twinsun.com>
78863
78864         From a suggestion by Bruno Haible.
78865         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
78866         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
78867         to decide whether to define the BeOS workaround macro;
78868         this adjusts to the change to AC_MBSTATE_T.
78869
78870 2000-07-14  Jim Meyering  <meyering@lucent.com>
78871
78872         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
78873         jm_AC_TYPE_UINTMAX_T.
78874
78875 2000-07-13  Paul Eggert  <eggert@twinsun.com>
78876
78877         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
78878
78879         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
78880         quotearg_buffer_restyled): Add support for
78881         clocale_quoting_style.  Undo previous change to
78882         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
78883         and "{RIGHT QUOTATION MARK}" msgids.
78884
78885 2000-07-10  Paul Eggert  <eggert@twinsun.com>
78886
78887         From a suggestion by Bruno Haible.
78888         * m4/mbstate_t.m4 (AC_MBSTATE_T):
78889         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
78890         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
78891         and mbstate_t, to a single-part test that simply defines mbstate_t.
78892         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
78893         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
78894
78895 2000-07-10  Jim Meyering  <meyering@lucent.com>
78896
78897         * m4/strerror_r.m4: Mirror the correction made in autoconf.
78898
78899         * m4/gnu-source.m4: Output to confdefs.h directly.
78900         Suggestion from Akim Demaille.
78901
78902 2000-07-09  Paul Eggert  <eggert@twinsun.com>
78903
78904         The old behavior of quoting `like this' doesn't look good with
78905         newer, ISO-style fonts.  See:
78906         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
78907
78908         Instead, quote "like this" by default.  Let the translator
78909         tailor the locale-specific quoting behavior by providing
78910         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
78911
78912         * lib/quotearg.c (N_): New macro.
78913         (gettext_default): New function.
78914         (quotearg_buffer_restyled): Use
78915         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
78916         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
78917
78918 2000-07-09  Jim Meyering  <meyering@lucent.com>
78919
78920         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
78921         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
78922
78923         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
78924         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
78925
78926 2000-07-09  Jim Meyering  <meyering@lucent.com>
78927
78928         * lib/Most files: Update copyright dates to include 2000.
78929
78930 2000-07-08  Jim Meyering  <meyering@lucent.com>
78931
78932         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
78933         if not defined.
78934         (xgethostname): Remove now-unnecessary #ifdef.
78935         Move declaration of `err' into loop where it's used.
78936
78937 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78938         and Bruno Haible  <haible@clisp.cons.org>
78939
78940         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
78941         only if the test for an object-type mbstate_t fails.  This
78942         prevents us from mistakenly reporting that mbstate_t is a
78943         system object type after we "#define mbstate_t int" to work
78944         around its lack.
78945
78946 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78947         and Bruno Haible  <haible@clisp.cons.org>
78948
78949         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
78950
78951 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78952
78953         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
78954         to strerror_r.
78955         Include <ctype.h> for use of isalpha.
78956
78957 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78958
78959         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
78960         by allocating a larger buffer. Test the gethostname return value for
78961         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
78962         returns an error and ENAMETOOLONG isn't defined.
78963
78964 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78965
78966         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
78967         dimension.
78968
78969 2000-07-04  Jim Meyering  <meyering@lucent.com>
78970
78971         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
78972         of the deprecated AC_CHECKING.
78973
78974 2000-07-04  Jim Meyering  <meyering@lucent.com>
78975
78976         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
78977         Reported by Bruno Haible.
78978
78979 2000-07-04  Jim Meyering  <meyering@lucent.com>
78980
78981         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
78982         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
78983         lacks mbrtowc.
78984
78985 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78986
78987         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
78988         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
78989
78990 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78991         and Bruno Haible  <haible@clisp.cons.org>
78992
78993         * lib/quotearg.c (mbrtowc):
78994         Assign to *pwc, and return 1 only if result is nonzero.
78995         (iswprint): Use ISPRINT when substituting our own mbrtowc.
78996
78997 2000-07-03  Jim Meyering  <meyering@lucent.com>
78998
78999         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
79000
79001 2000-07-03  Jim Meyering  <meyering@lucent.com>
79002
79003         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
79004         This is necessary to get a definition of e.g., UTMP_FILE on
79005         HP-UX 10.20.
79006         From Bob Proulx.
79007
79008 2000-07-02  Jim Meyering  <meyering@lucent.com>
79009
79010         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
79011
79012         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
79013         AC_LIBOBJ(function_name).
79014         * m4/chown.m4: Likewise.
79015         * m4/fnmatch.m4: Likewise.
79016         * m4/ftruncate.m4: Likewise.
79017         * m4/getgroups.m4: Likewise.
79018         * m4/getline.m4: Likewise.
79019         * m4/group-member.m4: Likewise.
79020         * m4/jm-macros.m4: Likewise.
79021         * m4/lstat.m4: Likewise.
79022         * m4/malloc.m4: Likewise.
79023         * m4/memcmp.m4: Likewise.
79024         * m4/nanosleep.m4: Likewise.
79025         * m4/putenv.m4: Likewise.
79026         * m4/realloc.m4: Likewise.
79027         * m4/regex.m4: Likewise.
79028         * m4/stat.m4: Likewise.
79029         * m4/strftime.m4: Likewise.
79030
79031 2000-07-02  Jim Meyering  <meyering@lucent.com>
79032
79033         * lib/quotearg.c (mbstate_t): Don't define here.
79034
79035 2000-07-02  Jim Meyering  <meyering@lucent.com>
79036
79037         * lib/nanosleep.c (SIGCONT): Define if not already defined.
79038
79039 2000-07-01  Jim Meyering  <meyering@lucent.com>
79040
79041         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
79042
79043 2000-07-01  Jim Meyering  <meyering@lucent.com>
79044
79045         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
79046         problem.
79047
79048 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79049
79050         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
79051         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
79052
79053 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
79054
79055         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
79056         per change in ../m4/ls-mntd-fs.m4.
79057         (read_filesystem_list): Ignore symbolic links.
79058
79059 2000-06-29  Jim Meyering  <meyering@lucent.com>
79060
79061         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
79062         for declaration of strcmp.
79063
79064         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
79065
79066         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
79067         Avoid warning by casting result to `char *' to remove `const'.
79068
79069 2000-06-28  Jim Meyering  <meyering@lucent.com>
79070
79071         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
79072         included by quotearg.c, for which we perform this test.  From
79073         Bruno Haible.
79074
79075 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
79076
79077         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
79078         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
79079         <utmpx.h> exists, put readutmp.o into LIBOBJS.
79080
79081 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
79082
79083         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
79084
79085 2000-06-26  Paul Eggert  <eggert@twinsun.com>
79086
79087         savedir now sets errno on failure and invokes xmalloc to get memory.
79088         Fix a couple of other minor bugs while we're at it.
79089
79090         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
79091         (NAMLEN): Remove macro.
79092         (malloc, realloc): Remove decls.
79093         (stpcpy): Likewise.
79094         ("xalloc.h"): Include.
79095         (NAME_SIZE_DEFAULT): New macro.
79096         (savedir): Use xmalloc / xrealloc to allocate memory.
79097         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
79098         Skip "" directory entries.
79099         Use strlen to calculate directory entry length, since the old method
79100         is rarely used these days and isn't worth supporting.
79101         Don't use a pointer after freeing it.
79102         Check for integer overflow when calculating allocation size.
79103         Use memcpy to copy entries, instead of stpcpy.
79104         Set errno properly when returning NULL.
79105         Check for readdir error.
79106
79107 2000-06-26  Jim Meyering  <meyering@lucent.com>
79108
79109         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
79110
79111 2000-06-25  Jim Meyering  <meyering@lucent.com>
79112
79113         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
79114         Linux header bug when _XOPEN_SOURCE is defined to 500.
79115
79116 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
79117
79118         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
79119         deficiency.
79120
79121 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
79122
79123         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
79124         Include xalloc.h.
79125         Don't include <stdlib.h>.  Don't declare malloc, realloc.
79126
79127 2000-06-24  Jim Meyering  <meyering@lucent.com>
79128
79129         * m4/strerror_r.m4: Revive this file -- to try out an experimental
79130         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
79131         for which strerror does return char*, but which lacks a conveniently
79132         accessible declaration of the function.  If the compile-test says
79133         strerror_r doesn't work, then resort to a `run'-test that works on
79134         BeOS and segfaults on DEC Unix.
79135
79136 2000-06-24  Jim Meyering  <meyering@lucent.com>
79137
79138         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
79139
79140 2000-06-23  Paul Eggert  <eggert@twinsun.com>
79141
79142         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
79143         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
79144
79145 2000-06-23  Paul Eggert  <eggert@twinsun.com>
79146
79147         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
79148         (mbrtowc, mbstate_t): Define substitutes if
79149         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
79150         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
79151         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
79152
79153 2000-06-23  Jim Meyering  <meyering@lucent.com>
79154
79155         * m4/afs.m4: Add missing AC_MSG_RESULT.
79156         Reported by Bruno Haible.
79157
79158         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
79159         Suggestion from Bruno Haible.
79160
79161 2000-06-23  Jim Meyering  <meyering@lucent.com>
79162
79163         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
79164
79165 2000-06-21  Jim Meyering  <meyering@lucent.com>
79166
79167         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
79168
79169 2000-06-21  Jim Meyering  <meyering@lucent.com>
79170
79171         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
79172         (noinst_HEADERS): Add getstr.h.
79173
79174         * lib/getline.c (getstr): Move into a separate file.
79175         * lib/getstr.c (getstr): New file, extracted from getline.c, with
79176         the following changes: new parameter, delim2; both delim[12]
79177         parameters have type `int', not `char'.  The latter would lose
79178         with 8-bit delimiters.
79179         * lib/getstr.h: New file.
79180
79181 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79182
79183         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
79184         than 1024, return a memory chunk of least possible size, instead
79185         of size PATH_MAX + 2. In the loop, increment the size proportionally.
79186         Use free/xmalloc instead of xrealloc to avoid copying for very long
79187         paths.
79188
79189 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79190
79191         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
79192         the empty string.
79193
79194 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
79195
79196         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
79197         address, not strdup.  Include <stdlib.h> and don't declare free().
79198
79199 2000-06-19  Jim Meyering  <meyering@lucent.com>
79200
79201         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
79202
79203 2000-06-18  Jim Meyering  <meyering@lucent.com>
79204
79205         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
79206
79207         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
79208         `checking whether...' message to be consistent with that of the
79209         lstat test.
79210
79211 2000-06-18  Jim Meyering  <meyering@lucent.com>
79212
79213         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
79214         Besides, these days every porting target provides a mkdir function.
79215
79216         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
79217         needed. (this snippet comes from src/system.h).
79218
79219 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
79220
79221         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
79222
79223 2000-06-15  Paul Eggert  <eggert@twinsun.com>
79224
79225         * lib/human.c (adjust_value): New function.
79226         (human_readable_inexact): Apply rounding style even when
79227         printing approximate values.
79228
79229 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79230
79231         * lib/human.c (human_readable_inexact): Allow an input block
79232         size that is not a multiple of the output block size, and vice versa.
79233         Reported by Piergiorgio Sartor.
79234
79235 2000-06-14  Paul Eggert  <eggert@twinsun.com>
79236
79237         * lib/getdate.y (get_date): Apply relative times after time
79238         zone indicator, not before.  Reported by Todd A. Jacobs.
79239
79240 2000-06-13  Jim Meyering  <meyering@lucent.com>
79241
79242         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
79243
79244         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
79245
79246 2000-06-12  Paul Eggert  <eggert@twinsun.com>
79247
79248         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
79249
79250 2000-06-12  Jim Meyering  <meyering@lucent.com>
79251
79252         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
79253         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
79254         optional argument.
79255         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
79256         the optional argument, `lib'.
79257
79258 2000-06-08  Jim Meyering  <meyering@lucent.com>
79259
79260         * m4/largefile.m4: Remove file (now that it's part of autoconf).
79261
79262 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79263
79264         Rewrite largefile configuration so that we don't need to run
79265         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
79266         AC_CANONICAL_HOST in configure.in -- jmm]
79267
79268         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
79269         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
79270         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
79271         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
79272         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
79273         All uses changed.
79274         Instead of inspecting the output of getconf, try to compile the
79275         test program without and with the macro definition.
79276         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
79277         for getconf.  Instead, check for the needed flags by compiling
79278         test programs.
79279
79280 2000-06-04  Paul Eggert  <eggert@twinsun.com>
79281
79282         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
79283
79284 2000-06-04  Jim Meyering  <meyering@lucent.com>
79285
79286         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
79287         SunOS 4.1.4 for which gid_t is an unsigned type.
79288
79289 2000-06-03  Jim Meyering  <meyering@lucent.com>
79290
79291         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
79292         now that autoconf requires that.
79293
79294         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
79295         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
79296         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
79297
79298 2000-06-03  Jim Meyering  <meyering@lucent.com>
79299
79300         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
79301
79302 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79303
79304         * m4/glibc21.m4: New file.
79305         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
79306
79307 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
79308
79309         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
79310         newer, don't install charset.alias.
79311         * lib/config.charset: Change the Linux/glibc rules so they become empty
79312         on glibc-2.1 or newer.
79313
79314 2000-06-02  Jim Meyering  <meyering@lucent.com>
79315
79316         * lib/mountlist.c: Back out last change.  Instead, do this...
79317         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
79318         me_dummy member using the same `ignore'-testing code.
79319         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
79320         fs_type strings.
79321         From Mark D. Roth.
79322
79323 2000-05-29  Jim Meyering  <meyering@lucent.com>
79324
79325         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
79326         mounts with the `ignore' attribute.  Based on a patch from
79327         Mark D. Roth.
79328
79329 2000-05-28  Jim Meyering  <meyering@lucent.com>
79330
79331         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
79332         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79333         * m4/stat.m4: Likewise.
79334         * m4/lstat.m4: Likewise.
79335         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
79336
79337         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
79338         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
79339
79340 2000-05-26  Jim Meyering  <meyering@lucent.com>
79341
79342         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
79343
79344 2000-05-24  Jim Meyering  <meyering@lucent.com>
79345
79346         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
79347         autoconf requires that.
79348         * m4/lib-check.m4: Likewise.
79349         * m4/jm-macros.m4: Likewise.
79350         * m4/strftime.m4: Likewise.
79351
79352         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
79353         AC_CHECK_DECLS, now that autoconf requires that.
79354
79355 2000-05-22  Jim Meyering  <meyering@lucent.com>
79356
79357         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79358         * m4/lstat.m4: Likewise.
79359
79360 2000-05-22  Jim Meyering  <meyering@lucent.com>
79361
79362         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
79363
79364 2000-05-20  Jim Meyering  <meyering@lucent.com>
79365
79366         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
79367         (jm_PREREQ): Use it.
79368
79369 2000-05-18  Jim Meyering  <meyering@lucent.com>
79370
79371         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
79372         back, too, since it may have been modified by allocate_entry.
79373         (hash_delete): Rewrite to use neither the assignment operator
79374         nor the comma operator in an if-expression.
79375
79376 2000-05-15  Paul Eggert  <eggert@twinsun.com>
79377
79378         * lib/closeout.c:
79379         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
79380         Remove; no longer needed.
79381         "quotearg.h": Add include.
79382         (file_name): Do not bother to explicitly initialize to NULL; it's less
79383         efficient on some hosts.
79384         (close_stdout_status): Remove test as to whether stdout was already
79385         closed; it breaks for the case "echo x | sort >&-".
79386         Quote file name colons.
79387         Do not assume that _("write error") lacks format strings.
79388
79389 2000-05-15  Jim Meyering  <meyering@lucent.com>
79390
79391         * lib/version-etc.c (version_etc_copyright): Update the copyright
79392         string used in all --version output.
79393
79394 2000-05-14  Jim Meyering  <meyering@lucent.com>
79395
79396         * lib/closeout.c (close_stdout_set_file_name): New function.
79397         (close_stdout_status): Use new file-scoped global.
79398         Return right away if fstat says the stdout file descriptor is invalid.
79399         * lib/closeout.h (close_stdout_set_file_name): Declare.
79400
79401 2000-05-10  Jim Meyering  <meyering@lucent.com>
79402
79403         * lib/closeout.c [default_exit_status]: New file-scoped variable.
79404         (close_stdout_set_status): New function.
79405         * lib/closeout.h (close_stdout_set_status): Declare.
79406
79407 2000-05-09  Jim Meyering  <meyering@lucent.com>
79408
79409         * m4/gettext.m4: Rename this...
79410         * m4/libintl.m4: ...to this.
79411
79412 2000-05-08  Jim Meyering  <meyering@lucent.com>
79413
79414         * lib/long-options.c: Don't include closeout.h.
79415         (parse_long_options): Don't call close_stdout for --version.
79416
79417 2000-05-06  Paul Eggert  <eggert@twinsun.com>
79418
79419         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
79420         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
79421         2.1.3 bug.  This avoids a clash when files like regex.c define
79422         _GNU_SOURCE.
79423
79424 2000-05-06  Jim Meyering  <meyering@lucent.com>
79425
79426         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
79427         (AC_REPLACE_FUNCS): Add strnlen.
79428
79429         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
79430         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
79431
79432         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
79433         AC_SEARCH_LIBS call for nanosleep.
79434         (LIB_NANOSLEEP): Set and AC_SUBST.
79435
79436 2000-05-06  Jim Meyering  <meyering@lucent.com>
79437
79438         * lib/strnlen.c: Undefine __strnlen and strnlen.
79439         [!weak_alias]: Define __strnlen to strnlen.
79440
79441         * lib/atexit.c: New file, from libiberty.
79442
79443 2000-05-06  Jim Meyering  <meyering@lucent.com>
79444
79445         * lib/closeout.c (close_stdout_status): Also check for errors on the
79446         stderr stream.
79447
79448 2000-05-05  Jim Meyering  <meyering@lucent.com>
79449
79450         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
79451         AC_SEARCH_LIBS call for clock_gettime.
79452         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
79453
79454         * m4/search-libs.m4: Update from autoconf.
79455
79456         su doesn't work on Solaris 2.6.
79457         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
79458         <shadow.h>.  Reported by Dragos Harabor.
79459
79460 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
79461
79462         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
79463         memcpy instead of xmalloc, xrealloc, path_concat.
79464         (locale_charset): Treat empty environment variables as absent.
79465         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
79466
79467 2000-05-04  Jim Meyering  <meyering@lucent.com>
79468
79469         * lib/getopt.c: Update from glibc.
79470         * lib/obstack.c: Likewise.
79471         * lib/obstack.h: Likewise.
79472         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
79473         file
79474
79475         * lib/regex.h: Likewise.
79476         * lib/strndup.c: Likewise.
79477         * lib/strnlen.c: New file, from glibc.
79478
79479 2000-05-03  Jim Meyering  <meyering@lucent.com>
79480
79481         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
79482
79483 2000-05-02  Paul Eggert  <eggert@twinsun.com>
79484
79485         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
79486         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
79487         compile-time test, rather than inspecting host and OS, to
79488         decide whether to define _LARGEFILE_SOURCE.
79489
79490 2000-05-01  Jim Meyering  <meyering@lucent.com>
79491
79492         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
79493
79494         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
79495         Based on a patch from Bruno Haible.
79496
79497 2000-05-01  Jim Meyering  <meyering@lucent.com>
79498
79499         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
79500
79501 2000-04-29  Jim Meyering  <meyering@lucent.com>
79502
79503         * lib/path-concat.c: Declare strdup only if it's not defined.
79504         * lib/canon-host.c: Likewise.
79505
79506 2000-04-28  Jim Meyering  <meyering@lucent.com>
79507
79508         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
79509         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
79510         is included first, then limits.h is included by locale.h by libintl.h.
79511         From John David Anglin.
79512
79513 2000-04-25  Jim Meyering  <meyering@lucent.com>
79514
79515         * lib/makepath.c (S_IRWXUGO): Define.
79516         (make_path): Always perform explicit chmod if MODE specifies any
79517         of the `special' permission bits.  Prompted by a bug report against
79518         install from Mate Wierdl and Joost van Baal.
79519
79520 2000-04-18  Jim Meyering  <meyering@lucent.com>
79521
79522         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
79523         (jm_PREREQ): Use it.
79524
79525 2000-04-18  Jim Meyering  <meyering@lucent.com>
79526
79527         * lib/README: New file.
79528
79529         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
79530         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
79531
79532 2000-04-17  Jim Meyering  <meyering@lucent.com>
79533
79534         Get it right :-)
79535         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
79536         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
79537         Suggestion from Akim Demaille.
79538
79539 2000-04-17  Jim Meyering  <meyering@lucent.com>
79540
79541         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
79542         the definition of it to rpl_strftime also defined-away the system's
79543         declaration.
79544
79545 2000-04-15  Jim Meyering  <meyering@lucent.com>
79546
79547         Use `C' to denote so-called `contiguous' files, the same way
79548         that tar does.
79549         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
79550         (ftypelet): Use S_ISCTG.
79551         From Michael Deutschmann.
79552
79553 2000-04-14  Jim Meyering  <meyering@lucent.com>
79554
79555         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
79556         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
79557         clobbered.
79558
79559 2000-04-14  Jim Meyering  <meyering@lucent.com>
79560
79561         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
79562
79563 2000-04-13  Jim Meyering  <meyering@lucent.com>
79564
79565         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
79566         AH_VERBATIM to insert required #ifndef into config.h.in.
79567         Suggestion from Akim Demaille.
79568
79569 2000-04-12  Jim Meyering  <meyering@lucent.com>
79570
79571         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
79572         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
79573         Christian Krackowizer.
79574
79575         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
79576         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
79577         (AC_SYS_LARGEFILE): Require.
79578         (AM_C_PROTOTYPES): Require.
79579
79580 2000-04-08  Jim Meyering  <meyering@lucent.com>
79581
79582         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
79583         names don't conflict.  Reported by Eli Zaretskii.
79584
79585 2000-04-07  Jim Meyering  <meyering@lucent.com>
79586
79587         * lib/putenv.c: Move inclusion of errno.h so it follows that of
79588         sys/types.h, to work around system header problems on AIX 3.2.5.
79589         From Bruno Haible.
79590
79591 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
79592
79593         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
79594         bug.  Deal with the different error behavior of Irix iconv.
79595
79596 2000-04-05  Paul Eggert  <eggert@twinsun.com>
79597
79598         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
79599         IRIX if the installer said otherwise.
79600
79601 2000-04-05  Jim Meyering  <meyering@lucent.com>
79602
79603         Portability tweaks required for ultrix4.3.
79604         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
79605         (jm_CHECK_DECLS): Add getutent to the list of functions.
79606         (_jm_DECL_HEADERS): Add utmpx.h.
79607         From John David Anglin.
79608
79609         * m4/strftime.m4: Back out the 2000-04-02 change.
79610         Instead of that change, simply undefine putenv in the test program.
79611
79612 2000-04-05  Jim Meyering  <meyering@lucent.com>
79613
79614         Portability tweaks required for ultrix4.3.
79615         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
79616         getutent.
79617         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
79618         * lib/canon-host.c: Declare strdup.
79619         * lib/path-concat.c: Likewise.
79620         From John David Anglin.
79621
79622 2000-04-04  Jim Meyering  <meyering@lucent.com>
79623
79624         Be more DOS 8.3-friendly.
79625         * lib/ref-add.sin: Renamed from ref-add.sed.in.
79626         * lib/ref-del.sin: Renamed from ref-del.sed.in.
79627         * lib/Makefile.am: Reflect renaming.
79628         Reported by Eli Zaretskii.
79629
79630         Use a temporary file name that won't clash with `charset.alias'
79631         in the DOS 8.3 name space.
79632         * lib/Makefile.am (charset_tmp): Define.
79633         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
79634         (uninstall-local): Likewise.
79635         Reported by Eli Zaretskii.
79636
79637 2000-04-03  Jim Meyering  <meyering@lucent.com>
79638
79639         * m4/gettext.m4: Fix typo in comment.
79640
79641         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
79642         textutils/configure.in).  Suggestion from Paul Eggert.
79643         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
79644
79645 2000-04-02  Paul Eggert  <eggert@twinsun.com>
79646
79647         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
79648         variable in the shell rather than using putenv, which isn't
79649         portable.  This avoids the configure-time inter-test dependency
79650         on the potentially-renamed putenv function.
79651
79652 2000-03-30  Paul Eggert  <eggert@twinsun.com>
79653
79654         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
79655         before checking struct stat.st_blksize, so that
79656         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
79657
79658 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79659
79660         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
79661         since strftime.c uses HAVE_STRFTIME to decide whether to use
79662         the underlying strftime.
79663
79664 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79665
79666         * lib/time/strftime.c (my_strftime): Make sure we call the system
79667         strftime, not ourselves, when invoking the underlying strftime.
79668
79669 2000-03-24  Jim Meyering  <meyering@lucent.com>
79670
79671         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
79672         (charset_alias): Define.
79673         (install-exec-local): Factor out common code.
79674         (uninstall-local): Split lines longer than 80.
79675         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
79676         (SUFFIXES): Define.
79677         (.sed.in.sed): New rule.  Don't redirect directly to $@.
79678         (CLEANFILES): Add ref-add.sed and ref-del.sed.
79679
79680 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
79681
79682         * lib/config.charset: Output a line containing "Packages using this
79683         file".
79684         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
79685         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
79686         ref-del.sed): New rules.
79687
79688 2000-03-17  Jim Meyering  <meyering@lucent.com>
79689
79690         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
79691         Otherwise, include <strings.h>
79692
79693 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
79694
79695         * lib/unicodeio.c (utf8_wctomb): New function.
79696         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
79697         format instead of in UCS-4 with platform dependent endianness.
79698
79699 2000-03-10  Jim Meyering  <meyering@lucent.com>
79700
79701         * m4/lib-check.m4: Look for getspnam in -lgen, too.
79702         From Marco Franzen.
79703
79704 2000-03-07  Paul Eggert  <eggert@twinsun.com>
79705
79706         * lib/savedir.c (savedir): Work even if directory size is
79707         negative; this can happen with some screwy NFS configurations.
79708
79709 2000-03-06  Jim Meyering  <meyering@lucent.com>
79710
79711         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
79712         if it's NULL (because we ran out of memory).  From Bruno Haible.
79713
79714 2000-03-05  Jim Meyering  <meyering@lucent.com>
79715
79716         * lib/localcharset.c ("path-concat.h"): Include.
79717         (get_charset_aliases): Use path_concat instead of ANSI string
79718         concatenation.
79719
79720         * lib/unicodeio.h (PARAMS): Define.
79721         Use it to guard prototype.
79722
79723 2000-03-04  Jim Meyering  <meyering@lucent.com>
79724
79725         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
79726         for lib/localcharset.c.
79727
79728 2000-03-04  Jim Meyering  <meyering@lucent.com>
79729
79730         * lib/Makefile.am (install-exec-local): Create $(libdir) before
79731         installing into it.
79732         (uninstall-local): Uncomment this rule so `make distcheck' works
79733         once again.
79734
79735         * lib/unicodeio.c (<errno.h>): Include it.
79736         (errno): Declare if not defined.
79737
79738         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
79739
79740         * lib/config.charset: New version, incorporating remarks from a linux
79741         i18n mailing list.  From Bruno Haible.
79742
79743 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
79744
79745         * m4/codeset.m4: New file.
79746         * m4/iconv.m4: New file.
79747         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
79748
79749 2000-03-03  Jim Meyering  <meyering@lucent.com>
79750
79751         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
79752
79753 2000-03-02  Jim Meyering  <meyering@lucent.com>
79754
79755         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
79756         the messages come out on separate lines.
79757
79758         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
79759         rather than jm_CHECK_DECLARATIONS.
79760         * m4/decl.m4: Remove now-unused file.
79761
79762         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
79763         geteuid.
79764
79765 2000-03-02  Jim Meyering  <meyering@lucent.com>
79766
79767         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
79768
79769 2000-03-01  Jim Meyering  <meyering@lucent.com>
79770
79771         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
79772         * lib/unicodeio.c: Likewise.
79773
79774 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
79775
79776         * lib/config.charset: New file.
79777         * lib/localcharset.c: New file.
79778         * lib/unicodeio.h, lib/unicodeio.c: New files.
79779         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
79780         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
79781         (noinst_HEADERS): Add unicodeio.h.
79782         (all-local, install-exec-local, charset.alias): New targets.
79783
79784 2000-02-28  Paul Eggert  <eggert@twinsun.com>
79785
79786         * lib/quotearg.c (ALERT_CHAR): New macro.
79787         (quotearg_buffer_restyled): Use it.
79788
79789 2000-02-27  Jim Meyering  <meyering@lucent.com>
79790
79791         * m4/check-decl.m4: Add getenv to the list.
79792
79793 2000-02-27  Jim Meyering  <meyering@lucent.com>
79794
79795         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
79796         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
79797
79798         * lib/backupfile.c: Guard inclusion of stdlib.h with
79799         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
79800         Declare malloc if needed.
79801
79802         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
79803         `#ifndef HAVE_DECL..'
79804         now that autoconf always defines the HAVE_DECL_ symbols.
79805         * lib/human.c: Likewise.
79806         * lib/same.c: Likewise.
79807         * lib/strtoumax.c: Likewise.
79808
79809         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
79810         declaration check was not run.
79811         * lib/hash.c: Likewise.
79812         * lib/human.c: Likewise.
79813         * lib/same.c: Likewise.
79814         * lib/strtoumax.c: Likewise.
79815
79816         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
79817         `.', then first look up the entire `.'-containing string as a login
79818         name.
79819
79820 2000-02-23  Jim Meyering  <meyering@lucent.com>
79821
79822         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
79823         in place of my hack.
79824
79825 2000-02-18  Paul Eggert  <eggert@twinsun.com>
79826
79827         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
79828         (textint): New typedef.
79829         (parser_control): Member year changed from int to textint.
79830         All uses changed.
79831         (YYSTYPE): Removed; replaced by %union with int and textint members.
79832         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
79833         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
79834         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
79835         (tSNUMBER, tUNUMBER): Now of type <textintval>.
79836         (date, number, to_year): Use width of number in digits, not its value,
79837         to determine whether it's a 2-digit year, or a 2-digit time.
79838         (yylex): Store number of digits of numeric tokens.
79839         Reported by John Kendall.
79840
79841         (parser_control): Changed from struct parser_control to typedef (for
79842         consistency).  All uses changed.
79843
79844         (tID): Removed; not used.
79845         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
79846
79847 2000-02-14  Paul Eggert  <eggert@twinsun.com>
79848
79849         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
79850         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
79851
79852 2000-02-12  Jim Meyering  <meyering@lucent.com>
79853
79854         * lib/userspec.c (ISDIGIT): Define it.
79855         (isdigit): Remove definition.
79856         (is_number): Use ISDIGIT, not isdigit.
79857         <libintl.h>: Include.
79858         (_ and N_): Define.
79859         (parse_user_spec): Mark translatable strings.
79860
79861 2000-02-10  Jim Meyering  <meyering@lucent.com>
79862
79863         With these changes, nanosleep.[ch] are finally enough like the other
79864         lib/* replacement files to compile on a few more losing systems.
79865
79866         * lib/nanosleep.h: Don't include config.h.
79867         Remove prototype from declaration of nanosleep.
79868         (PARAMS): Remove now-unneeded definition.
79869         * lib/nanosleep.c: #undef nanosleep.
79870         (rpl_nanosleep): Rename from nanosleep.
79871
79872 2000-02-10  Jim Meyering  <meyering@lucent.com>
79873
79874         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
79875         gnu_nanosleep to rpl_nanosleep.
79876
79877 2000-02-09  Jim Meyering  <meyering@lucent.com>
79878
79879         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
79880         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
79881
79882 2000-02-08  Akim Demaille  <akim@epita.fr>
79883
79884         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
79885         `[' and `]' and remove uses of `changequote'.
79886         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
79887         (AC_SYS_LARGEFILE): Likewise.
79888         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
79889         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
79890         of changequote.
79891         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
79892         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
79893         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
79894         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
79895
79896 2000-02-05  Jim Meyering  <meyering@lucent.com>
79897
79898         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
79899         Remove explicit use of AC_HEADER_TIME.  It is required by
79900         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
79901         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
79902         in autoconf whereby the expansion of the latter ended up preceding
79903         the expansion of its prerequisite, AC_HEADER_TIME.
79904         Reported by Volker Borchert.
79905
79906 2000-02-03  Jim Meyering  <meyering@lucent.com>
79907
79908         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
79909
79910 2000-02-03  Jim Meyering  <meyering@lucent.com>
79911
79912         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
79913         rather than with `#if HAVE_UTMPNAME'.
79914
79915 2000-02-02  Jim Meyering  <meyering@lucent.com>
79916
79917         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
79918         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
79919         Reported by Eli Zaretskii.
79920
79921 2000-02-01  Jim Meyering  <meyering@lucent.com>
79922
79923         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
79924
79925 2000-01-31  Jim Meyering  <meyering@lucent.com>
79926
79927         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
79928         functions.  Add the time.h and sys/time.h headers along with the
79929         AC_REQUIRE'ment of AC_HEADER_TIME.
79930
79931 2000-01-31  Jim Meyering  <meyering@lucent.com>
79932
79933         * lib/nanosleep.h (nanosleep): Guard declaration with
79934         `#if ! HAVE_DECL_NANOSLEEP'.
79935         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
79936         the declaration in that vendor's sys/timers.h.
79937         Reported by Christian Krackowizer.
79938
79939         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
79940         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
79941         (ISPRINT): Likewise.
79942         Reported by Tom Tromey.
79943
79944 2000-01-30  Jim Meyering  <meyering@lucent.com>
79945
79946         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
79947
79948         * m4/prereq.m4 (utmp_includes): Define.
79949         Check for ut_user and ut_name members in both struct utmpx
79950         and struct utmp.
79951
79952 2000-01-30  Jim Meyering  <meyering@lucent.com>
79953
79954         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
79955         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
79956         header files where only utmpx.ut_user is declared.
79957
79958         * lib/readutmp.h (UT_USER): Define.
79959
79960 2000-01-29  Jim Meyering  <meyering@lucent.com>
79961
79962         * m4/lib-check.m4: New file containing library-related checks from
79963         fileutils and sh-utils (textutils had none).
79964
79965 2000-01-28  Jim Meyering  <meyering@lucent.com>
79966
79967         * m4/perl.m4: Change format of warning message to look more like that
79968         from the missing script.  Suggestion from François Pinard.
79969
79970 2000-01-25  Jim Meyering  <meyering@lucent.com>
79971
79972         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
79973         well as time.h in the compile check.
79974         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
79975         Fix typo in cross-compiling case: s/yes/no/.
79976
79977 2000-01-23  Jim Meyering  <meyering@lucent.com>
79978
79979         * m4/jm-macros.m4: Move df-related tests here from
79980         fileutils/configure.in
79981
79982         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
79983         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
79984
79985         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
79986         s/space/ac_fsusage_space/.
79987         (jm_FILE_SYSTEM_USAGE): Take two parameters.
79988
79989         * m4/ftruncate.m4: New file (derived from part of
79990         fileutils/configure.in).
79991         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
79992         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
79993
79994         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
79995         AC_SUBST these here, rather than just in sh-util/configure.in, so
79996         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
79997         all the same.
79998         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
79999         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
80000         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
80001         (AC_SUBST(POW_LIBM)): Likewise.
80002         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
80003
80004 2000-01-23  Jim Meyering  <meyering@lucent.com>
80005
80006         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
80007         obstack.c.
80008
80009 2000-01-22  Jim Meyering  <meyering@lucent.com>
80010
80011         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
80012
80013         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
80014
80015         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
80016         configure.in
80017         (AC_CHECK_HEADERS): Likewise for sh-utils.
80018         (AC_CHECK_HEADERS): Likewise for textutils.
80019         Merge the three lists of headers.
80020
80021         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
80022         from fileutils' configure.in.
80023
80024         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
80025         code. Moved tests into their own function (_jm_DECL_HEADERS) in
80026         check-decl.m4.
80027
80028         * m4/check-decl.m4: Use #if rather than #ifdef.
80029         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
80030         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
80031         (_jm_DECL_HEADERS): Define new function.
80032         (jm_CHECK_DECLARATIONS): Require it.
80033
80034 2000-01-22  Jim Meyering  <meyering@lucent.com>
80035
80036         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
80037         [! HAVE_DECL_STRTOULL]: Declare strtoull.
80038         Required for some AIX systems.  Reported by Christian Krackowizer.
80039         [TESTING] (main): New function.
80040
80041         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
80042         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
80043         letters.
80044
80045         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
80046         iswprint.
80047
80048         * lib/strverscmp.c (ISDIGIT): Define.
80049         (strverscmp): Use ISDIGIT, not isdigit.
80050
80051 2000-01-19  Jim Meyering  <meyering@lucent.com>
80052
80053         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
80054         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
80055         defines `struct timespec' in <sys/time.h>
80056
80057         * m4/c-bs-a.m4: Remove uses of changequote altogether.
80058         Thanks to Akim for explaining.
80059
80060 2000-01-17  Paul Eggert  <eggert@twinsun.com>
80061
80062         * lib/nanosleep.c (nanosleep):
80063         Don't use SA_INTERRUPT to decide whether to call sigaction, as
80064         POSIX.1 doesn't require SA_INTERRUPT and some systems
80065         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
80066         it's been part of POSIX.1 since day 1 (in 1988).
80067
80068 2000-01-17  Jim Meyering  <meyering@lucent.com>
80069
80070         * lib/interlock: Remove unused file.  Reported by François Pinard.
80071
80072 2000-01-16  Paul Eggert  <eggert@twinsun.com>
80073
80074         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
80075         alert, backslash, formfeed, and vertical tab unnecessarily in
80076         shell quoting style.
80077
80078 2000-01-16  Jim Meyering  <meyering@lucent.com>
80079
80080         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
80081         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
80082         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
80083         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
80084
80085 2000-01-16  Jim Meyering  <meyering@lucent.com>
80086
80087         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
80088         because the latter didn't work.
80089
80090 2000-01-15  Jim Meyering  <meyering@lucent.com>
80091
80092         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
80093         (AC_REPLACE_FUNCS): Add memcpy and memset.
80094         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
80095         Add strpbrk.
80096         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
80097
80098 2000-01-12  Jim Meyering  <meyering@lucent.com>
80099
80100         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
80101         (jm_PREREQ): Use it.
80102         (jm_PREREQ_READUTMP): New macro.
80103         (jm_PREREQ): Use it.
80104
80105 2000-01-11  Paul Eggert  <eggert@twinsun.com>
80106
80107         Quote multibyte characters correctly.
80108         * m4/c-bs-a.m4: New file.
80109         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
80110         (jm_PREREQ): Use it.
80111
80112 2000-01-11  Paul Eggert  <eggert@twinsun.com>
80113
80114         * m4/uintmax_t.m4: Port to autoconf 2.13.
80115
80116 2000-01-08  Jim Meyering  <meyering@ascend.com>
80117
80118         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
80119         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
80120
80121 2000-01-04  Jim Meyering  <meyering@ascend.com>
80122
80123         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
80124         jm_STRUCT_DIRENT_D_TYPE.
80125         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
80126         jm_STRUCT_DIRENT_D_INO.
80127         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
80128         jm_STRUCT_UTIMBUF.
80129         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
80130         renamings.
80131         * m4/utime.m4: Likewise.
80132
80133         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
80134         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
80135
80136 2000-01-03  Paul Eggert  <eggert@twinsun.com>
80137
80138         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
80139         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
80140
80141 2000-01-02  Jim Meyering  <meyering@ascend.com>
80142
80143         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
80144         remember if this is necessary.
80145
80146 1999-12-26  Jim Meyering  <meyering@ascend.com>
80147
80148         * m4/jm-macros.m4: Use it here.
80149         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
80150
80151 1999-12-23  Jim Meyering  <meyering@ascend.com>
80152
80153         * m4/jm-macros.m4: Check for clock_gettime (moved from
80154         fileutils/configure.in)
80155         Check for gettimeofday.
80156
80157 1999-12-20  Jim Meyering  <meyering@ascend.com>
80158
80159         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
80160         autoconf-2.14a-1999-12-20.
80161
80162 1999-12-19  Jim Meyering  <meyering@ascend.com>
80163
80164         * m4/lstat-slash.m4: New file.
80165         * m4/jm-macros.m4: Use the new macro:
80166         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80167
80168 1999-12-07  Jim Meyering  <meyering@ascend.com>
80169
80170         * m4/perl.m4: Require that File::Compare be available, too.
80171         Too many systems seem to lack it.
80172
80173         * m4/strftime.m4: Add checks for most of the cpp macros tested in
80174         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
80175
80176 1999-11-18  Paul Eggert  <eggert@twinsun.com>
80177
80178         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
80179         problem with the QNX 4.25 shell, which doesn't propagate exit
80180         status of failed commands inside shell assignments.
80181
80182 1999-11-17  Jim Meyering  <meyering@ascend.com>
80183
80184         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
80185
80186 1999-11-07  Jim Meyering  <meyering@ascend.com>
80187
80188         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
80189
80190 1999-11-06  Jim Meyering  <meyering@ascend.com>
80191
80192         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
80193         * m4/jm-macros.m4 (jm_MACROS): Use it here.
80194
80195 1999-11-05  Jim Meyering  <meyering@ascend.com>
80196
80197         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
80198         configure.in of textutils, fileutils, and sh-utils into this one
80199         (shared between those packages) file.
80200         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
80201         AC_STRUCT_ST_BLKSIZE.
80202
80203 1999-11-03  Jim Meyering  <meyering@ascend.com>
80204
80205         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
80206         of AC_CHECK_TYPE checks includes unistd.h.
80207         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
80208         Suggestion from Akim Demaille.
80209
80210 1999-10-30  Jim Meyering  <meyering@ascend.com>
80211
80212         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
80213         m4-quoted string.
80214         * m4/ls-mntd-fs.m4: Likewise.
80215         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
80216         * m4/jm-winsz1.m4: Likewise.
80217
80218         * m4/const.m4: Remove file, since the fix made it into the experimental
80219         version of autoconf.
80220         * m4/mktime.m4: Likewise.
80221
80222         * m4/check-type.m4: Remove file, now that the latest version of
80223         AC_CHECK_TYPE takes a third arg to specify additional #includes.
80224
80225         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
80226         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
80227         AC_CHECK_TYPE.
80228
80229 1999-10-04  Jim Meyering  <meyering@ascend.com>
80230
80231         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
80232
80233 1999-09-22  Paul Eggert  <eggert@twinsun.com>
80234
80235         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
80236         2.95.1 bug with HP-UX 10.20.
80237
80238 1999-09-17  Jim Meyering  <meyering@ascend.com>
80239
80240         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
80241         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
80242         due to missing strdup (against sh-utils-2.0).
80243
80244 1999-08-29  Jim Meyering  <meyering@ascend.com>
80245
80246         * m4/jm-macros.m4: Require jm_BISON.
80247         * m4/bison.m4: New file.
80248
80249 1999-08-17  Paul Eggert  <eggert@twinsun.com>
80250
80251         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
80252         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
80253
80254 1999-08-05  Jim Meyering  <meyering@ascend.com>
80255
80256         * m4/getline.m4: Rename test file from conftestdata to conftest.data
80257         to avoid conflicts with `conftest' on 8+3 filesystems.
80258         Suggestion from Eli Zaretskii.
80259
80260 1999-08-04  Jim Meyering  <meyering@ascend.com>
80261
80262         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
80263         fileutils and sh-utils (textutils's getline test was inadequate).
80264         (AM_FUNC_GETLINE): Run this test.
80265         (AC_CHECK_FUNCS): Check for getdelim.
80266         Reported by Bob Proulx.
80267
80268 1999-08-02  Jim Meyering  <meyering@ascend.com>
80269
80270         * m4/jm-macros.m4: Add a comment.
80271
80272 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80273
80274         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
80275         <inttypes.h> defines strtoumax as a macro (and not as a
80276         function).
80277
80278 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80279
80280         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
80281         that we can shift, multiply and divide unsigned long long
80282         values; Ultrix cc can't do it.
80283
80284 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80285
80286         * m4/mktime.m4: New file, which is a preview of what should appear
80287         in the next public autoconf release.
80288
80289 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80290
80291         * m4/lfs.m4: Remove this file.
80292         * m4/largefile.m4: New file.  It contains the old contents of
80293         lfs.m4, except that all names with prefix AC_LFS have been
80294         changed to use the prefix AC_SYS_LARGEFILE instead, to be
80295         compatible with future autoconf versions.  Also, some minor m4
80296         quoting problems have been fixed.
80297
80298 1999-08-01  Paul Eggert  <eggert@twinsun.com>
80299
80300         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
80301         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
80302         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
80303         and simplify the shell code.
80304
80305 1999-08-01  Jim Meyering  <meyering@ascend.com>
80306
80307         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
80308         m4.
80309
80310 1999-07-20  Jim Meyering  <meyering@ascend.com>
80311
80312         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
80313
80314 1999-07-15  Jim Meyering  <meyering@ascend.com>
80315
80316         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
80317
80318 1999-05-22  Jim Meyering  <meyering@ascend.com>
80319
80320         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
80321
80322 1999-05-20  Jim Meyering  <meyering@ascend.com>
80323
80324         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
80325         Add a colon after each `then' in case $4 is empty.
80326
80327 1999-05-16  Jim Meyering  <meyering@ascend.com>
80328
80329         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
80330
80331 1999-05-10  Jim Meyering  <meyering@ascend.com>
80332
80333         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
80334
80335         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
80336         AC_FUNC_MKTIME.
80337
80338 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
80339
80340         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
80341
80342 1999-05-04  Paul Eggert  <eggert@twinsun.com>
80343
80344         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
80345         not CPPFLAGS, so that linking works correctly in IRIX.
80346
80347 1999-04-30  Paul Eggert  <eggert@twinsun.com>
80348
80349         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
80350
80351 1999-04-20  Paul Eggert  <eggert@twinsun.com>
80352
80353         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
80354         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
80355         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
80356         jm_AC_TYPE_UNSIGNED_LONG_LONG.
80357         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
80358
80359         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
80360
80361 1999-04-20  Jim Meyering  <meyering@ascend.com>
80362
80363         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
80364         AC_REPLACE xstroull if necessary.  From Paul Eggert.
80365         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
80366
80367 1999-04-18  Jim Meyering  <meyering@ascend.com>
80368
80369         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
80370         * m4/jm-macros.m4: Use it.
80371
80372 1999-04-06  Jim Meyering  <meyering@ascend.com>
80373
80374         * m4/strftime.m4: Remove test for %f.
80375
80376 1999-03-29  Jim Meyering  <meyering@ascend.com>
80377
80378         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
80379         superset of the AC_TYPE_* checks in the textutils, fileutils,
80380         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
80381         AC_TYPE_PID_T.
80382
80383 1999-03-28  Jim Meyering  <meyering@ascend.com>
80384
80385         * m4/jm-macros.m4: Define GNU_PACKAGE here.
80386         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
80387         replaced e.g., in the *.sh files of the sh-utils.
80388
80389 1999-03-20  Jim Meyering  <meyering@ascend.com>
80390
80391         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
80392         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
80393         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
80394
80395 1999-03-19  Jim Meyering  <meyering@ascend.com>
80396
80397         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
80398
80399 1999-03-12  Jim Meyering  <meyering@ascend.com>
80400
80401         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
80402
80403 1999-03-07  Jim Meyering  <meyering@ascend.com>
80404
80405         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
80406         declared.
80407
80408 1999-02-17  Jim Meyering  <meyering@ascend.com>
80409
80410         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
80411         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
80412
80413 1999-02-07  Jim Meyering  <meyering@ascend.com>
80414
80415         * m4/group-member.m4: New file -- extracted from sh-utils'
80416         configure.in.
80417
80418         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
80419         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
80420
80421 1999-02-06  Jim Meyering  <meyering@ascend.com>
80422
80423         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
80424         * m4/fnmatch.m4: Likewise.
80425         * m4/getgroups.m4: Likewise.
80426         * m4/lstat.m4: Likewise.
80427         * m4/malloc.m4: Likewise.
80428         * m4/putenv.m4: Likewise.
80429         * m4/realloc.m4: Likewise.
80430         * m4/regex.m4: Likewise.
80431         * m4/stat.m4: Likewise.
80432         * m4/strftime.m4: Likewise.
80433         Suggestion from Alain Magloire.
80434
80435         * m4/chown.m4: Use `.$ac_objext', not `.o'.
80436         * m4/fnmatch.m4: Likewise.
80437         * m4/getgroups.m4: Likewise.
80438         * m4/getline.m4: Likewise.
80439         * m4/lstat.m4: Likewise.
80440         * m4/malloc.m4: Likewise.
80441         * m4/memcmp.m4: Likewise.
80442         * m4/putenv.m4: Likewise.
80443         * m4/realloc.m4: Likewise.
80444         * m4/regex.m4: Likewise.
80445         * m4/stat.m4: Likewise.
80446         * m4/strftime.m4: Likewise.
80447         Suggestion from Alain Magloire.
80448
80449         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
80450         an argument.
80451
80452         * m4/regex.m4: Add a run-time Test for proper operation of
80453         re_compile_pattern.
80454
80455 1999-01-31  Jim Meyering  <meyering@ascend.com>
80456
80457         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
80458
80459 1999-01-30  Jim Meyering  <meyering@ascend.com>
80460
80461         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
80462
80463         * m4/jm-mktime.m4: Make this a wrapper around the official
80464         AM_FUNC_MKTIME rather than my private copy, now that the official one
80465         is up to date.
80466         * m4/mktime.m4: Remove file.
80467
80468         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
80469         * m4/uptime.m4: Likewise.
80470         * m4/uintmax_t.m4: Likewise.
80471
80472 1999-01-28  Jim Meyering  <meyering@ascend.com>
80473
80474         * m4/jm-macros.m4: Use jm_AFS.
80475         * m4/afs.m4: New file (from fileutils' configure.in).
80476
80477         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
80478         * m4/chown.m4: Likewise.
80479         * m4/d-ino.m4: Likewise.
80480         * m4/d-type.m4: Likewise.
80481         * m4/fnmatch.m4: Likewise.
80482         * m4/getgroups.m4: Likewise.
80483         * m4/gettext.m4: Likewise.
80484         * m4/jm-mktime.m4: Likewise.
80485         * m4/jm-winsz2.m4: Likewise.
80486         * m4/lcmessage.m4: Likewise.
80487         * m4/ls-mntd-fs.m4: Likewise.
80488         * m4/malloc.m4: Likewise.
80489         * m4/memcmp.m4: Likewise.
80490         * m4/putenv.m4: Likewise.
80491         * m4/realloc.m4: Likewise.
80492         * m4/st_mtim.m4: Likewise.
80493         * m4/strftime.m4: Likewise.
80494
80495 1999-01-16  Jim Meyering  <meyering@ascend.com>
80496
80497         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
80498         (ARGMATCH_DIE_DECL): Define.
80499
80500 1999-01-12  Jim Meyering  <meyering@ascend.com>
80501
80502         * m4/Makefile.am.in: Rewrite to avoid using fmt.
80503         Reported by Lars Hecking.
80504
80505 1999-01-10  Jim Meyering  <meyering@ascend.com>
80506
80507         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
80508         gross kludge.
80509         * m4/inttypes_h.m4: Likewise.
80510         * m4/lstat.m4: Likewise.
80511         * m4/malloc.m4: Likewise.
80512         * m4/readdir.m4: Likewise.
80513         * m4/realloc.m4: Likewise.
80514         * m4/st_dm_mode.m4: Likewise.
80515         * m4/stat.m4: Likewise.
80516         * m4/utimbuf.m4: Likewise.
80517         * m4/utimes.m4: Likewise.
80518
80519         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
80520         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
80521         comments in config.h.in are meaningful.
80522
80523         * m4/jm-macros.m4: Require autoconf-2.13 here.
80524
80525         * m4/regex.m4: By default, don't use the included regex.c on systems
80526         with glibc 2.  Suggestion from Uli Drepper.
80527
80528 1999-01-02  Jim Meyering  <meyering@ascend.com>
80529
80530         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
80531
80532 1998-12-18  Jim Meyering  <meyering@ascend.com>
80533
80534         * m4/Makefile.am.in (Makefile.am): Simplify rule.
80535         Based on a suggestion from Lars Hecking.
80536
80537 1998-11-16  Paul Eggert  <eggert@twinsun.com>
80538
80539         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
80540
80541 1998-11-16  Jim Meyering  <meyering@ascend.com>
80542
80543         * m4/lfs.m4: Double-quote the `uname...` expression.
80544
80545 1998-11-14  Jim Meyering  <meyering@ascend.com>
80546
80547         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
80548         * m4/stat.m4: Likewise.
80549
80550 1998-11-03  Jim Meyering  <meyering@ascend.com>
80551
80552         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
80553         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
80554
80555 1998-10-18  Jim Meyering  <meyering@ascend.com>
80556
80557         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
80558
80559 1998-10-17  Jim Meyering  <meyering@ascend.com>
80560
80561         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
80562         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
80563         calls for those previously hard-coded headers.  Instead, take a new
80564         parameter.
80565         (jm_CHECK_DECLARATIONS): Reflect interface change.
80566         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
80567         (jm_CHECK_DECL_LOCALTIME_R): New macro.
80568
80569         * m4/mktime.m4: Test for spring-forward gap before long-running test.
80570
80571 1998-10-14  Jim Meyering  <meyering@ascend.com>
80572
80573         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
80574         instead of "TZ=America/Vancouver".  From Paul Eggert.
80575
80576 1998-10-11  Jim Meyering  <meyering@ascend.com>
80577
80578         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
80579         This adds a test for a recently added compatibility fix for mktime.c.
80580         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
80581
80582 1998-09-27  Jim Meyering  <meyering@ascend.com>
80583
80584         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
80585
80586         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
80587         ../configure.in, including a change from Gordon Matzigkeit to allow
80588         cross-compiling for the Hurd.
80589
80590         * m4/glibc.m4: New file/macro to test for the GNU C Library
80591         versions 1 and 2.  From Gordon Matzigkeit.
80592         Indent.
80593
80594 1998-09-21  Jim Meyering  <meyering@ascend.com>
80595
80596         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
80597
80598 1998-08-18  Paul Eggert  <eggert@twinsun.com>
80599
80600         Port nanosecond-resolution times to UnixWare 2.1.2 and
80601         pedantic Solaris 2.6.
80602
80603         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
80604         AC_STRUCT_ST_MTIM.
80605         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
80606         Generate name of ns member, instead of just 1 or undef.
80607         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
80608
80609 1998-08-15  Jim Meyering  <meyering@ascend.com>
80610
80611         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
80612         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
80613         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
80614         instead of jm_TYPE_SSIZE_T.
80615
80616 1998-08-12  Jim Meyering  <meyering@ascend.com>
80617
80618         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
80619
80620 1998-08-02  Jim Meyering  <meyering@ascend.com>
80621
80622         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
80623         in acconfig.h manually.
80624
80625 1998-07-31  Paul Eggert  <eggert@twinsun.com>
80626
80627         * m4/st_mtim.m4: New file.
80628
80629 1998-07-28  Jim Meyering  <meyering@ascend.com>
80630
80631         * m4/utimes.m4: Undef stat.
80632
80633 1998-07-25  Jim Meyering  <meyering@ascend.com>
80634
80635         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
80636         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
80637
80638 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
80639
80640         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
80641         uid and gid actually remain unchanged.
80642
80643 1998-07-07  Jim Meyering  <meyering@ascend.com>
80644
80645         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
80646
80647 1998-07-04  Jim Meyering  <meyering@ascend.com>
80648
80649         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
80650         to prove that this macro can be used in packages without regex.c.
80651
80652 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
80653
80654         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
80655         is to be used.
80656
80657 1998-07-03  Jim Meyering  <meyering@ascend.com>
80658
80659         * m4/gettext.m4: Add -lintl if it's found to be necessary.
80660
80661         * m4/gettext.m4: New file -- from gettext-0.10.35.
80662         * m4/lcmessage.m4: Likewise.
80663         * m4/progtest.m4: Likewise.
80664
80665         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
80666         * m4/jm-macros.m4: Require the new macro.
80667
80668 1998-06-29  Jim Meyering  <meyering@ascend.com>
80669
80670         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
80671         for the definition of NGROUPS (used in a system header included
80672         by sys/mount.h).
80673
80674 1998-06-28  Jim Meyering  <meyering@ascend.com>
80675
80676         * m4/ls-mntd-fs.m4: New file.
80677         * m4/fstypename.m4: New file.
80678
80679         * m4/jm-macros.m4: Require the new macro.
80680         * m4/jm-glibc-io.m4: New file.
80681
80682 1998-05-19  Jim Meyering  <meyering@ascend.com>
80683
80684         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
80685         * m4/lchown.m4: New file.
80686
80687         * m4/Makefile.am.in: New file.
80688         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
80689
80690 1998-05-14  Jim Meyering  <meyering@ascend.com>
80691
80692         * m4/Makefile.am (EXTRA_DIST): Add them.
80693         * m4/jm-macros.m4: New file.
80694         * m4/utimbuf.m4: New file.
80695
80696 1998-05-12  Jim Meyering  <meyering@ascend.com>
80697
80698         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
80699
80700 1998-05-11  Jim Meyering  <meyering@ascend.com>
80701
80702         * m4/isc-posix.m4: New file.
80703
80704 1998-05-10  Jim Meyering  <meyering@ascend.com>
80705
80706         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
80707
80708 1998-05-09  Jim Meyering  <meyering@ascend.com>
80709
80710         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
80711         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
80712         with automake.
80713
80714         * m4/ssize_t.m4: New file.
80715         * m4/mktime.m4: Remove file -- the new automake has this now.
80716
80717 1998-04-26  Jim Meyering  <meyering@ascend.com>
80718
80719         * m4/assert.m4: New file.
80720         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
80721
80722 1998-04-05  Jim Meyering  <meyering@ascend.com>
80723
80724         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
80725         (jm_PREREQ): Use it here.
80726
80727 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
80728
80729         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
80730         in acconfig.h.
80731
80732 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
80733
80734         * m4/prereq.m4: New file.
80735         * m4/error.m4: New file.
80736         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
80737
80738 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
80739
80740         * m4/getline.m4: Don't set am_cv_func_working_getline before the
80741         cache-check for the same variable -- that defeated the purpose of
80742         the test; the test program was never run.  This was a problem only
80743         on systems with losing getline functions -- HP-UX 10.20 is one.
80744         Reported by Bjorn Helgaas.
80745
80746 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
80747
80748         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
80749
80750 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
80751
80752         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
80753
80754         * m4/const.m4: New file.  Use an initializer in this declaration
80755         typedef int charset[2]; const charset x;
80756         Reported by Bob Glickstein.
80757
80758 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
80759
80760         * m4/chown.m4: Fix reversed types on -1 args to chown.
80761         From Kaveh Ghazi.
80762
80763 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
80764
80765         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
80766         Add lseek and memchr.
80767
80768         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
80769         T.E.Dickey <dickey@clark.net> said that some older preprocessors
80770         have a 20-character limit on names.
80771
80772 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
80773
80774         * m4/inttypes_h.m4: New file.
80775         * m4/uintmax_t.m4: New file.
80776         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
80777
80778
80779         -----
80780
80781         Local Variables:
80782         coding: utf-8
80783         End:
80784
80785         Copyright (C) 1997-2011 Free Software Foundation, Inc.
80786
80787         Copying and distribution of this file, with or without
80788         modification, are permitted provided the copyright notice
80789         and this notice are preserved.